Updated Extbase and Fluid to 1.3.0beta1a. See their ChangeLog for details.
authorOliver Hader <oliver.hader@typo3.org>
Wed, 17 Nov 2010 12:43:22 +0000 (12:43 +0000)
committerOliver Hader <oliver.hader@typo3.org>
Wed, 17 Nov 2010 12:43:22 +0000 (12:43 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9447 709f56b5-9817-0410-a4d7-c38de5d9e867

21 files changed:
ChangeLog
typo3/sysext/extbase/ChangeLog.txt
typo3/sysext/extbase/Classes/Configuration/AbstractConfigurationManager.php
typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php
typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php
typo3/sysext/extbase/Classes/Core/Bootstrap.php
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMapper.php
typo3/sysext/extbase/Classes/Utility/Extension.php
typo3/sysext/extbase/ext_emconf.php
typo3/sysext/extbase/ext_tables.php
typo3/sysext/extbase/last_synched_target
typo3/sysext/fluid/ChangeLog.txt
typo3/sysext/fluid/Classes/ViewHelpers/Be/TableListViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/CountViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/ImageViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/Uri/ImageViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/Widget/AutocompleteViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/Widget/PaginateViewHelper.php
typo3/sysext/fluid/ext_emconf.php
typo3/sysext/fluid/last_synched_target

index 6fa9cbc..e1b8e8f 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,6 +40,7 @@
 
        * Updated Workspaces to version 4.5.0beta1. See their ChangeLog for details.
        * Cleanup: Updated NEWS.txt
+       * Updated Extbase and Fluid to 1.3.0beta1a. See their ChangeLog for details.
 
 2010-11-16  Stanislas Rolland  <typo3@sjbr.ca>
 
index 86d9730..d3b95b4 100644 (file)
@@ -1,8 +1,8 @@
 ChangeLog for Extbase
 =====================
 
-Changes for 1.3.0 Beta 1
-========================
+Changes for 1.3.0 Beta 1a:
+==========================
 included in TYPO3 4.5.0 Beta 1.
 
 Extbase 1.3.0 Beta 1 has a lot new and greatly improved features, and also many bugfixes.
@@ -288,9 +288,9 @@ public function initializeObject() {
 Of course, QuerySettings can be overridden too in your custom finder method by calling $query->setQuerySettings();
 
 
-Full Changes:
--------------
-
+Full Changes for 1.3.0 Beta 1a:
+===============================
+[+TASK] Extbase: Re-implement support for BE modules
 [+FEATURE] Extbase (Utility): Allow plugins to be registered as new content element
        Added a fifth parameter to Tx_Extbase_Utility_Extension::configurePlugin that allows
        you to specify the plugin type (currently "list_type" and "CType" are supported).
@@ -476,8 +476,8 @@ $TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Bootstrap->callModule';
        Note: This feature still has to be documented!
        Resolves: #8365
 
-Changes for 1.3.0 Alpha 2
-=========================
+Changes for 1.3.0 Alpha 2:
+==========================
 included in TYPO3 4.5.0 Alpha 2.
 
 Since the last version, one (possible BREAKING) change happened:
@@ -499,8 +499,8 @@ Full Changes:
 [-TASK] Extbase (MVC): removed fallback to current page in AbstractController::redirect() as that's already done within the UriBuilder if $targetPageUid is NULL
 
 
-Changes for 1.3.0 Alpha 1
-=========================
+Changes for 1.3.0 Alpha 1:
+==========================
 included in TYPO3 4.5.0 Alpha 1.
 
 Since the last version, the following notable things happened:
index e8c5e84..3d74e53 100644 (file)
@@ -141,11 +141,11 @@ abstract class Tx_Extbase_Configuration_AbstractConfigurationManager implements
 
                if ($extensionName !== NULL) {
                        $pluginConfiguration = $this->getPluginConfiguration($extensionName, $pluginName);
-                       $pluginConfiguration['controllerConfiguration'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName]['controllers'];
+                       $pluginConfiguration['controllerConfiguration'] = $this->getSwitchableControllerActions($extensionName, $pluginName);
                } else {
                        $pluginConfiguration = $this->getPluginConfiguration($this->extensionName, $this->pluginName);
                        $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, $this->configuration);
-                       $pluginConfiguration['controllerConfiguration'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$this->extensionName][$this->pluginName]['controllers'];
+                       $pluginConfiguration['controllerConfiguration'] = $this->getSwitchableControllerActions($this->extensionName, $this->pluginName);
                        if (isset($this->configuration['switchableControllerActions'])) {
                                $this->overrideSwitchableControllerActions($pluginConfiguration, $this->configuration['switchableControllerActions']);
                        }
@@ -177,27 +177,6 @@ abstract class Tx_Extbase_Configuration_AbstractConfigurationManager implements
        }
 
        /**
-        * Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin
-        * merged with the global configuration of your extension from plugin.tx_yourextension
-        *
-        * @param string $extensionName
-        * @param string $pluginName
-        * @return array
-        */
-       protected function getPluginConfiguration($extensionName, $pluginName) {
-               $setup = $this->getTypoScriptSetup();
-               $pluginConfiguration = array();
-               if (is_array($setup['plugin.']['tx_' . strtolower($extensionName) . '.'])) {
-                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . strtolower($extensionName) . '.']);
-               }
-               $pluginSignature = strtolower($extensionName . '_' . $pluginName);
-               if (is_array($setup['plugin.']['tx_' . $pluginSignature . '.'])) {
-                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . $pluginSignature . '.']));
-               }
-               return $pluginConfiguration;
-       }
-
-       /**
         * @param array $frameworkConfiguration
         * @param array $overriddenSwitchableControllerActions in the format array('Controller1' => array('action1', 'action2'), 'Controller2' => ...)
         * @return void
@@ -234,5 +213,28 @@ abstract class Tx_Extbase_Configuration_AbstractConfigurationManager implements
         * @return array the TypoScript setup
         */
        abstract protected function getTypoScriptSetup();
+
+       /**
+        * Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin / module.tx_yourextension_yourmodule
+        * merged with the global configuration of your extension from plugin.tx_yourextension / module.tx_yourextension
+        *
+        * @param string $extensionName
+        * @param string $pluginName in FE mode this is the specified plugin name, in BE mode this is the full module signature
+        * @return array
+        */
+       abstract protected function getPluginConfiguration($extensionName, $pluginName);
+
+       /**
+        * Returns the configured controller/action pairs of the specified plugin/module in the format
+        * array(
+        *  'Controller1' => array('action1', 'action2'),
+        *  'Controller2' => array('action3', 'action4')
+        * )
+        *
+        * @param string $extensionName
+        * @param string $pluginName in FE mode this is the specified plugin name, in BE mode this is the full module signature
+        * @return array
+        */
+       abstract protected function getSwitchableControllerActions($extensionName, $pluginName);
 }
 ?>
\ No newline at end of file
index d17b855..d2c806f 100644 (file)
@@ -60,6 +60,46 @@ class Tx_Extbase_Configuration_BackendConfigurationManager extends Tx_Extbase_Co
        }
 
        /**
+        * Returns the TypoScript configuration found in module.tx_yourextension_yourmodule
+        * merged with the global configuration of your extension from module.tx_yourextension
+        *
+        * @param string $extensionName
+        * @param string $pluginName in BE mode this is actually the module signature. But we're using it just like the plugin name in FE
+        * @return array
+        */
+       protected function getPluginConfiguration($extensionName, $pluginName) {
+               $setup = $this->getTypoScriptSetup();
+               $pluginConfiguration = array();
+               if (is_array($setup['module.']['tx_' . strtolower($extensionName) . '.'])) {
+                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['module.']['tx_' . strtolower($extensionName) . '.']);
+               }
+               $pluginSignature = strtolower($extensionName . '_' . $pluginName);
+               if (is_array($setup['module.']['tx_' . $pluginSignature . '.'])) {
+                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['module.']['tx_' . $pluginSignature . '.']));
+               }
+               return $pluginConfiguration;
+       }
+
+       /**
+        * Returns the configured controller/action pairs of the specified module in the format
+        * array(
+        *  'Controller1' => array('action1', 'action2'),
+        *  'Controller2' => array('action3', 'action4')
+        * )
+        *
+        * @param string $extensionName
+        * @param string $pluginName in BE mode this is actually the module signature. But we're using it just like the plugin name in FE
+        * @return array
+        */
+       protected function getSwitchableControllerActions($extensionName, $pluginName) {
+               $switchableControllerActions = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$pluginName]['controllers'];
+               if (!is_array($switchableControllerActions)) {
+                       $switchableControllerActions = array();
+               }
+               return $switchableControllerActions;
+       }
+
+       /**
         * Returns the page uid of the current page.
         * If no page is selected, we'll return the uid of the first root page.
         *
index fb7cda8..5ae5744 100644 (file)
@@ -43,6 +43,46 @@ class Tx_Extbase_Configuration_FrontendConfigurationManager extends Tx_Extbase_C
        }
 
        /**
+        * Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin
+        * merged with the global configuration of your extension from plugin.tx_yourextension
+        *
+        * @param string $extensionName
+        * @param string $pluginName
+        * @return array
+        */
+       protected function getPluginConfiguration($extensionName, $pluginName) {
+               $setup = $this->getTypoScriptSetup();
+               $pluginConfiguration = array();
+               if (is_array($setup['plugin.']['tx_' . strtolower($extensionName) . '.'])) {
+                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . strtolower($extensionName) . '.']);
+               }
+               $pluginSignature = strtolower($extensionName . '_' . $pluginName);
+               if (is_array($setup['plugin.']['tx_' . $pluginSignature . '.'])) {
+                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . $pluginSignature . '.']));
+               }
+               return $pluginConfiguration;
+       }
+
+       /**
+        * Returns the configured controller/action pairs of the specified plugin in the format
+        * array(
+        *  'Controller1' => array('action1', 'action2'),
+        *  'Controller2' => array('action3', 'action4')
+        * )
+        *
+        * @param string $extensionName
+        * @param string $pluginName
+        * @return array
+        */
+       protected function getSwitchableControllerActions($extensionName, $pluginName) {
+               $switchableControllerActions = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'];
+               if (!is_array($switchableControllerActions)) {
+                       $switchableControllerActions = array();
+               }
+               return $switchableControllerActions;
+       }
+
+       /**
         * Get context specific framework configuration.
         * - Overrides storage PID with setting "Startingpoint"
         * - merge flexform configuration, if needed
index 709f0ff..f179f3c 100644 (file)
@@ -269,27 +269,39 @@ class Tx_Extbase_Core_Bootstrap {
          * This method forwards the call to run(). This method is invoked by the mod.php
          * function of TYPO3.
          *
-         * @return TRUE
+         * @param string $moduleSignature
+         * @return boolean TRUE, if the request request could be dispatched
          * @see run()
          **/
-       public function callModule($moduleName) {
+       public function callModule($moduleSignature) {
+               if (!isset($GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature])) {
+                       return FALSE;
+               }
+               $moduleConfiguration = $GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature];
 
                // Check permissions and exit if the user has no permission for entry
-               $GLOBALS['BE_USER']->modAccess($config, TRUE);
+               $GLOBALS['BE_USER']->modAccess($moduleConfiguration, TRUE);
                if (t3lib_div::_GP('id')) {
                        // Check page access
-                       $id = intval(t3lib_div::_GP('id'));
                        $permClause = $GLOBALS['BE_USER']->getPagePermsClause(TRUE);
-                       $access = is_array(t3lib_BEfunc::readPageAccess($id, $permClause));
+                       $access = is_array(t3lib_BEfunc::readPageAccess((integer)t3lib_div::_GP('id'), $permClause));
                        if (!$access) {
-                               t3lib_BEfunc::typo3PrintError('No Access', 'You don\'t have access to this page', 0);
+                               throw new RuntimeException('You don\'t have access to this page', 1289917924);
                        }
                }
 
+               // BACK_PATH is the path from the typo3/ directory from within the
+               // directory containing the controller file. We are using mod.php dispatcher
+               // and thus we are already within typo3/ because we call typo3/mod.php
+               $GLOBALS['BACK_PATH'] = '';
+
+               $configuration = array(
+                       'extensionName' => $moduleConfiguration['extensionName'],
+                       'pluginName' => $moduleSignature
+               );
+               $content = $this->run('', $configuration);
 
-               $configuration = array();
-               $configuration['module.']['tx_extbase.']['moduleName'] = $moduleName;
-               $this->run('', $configuration);
+               print $content;
                return TRUE;
        }
 }
index 0e5649c..3b70ca7 100644 (file)
@@ -311,7 +311,7 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
         * @param mixed $fieldValue The raw field value.
         * @param bool $enableLazyLoading A flag indication if the related objects should be lazy loaded
         * @param bool $performLanguageOverlay A flag indication if the related objects should be localized
-        * @return mixed The result
+        * @return Tx_Extbase_Persistence_LazyObjectStorage|Tx_Extbase_Persistence_QueryResultInterface The result
         */
        public function fetchRelated(Tx_Extbase_DomainObject_DomainObjectInterface $parentObject, $propertyName, $fieldValue = '', $enableLazyLoading = TRUE) {
                $columnMap = $this->getDataMap(get_class($parentObject))->getColumnMap($propertyName);
@@ -433,7 +433,7 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
         *
         * @param mixed $result The result could be an object or an ObjectStorage
         * @param array $propertyMetaData The property meta data
-        * @param array $result The result
+        * @param Tx_Extbase_Persistence_QueryResultInterface|Tx_Extbase_Persistence_LoadingStrategyInterface $result The result
         * @return void
         */
        public function mapResultToPropertyValue(Tx_Extbase_DomainObject_DomainObjectInterface $parentObject, $propertyName, $result) {
@@ -461,11 +461,9 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
                                        $propertyValue = $objects;
                                }
                        } elseif (strpos($propertyMetaData['type'], '_') !== FALSE) {
-                               if (is_array($result)) {
-
-                                       if (current($result) !== FALSE) {
-                                               $propertyValue = current($result);
-                                       } else {
+                               if (is_object($result) && $result instanceof Tx_Extbase_Persistence_QueryResultInterface) {
+                                       $propertyValue = $result->getFirst();
+                                       if ($propertyValue === FALSE) {
                                                $propertyValue = NULL;
                                        }
                                } else {
index 2f93016..ccb433e 100644 (file)
@@ -64,14 +64,14 @@ class Tx_Extbase_Utility_Extension {
                }
                $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName)));
                $pluginSignature = strtolower($extensionName) . '_' . strtolower($pluginName);
-               if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName])) {
-                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName] = array();
+               if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName])) {
+                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName] = array();
                }
 
                foreach ($controllerActions as $controllerName => $actionsList) {
-                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName]['controllers'][$controllerName] = array('actions' => t3lib_div::trimExplode(',', $actionsList));
+                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName] = array('actions' => t3lib_div::trimExplode(',', $actionsList));
                        if (!empty($nonCacheableControllerActions[$controllerName])) {
-                               $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName]['controllers'][$controllerName]['nonCacheableActions'] = t3lib_div::trimExplode(',', $nonCacheableControllerActions[$controllerName]);
+                               $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName]['nonCacheableActions'] = t3lib_div::trimExplode(',', $nonCacheableControllerActions[$controllerName]);
                        }
                }
 
@@ -121,7 +121,7 @@ tt_content.' . $pluginSignature . ' {
                        default:
                                throw new InvalidArgumentException('The pluginType "' . $pluginType .'" is not suported', 1289858856);
                }
-               $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName]['pluginType'] = $pluginType;
+               $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType'] = $pluginType;
 
                t3lib_extMgm::addTypoScript($extensionName, 'setup', '
 # Setting ' . $extensionName . ' plugin TypoScript
@@ -147,90 +147,40 @@ tt_content.' . $pluginSignature . ' {
                $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName)));
                $pluginSignature = strtolower($extensionName) . '_' . strtolower($pluginName);
 
-               t3lib_extMgm::addPlugin(array($pluginTitle, $pluginSignature), $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName][$pluginName]['pluginType']);
+               t3lib_extMgm::addPlugin(array($pluginTitle, $pluginSignature), $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType']);
        }
 
        /**
         * This method is called from t3lib_loadModules::checkMod and it replaces old conf.php.
         *
-        * @param string $key The module name
-        * @param string $fullpath      Absolute path to module
-        * @param array $MCONF Reference to the array holding the configuration of the module
-        * @param array $MLANG Reference to the array holding the localized module labels
+        * @param string $moduleSignature The module name
+        * @param string $modulePath Absolute path to module (not used by Extbase currently)
         * @return array Configuration of the module
         */
