Changeset 1635
- Timestamp:
- 02/04/07 00:36:48 (22 months ago)
- Location:
- branches/0.11
- Files:
-
- 6 added
- 1 removed
- 16 modified
-
samples/app/config/output_types.xml (modified) (3 diffs)
-
samples/app/modules/Default/actions/MenuAction.class.php (added)
-
samples/app/modules/Default/cache (added)
-
samples/app/modules/Default/cache/SearchEngineSpam.xml (added)
-
samples/app/modules/Default/config/caching.xml (deleted)
-
samples/app/modules/Default/lib/view/AgaviSampleAppDefaultBaseView.class.php (modified) (1 diff)
-
samples/app/modules/Default/templates/Master.php (modified) (1 diff)
-
samples/app/modules/Default/templates/MenuSuccess.php (added)
-
samples/app/modules/Default/templates/SearchEngineSpamSuccess.php (modified) (1 diff)
-
samples/app/modules/Default/views/LoginInputView.class.php (modified) (1 diff)
-
samples/app/modules/Default/views/MenuSuccessView.class.php (added)
-
src/config/AgaviCachingConfigHandler.class.php (added)
-
src/config/defaults/autoload.xml (modified) (1 diff)
-
src/config/defaults/config_handlers.xml (modified) (1 diff)
-
src/config/xsd/caching.xsd (modified) (3 diffs)
-
src/controller/AgaviExecutionContainer.class.php (modified) (2 diffs)
-
src/filter/AgaviExecutionFilter.class.php (modified) (6 diffs)
-
src/renderer/AgaviPhpRenderer.class.php (modified) (1 diff)
-
src/renderer/AgaviPhptalRenderer.class.php (modified) (2 diffs)
-
src/renderer/AgaviRenderer.class.php (modified) (2 diffs)
-
src/renderer/AgaviSmartyRenderer.class.php (modified) (2 diffs)
-
src/response/AgaviResponse.class.php (modified) (1 diff)
-
src/view/AgaviTemplateLayer.class.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/0.11/samples/app/config/output_types.xml
r1621 r1635 1 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 2 <configurations xmlns:xi="http://www.w3.org/2001/XInclude"> 3 4 <sandbox> 5 6 <renderers default="php"> 7 <renderer name="php" class="AgaviPhpRenderer"> 8 <parameter name="assigns"> 9 <parameter name="routing">ro</parameter> 10 <parameter name="request">rq</parameter> 11 <parameter name="controller">ct</parameter> 12 <parameter name="user">us</parameter> 13 <parameter name="translation_manager">tm</parameter> 14 <parameter name="request_data">rd</parameter> 15 </parameter> 16 </renderer> 17 </renderers> 18 19 <layouts default="default"> 20 21 <layout name="default"> 22 <layer name="content" class="AgaviFileTemplateLayer" /> 23 <layer name="decorator" class="AgaviFileTemplateLayer"> 24 <slot name="menu" module="Default" action="Menu" /> 25 <parameter name="template">Master</parameter> 26 </layer> 27 </layout> 28 29 <layout name="slot"> 30 <layer name="content" class="AgaviFileTemplateLayer" /> 31 </layout> 32 </layouts> 33 34 </sandbox> 3 35 4 36 <configuration context="web"> … … 6 38 7 39 <output_type name="html"> 8 <renderers default="php"> 9 <renderer name="php" class="AgaviPhpRenderer"> 10 <parameters> 11 <parameter name="assigns"> 12 <parameters> 13 <parameter name="routing">ro</parameter> 14 <parameter name="request">rq</parameter> 15 <parameter name="controller">ct</parameter> 16 <parameter name="user">us</parameter> 17 <parameter name="translation_manager">tm</parameter> 18 <parameter name="request_data">rd</parameter> 19 </parameters> 20 </parameter> 21 </parameters> 22 </renderer> 23 </renderers> 24 <layouts default="default"> 25 <layout name="default"> 26 <layers> 27 <layer name="content" class="AgaviFileTemplateLayer" /> 28 <layer name="decorator" class="AgaviFileTemplateLayer"> 29 <parameters> 30 <parameter name="template">Master</parameter> 31 </parameters> 32 </layer> 33 </layers> 34 </layout> 35 </layouts> 36 <parameters> 37 <parameter name="Content-Type">text/html; charset=UTF-8</parameter> 38 </parameters> 40 <xi:include href="#xpointer(/configurations/sandbox/renderers)" /> 41 <xi:include href="#xpointer(/configurations/sandbox/layouts)" /> 42 43 <parameter name="Content-Type">text/html; charset=UTF-8</parameter> 39 44 </output_type> 40 45 41 46 <output_type name="xhtml"> 42 <xi:include href="#xpointer(//configurations/configuration[@context='web']/output_types/output_type[@name='html']/renderers)" /> 43 <xi:include href="#xpointer(//configurations/configuration[@context='web']/output_types/output_type[@name='html']/layouts)" /> 44 <parameters> 45 <parameter name="Content-Type">application/xhtml+xml; charset=UTF-8</parameter> 46 </parameters> 47 <xi:include href="#xpointer(/configurations/sandbox/renderers)" /> 48 <xi:include href="#xpointer(/configurations/sandbox/layouts)" /> 49 50 <parameter name="Content-Type">application/xhtml+xml; charset=UTF-8</parameter> 47 51 </output_type> 48 52 … … 54 58 55 59 <output_type name="xmlrpc"> 56 <parameters> 57 <parameter name="encoding">UTF-8</parameter> 58 </parameters> 60 <parameter name="encoding">UTF-8</parameter> 59 61 </output_type> 60 62 -
branches/0.11/samples/app/modules/Default/lib/view/AgaviSampleAppDefaultBaseView.class.php
r1610 r1635 17 17 } 18 18 19 public function setupHtml(AgaviRequestDataHolder $rd )19 public function setupHtml(AgaviRequestDataHolder $rd, $layout = null) 20 20 { 21 $this->loadLayout( );21 $this->loadLayout($layout); 22 22 23 23 // also set a default title just to avoid warnings -
branches/0.11/samples/app/modules/Default/templates/Master.php
r1610 r1635 156 156 <p class="runin"><?php echo $tm->_d($tm->createCalendar()); ?>.<?php if($us->isAuthenticated()): ?> <?php echo $tm->_('You are logged in.', 'default.layout'); ?> <a href="<?php echo $ro->gen('logout'); ?>"><?php echo $tm->_('Log Out', 'default.layout'); ?></a><?php endif; ?></p> 157 157 <div id="menu"> 158 <h3><?php echo $tm->_('Menu', 'default.layout'); ?></h3> 159 <ul> 160 <li><a href="<?php echo $ro->gen('index'); ?>"><?php echo $tm->_('Home', 'default.menu'); ?></a></li> 161 <?php if(!$us->isAuthenticated()): ?> 162 <li><a href="<?php echo $ro->gen('login'); ?>"><?php echo $tm->_('Login', 'default.menu'); ?></a></li> 163 <?php endif; ?> 164 <li><a href="<?php echo $ro->gen('secure'); ?>"><?php echo $tm->_('A Secure Action', 'default.menu'); ?></a></li> 165 <li><a href="<?php echo $ro->gen('secure2'); ?>"><?php echo $tm->_('Another Secure Action', 'default.menu'); ?></a></li> 166 <li><a href="<?php echo $ro->gen('asdjashdasd'); ?>" onclick="return alert('<?php echo $tm->_('You will now be redirected to an invalid URL. If no rewrite rules are in place, this means you will see a standard 404 page of your web server, unless you configured an ErrorDocument 404 or some similar setting. If rewrite rules are in place (i.e. no index.php part in the URL), you will be shown the Agavi 404 document. This is correct and expected behavior.', 'default.menu'); ?>');"><?php echo $tm->_('Call invalid URL', 'default.menu'); ?></a></li> 167 <li><a href="<?php echo $ro->gen('disabled'); ?>"><?php echo $tm->_('Try Disabled Module', 'default.menu'); ?></a></li> 168 <li><a href="<?php echo $ro->gen('search_engine_spam', array('name' => $products[array_rand($products = array('nonsense', 'chainsaws', 'brains', 'viagra', 'mad coding skills'))], 'id' => 4815162342)); ?>"><?php echo $tm->_('Search Engine Spam', 'default.menu'); ?></a></li> 169 </ul> 158 <?php echo $slots['menu']; ?> 170 159 </div> 171 160 <div id="content"> -
branches/0.11/samples/app/modules/Default/templates/SearchEngineSpamSuccess.php
r1133 r1635 10 10 </tr> 11 11 </table> 12 13 <?=time()?> -
branches/0.11/samples/app/modules/Default/views/LoginInputView.class.php
r1610 r1635 27 27 { 28 28 parent::setupHtml($rd); 29 $this->getLayer('decorator')->removeSlot('foo'); 29 30 30 31 // set the title -
branches/0.11/src/config/defaults/autoload.xml
r1617 r1635 38 38 39 39 <!-- agavi/config --> 40 <autoload name="AgaviCachingConfigHandler">%core.agavi_dir%/config/AgaviCachingConfigHandler.class.php</autoload> 40 41 <autoload name="AgaviCompileConfigHandler">%core.agavi_dir%/config/AgaviCompileConfigHandler.class.php</autoload> 41 42 <autoload name="AgaviDatabaseConfigHandler">%core.agavi_dir%/config/AgaviDatabaseConfigHandler.class.php</autoload> -
branches/0.11/src/config/defaults/config_handlers.xml
r1568 r1635 136 136 <handler pattern="%core.module_dir%/*/validate/*.xml" class="AgaviValidatorConfigHandler" validate="%core.agavi_dir%/config/xsd/validators.xsd" /> 137 137 138 <handler pattern="%core.module_dir%/*/cache/*.xml" class="AgaviCachingConfigHandler" validate="%core.agavi_dir%/config/xsd/caching.xsd" /> 139 138 140 <handler pattern="%core.cldr_dir%/locales/*.xml" class="AgaviLdmlConfigHandler" /> 139 141 <handler pattern="%core.cldr_dir%/supplementalData.xml" class="AgaviLdmlSupplementalConfigHandler" /> -
branches/0.11/src/config/xsd/caching.xsd
r908 r1635 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 3 4 <xs:include schemaLocation="default_tags.xsd"/> 5 3 6 <xs:element name="configurations" type="configurations" /> 4 7 <xs:complexType name="configurations"> 5 8 <xs:sequence> 9 <xs:element name="sandbox" type="sandbox" minOccurs="0" /> 6 10 <xs:element name="configuration" minOccurs="0" maxOccurs="unbounded"> 7 11 <xs:complexType> 8 12 <xs:sequence> 9 <xs: element name="cachings" type="cachings" />13 <xs:group ref="cachings" /> 10 14 </xs:sequence> 11 15 <xs:attribute name="environment" type="xs:string" /> … … 16 20 <xs:attribute name="parent" type="xs:string" /> 17 21 </xs:complexType> 22 23 <xs:group name="cachings"> 24 <xs:choice> 25 <xs:element name="cachings" type="cachings" minOccurs="0" /> 26 <xs:element name="caching" type="caching" minOccurs="0" maxOccurs="unbounded"/> 27 </xs:choice> 28 </xs:group> 18 29 <xs:complexType name="cachings"> 19 30 <xs:sequence> … … 22 33 </xs:complexType> 23 34 <xs:complexType name="caching"> 35 <xs:sequence maxOccurs="unbounded"> 36 <xs:group ref="groups" /> 37 <xs:group ref="views" /> 38 <xs:group ref="action_attributes" /> 39 <xs:group ref="output_types" /> 40 </xs:sequence> 41 <xs:attribute name="method" type="php_label" /> 42 <xs:attribute name="enabled" type="xs:boolean" /> 43 <xs:attribute name="lifetime" type="xs:string" /> 44 </xs:complexType> 45 46 <xs:group name="groups"> 47 <xs:choice> 48 <xs:element name="groups" type="groups" minOccurs="0" /> 49 <xs:element name="group" type="group" minOccurs="0" maxOccurs="unbounded"/> 50 </xs:choice> 51 </xs:group> 52 <xs:complexType name="groups"> 24 53 <xs:sequence> 25 <xs:element name="groups"> 26 <xs:complexType> 27 <xs:sequence> 28 <xs:element name="group" maxOccurs="unbounded"> 29 <xs:complexType> 30 <xs:sequence> 31 </xs:sequence> 32 <xs:attribute name="name" type="xs:string" use="required" /> 33 <xs:attribute name="source" type="xs:string" /> 34 </xs:complexType> 35 </xs:element> 36 </xs:sequence> 37 </xs:complexType> 38 </xs:element> 39 <xs:element name="decorator"> 40 <xs:complexType> 41 <xs:sequence> 42 <xs:element name="slots"> 43 <xs:complexType> 44 <xs:sequence> 45 <xs:element name="slot" type="xs:string" maxOccurs="unbounded" /> 46 </xs:sequence> 47 </xs:complexType> 48 </xs:element> 49 <xs:element name="variables"> 50 <xs:complexType> 51 <xs:sequence> 52 <xs:element name="variable" type="xs:string" maxOccurs="unbounded" /> 53 </xs:sequence> 54 </xs:complexType> 55 </xs:element> 56 </xs:sequence> 57 <xs:attribute name="include" type="xs:string" /> 58 </xs:complexType> 59 </xs:element> 60 <xs:element name="views"> 61 <xs:complexType> 62 <xs:sequence> 63 <xs:element name="whitelists"> 64 <xs:complexType> 65 <xs:sequence> 66 <xs:element name="whitelist" type="xs:string" maxOccurs="unbounded" /> 67 </xs:sequence> 68 </xs:complexType> 69 </xs:element> 70 </xs:sequence> 71 </xs:complexType> 72 </xs:element> 73 <xs:element name="variables"> 74 <xs:complexType> 75 <xs:sequence> 76 <xs:element name="variable" maxOccurs="unbounded"> 77 <xs:complexType> 78 <xs:sequence> 79 </xs:sequence> 80 <xs:attribute name="source" type="xs:string" /> 81 <xs:attribute name="name" type="xs:string" /> 82 </xs:complexType> 83 </xs:element> 84 </xs:sequence> 85 </xs:complexType> 86 </xs:element> 54 <xs:element name="group" type="group" maxOccurs="unbounded" /> 55 </xs:sequence> 56 </xs:complexType> 57 <xs:complexType name="group"> 58 <xs:simpleContent> 59 <xs:extension base="xs:string"> 60 <xs:attribute name="source" type="xs:string" /> 61 <xs:attribute name="namespace" type="xs:string" /> 62 </xs:extension> 63 </xs:simpleContent> 64 </xs:complexType> 65 66 <xs:group name="action_attributes"> 67 <xs:choice> 68 <xs:element name="action_attributes" type="action_attributes" minOccurs="0" /> 69 <xs:element name="action_attribute" type="action_attribute" minOccurs="0" maxOccurs="unbounded"/> 70 </xs:choice> 71 </xs:group> 72 <xs:complexType name="action_attributes"> 73 <xs:sequence> 74 <xs:element name="action_attribute" type="action_attribute" minOccurs="0" maxOccurs="unbounded" /> 75 </xs:sequence> 76 </xs:complexType> 77 <xs:complexType name="action_attribute"> 78 <xs:sequence> 79 <xs:element name="action_attribute" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> 80 </xs:sequence> 81 </xs:complexType> 82 83 <xs:group name="views"> 84 <xs:choice> 85 <xs:element name="views" type="views" minOccurs="0" /> 86 <xs:element name="view" type="view" minOccurs="0" maxOccurs="unbounded"/> 87 </xs:choice> 88 </xs:group> 89 <xs:complexType name="views"> 90 <xs:sequence> 91 <xs:element name="view" type="view" minOccurs="0" maxOccurs="unbounded" /> 92 </xs:sequence> 93 </xs:complexType> 94 <xs:complexType name="view"> 95 <xs:simpleContent> 96 <xs:extension base="xs:string"> 97 <xs:attribute name="module" type="php_label" /> 98 </xs:extension> 99 </xs:simpleContent> 100 </xs:complexType> 101 102 <xs:group name="output_types"> 103 <xs:choice> 104 <xs:element name="output_types" type="output_types" minOccurs="0" /> 105 <xs:element name="output_type" type="output_type" minOccurs="0" maxOccurs="unbounded"/> 106 </xs:choice> 107 </xs:group> 108 <xs:complexType name="output_types"> 109 <xs:sequence> 110 <xs:element name="output_type" type="output_type" maxOccurs="unbounded" /> 111 </xs:sequence> 112 </xs:complexType> 113 <xs:complexType name="output_type"> 114 <xs:sequence maxOccurs="unbounded"> 115 <xs:group ref="request_attributes" /> 116 <xs:group ref="template_variables" /> 117 <xs:group ref="layers" /> 118 </xs:sequence> 119 <xs:attribute name="name" type="php_label" /> 120 </xs:complexType> 121 122 <xs:group name="request_attributes"> 123 <xs:choice> 124 <xs:element name="request_attributes" type="request_attributes" minOccurs="0" /> 125 <xs:element name="request_attribute" type="request_attribute" minOccurs="0" maxOccurs="unbounded"/> 126 </xs:choice> 127 </xs:group> 128 <xs:complexType name="request_attributes"> 129 <xs:sequence> 130 <xs:element name="request_attribute" type="request_attribute" maxOccurs="unbounded" /> 131 </xs:sequence> 132 </xs:complexType> 133 <xs:complexType name="request_attribute"> 134 <xs:simpleContent> 135 <xs:extension base="xs:string"> 136 <xs:attribute name="namespace" type="xs:string" /> 137 </xs:extension> 138 </xs:simpleContent> 139 </xs:complexType> 140 141 <xs:group name="template_variables"> 142 <xs:choice> 143 <xs:element name="template_variables" type="template_variables" minOccurs="0" /> 144 <xs:element name="template_variable" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 145 </xs:choice> 146 </xs:group> 147 <xs:complexType name="template_variables"> 148 <xs:sequence> 149 <xs:element name="template_variable" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> 150 </xs:sequence> 151 </xs:complexType> 152 153 <xs:group name="layers"> 154 <xs:choice> 155 <xs:element name="layers" type="layers" minOccurs="0" /> 156 <xs:element name="layer" type="layer" minOccurs="0" maxOccurs="unbounded"/> 157 </xs:choice> 158 </xs:group> 159 <xs:complexType name="layers"> 160 <xs:sequence> 161 <xs:element name="layer" type="layer" maxOccurs="unbounded" /> 162 </xs:sequence> 163 </xs:complexType> 164 <xs:complexType name="layer"> 165 <xs:sequence maxOccurs="unbounded"> 166 <xs:group ref="slots" /> 87 167 </xs:sequence> 88 168 <xs:attribute name="name" type="xs:string" use="required" /> 89 <xs:attribute name=" enabled" type="xs:string" />169 <xs:attribute name="include" type="xs:string" /> 90 170 </xs:complexType> 171 172 <xs:group name="slots"> 173 <xs:choice> 174 <xs:element name="slots" type="slots" minOccurs="0" /> 175 <xs:element name="slot" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 176 </xs:choice> 177 </xs:group> 178 <xs:complexType name="slots"> 179 <xs:sequence> 180 <xs:element name="slot" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> 181 </xs:sequence> 182 </xs:complexType> 183 91 184 </xs:schema> -
branches/0.11/src/controller/AgaviExecutionContainer.class.php
r1568 r1635 90 90 91 91 /** 92 * Pre-serialization callback. 93 * 94 * Will set the name of the context instead of the instance, and the name of 95 * the output type instead of the instance. Both will be restored by __wakeup 96 * 97 * @author David Zuelke <dz@bitxtender.com> 98 * @since 0.11.0 99 */ 100 public function __sleep() 101 { 102 $this->contextName = $this->context->getName(); 103 $this->outputTypeName = $this->outputType->getName(); 104 $arr = get_object_vars($this); 105 unset($arr['context'], $arr['outputType']); 106 return array_keys($arr); 107 } 108 109 /** 110 * Post-unserialization callback. 111 * 112 * Will restore the context and output type instances based on their names set 113 * by __sleep. 114 * 115 * @author David Zuelke <dz@bitxtender.com> 116 * @since 0.11.0 117 */ 118 public function __wakeup() 119 { 120 $this->context = AgaviContext::getInstance($this->contextName); 121 $this->outputType = $this->context->getController()->getOutputType($this->outputTypeName); 122 unset($this->contextName, $this->outputTypeName); 123 } 124 125 /** 92 126 * Initialize the container. This will create a response instance. 93 127 * … … 105 139 106 140 $this->parameters = $parameters; 107 108 // create a new response instance for this action109 $rfi = $this->context->getFactoryInfo('response');110 $this->response = new $rfi['class'];111 $this->response->initialize($this->context, $rfi['parameters']);112 141 } 113 142 -
branches/0.11/src/filter/AgaviExecutionFilter.class.php
r1621 r1635 86 86 $group = base64_encode($group); 87 87 } 88 return include(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $groups) . '.cefcache');88 return unserialize(file_get_contents(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $groups) . '.cefcache')); 89 89 } 90 90 … … 106 106 } 107 107 @mkdir(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR , array_slice($groups, 0, -1)), 0777, true); 108 return file_put_contents(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $groups) . '.cefcache', '<' . '?' . 'php return ' . var_export($data, true) . ';');108 return file_put_contents(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $groups) . '.cefcache', serialize($data)); 109 109 } 110 110 … … 131 131 132 132 /** 133 * Builds an array of cache groups 134 * 135 * @param array The configuration 136 * @param string The Action's Module name 137 * @param string The Action's name 138 * 139 * @return array An array of groups 133 * Builds an array of cache groups using the configuration and a container. 134 * 135 * @param array The group array from the configuration. 136 * @param AgaviExecutionContainer The execution container. 137 * 138 * @return array An array of groups. 140 139 * 141 140 * @author David Zuelke <dz@bitxtender.com> 142 141 * @since 0.11.0 143 142 */ 144 public function determineGroups(array $cfg, $moduleName, $actionName) 145 { 146 $groups = array(); 147 148 if(isset($cfg['groups'])) { 149 foreach($cfg['groups'] as $group) { 150 $group += array('name' => null, 'source' => null, 'namespace' => null); 151 $val = $this->getVariable($group['name'], $group['source'], $group['namespace']); 152 if($val === null) { 153 $val = "0"; 154 } 155 $groups[] = $val; 156 } 157 } 158 159 $groups[] = $moduleName . '_' . $actionName; 160 161 return $groups; 143 public function determineGroups(array $groups, $container) 144 { 145 $retval = array(); 146 147 foreach($groups as $group) { 148 $group += array('name' => null, 'source' => null, 'namespace' => null); 149 $val = $this->getVariable($group['name'], $group['source'], $group['namespace']); 150 if($val === null) { 151 $val = "0"; 152 } 153 $retval[] = $val; 154 } 155 156 $retval[] = $container->getModuleName() . '_' . $container->getActionName(); 157 158 return $retval; 162 159 } 163 160 … … 171 168 $val = $this->context->getTranslationManager()->getCurrentLocaleIdentifier(); 172 169 break; 173 case 'request Parameter':174 $val = $this->context->getRequest()->get Parameter($name);175 break; 176 case 'request Attribute':170 case 'request_parameter': 171 $val = $this->context->getRequest()->getRequestData()->getParameter($name); 172 break; 173 case 'request_attribute': 177 174 $val = $this->context->getRequest()->getAttribute($name, $namespace); 178 175 break; 179 case 'user Parameter':176 case 'user_parameter': 180 177 $val = $this->context->getUser()->getParameter($name); 181 178 break; 182 case 'user Attribute':179 case 'user_attribute': 183 180 $val = $this->context->getUser()->getAttribute($name, $namespace); 184 181 break; 185 case 'user Credential':182 case 'user_credential': 186 183 $val = $this->context->getUser()->hasCredential($name); 187 184 break; … … 209 206 public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container) 210 207 { 211 $response = $container->getResponse();212 213 208 $lm = $this->context->getLoggerManager(); 214 209 // get the context, controller and validator manager 215 210 $controller = $this->context->getController(); 216 211 217 212 // get the current action information 218 213 $actionName = $container->getActionName(); 219 214 $moduleName = $container->getModuleName(); 220 215 221 216 $request = $this->context->getRequest(); 222 217 223 218 $isCacheable = false;
