Changeset 2284
- Timestamp:
- 01/19/08 16:58:06 (10 months ago)
- Location:
- trunk
- Files:
-
- 14 modified
-
docs/docbook/manual.xml (modified) (1 diff)
-
etc/olson/agavi/app/config/factories.xml (modified) (1 diff)
-
etc/olson/agavi/app/config/settings.xml (modified) (1 diff)
-
samples/app/config/settings.xml (modified) (1 diff)
-
src/buildtools/code_templates/config/settings.xml.tmpl (modified) (1 diff)
-
src/controller/AgaviSoapController.class.php (modified) (1 diff)
-
src/routing/AgaviRouting.class.php (modified) (6 diffs)
-
src/routing/AgaviSoapRouting.class.php (modified) (1 diff)
-
src/routing/AgaviWebRouting.class.php (modified) (3 diffs)
-
src/routing/AgaviWebserviceRouting.class.php (modified) (1 diff)
-
tests2/routing/RoutingTest.php (modified) (1 diff)
-
tests2/routing/WebRoutingTest.php (modified) (1 diff)
-
tests2/sandbox2/config/factories.xml (modified) (1 diff)
-
tests2/sandbox2/config/settings.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docs/docbook/manual.xml
r2144 r2284 1207 1207 mod_rewrite for Apache or ISAPI_Rewrite for Microsoft IIS but with a 1208 1208 lot more power and features. Routes are defined in the file 1209 <filename>%core.app_dir%/config/routing.xml</filename>, and to enable 1210 routing you must set the "use_routing" option to true in 1211 <filename>settings.xml</filename>.</para> 1209 <filename>%core.app_dir%/config/routing.xml</filename></para> 1212 1210 1213 1211 <para>Let's look at an example route:<programlisting><route name="viewproduct" pattern="^/products/(id:\d+)$" module="Shop" action="ViewProduct" /></programlisting></para> -
trunk/etc/olson/agavi/app/config/factories.xml
r2185 r2284 20 20 <response class="AgaviWebResponse" /> 21 21 22 <routing class="AgaviWebserviceRouting" /> 22 <routing class="AgaviWebserviceRouting"> 23 <parameter name="enabled">false</parameter> 24 </routing> 23 25 24 26 <security_filter class="AgaviSecurityFilter" /> -
trunk/etc/olson/agavi/app/config/settings.xml
r1964 r2284 10 10 <setting name="use_database">false</setting> 11 11 <setting name="use_logging">false</setting> 12 <setting name="use_routing">false</setting>13 12 <setting name="use_security">false</setting> 14 13 <setting name="use_translation">true</setting> -
trunk/samples/app/config/settings.xml
r1964 r2284 46 46 <setting name="use_database">false</setting> 47 47 <setting name="use_logging">false</setting> 48 <setting name="use_routing">true</setting>49 48 <setting name="use_security">true</setting> 50 49 <setting name="use_translation">true</setting> -
trunk/src/buildtools/code_templates/config/settings.xml.tmpl
r1964 r2284 46 46 <setting name="use_database">false</setting> 47 47 <setting name="use_logging">false</setting> 48 <setting name="use_routing">true</setting>49 48 <setting name="use_security">true</setting> 50 49 <setting name="use_translation">false</setting> -
trunk/src/controller/AgaviSoapController.class.php
r2259 r2284 73 73 74 74 /** 75 * Initialize this controller.76 *77 * @param AgaviContext An AgaviContext instance.78 * @param array An array of initialization parameters.79 *80 * @author David Zülke <dz@bitxtender.com>81 * @since 0.9.082 */83 public function initialize(AgaviContext $context, array $parameters = array())84 {85 if(!AgaviConfig::get('core.use_routing')) {86 throw new AgaviInitializationException('Agavi SOAP support requires the Routing to be on, please enable "core.use_routing" in settings.xml.');87 }88 89 parent::initialize($context, $parameters);90 }91 92 /**93 75 * Do any necessary startup work after initialization. 94 76 * -
trunk/src/routing/AgaviRouting.class.php
r2259 r2284 37 37 38 38 /** 39 * @var bool Whether or not routing is enabled. 40 */ 41 protected $enabled = true; 42 43 /** 39 44 * @var array An array of route information 40 45 */ … … 79 84 public function __construct() 80 85 { 86 // for now, we still use this setting as default. 87 // will be removed in 1.1 88 $this->enabled = AgaviConfig::get('core.use_routing', $this->enabled); 89 81 90 $this->defaultGenOptions = array_merge($this->defaultGenOptions, array( 82 91 'relative' => true, … … 102 111 $this->setParameters($parameters); 103 112 104 if(isset($parameters['default_gen_options'])) { 105 $this->defaultGenOptions = array_merge($this->defaultGenOptions, $parameters['default_gen_options']); 106 } 107 108 if(isset($parameters['gen_options_presets']) && is_array($parameters['gen_options_presets'])) { 109 $this->genOptionsPresets = $parameters['gen_options_presets']; 110 } 113 $this->enabled = $this->getParameter('enabled', $this->enabled); 114 115 $this->defaultGenOptions = array_merge( 116 $this->defaultGenOptions, 117 $this->getParameter('default_gen_options', array()) 118 ); 119 120 $this->genOptionsPresets = array_merge( 121 $this->genOptionsPresets, 122 $this->getParameter('gen_options_presets', array()) 123 ); 111 124 112 125 // and load the config. … … 124 137 $cfg = AgaviConfig::get("core.config_dir") . "/routing.xml"; 125 138 // allow missing routing.xml when routing is not enabled 126 if( AgaviConfig::get("core.use_routing", false)|| is_readable($cfg)) {139 if($this->enabled || is_readable($cfg)) { 127 140 include(AgaviConfigCache::checkConfig($cfg, $this->context->getName())); 128 141 } … … 156 169 public function shutdown() 157 170 { 171 } 172 173 /** 174 * Check if this routing instance is enabled. 175 * 176 * @return bool Whether or not routing is enabled. 177 * 178 * @author David Zülke <dz@bitxtender.com> 179 * @since 1.0.0 180 */ 181 public function isEnabled() 182 { 183 return $this->enabled; 158 184 } 159 185 … … 701 727 $container = $this->context->getController()->createExecutionContainer(); 702 728 703 if(! AgaviConfig::get('core.use_routing', false)|| count($this->routes) == 0) {729 if(!$this->enabled || count($this->routes) == 0) { 704 730 // routing disabled, determine module and action manually and bail out 705 731 $container->setModuleName($reqData->getParameter($req->getParameter('module_accessor'))); -
trunk/src/routing/AgaviSoapRouting.class.php
r2259 r2284 31 31 { 32 32 /** 33 * Initialize the routing instance. 34 * 35 * @param AgaviContext A Context instance. 36 * @param array An array of initialization parameters. 37 * 38 * @author David Zülke <dz@bitxtender.com> 39 * @since 0.11.0 40 */ 41 public function initialize(AgaviContext $context, array $parameters = array()) 42 { 43 // must always be on 44 unset($parameters['enabled']); 45 46 parent::initialize($context, $parameters); 47 } 48 49 /** 33 50 * Returns the local filesystem path to the WSDL file built from routing.xml. 34 51 * -
trunk/src/routing/AgaviWebRouting.class.php
r2279 r2284 111 111 $rewritten = (preg_replace('/&+$/D', '', $qs) !== preg_replace('/&+$/D', '', $ru['query'])); 112 112 113 if( AgaviConfig::get("core.use_routing", false)&& $rewritten) {113 if($this->enabled && $rewritten) { 114 114 // strip the one trailing ampersand, see above 115 115 $queryWasEmptied = false; … … 272 272 273 273 if($route === null) { 274 if( AgaviConfig::get('core.use_routing')) {274 if($this->enabled) { 275 275 $routes = array_reverse($req->getAttribute('matched_routes', 'org.agavi.routing')); 276 276 $route = join('+', $routes); … … 288 288 289 289 if(count($routes)) { 290 if( AgaviConfig::get('core.use_routing')) {290 if($this->enabled) { 291 291 // the route exists and routing is enabled, the parent method handles it 292 292 -
trunk/src/routing/AgaviWebserviceRouting.class.php
r2259 r2284 43 43 parent::initialize($context, $parameters); 44 44 45 if(! AgaviConfig::get("core.use_routing", false)) {45 if(!$this->enabled) { 46 46 return; 47 47 } -
trunk/tests2/routing/RoutingTest.php
r2185 r2284 22 22 $this->_r = new SampleRouting(); 23 23 $this->_r->initialize(AgaviContext::getInstance('test')); 24 AgaviConfig::set('core.use_routing', true);24 // AgaviConfig::set('core.use_routing', true); 25 25 26 26 } -
trunk/tests2/routing/WebRoutingTest.php
r1784 r2284 21 21 $this->_ENV = $_ENV; 22 22 $this->_GET = $_GET; 23 AgaviConfig::set('core.use_routing', true);23 // AgaviConfig::set('core.use_routing', true); 24 24 } 25 25 -
trunk/tests2/sandbox2/config/factories.xml
r2197 r2284 11 11 <request class="AgaviWebRequest" /> 12 12 <response class="TestResponse" /> 13 <routing class="TestRouting" /> 13 <routing class="TestRouting"> 14 <parameter name="enabled">false</parameter> 15 </routing> 14 16 <security_filter class="AgaviSecurityFilter" /> 15 17 <storage class="AgaviNullStorage" /> -
trunk/tests2/sandbox2/config/settings.xml
r1964 r2284 46 46 <setting name="use_database">false</setting> 47 47 <setting name="use_logging">true</setting> 48 <setting name="use_routing">false</setting>49 48 <setting name="use_security">false</setting> 50 49 <setting name="use_translation">true</setting>