-       public function configureModule($key, $fullpath, array $MCONF = array(), array $MLANG = array()) {
-               $path = preg_replace('/\/[^\/.]+\/\.\.\//', '/', $fullpath); // because 'path/../path' does not work
-               $config = $GLOBALS['TBE_MODULES']['_configuration'][$key]['config'];
-               define('TYPO3_MOD_PATH', $config['extRelPath']);
-
-                       // Fill $MCONF
-               $MCONF['name'] = $key;
-               $MCONF['access'] = $config['access'];
-               $MCONF['script'] = '_DISPATCH';
-
-               if (substr($config['icon'], 0, 4) === 'EXT:') {
-                       list($extKey, $local) = explode('/', substr($config['icon'], 4), 2);
-                       $config['icon'] = t3lib_extMgm::extRelPath($extKey) . $local;
-               }
-
-                       // Initialize search for alternative icon:
-               $altIconKey = 'MOD:' . $key . '/' . $config['icon'];            // Alternative icon key (might have an alternative set in $TBE_STYLES['skinImg']
-               $altIconAbsPath = is_array($GLOBALS['TBE_STYLES']['skinImg'][$altIconKey]) ? t3lib_div::resolveBackPath(PATH_typo3.$GLOBALS['TBE_STYLES']['skinImg'][$altIconKey][0]) : '';
-
-                       // Set icon, either default or alternative:
-               if ($altIconAbsPath && @is_file($altIconAbsPath)) {
-                       $tabImage = $altIconAbsPath;
-               } else {
-                               // Setting default icon:
-                       $tabImage = $config['icon'];
-               }
-
-                       // Fill $MLANG
-               $MLANG['default']['ll_ref'] = $config['labels'];
-
-                       // Finally, set the icon with correct path:
-               if (substr($tabImage, 0 ,3) === '../') {
-                       $MLANG['default']['tabs_images']['tab'] = PATH_site . substr($tabImage, 3);
-               } else {
-                       $MLANG['default']['tabs_images']['tab'] = PATH_typo3 . $tabImage;
-               }
-
-                       // If LOCAL_LANG references are used for labels of the module:
-               if ($MLANG['default']['ll_ref']) {
-                               // Now the 'default' key is loaded with the CURRENT language - not the english translation...
-                       $MLANG['default']['labels']['tablabel'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_labels_tablabel');
-                       $MLANG['default']['labels']['tabdescr'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_labels_tabdescr');
-                       $MLANG['default']['tabs']['tab'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_tabs_tab');
-                       $GLOBALS['LANG']->addModuleLabels($MLANG['default'], $key . '_');
-               } else {        // ... otherwise use the old way:
-                       $GLOBALS['LANG']->addModuleLabels($MLANG['default'], $key . '_');
-                       $GLOBALS['LANG']->addModuleLabels($MLANG[$GLOBALS['LANG']->lang], $key . '_');
-               }
-
-                       // Fill $modconf
-               $modconf['script'] = 'mod.php?M=' . rawurlencode($key);
-               $modconf['name'] = $key;
-
-                               // Default tab setting
-               if ($MCONF['defaultMod']) {
-                       $modconf['defaultMod'] = $MCONF['defaultMod'];
-               }
-                       // Navigation Frame Script (GET params could be added)
-               if ($MCONF['navFrameScript']) {
-                       $navFrameScript = explode('?', $MCONF['navFrameScript']);
-                       $navFrameScript = $navFrameScript[0];
-                       if (file_exists($path . '/' . $navFrameScript)) {
-                               $modconf['navFrameScript'] = $this->getRelativePath(PATH_typo3, $fullpath . '/' . $MCONF['navFrameScript']);
-                       }
-               }
-
-                       // Additional params for Navigation Frame Script: "&anyParam=value&moreParam=1"
-               if ($MCONF['navFrameScriptParam']) {
-                       $modconf['navFrameScriptParam'] = $MCONF['navFrameScriptParam'];
-               }
+       public function configureModule($moduleSignature, $modulePath) {
+               $moduleConfiguration = $GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature];
+               $iconPathAndFilename = $moduleConfiguration['icon'];
+               if (substr($iconPathAndFilename, 0, 4) === 'EXT:') {
+                       list($extensionKey, $relativePath) = explode('/', substr($iconPathAndFilename, 4), 2);
+                       $iconPathAndFilename = t3lib_extMgm::extPath($extensionKey) . $relativePath;
+               }
+               // TODO: skin support
+
+               $moduleLabels = array(
+                       'tabs_images' => array(
+                               'tab' => $iconPathAndFilename,
+                       ),
+                       'labels' => array(
+                               'tablabel' => $GLOBALS['LANG']->sL($moduleConfiguration['labels'] . ':mlang_labels_tablabel'),
+                               'tabdescr' => $GLOBALS['LANG']->sL($moduleConfiguration['labels'] . ':mlang_labels_tabdescr'),
+                       ),
+                       'tabs' => array(
+                               'tab' => $GLOBALS['LANG']->sL($moduleConfiguration['labels'] . ':mlang_tabs_tab')
+                       )
+               );
+               $GLOBALS['LANG']->addModuleLabels($moduleLabels, $moduleSignature . '_');
 
-               return $modconf;
+               return $moduleConfiguration;
        }
 
        /**
@@ -238,54 +188,57 @@ tt_content.' . $pluginSignature . ' {
         * FOR USE IN ext_tables.php FILES
         *
         * @param string $extensionName The extension name (in UpperCamelCase) or the extension key (in lower_underscore)
-        * @param string $main The main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there. If $main is not set a blank $extensionName module is created
-        * @param string $sub The submodule key. If $sub is not set a blank $main module is created
+        * @param string $mainModuleName The main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there. If $main is not set a blank $extensionName module is created
+        * @param string $subModuleName The submodule key. If $sub is not set a blank $main module is created
         * @param string $position This can be used to set the position of the $sub module within the list of existing submodules for the main module. $position has this syntax: [cmd]:[submodule-key]. cmd can be "after", "before" or "top" (or blank which is default). If "after"/"before" then submodule will be inserted after/before the existing submodule with [submodule-key] if found. If not found, the bottom of list. If "top" the module is inserted in the top of the submodule list.
         * @param array $controllerActions is an array of allowed combinations of controller and action stored in an array (controller name as key and a comma separated list of action names as value, the first controller and its first action is chosen as default)
-        * @param array $config The configuration options of the module (icon, locallang.xml file)
+        * @param array $moduleConfiguration The configuration options of the module (icon, locallang.xml file)
         * @return void
         */
-       static public function registerModule($extensionName, $main = '', $sub = '', $position = '', array $controllerActions, $config = array()) {
+       static public function registerModule($extensionName, $mainModuleName = '', $subModuleName = '', $position = '', array $controllerActions, array $moduleConfiguration = array()) {
                if (empty($extensionName)) {
-                       throw new InvalidArgumentException('The extension name was invalid (must not be empty and must match /[A-Za-z][_A-Za-z0-9]/)', 1239891989);
+                       throw new InvalidArgumentException('The extension name must not be empty', 1239891989);
                }
-               $extensionKey = $extensionName; // FIXME This will break if the $extensionName is given as BlogExample
+               $extensionKey = t3lib_div::camelCaseToLowerCaseUnderscored($extensionName);
                $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName)));
 
-               $path = t3lib_extMgm::extPath($extensionKey, 'Classes/');
-               $relPath = t3lib_extMgm::extRelPath($extensionKey) . 'Classes/';
-
-               if (!is_array($config) || count($config) == 0) {
-                       $config['access'] = 'admin';
-                       $config['icon'] = '';
-                       $config['labels'] = '';
-                       $config['extRelPath'] = $relPath;
-               }
+               $defaultModuleConfiguration = array(
+                       'access' => 'admin',
+                       'icon' => 'EXT:extbase/ext_icon.gif',
+                       'labels' => '',
+                       'extRelPath' => t3lib_extMgm::extRelPath($extensionKey) . 'Classes/'
+               );
+               $moduleConfiguration = t3lib_div::array_merge_recursive_overrule($defaultModuleConfiguration, $moduleConfiguration);
 
-               if ((strlen($main) > 0) && !array_key_exists($main, $GLOBALS['TBE_MODULES'])) {
-                       $main = $extensionName . self::convertLowerUnderscoreToUpperCamelCase($main);
+               if ((strlen($mainModuleName) > 0) && !array_key_exists($mainModuleName, $GLOBALS['TBE_MODULES'])) {
+                       $mainModuleName = $extensionName . self::convertLowerUnderscoreToUpperCamelCase($mainModuleName);
                } else {
-                       $main = (strlen($main) > 0) ? $main : 'web'; // TODO By now, $main must default to 'web'
+                       $mainModuleName = (strlen($mainModuleName) > 0) ? $mainModuleName : 'web';
                }
+               $moduleSignature = $mainModuleName;
 
-               if ((strlen($sub) > 0)) {
-                       $sub = $extensionName . self::convertLowerUnderscoreToUpperCamelCase($sub);
-                       $key = $main . '_' . $sub;
-               } else {
-                       $key = $main;
+               if ((strlen($subModuleName) > 0)) {
+                       $subModuleName = $extensionName . self::convertLowerUnderscoreToUpperCamelCase($subModuleName);
+                       $moduleSignature .= '_' . $subModuleName;
                }
 
-               $moduleConfig = array(
-                       'name' => $key,
-                       'extensionKey' => $extensionKey,
-                       'extensionName' => $extensionName,
-                       'controllerActions' => $controllerActions,
-                       'config' => $config,
-               );
-               $GLOBALS['TBE_MODULES']['_configuration'][$key] = $moduleConfig;
-               $GLOBALS['TBE_MODULES']['_configuration'][$key]['configureModuleFunction'] = array('Tx_Extbase_Utility_Extension', 'configureModule');
+               $moduleConfiguration['name'] = $moduleSignature;
+               $moduleConfiguration['script'] = 'mod.php?M=' . rawurlencode($moduleSignature);
+               $moduleConfiguration['extensionName'] = $extensionName;
+               $moduleConfiguration['configureModuleFunction'] = array('Tx_Extbase_Utility_Extension', 'configureModule');
+
+               $GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature] = $moduleConfiguration;
+
+               if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$moduleSignature])) {
+                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$moduleSignature] = array();
+               }
+               foreach($controllerActions as $controllerName => $actions) {
+                       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$moduleSignature]['controllers'][$controllerName] = array(
+                               'actions' => t3lib_div::trimExplode(',' , $actions)
+                       );
+               }
 
-               t3lib_extMgm::addModule($main, $sub, $position);
+               t3lib_extMgm::addModule($mainModuleName, $subModuleName, $position);
        }
 
        /**
@@ -519,11 +472,11 @@ tt_content.' . $pluginSignature . ' {
         */
        static public function getPluginNameByAction($extensionName, $controllerName, $actionName) {
                // TODO use ConfigurationManager to retrieve controllerConfiguration
-               if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName])) {
+               if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'])) {
                        return NULL;
                }
                $pluginNames = array();
