ExtBase:
authorJochen Rau <j.rau@web.de>
Wed, 25 Mar 2009 00:41:23 +0000 (00:41 +0000)
committerJochen Rau <j.rau@web.de>
Wed, 25 Mar 2009 00:41:23 +0000 (00:41 +0000)
* Renamed the configuration source files to be more readable as short file names

typo3/sysext/extbase/Classes/Configuration/Source/FlexForm.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Source/FlexFormSource.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Configuration/Source/PHP.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Source/PhpSource.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Configuration/Source/TS.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Source/TypoScriptSource.php [new file with mode: 0644]
typo3/sysext/extbase/class.tx_extbase_dispatcher.php

diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/FlexForm.php b/typo3/sysext/extbase/Classes/Configuration/Source/FlexForm.php
deleted file mode 100644 (file)
index f04b611..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Configuration source based on FlexForm settings
- * 
- * @package TYPO3
- * @subpackage extbase
- * @version $ID:$
- */
-class Tx_ExtBase_Configuration_Source_FlexForm implements Tx_ExtBase_Configuration_SourceInterface {
-
-       /**
-        * XML FlexForm content
-        *
-        * @var string
-        **/
-       protected $flexFormContent;
-
-       /**
-        * Sets the flex form content
-        *
-        * @param string $flexFormContent Flexform content
-        * @return void
-        */
-       public function setFlexFormContent($flexFormContent) {
-               $this->flexFormContent = $flexFormContent;
-       }
-
-       /**
-        * Loads the specified FlexForm configuration  and returns its content in a
-        * configuration container. If the file does not exist or could not be loaded,
-        * the empty configuration container is returned.
-        *
-        * @param string $extensionKey The extension key
-        * @return Tx_ExtBase_Configuration_Container
-        */
-        public function load($extensionKey) {
-               $settings = array();
-               if (is_array($this->flexFormContent)) {
-                       $flexFormArray = $this->flexFormContent;
-               } elseif (!empty($this->flexFormContent)) {
-                       $flexFormArray = t3lib_div::xml2array($this->flexFormContent);
-               }
-               $sheetArray = $flexFormArray['data']['sDEF']['lDEF'];
-               if (is_array($sheetArray))      {
-                       foreach($sheetArray as $key => $value) {
-                               $settings[$key] = $value['vDEF'];
-                       }
-               }
-               return $settings;
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/FlexFormSource.php b/typo3/sysext/extbase/Classes/Configuration/Source/FlexFormSource.php
new file mode 100644 (file)
index 0000000..f04b611
--- /dev/null
@@ -0,0 +1,76 @@
+<?php
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+/**
+ * Configuration source based on FlexForm settings
+ * 
+ * @package TYPO3
+ * @subpackage extbase
+ * @version $ID:$
+ */
+class Tx_ExtBase_Configuration_Source_FlexForm implements Tx_ExtBase_Configuration_SourceInterface {
+
+       /**
+        * XML FlexForm content
+        *
+        * @var string
+        **/
+       protected $flexFormContent;
+
+       /**
+        * Sets the flex form content
+        *
+        * @param string $flexFormContent Flexform content
+        * @return void
+        */
+       public function setFlexFormContent($flexFormContent) {
+               $this->flexFormContent = $flexFormContent;
+       }
+
+       /**
+        * Loads the specified FlexForm configuration  and returns its content in a
+        * configuration container. If the file does not exist or could not be loaded,
+        * the empty configuration container is returned.
+        *
+        * @param string $extensionKey The extension key
+        * @return Tx_ExtBase_Configuration_Container
+        */
+        public function load($extensionKey) {
+               $settings = array();
+               if (is_array($this->flexFormContent)) {
+                       $flexFormArray = $this->flexFormContent;
+               } elseif (!empty($this->flexFormContent)) {
+                       $flexFormArray = t3lib_div::xml2array($this->flexFormContent);
+               }
+               $sheetArray = $flexFormArray['data']['sDEF']['lDEF'];
+               if (is_array($sheetArray))      {
+                       foreach($sheetArray as $key => $value) {
+                               $settings[$key] = $value['vDEF'];
+                       }
+               }
+               return $settings;
+       }
+
+}
+?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/PHP.php b/typo3/sysext/extbase/Classes/Configuration/Source/PHP.php
deleted file mode 100644 (file)
index ba31dea..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Configuration source based on PHP files
- *
- * @package TYPO3
- * @subpackage extbase
- * @version $ID:$
- */
-class Tx_ExtBase_Configuration_Source_PHP implements Tx_ExtBase_Configuration_SourceInterface {
-
-       /**
-        * Loads the specified configuration file and returns its content as an
-        * array. If the file does not exist or could not be loaded, an empty
-        * array is returned
-        *
-        * @param string $extensionKey The extension key
-        * @return array
-        */
-       public function load($extensionKey) {
-               $pathAndFilename = t3lib_extMgm::extPath(strtolower($extensionKey)) . '/Configuration/Settings';
-               $c = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Container');
-               if (file_exists($pathAndFilename . '.php')) {
-                       require ($pathAndFilename . '.php');
-               }
-               return $c->getAsArray();
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/PhpSource.php b/typo3/sysext/extbase/Classes/Configuration/Source/PhpSource.php
new file mode 100644 (file)
index 0000000..ba31dea
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+/**
+ * Configuration source based on PHP files
+ *
+ * @package TYPO3
+ * @subpackage extbase
+ * @version $ID:$
+ */
+class Tx_ExtBase_Configuration_Source_PHP implements Tx_ExtBase_Configuration_SourceInterface {
+
+       /**
+        * Loads the specified configuration file and returns its content as an
+        * array. If the file does not exist or could not be loaded, an empty
+        * array is returned
+        *
+        * @param string $extensionKey The extension key
+        * @return array
+        */
+       public function load($extensionKey) {
+               $pathAndFilename = t3lib_extMgm::extPath(strtolower($extensionKey)) . '/Configuration/Settings';
+               $c = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Container');
+               if (file_exists($pathAndFilename . '.php')) {
+                       require ($pathAndFilename . '.php');
+               }
+               return $c->getAsArray();
+       }
+}
+?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/TS.php b/typo3/sysext/extbase/Classes/Configuration/Source/TS.php
deleted file mode 100644 (file)
index 2450fc7..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Configuration source based on TS settings
- *
- */
-class Tx_ExtBase_Configuration_Source_TS implements Tx_ExtBase_Configuration_SourceInterface {
-
-       /**
-        * Loads the specified TypoScript configuration file and returns its content in a
-        * configuration container. If the file does not exist or could not be loaded,
-        * the empty configuration container is returned.
-        *
-        * @param string $extensionKey The extension key
-        * @return array The settings as array without trailing dots
-        */
-        public function load($extensionKey) {
-               // SK: same as with dispatcher. strtolower($extensionKey) is wrong; example: tt_news -> tx_ttnews
-               $settings = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_' . strtolower($extensionKey) . '.'];
-               if (is_array($settings)) $settings = $this->postProcessSettings($settings);
-               return $settings;
-       }
-       
-       /**
-        * Removes all trailing dots recursively from TS settings array
-        *
-        * @param array $setup The settings array
-        * @return void
-        */
-       protected function postProcessSettings(array $settings) {
-               $processedSettings = array();
-               foreach ($settings as $key => $value) {
-                       if (is_array($value)) $value = $this->postProcessSettings($value);
-                       $processedSettings[preg_replace('/(.*)\.$/', '\1', $key, 1)] = $value;
-               }
-               return $processedSettings;
-       }
-       
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Source/TypoScriptSource.php b/typo3/sysext/extbase/Classes/Configuration/Source/TypoScriptSource.php
new file mode 100644 (file)
index 0000000..2450fc7
--- /dev/null
@@ -0,0 +1,62 @@
+<?php
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+/**
+ * Configuration source based on TS settings
+ *
+ */
+class Tx_ExtBase_Configuration_Source_TS implements Tx_ExtBase_Configuration_SourceInterface {
+
+       /**
+        * Loads the specified TypoScript configuration file and returns its content in a
+        * configuration container. If the file does not exist or could not be loaded,
+        * the empty configuration container is returned.
+        *
+        * @param string $extensionKey The extension key
+        * @return array The settings as array without trailing dots
+        */
+        public function load($extensionKey) {
+               // SK: same as with dispatcher. strtolower($extensionKey) is wrong; example: tt_news -> tx_ttnews
+               $settings = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_' . strtolower($extensionKey) . '.'];
+               if (is_array($settings)) $settings = $this->postProcessSettings($settings);
+               return $settings;
+       }
+       
+       /**
+        * Removes all trailing dots recursively from TS settings array
+        *
+        * @param array $setup The settings array
+        * @return void
+        */
+       protected function postProcessSettings(array $settings) {
+               $processedSettings = array();
+               foreach ($settings as $key => $value) {
+                       if (is_array($value)) $value = $this->postProcessSettings($value);
+                       $processedSettings[preg_replace('/(.*)\.$/', '\1', $key, 1)] = $value;
+               }
+               return $processedSettings;
+       }
+       
+}
+?>
\ No newline at end of file
index 4dc4374..50856cc 100644 (file)
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
+echo 42;
 /**
- * Creates a request an dispatches it to the controller which was specified by TS Setup, Flexform,
- * or Extension Configuration (ExtConf), and returns the content to the v4 framework.
+ * Creates a request an dispatches it to the controller which was specified 
+ * by TS Setup, Flexform and returns the content to the v4 framework.
  *
  * @package TYPO3
  * @subpackage extbase
@@ -92,7 +93,9 @@ class Tx_ExtBase_Dispatcher {
 
                $request = $this->buildRequest($extensionKey, $controllerName, $actionName);
                $controller = t3lib_div::makeInstance($request->getControllerObjectName());
-               if (!$controller instanceof Tx_ExtBase_Controller_ControllerInterface) throw new Tx_ExtBase_Exception_InvalidController('Invalid controller "' . $request->getControllerObjectName() . '". The controller must be a valid request handling controller.', 1202921619);
+               if (!$controller instanceof Tx_ExtBase_Controller_ControllerInterface) {
+                       throw new Tx_ExtBase_Exception_InvalidController('Invalid controller "' . $request->getControllerObjectName() . '". The controller must be a valid request handling controller.', 1202921619);
+               }
 
                if (!$controller->isCachableAction($actionName) && $this->cObj->getUserObjectType() === tslib_cObj::OBJECTTYPE_USER) {
                        // FIXME Caching does not work because it's by default a USER object, so the dispatcher is never called
@@ -130,9 +133,9 @@ class Tx_ExtBase_Dispatcher {
        
        protected function getSettings($extensionKey) {
                $configurationSources = array();
-               $configurationSources[] = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Source_TS');
+               $configurationSources[] = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Source_TypoScriptSource');
                if (!empty($this->cObj->data['pi_flexform'])) {
-                       $configurationSource = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Source_FlexForm');
+                       $configurationSource = t3lib_div::makeInstance('Tx_ExtBase_Configuration_Source_FlexFormSource');
                        $configurationSource->setFlexFormContent($this->cObj->data['pi_flexform']);
                        $configurationSources[] = $configurationSource;
                }