-               foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName] as $pluginName => $pluginConfiguration) {
+               foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'] as $pluginName => $pluginConfiguration) {
                        if (!is_array($pluginConfiguration['controllers'])) {
                                continue;
                        }
index 938f992..3efa89c 100755 (executable)
@@ -3,7 +3,7 @@
 ########################################################################
 # Extension Manager/Repository config file for ext "extbase".
 #
-# Auto generated 16-11-2010 12:41
+# Auto generated 17-11-2010 13:21
 #
 # Manual updates:
 # Only the data in the array - everything else is removed by next
@@ -29,7 +29,7 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 1,
        'lockType' => '',
        'author_company' => '',
-       'version' => '1.3.0beta1',
+       'version' => '1.3.0beta1a',
        'constraints' => array(
                'depends' => array(
                        'php' => '5.2.0-0.0.0',
@@ -42,7 +42,7 @@ $EM_CONF[$_EXTKEY] = array(
        ),
        'suggests' => array(
        ),
-       '_md5_values_when_last_written' => 'a:290:{s:13:"ChangeLog.txt";s:4:"e09a";s:16:"ext_autoload.php";s:4:"c0cb";s:12:"ext_icon.gif";s:4:"e922";s:17:"ext_localconf.php";s:4:"ab60";s:14:"ext_tables.php";s:4:"7e5d";s:14:"ext_tables.sql";s:4:"0c2f";s:24:"ext_typoscript_setup.txt";s:4:"2bf7";s:22:"Classes/Dispatcher.php";s:4:"c031";s:21:"Classes/Exception.php";s:4:"c346";s:54:"Classes/Configuration/AbstractConfigurationManager.php";s:4:"414d";s:53:"Classes/Configuration/BackendConfigurationManager.php";s:4:"b92f";s:46:"Classes/Configuration/ConfigurationManager.php";s:4:"31cb";s:55:"Classes/Configuration/ConfigurationManagerInterface.php";s:4:"c22f";s:35:"Classes/Configuration/Exception.php";s:4:"31e6";s:54:"Classes/Configuration/FrontendConfigurationManager.php";s:4:"7253";s:53:"Classes/Configuration/Exception/ContainerIsLocked.php";s:4:"113a";s:60:"Classes/Configuration/Exception/InvalidConfigurationType.php";s:4:"9379";s:46:"Classes/Configuration/Exception/NoSuchFile.php";s:4:"75ce";s:48:"Classes/Configuration/Exception/NoSuchOption.php";s:4:"f616";s:46:"Classes/Configuration/Exception/ParseError.php";s:4:"b75a";s:26:"Classes/Core/Bootstrap.php";s:4:"566f";s:37:"Classes/Domain/Model/FrontendUser.php";s:4:"fb40";s:42:"Classes/Domain/Model/FrontendUserGroup.php";s:4:"448f";s:57:"Classes/Domain/Repository/FrontendUserGroupRepository.php";s:4:"0197";s:52:"Classes/Domain/Repository/FrontendUserRepository.php";s:4:"ce1e";s:45:"Classes/DomainObject/AbstractDomainObject.php";s:4:"2804";s:39:"Classes/DomainObject/AbstractEntity.php";s:4:"81ea";s:44:"Classes/DomainObject/AbstractValueObject.php";s:4:"42f0";s:46:"Classes/DomainObject/DomainObjectInterface.php";s:4:"2d94";s:23:"Classes/Error/Error.php";s:4:"4fa2";s:26:"Classes/MVC/Dispatcher.php";s:4:"9999";s:25:"Classes/MVC/Exception.php";s:4:"606f";s:23:"Classes/MVC/Request.php";s:4:"d652";s:39:"Classes/MVC/RequestHandlerInterface.php";s:4:"620c";s:38:"Classes/MVC/RequestHandlerResolver.php";s:4:"860e";s:32:"Classes/MVC/RequestInterface.php";s:4:"e830";s:24:"Classes/MVC/Response.php";s:4:"0069";s:33:"Classes/MVC/ResponseInterface.php";s:4:"0ab1";s:45:"Classes/MVC/Controller/AbstractController.php";s:4:"2130";s:43:"Classes/MVC/Controller/ActionController.php";s:4:"3a7c";s:35:"Classes/MVC/Controller/Argument.php";s:4:"3fc7";s:40:"Classes/MVC/Controller/ArgumentError.php";s:4:"6c22";s:36:"Classes/MVC/Controller/Arguments.php";s:4:"cff5";s:45:"Classes/MVC/Controller/ArgumentsValidator.php";s:4:"ca84";s:44:"Classes/MVC/Controller/ControllerContext.php";s:4:"b24c";s:46:"Classes/MVC/Controller/ControllerInterface.php";s:4:"c450";s:40:"Classes/MVC/Controller/FlashMessages.php";s:4:"0445";s:38:"Classes/MVC/Exception/InfiniteLoop.php";s:4:"5984";s:43:"Classes/MVC/Exception/InvalidActionName.php";s:4:"baec";s:45:"Classes/MVC/Exception/InvalidArgumentName.php";s:4:"55a6";s:45:"Classes/MVC/Exception/InvalidArgumentType.php";s:4:"0b9c";s:46:"Classes/MVC/Exception/InvalidArgumentValue.php";s:4:"a836";s:43:"Classes/MVC/Exception/InvalidController.php";s:4:"f0b0";s:47:"Classes/MVC/Exception/InvalidControllerName.php";s:4:"7b4c";s:46:"Classes/MVC/Exception/InvalidExtensionName.php";s:4:"865a";s:39:"Classes/MVC/Exception/InvalidMarker.php";s:4:"4a5e";s:48:"Classes/MVC/Exception/InvalidOrNoRequestHash.php";s:4:"beff";s:46:"Classes/MVC/Exception/InvalidRequestMethod.php";s:4:"508f";s:44:"Classes/MVC/Exception/InvalidRequestType.php";s:4:"def7";s:49:"Classes/MVC/Exception/InvalidTemplateResource.php";s:4:"bbb7";s:43:"Classes/MVC/Exception/InvalidUriPattern.php";s:4:"cee0";s:43:"Classes/MVC/Exception/InvalidViewHelper.php";s:4:"686d";s:38:"Classes/MVC/Exception/NoSuchAction.php";s:4:"1889";s:40:"Classes/MVC/Exception/NoSuchArgument.php";s:4:"1bec";s:42:"Classes/MVC/Exception/NoSuchController.php";s:4:"baa6";s:36:"Classes/MVC/Exception/StopAction.php";s:4:"7290";s:48:"Classes/MVC/Exception/UnsupportedRequestType.php";s:4:"27ce";s:33:"Classes/MVC/View/AbstractView.php";s:4:"3960";s:30:"Classes/MVC/View/EmptyView.php";s:4:"52f5";s:33:"Classes/MVC/View/NotFoundView.php";s:4:"5fe7";s:34:"Classes/MVC/View/ViewInterface.php";s:4:"dc07";s:42:"Classes/MVC/Web/AbstractRequestHandler.php";s:4:"a510";s:41:"Classes/MVC/Web/BackendRequestHandler.php";s:4:"2bb5";s:42:"Classes/MVC/Web/FrontendRequestHandler.php";s:4:"33bd";s:27:"Classes/MVC/Web/Request.php";s:4:"93cc";s:34:"Classes/MVC/Web/RequestBuilder.php";s:4:"26d7";s:28:"Classes/MVC/Web/Response.php";s:4:"7156";s:38:"Classes/MVC/Web/Routing/UriBuilder.php";s:4:"e550";s:28:"Classes/Object/Exception.php";s:4:"2f66";s:32:"Classes/Object/ObjectManager.php";s:4:"47c9";s:41:"Classes/Object/ObjectManagerInterface.php";s:4:"9dd9";s:38:"Classes/Object/Container/ClassInfo.php";s:4:"3ddc";s:43:"Classes/Object/Container/ClassInfoCache.php";s:4:"f745";s:45:"Classes/Object/Container/ClassInfoFactory.php";s:4:"a95c";s:38:"Classes/Object/Container/Container.php";s:4:"e4e2";s:69:"Classes/Object/Container/Exception/CannotInitializeCacheException.php";s:4:"4258";s:70:"Classes/Object/Container/Exception/TooManyRecursionLevelsException.php";s:4:"cd39";s:61:"Classes/Object/Container/Exception/UnknownObjectException.php";s:4:"d18e";s:46:"Classes/Object/Exception/CannotBuildObject.php";s:4:"315b";s:53:"Classes/Object/Exception/CannotReconstituteObject.php";s:4:"e8cc";s:41:"Classes/Object/Exception/InvalidClass.php";s:4:"d226";s:42:"Classes/Object/Exception/InvalidObject.php";s:4:"cc16";s:55:"Classes/Object/Exception/InvalidObjectConfiguration.php";s:4:"e82a";s:52:"Classes/Object/Exception/ObjectAlreadyRegistered.php";s:4:"eecb";s:41:"Classes/Object/Exception/UnknownClass.php";s:4:"d10a";s:45:"Classes/Object/Exception/UnknownInterface.php";s:4:"22a4";s:51:"Classes/Object/Exception/UnresolvedDependencies.php";s:4:"7d47";s:39:"Classes/Object/Exception/WrongScope.php";s:4:"cc92";s:31:"Classes/Persistence/Backend.php";s:4:"e48f";s:40:"Classes/Persistence/BackendInterface.php";s:4:"88db";s:33:"Classes/Persistence/Exception.php";s:4:"1713";s:35:"Classes/Persistence/IdentityMap.php";s:4:"b49d";s:40:"Classes/Persistence/LazyLoadingProxy.php";s:4:"1928";s:41:"Classes/Persistence/LazyObjectStorage.php";s:4:"faa1";s:48:"Classes/Persistence/LoadingStrategyInterface.php";s:4:"fa0d";s:31:"Classes/Persistence/Manager.php";s:4:"6e42";s:40:"Classes/Persistence/ManagerInterface.php";s:4:"17d8";s:49:"Classes/Persistence/ObjectMonitoringInterface.php";s:4:"6054";s:37:"Classes/Persistence/ObjectStorage.php";s:4:"a883";s:36:"Classes/Persistence/PropertyType.php";s:4:"f62a";s:29:"Classes/Persistence/Query.php";s:4:"203d";s:36:"Classes/Persistence/QueryFactory.php";s:4:"4ab8";s:45:"Classes/Persistence/QueryFactoryInterface.php";s:4:"900e";s:38:"Classes/Persistence/QueryInterface.php";s:4:"ebdb";s:35:"Classes/Persistence/QueryResult.php";s:4:"8375";s:44:"Classes/Persistence/QueryResultInterface.php";s:4:"0073";s:46:"Classes/Persistence/QuerySettingsInterface.php";s:4:"1e52";s:34:"Classes/Persistence/Repository.php";s:4:"f23e";s:43:"Classes/Persistence/RepositoryInterface.php";s:4:"55e7";s:31:"Classes/Persistence/Session.php";s:4:"43b4";s:42:"Classes/Persistence/Typo3QuerySettings.php";s:4:"cd0d";s:56:"Classes/Persistence/Exception/CleanStateNotMemorized.php";s:4:"7689";s:51:"Classes/Persistence/Exception/IllegalObjectType.php";s:4:"73e7";s:46:"Classes/Persistence/Exception/InvalidClass.php";s:4:"761b";s:60:"Classes/Persistence/Exception/InvalidNumberOfConstraints.php";s:4:"3a38";s:53:"Classes/Persistence/Exception/InvalidPropertyType.php";s:4:"cd9a";s:48:"Classes/Persistence/Exception/MissingBackend.php";s:4:"1d0d";s:53:"Classes/Persistence/Exception/RepositoryException.php";s:4:"1aba";s:42:"Classes/Persistence/Exception/TooDirty.php";s:4:"3347";s:57:"Classes/Persistence/Exception/UnexpectedTypeException.php";s:4:"5b57";s:47:"Classes/Persistence/Exception/UnknownObject.php";s:4:"21a6";s:51:"Classes/Persistence/Exception/UnsupportedMethod.php";s:4:"9915";s:50:"Classes/Persistence/Exception/UnsupportedOrder.php";s:4:"f4b9";s:53:"Classes/Persistence/Exception/UnsupportedRelation.php";s:4:"6bc0";s:40:"Classes/Persistence/Mapper/ColumnMap.php";s:4:"fee9";s:38:"Classes/Persistence/Mapper/DataMap.php";s:4:"2b19";s:45:"Classes/Persistence/Mapper/DataMapFactory.php";s:4:"ab68";s:41:"Classes/Persistence/Mapper/DataMapper.php";s:4:"3360";s:40:"Classes/Persistence/QOM/AndInterface.php";s:4:"f72d";s:45:"Classes/Persistence/QOM/BindVariableValue.php";s:4:"454e";s:54:"Classes/Persistence/QOM/BindVariableValueInterface.php";s:4:"822e";s:38:"Classes/Persistence/QOM/Comparison.php";s:4:"74e7";s:47:"Classes/Persistence/QOM/ComparisonInterface.php";s:4:"f50a";s:38:"Classes/Persistence/QOM/Constraint.php";s:4:"6e7b";s:47:"Classes/Persistence/QOM/ConstraintInterface.php";s:4:"c106";s:42:"Classes/Persistence/QOM/DynamicOperand.php";s:4:"29d3";s:51:"Classes/Persistence/QOM/DynamicOperandInterface.php";s:4:"981b";s:45:"Classes/Persistence/QOM/EquiJoinCondition.php";s:4:"29b1";s:54:"Classes/Persistence/QOM/EquiJoinConditionInterface.php";s:4:"b9f5";s:32:"Classes/Persistence/QOM/Join.php";s:4:"d270";s:50:"Classes/Persistence/QOM/JoinConditionInterface.php";s:4:"63c8";s:41:"Classes/Persistence/QOM/JoinInterface.php";s:4:"c3a5";s:38:"Classes/Persistence/QOM/LogicalAnd.php";s:4:"4b22";s:38:"Classes/Persistence/QOM/LogicalNot.php";s:4:"aba3";s:37:"Classes/Persistence/QOM/LogicalOr.php";s:4:"3476";s:37:"Classes/Persistence/QOM/LowerCase.php";s:4:"15a8";s:46:"Classes/Persistence/QOM/LowerCaseInterface.php";s:4:"215c";s:40:"Classes/Persistence/QOM/NotInterface.php";s:4:"8d10";s:35:"Classes/Persistence/QOM/Operand.php";s:4:"a635";s:44:"Classes/Persistence/QOM/OperandInterface.php";s:4:"39ff";s:39:"Classes/Persistence/QOM/OrInterface.php";s:4:"b109";s:36:"Classes/Persistence/QOM/Ordering.php";s:4:"e7f4";s:45:"Classes/Persistence/QOM/OrderingInterface.php";s:4:"b9f9";s:41:"Classes/Persistence/QOM/PropertyValue.php";s:4:"96fb";s:50:"Classes/Persistence/QOM/PropertyValueInterface.php";s:4:"6526";s:62:"Classes/Persistence/QOM/QueryObjectModelConstantsInterface.php";s:4:"33bb";s:51:"Classes/Persistence/QOM/QueryObjectModelFactory.php";s:4:"e6fc";s:60:"Classes/Persistence/QOM/QueryObjectModelFactoryInterface.php";s:4:"3b53";s:36:"Classes/Persistence/QOM/Selector.php";s:4:"59cb";s:45:"Classes/Persistence/QOM/SelectorInterface.php";s:4:"e75c";s:43:"Classes/Persistence/QOM/SourceInterface.php";s:4:"a397";s:37:"Classes/Persistence/QOM/Statement.php";s:4:"c978";s:41:"Classes/Persistence/QOM/StaticOperand.php";s:4:"69f4";s:50:"Classes/Persistence/QOM/StaticOperandInterface.php";s:4:"4e9b";s:37:"Classes/Persistence/QOM/UpperCase.php";s:4:"6646";s:46:"Classes/Persistence/QOM/UpperCaseInterface.php";s:4:"ea6b";s:48:"Classes/Persistence/Storage/BackendInterface.php";s:4:"ad7b";s:46:"Classes/Persistence/Storage/Typo3DbBackend.php";s:4:"1610";s:55:"Classes/Persistence/Storage/Exception/BadConstraint.php";s:4:"3a87";s:50:"Classes/Persistence/Storage/Exception/SqlError.php";s:4:"850b";s:30:"Classes/Property/Exception.php";s:4:"8465";s:27:"Classes/Property/Mapper.php";s:4:"a1c8";s:35:"Classes/Property/MappingResults.php";s:4:"64c8";s:49:"Classes/Property/Exception/FormatNotSupported.php";s:4:"338e";s:46:"Classes/Property/Exception/InvalidDataType.php";s:4:"f280";s:44:"Classes/Property/Exception/InvalidFormat.php";s:4:"0bfa";s:46:"Classes/Property/Exception/InvalidProperty.php";s:4:"e6fb";s:44:"Classes/Property/Exception/InvalidSource.php";s:4:"ba13";s:44:"Classes/Property/Exception/InvalidTarget.php";s:4:"6cd9";s:38:"Classes/Reflection/ClassReflection.php";s:4:"913c";s:34:"Classes/Reflection/ClassSchema.php";s:4:"7ebc";s:39:"Classes/Reflection/DocCommentParser.php";s:4:"6357";s:32:"Classes/Reflection/Exception.php";s:4:"8625";s:39:"Classes/Reflection/MethodReflection.php";s:4:"26fc";s:35:"Classes/Reflection/ObjectAccess.php";s:4:"cbe0";s:42:"Classes/Reflection/ParameterReflection.php";s:4:"284d";s:41:"Classes/Reflection/PropertyReflection.php";s:4:"95b8";s:30:"Classes/Reflection/Service.php";s:4:"54c8";s:52:"Classes/Reflection/Exception/InvalidPropertyType.php";s:4:"02d6";s:30:"Classes/Security/Exception.php";s:4:"2d15";s:47:"Classes/Security/Channel/RequestHashService.php";s:4:"afac";s:45:"Classes/Security/Cryptography/HashService.php";s:4:"e0aa";s:63:"Classes/Security/Exception/InvalidArgumentForHashGeneration.php";s:4:"856e";s:70:"Classes/Security/Exception/InvalidArgumentForRequestHashGeneration.php";s:4:"9f05";s:60:"Classes/Security/Exception/SyntacticallyWrongRequestHash.php";s:4:"89bd";s:26:"Classes/Utility/Arrays.php";s:4:"5dfd";s:25:"Classes/Utility/Cache.php";s:4:"28a8";s:31:"Classes/Utility/ClassLoader.php";s:4:"16a4";s:44:"Classes/Utility/ExtbaseRequirementsCheck.php";s:4:"a352";s:29:"Classes/Utility/Extension.php";s:4:"be30";s:32:"Classes/Utility/Localization.php";s:4:"ccaa";s:32:"Classes/Utility/TypeHandling.php";s:4:"d63e";s:30:"Classes/Utility/TypoScript.php";s:4:"2a35";s:28:"Classes/Validation/Error.php";s:4:"247a";s:32:"Classes/Validation/Exception.php";s:4:"44f8";s:36:"Classes/Validation/PropertyError.php";s:4:"f0a7";s:40:"Classes/Validation/ValidatorResolver.php";s:4:"07a6";s:47:"Classes/Validation/Exception/InvalidSubject.php";s:4:"5040";s:63:"Classes/Validation/Exception/InvalidValidationConfiguration.php";s:4:"9cfa";s:57:"Classes/Validation/Exception/InvalidValidationOptions.php";s:4:"a3a8";s:48:"Classes/Validation/Exception/NoSuchValidator.php";s:4:"64f4";s:49:"Classes/Validation/Exception/NoValidatorFound.php";s:4:"be96";s:59:"Classes/Validation/Validator/AbstractCompositeValidator.php";s:4:"93b2";s:56:"Classes/Validation/Validator/AbstractObjectValidator.php";s:4:"fb77";s:50:"Classes/Validation/Validator/AbstractValidator.php";s:4:"c4ad";s:54:"Classes/Validation/Validator/AlphanumericValidator.php";s:4:"ae25";s:53:"Classes/Validation/Validator/ConjunctionValidator.php";s:4:"e2bc";s:50:"Classes/Validation/Validator/DateTimeValidator.php";s:4:"3716";s:53:"Classes/Validation/Validator/DisjunctionValidator.php";s:4:"95f8";s:54:"Classes/Validation/Validator/EmailAddressValidator.php";s:4:"e9de";s:47:"Classes/Validation/Validator/FloatValidator.php";s:4:"6e44";s:55:"Classes/Validation/Validator/GenericObjectValidator.php";s:4:"210d";s:49:"Classes/Validation/Validator/IntegerValidator.php";s:4:"f70f";s:50:"Classes/Validation/Validator/NotEmptyValidator.php";s:4:"92fa";s:53:"Classes/Validation/Validator/NumberRangeValidator.php";s:4:"33cb";s:48:"Classes/Validation/Validator/NumberValidator.php";s:4:"ab3d";s:57:"Classes/Validation/Validator/ObjectValidatorInterface.php";s:4:"aeea";s:45:"Classes/Validation/Validator/RawValidator.php";s:4:"2b76";s:59:"Classes/Validation/Validator/RegularExpressionValidator.php";s:4:"95aa";s:54:"Classes/Validation/Validator/StringLengthValidator.php";s:4:"6885";s:48:"Classes/Validation/Validator/StringValidator.php";s:4:"2231";s:46:"Classes/Validation/Validator/TextValidator.php";s:4:"d641";s:51:"Classes/Validation/Validator/ValidatorInterface.php";s:4:"1c82";s:24:"Documentation/README.txt";s:4:"35d4";s:43:"Resources/Private/Language/locallang_db.xml";s:4:"d03e";s:48:"Resources/Private/MVC/NotFoundView_Template.html";s:4:"d5a3";s:22:"Tests/BaseTestCase.php";s:4:"7590";s:30:"Tests/SeleniumBaseTestCase.php";s:4:"e3b0";s:60:"Tests/Configuration/BackendConfigurationManager_testcase.php";s:4:"3d83";s:61:"Tests/Configuration/FrontendConfigurationManager_testcase.php";s:4:"3528";s:46:"Tests/DomainObject/AbstractEntity_testcase.php";s:4:"6f17";s:25:"Tests/Fixtures/Entity.php";s:4:"09e9";s:28:"Tests/MVC/DispatcherTest.php";s:4:"1763";s:52:"Tests/MVC/Controller/AbstractController_testcase.php";s:4:"e253";s:50:"Tests/MVC/Controller/ActionController_testcase.php";s:4:"a622";s:42:"Tests/MVC/Controller/Argument_testcase.php";s:4:"82f6";s:43:"Tests/MVC/Controller/Arguments_testcase.php";s:4:"7c55";s:41:"Tests/MVC/Web/RequestBuilder_testcase.php";s:4:"7df8";s:29:"Tests/MVC/Web/RequestTest.php";s:4:"2e25";s:45:"Tests/MVC/Web/Routing/UriBuilder_testcase.php";s:4:"cf98";s:47:"Tests/Object/Container/ClassInfoFactoryTest.php";s:4:"60c1";s:40:"Tests/Object/Container/ContainerTest.php";s:4:"df8c";s:47:"Tests/Object/Container/Fixtures/Testclasses.php";s:4:"89f0";s:44:"Tests/Persistence/ObjectStorage_testcase.php";s:4:"2cbb";s:42:"Tests/Persistence/QueryResult_testcase.php";s:4:"9a49";s:36:"Tests/Persistence/Query_testcase.php";s:4:"da52";s:41:"Tests/Persistence/Repository_testcase.php";s:4:"7eea";s:38:"Tests/Persistence/Session_testcase.php";s:4:"1752";s:52:"Tests/Persistence/Mapper/DataMapFactory_testcase.php";s:4:"a925";s:53:"Tests/Persistence/Storage/Typo3DbBackend_testcase.php";s:4:"50be";s:37:"Tests/Reflection/Service_testcase.php";s:4:"b1e1";s:54:"Tests/Security/Channel/RequestHashService_testcase.php";s:4:"aaa1";s:52:"Tests/Security/Cryptography/HashService_testcase.php";s:4:"8fac";s:36:"Tests/Utility/Extension_testcase.php";s:4:"5481";s:37:"Tests/Utility/TypoScript_testcase.php";s:4:"a27c";s:47:"Tests/Validation/ValidatorResolver_testcase.php";s:4:"636e";s:61:"Tests/Validation/Validator/AlphanumericValidator_testcase.php";s:4:"5dd8";s:60:"Tests/Validation/Validator/ConjunctionValidator_testcase.php";s:4:"b1fc";s:57:"Tests/Validation/Validator/DateTimeValidator_testcase.php";s:4:"f23e";s:61:"Tests/Validation/Validator/EmailAddressValidator_testcase.php";s:4:"3e40";s:54:"Tests/Validation/Validator/FloatValidator_testcase.php";s:4:"f15e";s:62:"Tests/Validation/Validator/GenericObjectValidator_testcase.php";s:4:"76c6";s:56:"Tests/Validation/Validator/IntegerValidator_testcase.php";s:4:"6b7d";s:57:"Tests/Validation/Validator/NotEmptyValidator_testcase.php";s:4:"9c76";s:60:"Tests/Validation/Validator/NumberRangeValidator_testcase.php";s:4:"49af";s:55:"Tests/Validation/Validator/NumberValidator_testcase.php";s:4:"a40f";s:52:"Tests/Validation/Validator/RawValidator_testcase.php";s:4:"ad5d";s:66:"Tests/Validation/Validator/RegularExpressionValidator_testcase.php";s:4:"5da9";s:61:"Tests/Validation/Validator/StringLengthValidator_testcase.php";s:4:"0aac";s:53:"Tests/Validation/Validator/TextValidator_testcase.php";s:4:"8412";}',
+       '_md5_values_when_last_written' => 'a:290:{s:13:"ChangeLog.txt";s:4:"0658";s:16:"ext_autoload.php";s:4:"c0cb";s:12:"ext_icon.gif";s:4:"e922";s:17:"ext_localconf.php";s:4:"ab60";s:14:"ext_tables.php";s:4:"491e";s:14:"ext_tables.sql";s:4:"0c2f";s:24:"ext_typoscript_setup.txt";s:4:"2bf7";s:22:"Classes/Dispatcher.php";s:4:"c031";s:21:"Classes/Exception.php";s:4:"c346";s:54:"Classes/Configuration/AbstractConfigurationManager.php";s:4:"455f";s:53:"Classes/Configuration/BackendConfigurationManager.php";s:4:"56cf";s:46:"Classes/Configuration/ConfigurationManager.php";s:4:"31cb";s:55:"Classes/Configuration/ConfigurationManagerInterface.php";s:4:"c22f";s:35:"Classes/Configuration/Exception.php";s:4:"31e6";s:54:"Classes/Configuration/FrontendConfigurationManager.php";s:4:"443e";s:53:"Classes/Configuration/Exception/ContainerIsLocked.php";s:4:"a34d";s:60:"Classes/Configuration/Exception/InvalidConfigurationType.php";s:4:"e100";s:46:"Classes/Configuration/Exception/NoSuchFile.php";s:4:"ba93";s:48:"Classes/Configuration/Exception/NoSuchOption.php";s:4:"1369";s:46:"Classes/Configuration/Exception/ParseError.php";s:4:"da56";s:26:"Classes/Core/Bootstrap.php";s:4:"d658";s:37:"Classes/Domain/Model/FrontendUser.php";s:4:"76fa";s:42:"Classes/Domain/Model/FrontendUserGroup.php";s:4:"8a6f";s:57:"Classes/Domain/Repository/FrontendUserGroupRepository.php";s:4:"0b75";s:52:"Classes/Domain/Repository/FrontendUserRepository.php";s:4:"82e9";s:45:"Classes/DomainObject/AbstractDomainObject.php";s:4:"2804";s:39:"Classes/DomainObject/AbstractEntity.php";s:4:"81ea";s:44:"Classes/DomainObject/AbstractValueObject.php";s:4:"42f0";s:46:"Classes/DomainObject/DomainObjectInterface.php";s:4:"2d94";s:23:"Classes/Error/Error.php";s:4:"d136";s:26:"Classes/MVC/Dispatcher.php";s:4:"9999";s:25:"Classes/MVC/Exception.php";s:4:"606f";s:23:"Classes/MVC/Request.php";s:4:"d652";s:39:"Classes/MVC/RequestHandlerInterface.php";s:4:"620c";s:38:"Classes/MVC/RequestHandlerResolver.php";s:4:"860e";s:32:"Classes/MVC/RequestInterface.php";s:4:"4cba";s:24:"Classes/MVC/Response.php";s:4:"0069";s:33:"Classes/MVC/ResponseInterface.php";s:4:"c00e";s:45:"Classes/MVC/Controller/AbstractController.php";s:4:"2130";s:43:"Classes/MVC/Controller/ActionController.php";s:4:"3a7c";s:35:"Classes/MVC/Controller/Argument.php";s:4:"3fc7";s:40:"Classes/MVC/Controller/ArgumentError.php";s:4:"501b";s:36:"Classes/MVC/Controller/Arguments.php";s:4:"cff5";s:45:"Classes/MVC/Controller/ArgumentsValidator.php";s:4:"ca84";s:44:"Classes/MVC/Controller/ControllerContext.php";s:4:"70e4";s:46:"Classes/MVC/Controller/ControllerInterface.php";s:4:"c450";s:40:"Classes/MVC/Controller/FlashMessages.php";s:4:"9229";s:38:"Classes/MVC/Exception/InfiniteLoop.php";s:4:"7f60";s:43:"Classes/MVC/Exception/InvalidActionName.php";s:4:"73e8";s:45:"Classes/MVC/Exception/InvalidArgumentName.php";s:4:"e66f";s:45:"Classes/MVC/Exception/InvalidArgumentType.php";s:4:"766c";s:46:"Classes/MVC/Exception/InvalidArgumentValue.php";s:4:"b8fc";s:43:"Classes/MVC/Exception/InvalidController.php";s:4:"2819";s:47:"Classes/MVC/Exception/InvalidControllerName.php";s:4:"a435";s:46:"Classes/MVC/Exception/InvalidExtensionName.php";s:4:"ed0e";s:39:"Classes/MVC/Exception/InvalidMarker.php";s:4:"848e";s:48:"Classes/MVC/Exception/InvalidOrNoRequestHash.php";s:4:"124a";s:46:"Classes/MVC/Exception/InvalidRequestMethod.php";s:4:"1a40";s:44:"Classes/MVC/Exception/InvalidRequestType.php";s:4:"2b21";s:49:"Classes/MVC/Exception/InvalidTemplateResource.php";s:4:"4655";s:43:"Classes/MVC/Exception/InvalidUriPattern.php";s:4:"adfa";s:43:"Classes/MVC/Exception/InvalidViewHelper.php";s:4:"fa39";s:38:"Classes/MVC/Exception/NoSuchAction.php";s:4:"c917";s:40:"Classes/MVC/Exception/NoSuchArgument.php";s:4:"6f97";s:42:"Classes/MVC/Exception/NoSuchController.php";s:4:"b3e6";s:36:"Classes/MVC/Exception/StopAction.php";s:4:"e705";s:48:"Classes/MVC/Exception/UnsupportedRequestType.php";s:4:"1c56";s:33:"Classes/MVC/View/AbstractView.php";s:4:"3960";s:30:"Classes/MVC/View/EmptyView.php";s:4:"f117";s:33:"Classes/MVC/View/NotFoundView.php";s:4:"5fe7";s:34:"Classes/MVC/View/ViewInterface.php";s:4:"dc07";s:42:"Classes/MVC/Web/AbstractRequestHandler.php";s:4:"a510";s:41:"Classes/MVC/Web/BackendRequestHandler.php";s:4:"2bb5";s:42:"Classes/MVC/Web/FrontendRequestHandler.php";s:4:"33bd";s:27:"Classes/MVC/Web/Request.php";s:4:"93cc";s:34:"Classes/MVC/Web/RequestBuilder.php";s:4:"26d7";s:28:"Classes/MVC/Web/Response.php";s:4:"7156";s:38:"Classes/MVC/Web/Routing/UriBuilder.php";s:4:"e025";s:28:"Classes/Object/Exception.php";s:4:"bab4";s:32:"Classes/Object/ObjectManager.php";s:4:"47c9";s:41:"Classes/Object/ObjectManagerInterface.php";s:4:"9dd9";s:38:"Classes/Object/Container/ClassInfo.php";s:4:"3ddc";s:43:"Classes/Object/Container/ClassInfoCache.php";s:4:"f745";s:45:"Classes/Object/Container/ClassInfoFactory.php";s:4:"a95c";s:38:"Classes/Object/Container/Container.php";s:4:"e4e2";s:69:"Classes/Object/Container/Exception/CannotInitializeCacheException.php";s:4:"4258";s:70:"Classes/Object/Container/Exception/TooManyRecursionLevelsException.php";s:4:"cd39";s:61:"Classes/Object/Container/Exception/UnknownObjectException.php";s:4:"d18e";s:46:"Classes/Object/Exception/CannotBuildObject.php";s:4:"1147";s:53:"Classes/Object/Exception/CannotReconstituteObject.php";s:4:"b920";s:41:"Classes/Object/Exception/InvalidClass.php";s:4:"21b7";s:42:"Classes/Object/Exception/InvalidObject.php";s:4:"03bb";s:55:"Classes/Object/Exception/InvalidObjectConfiguration.php";s:4:"dff6";s:52:"Classes/Object/Exception/ObjectAlreadyRegistered.php";s:4:"9e39";s:41:"Classes/Object/Exception/UnknownClass.php";s:4:"7db3";s:45:"Classes/Object/Exception/UnknownInterface.php";s:4:"8571";s:51:"Classes/Object/Exception/UnresolvedDependencies.php";s:4:"174b";s:39:"Classes/Object/Exception/WrongScope.php";s:4:"dc69";s:31:"Classes/Persistence/Backend.php";s:4:"0043";s:40:"Classes/Persistence/BackendInterface.php";s:4:"36cf";s:33:"Classes/Persistence/Exception.php";s:4:"1713";s:35:"Classes/Persistence/IdentityMap.php";s:4:"c480";s:40:"Classes/Persistence/LazyLoadingProxy.php";s:4:"9c20";s:41:"Classes/Persistence/LazyObjectStorage.php";s:4:"b18d";s:48:"Classes/Persistence/LoadingStrategyInterface.php";s:4:"d4ed";s:31:"Classes/Persistence/Manager.php";s:4:"7d2f";s:40:"Classes/Persistence/ManagerInterface.php";s:4:"9bdf";s:49:"Classes/Persistence/ObjectMonitoringInterface.php";s:4:"6054";s:37:"Classes/Persistence/ObjectStorage.php";s:4:"a883";s:36:"Classes/Persistence/PropertyType.php";s:4:"3dbb";s:29:"Classes/Persistence/Query.php";s:4:"7d79";s:36:"Classes/Persistence/QueryFactory.php";s:4:"c309";s:45:"Classes/Persistence/QueryFactoryInterface.php";s:4:"a61d";s:38:"Classes/Persistence/QueryInterface.php";s:4:"ae0e";s:35:"Classes/Persistence/QueryResult.php";s:4:"8375";s:44:"Classes/Persistence/QueryResultInterface.php";s:4:"0073";s:46:"Classes/Persistence/QuerySettingsInterface.php";s:4:"398d";s:34:"Classes/Persistence/Repository.php";s:4:"f23e";s:43:"Classes/Persistence/RepositoryInterface.php";s:4:"55e7";s:31:"Classes/Persistence/Session.php";s:4:"43b4";s:42:"Classes/Persistence/Typo3QuerySettings.php";s:4:"7055";s:56:"Classes/Persistence/Exception/CleanStateNotMemorized.php";s:4:"7689";s:51:"Classes/Persistence/Exception/IllegalObjectType.php";s:4:"73e7";s:46:"Classes/Persistence/Exception/InvalidClass.php";s:4:"761b";s:60:"Classes/Persistence/Exception/InvalidNumberOfConstraints.php";s:4:"3a38";s:53:"Classes/Persistence/Exception/InvalidPropertyType.php";s:4:"cd9a";s:48:"Classes/Persistence/Exception/MissingBackend.php";s:4:"1d0d";s:53:"Classes/Persistence/Exception/RepositoryException.php";s:4:"d09e";s:42:"Classes/Persistence/Exception/TooDirty.php";s:4:"3347";s:57:"Classes/Persistence/Exception/UnexpectedTypeException.php";s:4:"5b57";s:47:"Classes/Persistence/Exception/UnknownObject.php";s:4:"21a6";s:51:"Classes/Persistence/Exception/UnsupportedMethod.php";s:4:"9915";s:50:"Classes/Persistence/Exception/UnsupportedOrder.php";s:4:"f4b9";s:53:"Classes/Persistence/Exception/UnsupportedRelation.php";s:4:"6bc0";s:40:"Classes/Persistence/Mapper/ColumnMap.php";s:4:"fee9";s:38:"Classes/Persistence/Mapper/DataMap.php";s:4:"2b19";s:45:"Classes/Persistence/Mapper/DataMapFactory.php";s:4:"ab68";s:41:"Classes/Persistence/Mapper/DataMapper.php";s:4:"89bf";s:40:"Classes/Persistence/QOM/AndInterface.php";s:4:"ae8d";s:45:"Classes/Persistence/QOM/BindVariableValue.php";s:4:"f52e";s:54:"Classes/Persistence/QOM/BindVariableValueInterface.php";s:4:"eb03";s:38:"Classes/Persistence/QOM/Comparison.php";s:4:"9740";s:47:"Classes/Persistence/QOM/ComparisonInterface.php";s:4:"10ac";s:38:"Classes/Persistence/QOM/Constraint.php";s:4:"6e7b";s:47:"Classes/Persistence/QOM/ConstraintInterface.php";s:4:"3b4b";s:42:"Classes/Persistence/QOM/DynamicOperand.php";s:4:"5266";s:51:"Classes/Persistence/QOM/DynamicOperandInterface.php";s:4:"91b0";s:45:"Classes/Persistence/QOM/EquiJoinCondition.php";s:4:"35c2";s:54:"Classes/Persistence/QOM/EquiJoinConditionInterface.php";s:4:"b873";s:32:"Classes/Persistence/QOM/Join.php";s:4:"4c13";s:50:"Classes/Persistence/QOM/JoinConditionInterface.php";s:4:"4b8d";s:41:"Classes/Persistence/QOM/JoinInterface.php";s:4:"144a";s:38:"Classes/Persistence/QOM/LogicalAnd.php";s:4:"a250";s:38:"Classes/Persistence/QOM/LogicalNot.php";s:4:"75e9";s:37:"Classes/Persistence/QOM/LogicalOr.php";s:4:"6da2";s:37:"Classes/Persistence/QOM/LowerCase.php";s:4:"93e4";s:46:"Classes/Persistence/QOM/LowerCaseInterface.php";s:4:"e093";s:40:"Classes/Persistence/QOM/NotInterface.php";s:4:"0ec5";s:35:"Classes/Persistence/QOM/Operand.php";s:4:"ba74";s:44:"Classes/Persistence/QOM/OperandInterface.php";s:4:"1928";s:39:"Classes/Persistence/QOM/OrInterface.php";s:4:"9cf8";s:36:"Classes/Persistence/QOM/Ordering.php";s:4:"8427";s:45:"Classes/Persistence/QOM/OrderingInterface.php";s:4:"c949";s:41:"Classes/Persistence/QOM/PropertyValue.php";s:4:"5905";s:50:"Classes/Persistence/QOM/PropertyValueInterface.php";s:4:"80ef";s:62:"Classes/Persistence/QOM/QueryObjectModelConstantsInterface.php";s:4:"0773";s:51:"Classes/Persistence/QOM/QueryObjectModelFactory.php";s:4:"eb0f";s:60:"Classes/Persistence/QOM/QueryObjectModelFactoryInterface.php";s:4:"3b53";s:36:"Classes/Persistence/QOM/Selector.php";s:4:"e942";s:45:"Classes/Persistence/QOM/SelectorInterface.php";s:4:"5afa";s:43:"Classes/Persistence/QOM/SourceInterface.php";s:4:"0885";s:37:"Classes/Persistence/QOM/Statement.php";s:4:"0322";s:41:"Classes/Persistence/QOM/StaticOperand.php";s:4:"a244";s:50:"Classes/Persistence/QOM/StaticOperandInterface.php";s:4:"a163";s:37:"Classes/Persistence/QOM/UpperCase.php";s:4:"9d77";s:46:"Classes/Persistence/QOM/UpperCaseInterface.php";s:4:"bfc0";s:48:"Classes/Persistence/Storage/BackendInterface.php";s:4:"9998";s:46:"Classes/Persistence/Storage/Typo3DbBackend.php";s:4:"13d3";s:55:"Classes/Persistence/Storage/Exception/BadConstraint.php";s:4:"3a87";s:50:"Classes/Persistence/Storage/Exception/SqlError.php";s:4:"850b";s:30:"Classes/Property/Exception.php";s:4:"e64b";s:27:"Classes/Property/Mapper.php";s:4:"1bac";s:35:"Classes/Property/MappingResults.php";s:4:"abac";s:49:"Classes/Property/Exception/FormatNotSupported.php";s:4:"50b1";s:46:"Classes/Property/Exception/InvalidDataType.php";s:4:"76ad";s:44:"Classes/Property/Exception/InvalidFormat.php";s:4:"432e";s:46:"Classes/Property/Exception/InvalidProperty.php";s:4:"e4c0";s:44:"Classes/Property/Exception/InvalidSource.php";s:4:"c2bf";s:44:"Classes/Property/Exception/InvalidTarget.php";s:4:"432b";s:38:"Classes/Reflection/ClassReflection.php";s:4:"7e9d";s:34:"Classes/Reflection/ClassSchema.php";s:4:"b34a";s:39:"Classes/Reflection/DocCommentParser.php";s:4:"fd1a";s:32:"Classes/Reflection/Exception.php";s:4:"ec59";s:39:"Classes/Reflection/MethodReflection.php";s:4:"32fd";s:35:"Classes/Reflection/ObjectAccess.php";s:4:"0608";s:42:"Classes/Reflection/ParameterReflection.php";s:4:"351b";s:41:"Classes/Reflection/PropertyReflection.php";s:4:"d5fd";s:30:"Classes/Reflection/Service.php";s:4:"7a79";s:52:"Classes/Reflection/Exception/InvalidPropertyType.php";s:4:"82e0";s:30:"Classes/Security/Exception.php";s:4:"3b45";s:47:"Classes/Security/Channel/RequestHashService.php";s:4:"45e4";s:45:"Classes/Security/Cryptography/HashService.php";s:4:"91ca";s:63:"Classes/Security/Exception/InvalidArgumentForHashGeneration.php";s:4:"8d5c";s:70:"Classes/Security/Exception/InvalidArgumentForRequestHashGeneration.php";s:4:"81bd";s:60:"Classes/Security/Exception/SyntacticallyWrongRequestHash.php";s:4:"23d0";s:26:"Classes/Utility/Arrays.php";s:4:"f171";s:25:"Classes/Utility/Cache.php";s:4:"2501";s:31:"Classes/Utility/ClassLoader.php";s:4:"e2d0";s:44:"Classes/Utility/ExtbaseRequirementsCheck.php";s:4:"fc67";s:29:"Classes/Utility/Extension.php";s:4:"d61a";s:32:"Classes/Utility/Localization.php";s:4:"ccaa";s:32:"Classes/Utility/TypeHandling.php";s:4:"d63e";s:30:"Classes/Utility/TypoScript.php";s:4:"2a35";s:28:"Classes/Validation/Error.php";s:4:"247a";s:32:"Classes/Validation/Exception.php";s:4:"44f8";s:36:"Classes/Validation/PropertyError.php";s:4:"3267";s:40:"Classes/Validation/ValidatorResolver.php";s:4:"e5c8";s:47:"Classes/Validation/Exception/InvalidSubject.php";s:4:"5040";s:63:"Classes/Validation/Exception/InvalidValidationConfiguration.php";s:4:"9cfa";s:57:"Classes/Validation/Exception/InvalidValidationOptions.php";s:4:"a3a8";s:48:"Classes/Validation/Exception/NoSuchValidator.php";s:4:"64f4";s:49:"Classes/Validation/Exception/NoValidatorFound.php";s:4:"be96";s:59:"Classes/Validation/Validator/AbstractCompositeValidator.php";s:4:"7eaf";s:56:"Classes/Validation/Validator/AbstractObjectValidator.php";s:4:"cd9a";s:50:"Classes/Validation/Validator/AbstractValidator.php";s:4:"f5a2";s:54:"Classes/Validation/Validator/AlphanumericValidator.php";s:4:"e90b";s:53:"Classes/Validation/Validator/ConjunctionValidator.php";s:4:"d60b";s:50:"Classes/Validation/Validator/DateTimeValidator.php";s:4:"2791";s:53:"Classes/Validation/Validator/DisjunctionValidator.php";s:4:"d964";s:54:"Classes/Validation/Validator/EmailAddressValidator.php";s:4:"40f2";s:47:"Classes/Validation/Validator/FloatValidator.php";s:4:"1704";s:55:"Classes/Validation/Validator/GenericObjectValidator.php";s:4:"a9e7";s:49:"Classes/Validation/Validator/IntegerValidator.php";s:4:"8496";s:50:"Classes/Validation/Validator/NotEmptyValidator.php";s:4:"7ac5";s:53:"Classes/Validation/Validator/NumberRangeValidator.php";s:4:"122b";s:48:"Classes/Validation/Validator/NumberValidator.php";s:4:"49b3";s:57:"Classes/Validation/Validator/ObjectValidatorInterface.php";s:4:"2325";s:45:"Classes/Validation/Validator/RawValidator.php";s:4:"dd45";s:59:"Classes/Validation/Validator/RegularExpressionValidator.php";s:4:"8c7a";s:54:"Classes/Validation/Validator/StringLengthValidator.php";s:4:"f8b6";s:48:"Classes/Validation/Validator/StringValidator.php";s:4:"5aba";s:46:"Classes/Validation/Validator/TextValidator.php";s:4:"1f58";s:51:"Classes/Validation/Validator/ValidatorInterface.php";s:4:"1c82";s:24:"Documentation/README.txt";s:4:"35d4";s:43:"Resources/Private/Language/locallang_db.xml";s:4:"d03e";s:48:"Resources/Private/MVC/NotFoundView_Template.html";s:4:"d5a3";s:22:"Tests/BaseTestCase.php";s:4:"7590";s:30:"Tests/SeleniumBaseTestCase.php";s:4:"e3b0";s:60:"Tests/Configuration/BackendConfigurationManager_testcase.php";s:4:"3d83";s:61:"Tests/Configuration/FrontendConfigurationManager_testcase.php";s:4:"3528";s:46:"Tests/DomainObject/AbstractEntity_testcase.php";s:4:"6f17";s:25:"Tests/Fixtures/Entity.php";s:4:"09e9";s:28:"Tests/MVC/DispatcherTest.php";s:4:"1763";s:52:"Tests/MVC/Controller/AbstractController_testcase.php";s:4:"e253";s:50:"Tests/MVC/Controller/ActionController_testcase.php";s:4:"a622";s:42:"Tests/MVC/Controller/Argument_testcase.php";s:4:"82f6";s:43:"Tests/MVC/Controller/Arguments_testcase.php";s:4:"7c55";s:41:"Tests/MVC/Web/RequestBuilder_testcase.php";s:4:"7df8";s:29:"Tests/MVC/Web/RequestTest.php";s:4:"2e25";s:45:"Tests/MVC/Web/Routing/UriBuilder_testcase.php";s:4:"cf98";s:47:"Tests/Object/Container/ClassInfoFactoryTest.php";s:4:"60c1";s:40:"Tests/Object/Container/ContainerTest.php";s:4:"df8c";s:47:"Tests/Object/Container/Fixtures/Testclasses.php";s:4:"89f0";s:44:"Tests/Persistence/ObjectStorage_testcase.php";s:4:"2cbb";s:42:"Tests/Persistence/QueryResult_testcase.php";s:4:"9a49";s:36:"Tests/Persistence/Query_testcase.php";s:4:"da52";s:41:"Tests/Persistence/Repository_testcase.php";s:4:"7eea";s:38:"Tests/Persistence/Session_testcase.php";s:4:"1752";s:52:"Tests/Persistence/Mapper/DataMapFactory_testcase.php";s:4:"a925";s:53:"Tests/Persistence/Storage/Typo3DbBackend_testcase.php";s:4:"50be";s:37:"Tests/Reflection/Service_testcase.php";s:4:"b1e1";s:54:"Tests/Security/Channel/RequestHashService_testcase.php";s:4:"380d";s:52:"Tests/Security/Cryptography/HashService_testcase.php";s:4:"3ae2";s:36:"Tests/Utility/Extension_testcase.php";s:4:"5481";s:37:"Tests/Utility/TypoScript_testcase.php";s:4:"a27c";s:47:"Tests/Validation/ValidatorResolver_testcase.php";s:4:"5302";s:61:"Tests/Validation/Validator/AlphanumericValidator_testcase.php";s:4:"ed5c";s:60:"Tests/Validation/Validator/ConjunctionValidator_testcase.php";s:4:"39c2";s:57:"Tests/Validation/Validator/DateTimeValidator_testcase.php";s:4:"62c8";s:61:"Tests/Validation/Validator/EmailAddressValidator_testcase.php";s:4:"ba45";s:54:"Tests/Validation/Validator/FloatValidator_testcase.php";s:4:"4d6a";s:62:"Tests/Validation/Validator/GenericObjectValidator_testcase.php";s:4:"c0d2";s:56:"Tests/Validation/Validator/IntegerValidator_testcase.php";s:4:"f076";s:57:"Tests/Validation/Validator/NotEmptyValidator_testcase.php";s:4:"75a9";s:60:"Tests/Validation/Validator/NumberRangeValidator_testcase.php";s:4:"7fbc";s:55:"Tests/Validation/Validator/NumberValidator_testcase.php";s:4:"7966";s:52:"Tests/Validation/Validator/RawValidator_testcase.php";s:4:"2fe1";s:66:"Tests/Validation/Validator/RegularExpressionValidator_testcase.php";s:4:"d58d";s:61:"Tests/Validation/Validator/StringLengthValidator_testcase.php";s:4:"5afc";s:53:"Tests/Validation/Validator/TextValidator_testcase.php";s:4:"1b07";}',
 );
 
 ?>
\ No newline at end of file
index 2515f1e..2dd3861 100644 (file)
@@ -24,7 +24,7 @@ if (TYPO3_MODE == 'BE') {
 
        }
 
-       $TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Core_Bootstrap->callModule';
+       $TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Core_Bootstrap';
 
 }
 
index 5be0bf4..6d64f70 100644 (file)
@@ -1 +1 @@
-https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/extbase/tags/1.3.0beta1/
+https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/extbase/tags/1.3.0beta1a/
index e00eb46..52dec0a 100644 (file)
@@ -1,8 +1,8 @@
 ChangeLog for Fluid
 ===================
 
-Changes for 1.3.0 Beta 1
-========================
+Changes for 1.3.0 Beta 1a:
+==========================
 included in TYPO3 4.5.0 Beta 1.
 
 This Fluid Release contains the following main features, along with the usual bunch of bugfixes:
@@ -46,8 +46,9 @@ the Paginate Widget.
 
 For more details on how to write widgets, consult the Fluid manual, section "Fluid Widgets".
 
-Full Changes for 1.3.0 Beta 1:
-------------------------------
+Full Changes for 1.3.0 Beta 1a:
+===============================
+[+FEATURE] Fluid (ViewHelpers): the subject argument of the count ViewHelper is now optional so you can use it like {objects -> f:count()}
 [+FEATURE] Fluid (ViewHelpers/Widget): Slightly improved paginate widget: The link to the first page now skips the currentPage argument resulting in nicer URLs and less cHashes
 [+FEATURE] Fluid (ViewHelpers): excluding obsolete widget arguments & cHash from widget links if they're not explicitly set
 [+BUGFIX] Fluid (Core/Widget): AjaxWidgetContextHolder now uses a unique id for the Ajax WidgetContext. This makes sure, that the ajax response gets the right context, even if you open multiple browser windows in the same session
@@ -78,9 +79,8 @@ Full Changes for 1.3.0 Beta 1:
        Relates to: #8990
 [+BUGFIX] Fluid: Adjust Fluid to Dependency Injection changes. Relates to: #9062
 
-Full Changes for Alpha 3:
--------------------------
-
+Changes for 1.3.0 Alpha 3:
+==========================
 [+BUGFIX] Fluid (ViewHelpers): ImageViewHelper supports additionalAttributes argument
        The image view helper did not call the parent constructor, which registeres the "additionalAttributes" argument. Thanks to Michael Knoll.
 [+FEATURE] Fluid (View): Fluid Standalone view (#10473)
@@ -89,8 +89,8 @@ Full Changes for Alpha 3:
        This is just a preliminary solution that will be replaced as soon
        as the Extbase dispatcher refactoring (#7153) is done.
 
-Changes for 1.3.0 Alpha 2
-=========================
+Changes for 1.3.0 Alpha 2:
+==========================
 included in TYPO3 4.5.0 Alpha 2.
 
 In this release, mostly small bugfixes have been made in Fluid. Highlights are:
index bc866db..93162eb 100644 (file)
@@ -53,6 +53,18 @@ require_once (PATH_typo3 . 'class.db_list_extra.inc');
 
 class Tx_Fluid_ViewHelpers_Be_TableListViewHelper extends Tx_Fluid_ViewHelpers_Be_AbstractBackendViewHelper {
 
+       /**
+        * @var Tx_Extbase_Configuration_ConfigurationManagerInterface
+        */
+       protected $configurationManager;
+
+       /**
+        * @param Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager
+        * @return void
+        */
+       public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
+               $this->configurationManager = $configurationManager;
+       }
 
        /**
         * Renders a record list as known from the TYPO3 list module
@@ -89,7 +101,7 @@ class Tx_Fluid_ViewHelpers_Be_TableListViewHelper extends Tx_Fluid_ViewHelpers_B
                $dblist->clickMenuEnabled = $enableClickMenu;
 
                if ($storagePid === NULL) {
-                       $frameworkConfiguration = Tx_Extbase_Dispatcher::getExtbaseFrameworkConfiguration();
+                       $frameworkConfiguration = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
                        $storagePid = $frameworkConfiguration['persistence']['storagePid'];
                }
 
index dc5c6e0..7f9f871 100644 (file)
  *                                                                        */
 
 /**
- * This class is a TypoScript view helper for the Fluid templating engine.
+ * This ViewHelper renders CObjects from the global TypoScript configuration.
+ *
+ * = Examples =
+ *
+ * <code title="Render lib object">
+ * <f:cObject typoscriptObjectPath="lib.someLibObject" />
+ * </code>
+ * <output>
+ * // rendered lib.someLibObject
+ * </output>
+ *
+ * <code title="Specify cObject data & current value">
+ * <f:cObject typoscriptObjectPath="lib.customHeader" data="{article}" current="{article.title}" />
+ * </code>
+ * <output>
+ * // rendered lib.customHeader. data and current value will be available in TypoScript
+ * </output>
+ *
+ * <code title="inline notation">
+ * {article -> f:cObject(typoscriptObjectPath: 'lib.customHeader')}
+ * </code>
+ * <output>
+ * // rendered lib.customHeader. data will be available in TypoScript
+ * </output>
  *
  */
 class Tx_Fluid_ViewHelpers_CObjectViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
@@ -124,4 +147,4 @@ class Tx_Fluid_ViewHelpers_CObjectViewHelper extends Tx_Fluid_Core_ViewHelper_Ab
        }
 }
 
-?>
\ No newline at end of file
+?>
index c588d50..972359e 100644 (file)
  * 4
  * </output>
  *
+ * <code title="inline notation">
+ * {objects -> f:count()}
+ * </code>
+ * <output>
+ * 10 (depending on the number of items in {objects})
+ * </output>
+ *
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  * @api
  * @scope prototype
@@ -47,9 +54,12 @@ class Tx_Fluid_ViewHelpers_CountViewHelper extends Tx_Fluid_Core_ViewHelper_Abst
         * @author Bastian Waidelich <bastian@typo3.org>
         * @api
         */
-       public function render($subject) {
+       public function render($subject = NULL) {
+               if ($subject === NULL) {
+                       $subject = $this->renderChildren();
+               }
                if (is_object($subject) && !$subject instanceof Countable) {
-                       throw new Tx_Fluid_Core_ViewHelper_Exception('CountViewHelper only supports arrays and objects implementing Countable interface', 1279808078);
+                       throw new Tx_Fluid_Core_ViewHelper_Exception('CountViewHelper only supports arrays and objects implementing Countable interface. Given: "' . get_class($subject) . '"', 1279808078);
                }
                return count($subject);
        }
index 41386a4..a17aaf0 100644 (file)
@@ -140,8 +140,7 @@ class Tx_Fluid_ViewHelpers_ImageViewHelper extends Tx_Fluid_Core_ViewHelper_Abst
                $this->workingDirectoryBackup = getcwd();
                chdir(PATH_site);
 
-               $configurationManager = Tx_Extbase_Dispatcher::getConfigurationManager();
-               $typoScriptSetup = $configurationManager->loadTypoScriptSetup();
+               $typoScriptSetup = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
                $GLOBALS['TSFE'] = new stdClass();
                $template = t3lib_div::makeInstance('t3lib_TStemplate');
                $template->tt_track = 0;
index f226b67..679ccd2 100644 (file)
@@ -57,7 +57,7 @@ class Tx_Fluid_ViewHelpers_Uri_ImageViewHelper extends Tx_Fluid_Core_ViewHelper_
         */
        public function render($src, $width = NULL, $height = NULL, $minWidth = NULL, $minHeight = NULL, $maxWidth = NULL, $maxHeight = NULL) {
                if (TYPO3_MODE === 'BE') {
-                       throw new Tx_Fluid_Core_ViewHelper_Exception('uri.image ViewHelper does not (yet) work in backend mode' , 1277367648);
+                       $this->simulateFrontendEnvironment();
                }
                $setup = array(
                        'width' => $width,
@@ -67,6 +67,9 @@ class Tx_Fluid_ViewHelpers_Uri_ImageViewHelper extends Tx_Fluid_Core_ViewHelper_
                        'maxW' => $maxWidth,
                        'maxH' => $maxHeight
                );
+               if (TYPO3_MODE === 'BE' && substr($src, 0, 3) === '../') {
+                       $src = substr($src, 3);
+               }
                $imageInfo = $this->contentObject->getImgResource($src, $setup);
                $GLOBALS['TSFE']->lastImageInfo = $imageInfo;
                if (!is_array($imageInfo)) {
@@ -76,7 +79,48 @@ class Tx_Fluid_ViewHelpers_Uri_ImageViewHelper extends Tx_Fluid_Core_ViewHelper_
                $GLOBALS['TSFE']->imagesOnPage[] = $imageInfo[3];
 
                $imageSource = $GLOBALS['TSFE']->absRefPrefix . t3lib_div::rawUrlEncodeFP($imageInfo[3]);
+               if (TYPO3_MODE === 'BE') {
+                       $imageSource = '../' . $imageSource;
+                       $this->resetFrontendEnvironment();
+               }
 
                return $imageSource;
        }
+
+       /**
+        * Prepares $GLOBALS['TSFE'] for Backend mode
+        * This somewhat hacky work around is currently needed because the getImgResource() function of tslib_cObj relies on those variables to be set
+        *
+        * @return void
+        * @author Bastian Waidelich <bastian@typo3.org>
+        */
+       protected function simulateFrontendEnvironment() {
+               $this->tsfeBackup = isset($GLOBALS['TSFE']) ? $GLOBALS['TSFE'] : NULL;
+                       // set the working directory to the site root
+               $this->workingDirectoryBackup = getcwd();
+               chdir(PATH_site);
+
+               $typoScriptSetup = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
+               $GLOBALS['TSFE'] = new stdClass();
+               $template = t3lib_div::makeInstance('t3lib_TStemplate');
+               $template->tt_track = 0;
+               $template->init();
+               $template->getFileName_backPath = PATH_site;
+               $GLOBALS['TSFE']->tmpl = $template;
+               $GLOBALS['TSFE']->tmpl->setup = $typoScriptSetup;
+               $GLOBALS['TSFE']->config = $typoScriptSetup;
+       }
+
+       /**
+        * Resets $GLOBALS['TSFE'] if it was previously changed by simulateFrontendEnvironment()
+        *
+        * @return void
+        * @author Bastian Waidelich <bastian@typo3.org>
+        * @see simulateFrontendEnvironment()
+        */
+       protected function resetFrontendEnvironment() {
+               $GLOBALS['TSFE'] = $this->tsfeBackup;
+               chdir($this->workingDirectoryBackup);
+       }
+
 }
\ No newline at end of file
index d0445b9..ca94c2f 100644 (file)
  *                                                                        */
 
 /**
- * Usage:
- * <f:input id="name" ... />
- * <f:widget.autocomplete for="name" objects="{posts}" searchProperty="author">
- *
- * Make sure to include jQuery and jQuery UI in the HTML, like that:
+ * Simple paginate widget
+ * Note: Make sure to include jQuery and jQuery UI in the HTML, like that:
  *    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  *    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
  *    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/base/jquery-ui.css" type="text/css" media="all" />
  *    <link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" />
+ * You can include the provided TS template that includes the above snippet to the pages headerData.
+ *
+ * = Examples =
+ *
+ * <code title="Render lib object">
+ * <input type="text" id="name" />
+ * <f:widget.autocomplete for="name" objects="{posts}" searchProperty="author">
+ * </code>
+ * <output>
+ * <input type="text" id="name" />
+ * // the input field and the required JavaScript for the Ajax communication (see Resources/Private/Templates/ViewHelpers/Widget/Autocomplete/Index.html
+ * </output>
+ *
+
  *
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  * @api
@@ -66,4 +77,4 @@ class Tx_Fluid_ViewHelpers_Widget_AutocompleteViewHelper extends Tx_Fluid_Core_W
                return $this->initiateSubRequest();
        }
 }
-?>
\ No newline at end of file
+?>
index f7a04d8..dc6211b 100644 (file)
  *
  * = Examples =
  *
- * <code>
- * <f:widget.paginate itemsPerPage="10" objects="{blogs}" as="paginatedBlogs">
+ * <code title="required arguments">
+ * <f:widget.paginate objects="{blogs}" as="paginatedBlogs">
+ *   // use {paginatedBlogs} as you used {blogs} before, most certainly inside
+ *   // a <f:for> loop.
+ * </f:widget.paginate>
+ * </code>
+ *
+ * <code title="full configuration">
+ * <f:widget.paginate objects="{blogs}" as="paginatedBlogs" configuration="{itemsPerPage: 5, insertAbove: 1, insertBelow: 0}">
  *   // use {paginatedBlogs} as you used {blogs} before, most certainly inside
  *   // a <f:for> loop.
  * </f:widget.paginate>
@@ -34,7 +41,7 @@
  *
  * = Performance characteristics =
  *
- * In the above example, it looks like {blogs} contains all Blog objects, thus
+ * In the above examples, it looks like {blogs} contains all Blog objects, thus
  * you might wonder if all objects were fetched from the database.
  * However, the blogs are NOT fetched from the database until you actually use them,
  * so the paginate ViewHelper will adjust the query sent to the database and receive
@@ -72,4 +79,4 @@ class Tx_Fluid_ViewHelpers_Widget_PaginateViewHelper extends Tx_Fluid_Core_Widge
        }
 }
 
-?>
\ No newline at end of file
+?>
index 1749a52..bf171b1 100755 (executable)
@@ -3,7 +3,7 @@
 ########################################################################
 # Extension Manager/Repository config file for ext "fluid".
 #
-# Auto generated 16-11-2010 12:22
+# Auto generated 17-11-2010 13:17
 #
 # Manual updates:
 # Only the data in the array - everything else is removed by next
@@ -29,17 +29,17 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 0,
        'lockType' => '',
        'author_company' => '',
-       'version' => '1.3.0beta1',
+       'version' => '1.3.0beta1a',
        'constraints' => array(
                'depends' => array(
-                       'extbase' => '1.3.0beta1',
+                       'extbase' => '1.3.0beta1a',
                ),
                'conflicts' => array(
                ),
                'suggests' => array(
                ),
        ),
-       '_md5_values_when_last_written' => 'a:225:{s:13:"ChangeLog.txt";s:4:"c2fc";s:16:"ext_autoload.php";s:4:"104d";s:12:"ext_icon.gif";s:4:"e922";s:14:"ext_tables.php";s:4:"344b";s:24:"ext_typoscript_setup.txt";s:4:"b410";s:21:"Classes/Exception.php";s:4:"7373";s:17:"Classes/Fluid.php";s:4:"ac13";s:49:"Classes/Compatibility/DocbookGeneratorService.php";s:4:"84b6";s:47:"Classes/Compatibility/TemplateParserBuilder.php";s:4:"617b";s:26:"Classes/Core/Exception.php";s:4:"79b3";s:37:"Classes/Core/Parser/Configuration.php";s:4:"6f9b";s:33:"Classes/Core/Parser/Exception.php";s:4:"1cbd";s:44:"Classes/Core/Parser/InterceptorInterface.php";s:4:"28a6";s:47:"Classes/Core/Parser/ParsedTemplateInterface.php";s:4:"17a1";s:36:"Classes/Core/Parser/ParsingState.php";s:4:"ca7e";s:38:"Classes/Core/Parser/TemplateParser.php";s:4:"371e";s:42:"Classes/Core/Parser/Interceptor/Escape.php";s:4:"4db0";s:47:"Classes/Core/Parser/SyntaxTree/AbstractNode.php";s:4:"900d";s:44:"Classes/Core/Parser/SyntaxTree/ArrayNode.php";s:4:"f404";s:48:"Classes/Core/Parser/SyntaxTree/NodeInterface.php";s:4:"51bf";s:53:"Classes/Core/Parser/SyntaxTree/ObjectAccessorNode.php";s:4:"a670";s:65:"Classes/Core/Parser/SyntaxTree/RenderingContextAwareInterface.php";s:4:"68ab";s:43:"Classes/Core/Parser/SyntaxTree/RootNode.php";s:4:"3207";s:43:"Classes/Core/Parser/SyntaxTree/TextNode.php";s:4:"eb67";s:49:"Classes/Core/Parser/SyntaxTree/ViewHelperNode.php";s:4:"63a1";s:43:"Classes/Core/Rendering/RenderingContext.php";s:4:"91b2";s:52:"Classes/Core/Rendering/RenderingContextInterface.php";s:4:"29bb";s:55:"Classes/Core/ViewHelper/AbstractConditionViewHelper.php";s:4:"ecaf";s:54:"Classes/Core/ViewHelper/AbstractTagBasedViewHelper.php";s:4:"5dba";s:46:"Classes/Core/ViewHelper/AbstractViewHelper.php";s:4:"57b5";s:46:"Classes/Core/ViewHelper/ArgumentDefinition.php";s:4:"c4d5";s:37:"Classes/Core/ViewHelper/Arguments.php";s:4:"b59e";s:37:"Classes/Core/ViewHelper/Exception.php";s:4:"f1d0";s:46:"Classes/Core/ViewHelper/TagBasedViewHelper.php";s:4:"593a";s:38:"Classes/Core/ViewHelper/TagBuilder.php";s:4:"ed1c";s:53:"Classes/Core/ViewHelper/TemplateVariableContainer.php";s:4:"afd1";s:47:"Classes/Core/ViewHelper/ViewHelperInterface.php";s:4:"8274";s:55:"Classes/Core/ViewHelper/ViewHelperVariableContainer.php";s:4:"396d";s:62:"Classes/Core/ViewHelper/Exception/InvalidVariableException.php";s:4:"6dd4";s:76:"Classes/Core/ViewHelper/Exception/RenderingContextNotAccessibleException.php";s:4:"bbb7";s:59:"Classes/Core/ViewHelper/Facets/ChildNodeAccessInterface.php";s:4:"7ec9";s:53:"Classes/Core/ViewHelper/Facets/PostParseInterface.php";s:4:"35d5";s:48:"Classes/Core/Widget/AbstractWidgetController.php";s:4:"5466";s:48:"Classes/Core/Widget/AbstractWidgetViewHelper.php";s:4:"776d";s:47:"Classes/Core/Widget/AjaxWidgetContextHolder.php";s:4:"2263";s:33:"Classes/Core/Widget/Bootstrap.php";s:4:"f4e6";s:33:"Classes/Core/Widget/Exception.php";s:4:"a6e3";s:37:"Classes/Core/Widget/WidgetContext.php";s:4:"f51f";s:37:"Classes/Core/Widget/WidgetRequest.php";s:4:"d3fd";s:44:"Classes/Core/Widget/WidgetRequestBuilder.php";s:4:"b6ae";s:44:"Classes/Core/Widget/WidgetRequestHandler.php";s:4:"3430";s:60:"Classes/Core/Widget/Exception/MissingControllerException.php";s:4:"5b77";s:67:"Classes/Core/Widget/Exception/RenderingContextNotFoundException.php";s:4:"a31b";s:64:"Classes/Core/Widget/Exception/WidgetContextNotFoundException.php";s:4:"ffc2";s:64:"Classes/Core/Widget/Exception/WidgetRequestNotFoundException.php";s:4:"7ce2";s:36:"Classes/Service/DocbookGenerator.php";s:4:"c6a5";s:37:"Classes/View/AbstractTemplateView.php";s:4:"ef25";s:26:"Classes/View/Exception.php";s:4:"4168";s:31:"Classes/View/StandaloneView.php";s:4:"d96b";s:29:"Classes/View/TemplateView.php";s:4:"3422";s:50:"Classes/View/Exception/InvalidSectionException.php";s:4:"6cb2";s:59:"Classes/View/Exception/InvalidTemplateResourceException.php";s:4:"d589";s:39:"Classes/ViewHelpers/AliasViewHelper.php";s:4:"9450";s:38:"Classes/ViewHelpers/BaseViewHelper.php";s:4:"74c7";s:41:"Classes/ViewHelpers/CObjectViewHelper.php";s:4:"6d75";s:39:"Classes/ViewHelpers/CountViewHelper.php";s:4:"d116";s:39:"Classes/ViewHelpers/CycleViewHelper.php";s:4:"7c75";s:39:"Classes/ViewHelpers/DebugViewHelper.php";s:4:"8476";s:38:"Classes/ViewHelpers/ElseViewHelper.php";s:4:"4cc2";s:40:"Classes/ViewHelpers/EscapeViewHelper.php";s:4:"c7ba";s:47:"Classes/ViewHelpers/FlashMessagesViewHelper.php";s:4:"3bd9";s:37:"Classes/ViewHelpers/ForViewHelper.php";s:4:"fce4";s:38:"Classes/ViewHelpers/FormViewHelper.php";s:4:"1b44";s:44:"Classes/ViewHelpers/GroupedForViewHelper.php";s:4:"6d6b";s:36:"Classes/ViewHelpers/IfViewHelper.php";s:4:"4dbb";s:39:"Classes/ViewHelpers/ImageViewHelper.php";s:4:"210d";s:40:"Classes/ViewHelpers/LayoutViewHelper.php";s:4:"ce70";s:48:"Classes/ViewHelpers/RenderChildrenViewHelper.php";s:4:"1f40";s:53:"Classes/ViewHelpers/RenderFlashMessagesViewHelper.php";s:4:"1e72";s:40:"Classes/ViewHelpers/RenderViewHelper.php";s:4:"2bf8";s:41:"Classes/ViewHelpers/SectionViewHelper.php";s:4:"90ae";s:38:"Classes/ViewHelpers/ThenViewHelper.php";s:4:"499d";s:43:"Classes/ViewHelpers/TranslateViewHelper.php";s:4:"253b";s:52:"Classes/ViewHelpers/Be/AbstractBackendViewHelper.php";s:4:"dd9a";s:46:"Classes/ViewHelpers/Be/ContainerViewHelper.php";s:4:"2dc9";s:45:"Classes/ViewHelpers/Be/PageInfoViewHelper.php";s:4:"2d27";s:45:"Classes/ViewHelpers/Be/PagePathViewHelper.php";s:4:"8a79";s:46:"Classes/ViewHelpers/Be/TableListViewHelper.php";s:4:"d316";s:48:"Classes/ViewHelpers/Be/Buttons/CshViewHelper.php";s:4:"3be3";s:49:"Classes/ViewHelpers/Be/Buttons/IconViewHelper.php";s:4:"bc33";s:53:"Classes/ViewHelpers/Be/Buttons/ShortcutViewHelper.php";s:4:"2153";s:57:"Classes/ViewHelpers/Be/Menus/ActionMenuItemViewHelper.php";s:4:"c3ba";s:53:"Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php";s:4:"eba5";s:61:"Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php";s:4:"8bc3";s:55:"Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php";s:4:"70a0";s:56:"Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php";s:4:"d2b1";s:51:"Classes/ViewHelpers/Form/AbstractFormViewHelper.php";s:4:"52f5";s:47:"Classes/ViewHelpers/Form/CheckboxViewHelper.php";s:4:"20bb";s:45:"Classes/ViewHelpers/Form/ErrorsViewHelper.php";s:4:"0777";s:45:"Classes/ViewHelpers/Form/HiddenViewHelper.php";s:4:"8a9d";s:47:"Classes/ViewHelpers/Form/PasswordViewHelper.php";s:4:"85b5";s:44:"Classes/ViewHelpers/Form/RadioViewHelper.php";s:4:"e698";s:45:"Classes/ViewHelpers/Form/SelectViewHelper.php";s:4:"18ac";s:45:"Classes/ViewHelpers/Form/SubmitViewHelper.php";s:4:"d9e7";s:47:"Classes/ViewHelpers/Form/TextareaViewHelper.php";s:4:"3b97";s:46:"Classes/ViewHelpers/Form/TextboxViewHelper.php";s:4:"125d";s:48:"Classes/ViewHelpers/Form/TextfieldViewHelper.php";s:4:"2512";s:45:"Classes/ViewHelpers/Form/UploadViewHelper.php";s:4:"403e";s:45:"Classes/ViewHelpers/Format/CropViewHelper.php";s:4:"c970";s:49:"Classes/ViewHelpers/Format/CurrencyViewHelper.php";s:4:"a697";s:45:"Classes/ViewHelpers/Format/DateViewHelper.php";s:4:"fd20";s:45:"Classes/ViewHelpers/Format/HtmlViewHelper.php";s:4:"795e";s:46:"Classes/ViewHelpers/Format/Nl2brViewHelper.php";s:4:"68b8";s:47:"Classes/ViewHelpers/Format/NumberViewHelper.php";s:4:"d47a";s:48:"Classes/ViewHelpers/Format/PaddingViewHelper.php";s:4:"ed6b";s:47:"Classes/ViewHelpers/Format/PrintfViewHelper.php";s:4:"131f";s:45:"Classes/ViewHelpers/Link/ActionViewHelper.php";s:4:"ca29";s:44:"Classes/ViewHelpers/Link/EmailViewHelper.php";s:4:"2d48";s:47:"Classes/ViewHelpers/Link/ExternalViewHelper.php";s:4:"aff1";s:43:"Classes/ViewHelpers/Link/PageViewHelper.php";s:4:"f144";s:58:"Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php";s:4:"b675";s:52:"Classes/ViewHelpers/Security/IfHasRoleViewHelper.php";s:4:"365b";s:44:"Classes/ViewHelpers/Uri/ActionViewHelper.php";s:4:"55f6";s:43:"Classes/ViewHelpers/Uri/EmailViewHelper.php";s:4:"463a";s:46:"Classes/ViewHelpers/Uri/ExternalViewHelper.php";s:4:"dd6c";s:43:"Classes/ViewHelpers/Uri/ImageViewHelper.php";s:4:"730f";s:42:"Classes/ViewHelpers/Uri/PageViewHelper.php";s:4:"abde";s:46:"Classes/ViewHelpers/Uri/ResourceViewHelper.php";s:4:"f7fd";s:53:"Classes/ViewHelpers/Widget/AutocompleteViewHelper.php";s:4:"1eac";s:45:"Classes/ViewHelpers/Widget/LinkViewHelper.php";s:4:"f13f";s:49:"Classes/ViewHelpers/Widget/PaginateViewHelper.php";s:4:"6008";s:44:"Classes/ViewHelpers/Widget/UriViewHelper.php";s:4:"f7ab";s:64:"Classes/ViewHelpers/Widget/Controller/AutocompleteController.php";s:4:"2983";s:60:"Classes/ViewHelpers/Widget/Controller/PaginateController.php";s:4:"1b7a";s:34:"Configuration/TypoScript/setup.txt";s:4:"0e30";s:70:"Resources/Private/Templates/ViewHelpers/Widget/Autocomplete/Index.html";s:4:"b955";s:66:"Resources/Private/Templates/ViewHelpers/Widget/Paginate/Index.html";s:4:"55a2";s:42:"Tests/Unit/Core/TagBasedViewHelperTest.php";s:4:"ce1f";s:34:"Tests/Unit/Core/TagBuilderTest.php";s:4:"76eb";s:43:"Tests/Unit/Core/Fixtures/TestViewHelper.php";s:4:"253f";s:43:"Tests/Unit/Core/Parser/ParsingStateTest.php";s:4:"1877";s:52:"Tests/Unit/Core/Parser/TemplateParserPatternTest.php";s:4:"4786";s:45:"Tests/Unit/Core/Parser/TemplateParserTest.php";s:4:"1c66";s:66:"Tests/Unit/Core/Parser/Fixtures/ChildNodeAccessFacetViewHelper.php";s:4:"01d1";s:60:"Tests/Unit/Core/Parser/Fixtures/PostParseFacetViewHelper.php";s:4:"13e9";s:79:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand-split.php";s:4:"ea3a";s:74:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand.html";s:4:"e949";s:69:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06-split.php";s:4:"33ba";s:64:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06.html";s:4:"92c2";s:69:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14-split.php";s:4:"bd4b";s:64:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14.html";s:4:"1ec8";s:49:"Tests/Unit/Core/Parser/Interceptor/EscapeTest.php";s:4:"9b07";s:54:"Tests/Unit/Core/Parser/SyntaxTree/AbstractNodeTest.php";s:4:"84e7";s:50:"Tests/Unit/Core/Parser/SyntaxTree/TextNodeTest.php";s:4:"d495";s:66:"Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeComparatorTest.php";s:4:"0a6f";s:56:"Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php";s:4:"69e3";s:50:"Tests/Unit/Core/Rendering/RenderingContextTest.php";s:4:"59d3";s:53:"Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php";s:4:"dfc4";s:53:"Tests/Unit/Core/ViewHelper/ArgumentDefinitionTest.php";s:4:"6c62";s:54:"Tests/Unit/Core/ViewHelper/ConditionViewHelperTest.php";s:4:"66d7";s:60:"Tests/Unit/Core/ViewHelper/TemplateVariableContainerTest.php";s:4:"17e5";s:62:"Tests/Unit/Core/ViewHelper/ViewHelperVariableContainerTest.php";s:4:"7bf5";s:55:"Tests/Unit/Core/Widget/AbstractWidgetControllerTest.php";s:4:"686a";s:55:"Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php";s:4:"29d7";s:54:"Tests/Unit/Core/Widget/AjaxWidgetContextHolderTest.php";s:4:"905f";s:44:"Tests/Unit/Core/Widget/WidgetContextTest.php";s:4:"28fd";s:51:"Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php";s:4:"e01d";s:51:"Tests/Unit/Core/Widget/WidgetRequestHandlerTest.php";s:4:"4023";s:44:"Tests/Unit/Core/Widget/WidgetRequestTest.php";s:4:"73af";s:44:"Tests/Unit/View/AbstractTemplateViewTest.php";s:4:"d778";s:38:"Tests/Unit/View/StandaloneViewTest.php";s:4:"b435";s:36:"Tests/Unit/View/TemplateViewTest.php";s:4:"f4ed";s:38:"Tests/Unit/View/Fixtures/LayoutFixture";s:4:"85d8";s:43:"Tests/Unit/View/Fixtures/LayoutFixture.html";s:4:"cca1";s:42:"Tests/Unit/View/Fixtures/LayoutFixture.xml";s:4:"85be";s:51:"Tests/Unit/View/Fixtures/StandaloneViewFixture.html";s:4:"8952";s:48:"Tests/Unit/View/Fixtures/TemplateViewFixture.php";s:4:"79e8";s:56:"Tests/Unit/View/Fixtures/TemplateViewSectionFixture.html";s:4:"aa5f";s:54:"Tests/Unit/View/Fixtures/TransparentSyntaxTreeNode.php";s:4:"eb0d";s:53:"Tests/Unit/View/Fixtures/UnparsedTemplateFixture.html";s:4:"59dd";s:46:"Tests/Unit/ViewHelpers/AliasViewHelperTest.php";s:4:"4906";s:45:"Tests/Unit/ViewHelpers/BaseViewHelperTest.php";s:4:"ddfb";s:46:"Tests/Unit/ViewHelpers/CountViewHelperTest.php";s:4:"e230";s:46:"Tests/Unit/ViewHelpers/CycleViewHelperTest.php";s:4:"c976";s:45:"Tests/Unit/ViewHelpers/ElseViewHelperTest.php";s:4:"0d90";s:44:"Tests/Unit/ViewHelpers/ForViewHelperTest.php";s:4:"3666";s:45:"Tests/Unit/ViewHelpers/FormViewHelperTest.php";s:4:"8b40";s:51:"Tests/Unit/ViewHelpers/GroupedForViewHelperTest.php";s:4:"8f37";s:43:"Tests/Unit/ViewHelpers/IfViewHelperTest.php";s:4:"25b8";s:55:"Tests/Unit/ViewHelpers/RenderChildrenViewHelperTest.php";s:4:"c652";s:47:"Tests/Unit/ViewHelpers/RenderViewHelperTest.php";s:4:"02d2";s:45:"Tests/Unit/ViewHelpers/ThenViewHelperTest.php";s:4:"360c";s:49:"Tests/Unit/ViewHelpers/ViewHelperBaseTestcase.php";s:4:"016e";s:59:"Tests/Unit/ViewHelpers/Be/IfAuthenticatedViewHelperTest.php";s:4:"14d1";s:53:"Tests/Unit/ViewHelpers/Be/IfHasRoleViewHelperTest.php";s:4:"cec2";s:60:"Tests/Unit/ViewHelpers/Fixtures/ConstraintSyntaxTreeNode.php";s:4:"dd45";s:46:"Tests/Unit/ViewHelpers/Fixtures/IfFixture.html";s:4:"8458";s:54:"Tests/Unit/ViewHelpers/Fixtures/IfThenElseFixture.html";s:4:"62f0";s:63:"Tests/Unit/ViewHelpers/Form/AbstractFormFieldViewHelperTest.php";s:4:"edca";s:58:"Tests/Unit/ViewHelpers/Form/AbstractFormViewHelperTest.php";s:4:"32bd";s:54:"Tests/Unit/ViewHelpers/Form/CheckboxViewHelperTest.php";s:4:"4850";s:52:"Tests/Unit/ViewHelpers/Form/ErrorsViewHelperTest.php";s:4:"6729";s:52:"Tests/Unit/ViewHelpers/Form/HiddenViewHelperTest.php";s:4:"b2ba";s:51:"Tests/Unit/ViewHelpers/Form/RadioViewHelperTest.php";s:4:"a17e";s:52:"Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php";s:4:"1576";s:52:"Tests/Unit/ViewHelpers/Form/SubmitViewHelperTest.php";s:4:"e361";s:54:"Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php";s:4:"c366";s:53:"Tests/Unit/ViewHelpers/Form/TextboxViewHelperTest.php";s:4:"3632";s:52:"Tests/Unit/ViewHelpers/Form/UploadViewHelperTest.php";s:4:"8bd9";s:60:"Tests/Unit/ViewHelpers/Form/Fixtures/EmptySyntaxTreeNode.php";s:4:"9dca";s:64:"Tests/Unit/ViewHelpers/Form/Fixtures/Fixture_UserDomainClass.php";s:4:"494c";s:52:"Tests/Unit/ViewHelpers/Format/CropViewHelperTest.php";s:4:"b290";s:56:"Tests/Unit/ViewHelpers/Format/CurrencyViewHelperTest.php";s:4:"d525";s:52:"Tests/Unit/ViewHelpers/Format/DateViewHelperTest.php";s:4:"4e29";s:53:"Tests/Unit/ViewHelpers/Format/Nl2brViewHelperTest.php";s:4:"bffe";s:54:"Tests/Unit/ViewHelpers/Format/NumberViewHelperTest.php";s:4:"0a2d";s:55:"Tests/Unit/ViewHelpers/Format/PaddingViewHelperTest.php";s:4:"d7b9";s:54:"Tests/Unit/ViewHelpers/Format/PrintfViewHelperTest.php";s:4:"4409";s:51:"Tests/Unit/ViewHelpers/Link/EmailViewHelperTest.php";s:4:"feea";s:54:"Tests/Unit/ViewHelpers/Link/ExternalViewHelperTest.php";s:4:"57b7";s:61:"Tests/Unit/ViewHelpers/Persistence/IdentityViewHelperTest.php";s:4:"c6d2";s:65:"Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php";s:4:"2d94";s:59:"Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php";s:4:"2fc4";s:50:"Tests/Unit/ViewHelpers/Uri/EmailViewHelperTest.php";s:4:"f50d";s:53:"Tests/Unit/ViewHelpers/Uri/ExternalViewHelperTest.php";s:4:"d685";}',
+       '_md5_values_when_last_written' => 'a:225:{s:13:"ChangeLog.txt";s:4:"1853";s:16:"ext_autoload.php";s:4:"104d";s:12:"ext_icon.gif";s:4:"e922";s:14:"ext_tables.php";s:4:"344b";s:24:"ext_typoscript_setup.txt";s:4:"b410";s:21:"Classes/Exception.php";s:4:"7373";s:17:"Classes/Fluid.php";s:4:"ac13";s:49:"Classes/Compatibility/DocbookGeneratorService.php";s:4:"84b6";s:47:"Classes/Compatibility/TemplateParserBuilder.php";s:4:"617b";s:26:"Classes/Core/Exception.php";s:4:"79b3";s:37:"Classes/Core/Parser/Configuration.php";s:4:"6f9b";s:33:"Classes/Core/Parser/Exception.php";s:4:"1cbd";s:44:"Classes/Core/Parser/InterceptorInterface.php";s:4:"28a6";s:47:"Classes/Core/Parser/ParsedTemplateInterface.php";s:4:"17a1";s:36:"Classes/Core/Parser/ParsingState.php";s:4:"ca7e";s:38:"Classes/Core/Parser/TemplateParser.php";s:4:"371e";s:42:"Classes/Core/Parser/Interceptor/Escape.php";s:4:"4db0";s:47:"Classes/Core/Parser/SyntaxTree/AbstractNode.php";s:4:"900d";s:44:"Classes/Core/Parser/SyntaxTree/ArrayNode.php";s:4:"f404";s:48:"Classes/Core/Parser/SyntaxTree/NodeInterface.php";s:4:"51bf";s:53:"Classes/Core/Parser/SyntaxTree/ObjectAccessorNode.php";s:4:"a670";s:65:"Classes/Core/Parser/SyntaxTree/RenderingContextAwareInterface.php";s:4:"68ab";s:43:"Classes/Core/Parser/SyntaxTree/RootNode.php";s:4:"3207";s:43:"Classes/Core/Parser/SyntaxTree/TextNode.php";s:4:"eb67";s:49:"Classes/Core/Parser/SyntaxTree/ViewHelperNode.php";s:4:"63a1";s:43:"Classes/Core/Rendering/RenderingContext.php";s:4:"91b2";s:52:"Classes/Core/Rendering/RenderingContextInterface.php";s:4:"29bb";s:55:"Classes/Core/ViewHelper/AbstractConditionViewHelper.php";s:4:"ecaf";s:54:"Classes/Core/ViewHelper/AbstractTagBasedViewHelper.php";s:4:"5dba";s:46:"Classes/Core/ViewHelper/AbstractViewHelper.php";s:4:"57b5";s:46:"Classes/Core/ViewHelper/ArgumentDefinition.php";s:4:"c4d5";s:37:"Classes/Core/ViewHelper/Arguments.php";s:4:"b59e";s:37:"Classes/Core/ViewHelper/Exception.php";s:4:"f1d0";s:46:"Classes/Core/ViewHelper/TagBasedViewHelper.php";s:4:"593a";s:38:"Classes/Core/ViewHelper/TagBuilder.php";s:4:"ed1c";s:53:"Classes/Core/ViewHelper/TemplateVariableContainer.php";s:4:"afd1";s:47:"Classes/Core/ViewHelper/ViewHelperInterface.php";s:4:"8274";s:55:"Classes/Core/ViewHelper/ViewHelperVariableContainer.php";s:4:"396d";s:62:"Classes/Core/ViewHelper/Exception/InvalidVariableException.php";s:4:"6dd4";s:76:"Classes/Core/ViewHelper/Exception/RenderingContextNotAccessibleException.php";s:4:"bbb7";s:59:"Classes/Core/ViewHelper/Facets/ChildNodeAccessInterface.php";s:4:"7ec9";s:53:"Classes/Core/ViewHelper/Facets/PostParseInterface.php";s:4:"35d5";s:48:"Classes/Core/Widget/AbstractWidgetController.php";s:4:"5466";s:48:"Classes/Core/Widget/AbstractWidgetViewHelper.php";s:4:"776d";s:47:"Classes/Core/Widget/AjaxWidgetContextHolder.php";s:4:"2263";s:33:"Classes/Core/Widget/Bootstrap.php";s:4:"f4e6";s:33:"Classes/Core/Widget/Exception.php";s:4:"a6e3";s:37:"Classes/Core/Widget/WidgetContext.php";s:4:"f51f";s:37:"Classes/Core/Widget/WidgetRequest.php";s:4:"d3fd";s:44:"Classes/Core/Widget/WidgetRequestBuilder.php";s:4:"b6ae";s:44:"Classes/Core/Widget/WidgetRequestHandler.php";s:4:"3430";s:60:"Classes/Core/Widget/Exception/MissingControllerException.php";s:4:"5b77";s:67:"Classes/Core/Widget/Exception/RenderingContextNotFoundException.php";s:4:"a31b";s:64:"Classes/Core/Widget/Exception/WidgetContextNotFoundException.php";s:4:"ffc2";s:64:"Classes/Core/Widget/Exception/WidgetRequestNotFoundException.php";s:4:"7ce2";s:36:"Classes/Service/DocbookGenerator.php";s:4:"c6a5";s:37:"Classes/View/AbstractTemplateView.php";s:4:"ef25";s:26:"Classes/View/Exception.php";s:4:"4168";s:31:"Classes/View/StandaloneView.php";s:4:"d96b";s:29:"Classes/View/TemplateView.php";s:4:"3422";s:50:"Classes/View/Exception/InvalidSectionException.php";s:4:"6cb2";s:59:"Classes/View/Exception/InvalidTemplateResourceException.php";s:4:"d589";s:39:"Classes/ViewHelpers/AliasViewHelper.php";s:4:"9450";s:38:"Classes/ViewHelpers/BaseViewHelper.php";s:4:"74c7";s:41:"Classes/ViewHelpers/CObjectViewHelper.php";s:4:"b8b2";s:39:"Classes/ViewHelpers/CountViewHelper.php";s:4:"4941";s:39:"Classes/ViewHelpers/CycleViewHelper.php";s:4:"7c75";s:39:"Classes/ViewHelpers/DebugViewHelper.php";s:4:"8476";s:38:"Classes/ViewHelpers/ElseViewHelper.php";s:4:"4cc2";s:40:"Classes/ViewHelpers/EscapeViewHelper.php";s:4:"c7ba";s:47:"Classes/ViewHelpers/FlashMessagesViewHelper.php";s:4:"3bd9";s:37:"Classes/ViewHelpers/ForViewHelper.php";s:4:"fce4";s:38:"Classes/ViewHelpers/FormViewHelper.php";s:4:"1b44";s:44:"Classes/ViewHelpers/GroupedForViewHelper.php";s:4:"6d6b";s:36:"Classes/ViewHelpers/IfViewHelper.php";s:4:"4dbb";s:39:"Classes/ViewHelpers/ImageViewHelper.php";s:4:"11bb";s:40:"Classes/ViewHelpers/LayoutViewHelper.php";s:4:"ce70";s:48:"Classes/ViewHelpers/RenderChildrenViewHelper.php";s:4:"1f40";s:53:"Classes/ViewHelpers/RenderFlashMessagesViewHelper.php";s:4:"1e72";s:40:"Classes/ViewHelpers/RenderViewHelper.php";s:4:"2bf8";s:41:"Classes/ViewHelpers/SectionViewHelper.php";s:4:"90ae";s:38:"Classes/ViewHelpers/ThenViewHelper.php";s:4:"499d";s:43:"Classes/ViewHelpers/TranslateViewHelper.php";s:4:"253b";s:52:"Classes/ViewHelpers/Be/AbstractBackendViewHelper.php";s:4:"dd9a";s:46:"Classes/ViewHelpers/Be/ContainerViewHelper.php";s:4:"2dc9";s:45:"Classes/ViewHelpers/Be/PageInfoViewHelper.php";s:4:"4a46";s:45:"Classes/ViewHelpers/Be/PagePathViewHelper.php";s:4:"8a79";s:46:"Classes/ViewHelpers/Be/TableListViewHelper.php";s:4:"b17c";s:48:"Classes/ViewHelpers/Be/Buttons/CshViewHelper.php";s:4:"3be3";s:49:"Classes/ViewHelpers/Be/Buttons/IconViewHelper.php";s:4:"bc33";s:53:"Classes/ViewHelpers/Be/Buttons/ShortcutViewHelper.php";s:4:"2153";s:57:"Classes/ViewHelpers/Be/Menus/ActionMenuItemViewHelper.php";s:4:"c3ba";s:53:"Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php";s:4:"eba5";s:61:"Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php";s:4:"8bc3";s:55:"Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php";s:4:"70a0";s:56:"Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php";s:4:"d2b1";s:51:"Classes/ViewHelpers/Form/AbstractFormViewHelper.php";s:4:"d339";s:47:"Classes/ViewHelpers/Form/CheckboxViewHelper.php";s:4:"20bb";s:45:"Classes/ViewHelpers/Form/ErrorsViewHelper.php";s:4:"0777";s:45:"Classes/ViewHelpers/Form/HiddenViewHelper.php";s:4:"8a9d";s:47:"Classes/ViewHelpers/Form/PasswordViewHelper.php";s:4:"85b5";s:44:"Classes/ViewHelpers/Form/RadioViewHelper.php";s:4:"e698";s:45:"Classes/ViewHelpers/Form/SelectViewHelper.php";s:4:"18ac";s:45:"Classes/ViewHelpers/Form/SubmitViewHelper.php";s:4:"d9e7";s:47:"Classes/ViewHelpers/Form/TextareaViewHelper.php";s:4:"3b97";s:46:"Classes/ViewHelpers/Form/TextboxViewHelper.php";s:4:"125d";s:48:"Classes/ViewHelpers/Form/TextfieldViewHelper.php";s:4:"2512";s:45:"Classes/ViewHelpers/Form/UploadViewHelper.php";s:4:"403e";s:45:"Classes/ViewHelpers/Format/CropViewHelper.php";s:4:"c970";s:49:"Classes/ViewHelpers/Format/CurrencyViewHelper.php";s:4:"a697";s:45:"Classes/ViewHelpers/Format/DateViewHelper.php";s:4:"fd20";s:45:"Classes/ViewHelpers/Format/HtmlViewHelper.php";s:4:"795e";s:46:"Classes/ViewHelpers/Format/Nl2brViewHelper.php";s:4:"68b8";s:47:"Classes/ViewHelpers/Format/NumberViewHelper.php";s:4:"d47a";s:48:"Classes/ViewHelpers/Format/PaddingViewHelper.php";s:4:"ed6b";s:47:"Classes/ViewHelpers/Format/PrintfViewHelper.php";s:4:"131f";s:45:"Classes/ViewHelpers/Link/ActionViewHelper.php";s:4:"ca29";s:44:"Classes/ViewHelpers/Link/EmailViewHelper.php";s:4:"2d48";s:47:"Classes/ViewHelpers/Link/ExternalViewHelper.php";s:4:"aff1";s:43:"Classes/ViewHelpers/Link/PageViewHelper.php";s:4:"f144";s:58:"Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php";s:4:"b675";s:52:"Classes/ViewHelpers/Security/IfHasRoleViewHelper.php";s:4:"365b";s:44:"Classes/ViewHelpers/Uri/ActionViewHelper.php";s:4:"55f6";s:43:"Classes/ViewHelpers/Uri/EmailViewHelper.php";s:4:"463a";s:46:"Classes/ViewHelpers/Uri/ExternalViewHelper.php";s:4:"dd6c";s:43:"Classes/ViewHelpers/Uri/ImageViewHelper.php";s:4:"1c24";s:42:"Classes/ViewHelpers/Uri/PageViewHelper.php";s:4:"abde";s:46:"Classes/ViewHelpers/Uri/ResourceViewHelper.php";s:4:"f7fd";s:53:"Classes/ViewHelpers/Widget/AutocompleteViewHelper.php";s:4:"cdfb";s:45:"Classes/ViewHelpers/Widget/LinkViewHelper.php";s:4:"f13f";s:49:"Classes/ViewHelpers/Widget/PaginateViewHelper.php";s:4:"fafd";s:44:"Classes/ViewHelpers/Widget/UriViewHelper.php";s:4:"f7ab";s:64:"Classes/ViewHelpers/Widget/Controller/AutocompleteController.php";s:4:"2983";s:60:"Classes/ViewHelpers/Widget/Controller/PaginateController.php";s:4:"1b7a";s:34:"Configuration/TypoScript/setup.txt";s:4:"0e30";s:70:"Resources/Private/Templates/ViewHelpers/Widget/Autocomplete/Index.html";s:4:"b955";s:66:"Resources/Private/Templates/ViewHelpers/Widget/Paginate/Index.html";s:4:"55a2";s:42:"Tests/Unit/Core/TagBasedViewHelperTest.php";s:4:"ce1f";s:34:"Tests/Unit/Core/TagBuilderTest.php";s:4:"76eb";s:43:"Tests/Unit/Core/Fixtures/TestViewHelper.php";s:4:"253f";s:43:"Tests/Unit/Core/Parser/ParsingStateTest.php";s:4:"1877";s:52:"Tests/Unit/Core/Parser/TemplateParserPatternTest.php";s:4:"4786";s:45:"Tests/Unit/Core/Parser/TemplateParserTest.php";s:4:"1c66";s:66:"Tests/Unit/Core/Parser/Fixtures/ChildNodeAccessFacetViewHelper.php";s:4:"01d1";s:60:"Tests/Unit/Core/Parser/Fixtures/PostParseFacetViewHelper.php";s:4:"13e9";s:79:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand-split.php";s:4:"ea3a";s:74:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand.html";s:4:"e949";s:69:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06-split.php";s:4:"33ba";s:64:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06.html";s:4:"92c2";s:69:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14-split.php";s:4:"bd4b";s:64:"Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14.html";s:4:"1ec8";s:49:"Tests/Unit/Core/Parser/Interceptor/EscapeTest.php";s:4:"9b07";s:54:"Tests/Unit/Core/Parser/SyntaxTree/AbstractNodeTest.php";s:4:"84e7";s:50:"Tests/Unit/Core/Parser/SyntaxTree/TextNodeTest.php";s:4:"d495";s:66:"Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeComparatorTest.php";s:4:"0a6f";s:56:"Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php";s:4:"69e3";s:50:"Tests/Unit/Core/Rendering/RenderingContextTest.php";s:4:"59d3";s:53:"Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php";s:4:"dfc4";s:53:"Tests/Unit/Core/ViewHelper/ArgumentDefinitionTest.php";s:4:"6c62";s:54:"Tests/Unit/Core/ViewHelper/ConditionViewHelperTest.php";s:4:"66d7";s:60:"Tests/Unit/Core/ViewHelper/TemplateVariableContainerTest.php";s:4:"17e5";s:62:"Tests/Unit/Core/ViewHelper/ViewHelperVariableContainerTest.php";s:4:"7bf5";s:55:"Tests/Unit/Core/Widget/AbstractWidgetControllerTest.php";s:4:"686a";s:55:"Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php";s:4:"29d7";s:54:"Tests/Unit/Core/Widget/AjaxWidgetContextHolderTest.php";s:4:"905f";s:44:"Tests/Unit/Core/Widget/WidgetContextTest.php";s:4:"28fd";s:51:"Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php";s:4:"e01d";s:51:"Tests/Unit/Core/Widget/WidgetRequestHandlerTest.php";s:4:"4023";s:44:"Tests/Unit/Core/Widget/WidgetRequestTest.php";s:4:"73af";s:44:"Tests/Unit/View/AbstractTemplateViewTest.php";s:4:"d778";s:38:"Tests/Unit/View/StandaloneViewTest.php";s:4:"b435";s:36:"Tests/Unit/View/TemplateViewTest.php";s:4:"f4ed";s:38:"Tests/Unit/View/Fixtures/LayoutFixture";s:4:"85d8";s:43:"Tests/Unit/View/Fixtures/LayoutFixture.html";s:4:"cca1";s:42:"Tests/Unit/View/Fixtures/LayoutFixture.xml";s:4:"85be";s:51:"Tests/Unit/View/Fixtures/StandaloneViewFixture.html";s:4:"8952";s:48:"Tests/Unit/View/Fixtures/TemplateViewFixture.php";s:4:"79e8";s:56:"Tests/Unit/View/Fixtures/TemplateViewSectionFixture.html";s:4:"aa5f";s:54:"Tests/Unit/View/Fixtures/TransparentSyntaxTreeNode.php";s:4:"eb0d";s:53:"Tests/Unit/View/Fixtures/UnparsedTemplateFixture.html";s:4:"59dd";s:46:"Tests/Unit/ViewHelpers/AliasViewHelperTest.php";s:4:"4906";s:45:"Tests/Unit/ViewHelpers/BaseViewHelperTest.php";s:4:"ddfb";s:46:"Tests/Unit/ViewHelpers/CountViewHelperTest.php";s:4:"e230";s:46:"Tests/Unit/ViewHelpers/CycleViewHelperTest.php";s:4:"c976";s:45:"Tests/Unit/ViewHelpers/ElseViewHelperTest.php";s:4:"0d90";s:44:"Tests/Unit/ViewHelpers/ForViewHelperTest.php";s:4:"3666";s:45:"Tests/Unit/ViewHelpers/FormViewHelperTest.php";s:4:"8b40";s:51:"Tests/Unit/ViewHelpers/GroupedForViewHelperTest.php";s:4:"8f37";s:43:"Tests/Unit/ViewHelpers/IfViewHelperTest.php";s:4:"25b8";s:55:"Tests/Unit/ViewHelpers/RenderChildrenViewHelperTest.php";s:4:"c652";s:47:"Tests/Unit/ViewHelpers/RenderViewHelperTest.php";s:4:"02d2";s:45:"Tests/Unit/ViewHelpers/ThenViewHelperTest.php";s:4:"360c";s:49:"Tests/Unit/ViewHelpers/ViewHelperBaseTestcase.php";s:4:"016e";s:59:"Tests/Unit/ViewHelpers/Be/IfAuthenticatedViewHelperTest.php";s:4:"14d1";s:53:"Tests/Unit/ViewHelpers/Be/IfHasRoleViewHelperTest.php";s:4:"cec2";s:60:"Tests/Unit/ViewHelpers/Fixtures/ConstraintSyntaxTreeNode.php";s:4:"dd45";s:46:"Tests/Unit/ViewHelpers/Fixtures/IfFixture.html";s:4:"8458";s:54:"Tests/Unit/ViewHelpers/Fixtures/IfThenElseFixture.html";s:4:"62f0";s:63:"Tests/Unit/ViewHelpers/Form/AbstractFormFieldViewHelperTest.php";s:4:"edca";s:58:"Tests/Unit/ViewHelpers/Form/AbstractFormViewHelperTest.php";s:4:"32bd";s:54:"Tests/Unit/ViewHelpers/Form/CheckboxViewHelperTest.php";s:4:"4850";s:52:"Tests/Unit/ViewHelpers/Form/ErrorsViewHelperTest.php";s:4:"6729";s:52:"Tests/Unit/ViewHelpers/Form/HiddenViewHelperTest.php";s:4:"b2ba";s:51:"Tests/Unit/ViewHelpers/Form/RadioViewHelperTest.php";s:4:"a17e";s:52:"Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php";s:4:"1576";s:52:"Tests/Unit/ViewHelpers/Form/SubmitViewHelperTest.php";s:4:"e361";s:54:"Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php";s:4:"c366";s:53:"Tests/Unit/ViewHelpers/Form/TextboxViewHelperTest.php";s:4:"3632";s:52:"Tests/Unit/ViewHelpers/Form/UploadViewHelperTest.php";s:4:"8bd9";s:60:"Tests/Unit/ViewHelpers/Form/Fixtures/EmptySyntaxTreeNode.php";s:4:"9dca";s:64:"Tests/Unit/ViewHelpers/Form/Fixtures/Fixture_UserDomainClass.php";s:4:"494c";s:52:"Tests/Unit/ViewHelpers/Format/CropViewHelperTest.php";s:4:"b290";s:56:"Tests/Unit/ViewHelpers/Format/CurrencyViewHelperTest.php";s:4:"d525";s:52:"Tests/Unit/ViewHelpers/Format/DateViewHelperTest.php";s:4:"4e29";s:53:"Tests/Unit/ViewHelpers/Format/Nl2brViewHelperTest.php";s:4:"bffe";s:54:"Tests/Unit/ViewHelpers/Format/NumberViewHelperTest.php";s:4:"0a2d";s:55:"Tests/Unit/ViewHelpers/Format/PaddingViewHelperTest.php";s:4:"d7b9";s:54:"Tests/Unit/ViewHelpers/Format/PrintfViewHelperTest.php";s:4:"4409";s:51:"Tests/Unit/ViewHelpers/Link/EmailViewHelperTest.php";s:4:"feea";s:54:"Tests/Unit/ViewHelpers/Link/ExternalViewHelperTest.php";s:4:"57b7";s:61:"Tests/Unit/ViewHelpers/Persistence/IdentityViewHelperTest.php";s:4:"c6d2";s:65:"Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php";s:4:"2d94";s:59:"Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php";s:4:"2fc4";s:50:"Tests/Unit/ViewHelpers/Uri/EmailViewHelperTest.php";s:4:"f50d";s:53:"Tests/Unit/ViewHelpers/Uri/ExternalViewHelperTest.php";s:4:"d685";}',
        'suggests' => array(
        ),
 );
index 137e413..f1efb31 100644 (file)
@@ -1 +1 @@
-https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/fluid/tags/1.3.0beta1/
+https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/fluid/tags/1.3.0beta1a/