EXTMVC:
authorJochen Rau <j.rau@web.de>
Wed, 18 Mar 2009 11:25:23 +0000 (11:25 +0000)
committerJochen Rau <j.rau@web.de>
Wed, 18 Mar 2009 11:25:23 +0000 (11:25 +0000)
* Removed all require_once statements (using the preliminary autoloader mechanism in the dispatcher)
* Renamed variable $additionalHeaderTags of the Response to $additionalHeaderData (and also the corresponding methods)
* The $arguments of the Request holds now a plain associative array instead of TX_EXTMVC_Controller_Arguments
* Optimized TS setup source handling
* Some minor code clean-up

38 files changed:
typo3/sysext/extbase/Classes/Configuration/Source/TX_EXTMVC_Configuration_Source_TS.php
typo3/sysext/extbase/Classes/Configuration/TX_EXTMVC_Configuration_Container.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_AbstractController.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_ActionController.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_Argument.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_Arguments.php
typo3/sysext/extbase/Classes/Exception/TX_EXTMVC_Exception_StopAction.php
typo3/sysext/extbase/Classes/Exception/TX_EXTMVC_Exception_StopUncachedAction.php
typo3/sysext/extbase/Classes/Persistence/Exception/TX_EXTMVC_Persistence_Exception_TooDirty.php
typo3/sysext/extbase/Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_DataMap.php
typo3/sysext/extbase/Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_ObjectRelationalMapper.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_Repository.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_Session.php
typo3/sysext/extbase/Classes/TX_EXTMVC_Request.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Alphanumeric.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ChainValidator.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_EmailAddress.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Float.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Integer.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_NotEmpty.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Number.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_NumberRange.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Raw.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_RegularExpression.php
typo3/sysext/extbase/Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_Text.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_AbstractHelper.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_ConvertHelper.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_ForHelper.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_HelperInterface.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_LinkHelper.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_TranslateHelper.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_URIHelper.php
typo3/sysext/extbase/Classes/View/TX_EXTMVC_View_AbstractView.php
typo3/sysext/extbase/Classes/View/TX_EXTMVC_View_TemplateView.php
typo3/sysext/extbase/Classes/Web/TX_EXTMVC_Web_Response.php
typo3/sysext/extbase/Tests/Fixtures/TX_EXTMVC_Tests_Fixtures_Entity.php
typo3/sysext/extbase/Tests/TX_EXTMVC_Persistence_Session_testcase.php
typo3/sysext/extbase/class.tx_extmvc_dispatcher.php

index 97f5ad6..3fb123e 100644 (file)
@@ -34,19 +34,29 @@ class TX_EXTMVC_Configuration_Source_TS implements TX_EXTMVC_Configuration_Sourc
         * the empty configuration container is returned.
         *
         * @param string $extensionKey The extension key
-        * @return TX_EXTMVC_Configuration_Container
+        * @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) . '.'];
-               $c = t3lib_div::makeInstance('TX_EXTMVC_Configuration_Container');
-               if (is_array($settings)) {
-                       // SK: IMHO we do not need the instance of TX_EXTMVC_Configuration_Container here. Why not return the TypoScript directly?
-                       $c = t3lib_div::makeInstance('TX_EXTMVC_Configuration_Container');
-                       $c->mergeWithTS($settings);
+               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 $c->getAsArray();
+               return $processedSettings;
        }
-
+       
 }
 ?>
\ No newline at end of file
index abcbf1b..0263c20 100644 (file)
@@ -153,26 +153,6 @@ class TX_EXTMVC_Configuration_Container implements Countable, Iterator, ArrayAcc
                return $this;
        }
        
-       /**
-        * Merges this container with an array already build from TS
-        *
-        * @param array $setup The array
-        * @return TX_EXTMVC_Configuration_Container This container
-        */
-       public function mergeWithTS(array $settings) {
-               foreach ($settings as $optionName => $newOptionValue) {
-                       $optionName = preg_match('/(.*)\.{0,1}$/Uu', $optionName, $matches); // remove postfixed dot
-                       $optionName = $matches[1];
-                       if (is_array($newOptionValue)) {
-                               $existingOptionValue = $this->__get($optionName);
-                               if (!($existingOptionValue instanceof TX_EXTMVC_Configuration_Container)) $existingOptionValue = new TX_EXTMVC_Configuration_Container();
-                               $newOptionValue = $existingOptionValue->mergeWithTS($newOptionValue);
-                       }
-                       $this->__set($optionName, $newOptionValue);
-               }
-               return $this;
-       }
-       
        /**
         * Returns the number of configuration options
         *
index 63eed19..63629a1 100755 (executable)
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_ControllerInterface.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_Arguments.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Exception/TX_EXTMVC_Exception_StopAction.php');
-
 /**
  * An abstract base class for Controllers
  *
@@ -190,16 +186,15 @@ abstract class TX_EXTMVC_Controller_AbstractController implements TX_EXTMVC_Cont
         *
         * @return void
         */
-       // SK: needs to be adjusted, as $this->request->getArguments will only return an array (see the comments in the dispatcher)
        protected function mapRequestArgumentsToLocalArguments() {
                $requestArguments = $this->request->getArguments();
                foreach ($this->arguments as $argument) {
                        $argumentName = $argument->getName();
                        $argumentShortName = $argument->getShortName();
                        if (array_key_exists($argumentName, $requestArguments)) {
-                               $argument->setValue($requestArguments[$argumentName]->getValue());
+                               $argument->setValue($requestArguments[$argumentName]);
                        } elseif ($argumentShortName !== NULL && array_key_exists($argumentShortName, $requestArguments)) {
-                               $argument->setValue($requestArguments[$argumentShortName]->getValue());
+                               $argument->setValue($requestArguments[$argumentShortName]);
                        }
                }
        }
index 1247d3a..a6d8f1c 100644 (file)
@@ -22,9 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_AbstractController.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Exception/TX_EXTMVC_Exception_StopUncachedAction.php');
-
 /**
  * A multi action controller
  *
index b733507..cb8eb2a 100644 (file)
@@ -22,9 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/TX_EXTMVC_Validation_Errors.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ChainValidator.php');
-
 /**
  * A controller argument
  *
index 561ff12..9be43f7 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_Argument.php');
-
 /**
  * A composite of controller arguments
  *
index 3c22d88..9307169 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/TX_EXTMVC_Exception.php');
-
 /**
  * This exception is thrown by a controller to stop the execution of the current
  * action and return the control to the dispatcher. The dispatcher catches this
index 05d8019..af8d685 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/TX_EXTMVC_Exception.php');
-
 /**
  * This exception is thrown by a controller to stop the execution of the current
  * action and return the control to the dispatcher. The dispatcher catches this
index 6682dc0..8ba51b3 100644 (file)
@@ -30,6 +30,7 @@
  * @version $ID:$
  */
 // SK: What does "TooDirty" mean? The UID has been modified? I'd suggest a more understandable name :-)
+// JR: That's a class name Karsten has chosen. In deed, the exception will be thrown if UID has been modified 
 class TooDirty extends TX_EXTMVC_Persistence_Exception {
 }
 
index d372bf9..aede485 100644 (file)
@@ -22,9 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Utility/TX_EXTMVC_Utility_Strings.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_ColumnMap.php');
-
 /**
  * A data map to map a single table configured in $TCA on a domain object.
  *
index 2fcae71..ab76113 100644 (file)
@@ -24,9 +24,6 @@
 
 require_once(PATH_t3lib . 'interfaces/interface.t3lib_singleton.php');
 require_once(PATH_tslib . 'class.tslib_content.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Utility/TX_EXTMVC_Utility_Strings.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_ObjectStorage.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_DataMap.php');
 
 /**
  * A mapper to map database tables configured in $TCA on domain objects.
index 6a016ee..cb906f8 100644 (file)
@@ -24,9 +24,6 @@
 
 require_once(PATH_t3lib . 'interfaces/interface.t3lib_singleton.php');
 require_once(PATH_tslib . 'class.tslib_content.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Utility/TX_EXTMVC_Utility_Strings.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_ObjectStorage.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_RepositoryInterface.php');
 
 /**
  * The base repository - will usually be extended by a more concrete repository.
index 94867e8..913e557 100644 (file)
@@ -23,8 +23,6 @@
 ***************************************************************/
 
 require_once(PATH_t3lib . 'interfaces/interface.t3lib_singleton.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/DomainObject/TX_EXTMVC_DomainObject_AbstractDomainObject.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_ObjectStorage.php');
 
 /**
  * The persistence session - acts as a Unit of Work for EXCMVC's persistence framework.
index 2de841c..ff69c50 100644 (file)
@@ -335,4 +335,4 @@ class TX_EXTMVC_Request {
                return isset($this->arguments[$argumentName]);
        }
 }
-?>
+?>
\ No newline at end of file
index 30fdb13..d1f8a59 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for alphanumeric strings
  *
index f1f14ba..e8efa09 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator to chain many validators
  *
index c9e3dc9..c8d8b07 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for email addresses
  *
index ac785d6..9defd56 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for floats
  *
index fa7de24..b90ae56 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for integers
  *
index 6e26789..6bc6b3f 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for not empty values
  *
index a09901e..6185cdb 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for general numbers
  *
index 452f066..3841019 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for general numbers
  *
index f81086e..f8501b5 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * A validator which accepts any input
  *
index 41fe976..232b8f2 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for regular expressions
  *
index 91aaf49..859d5b5 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Validation/Validator/TX_EXTMVC_Validation_Validator_ValidatorInterface.php');
-
 /**
  * Validator for text
  *
index 279b0d5..7fb798b 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_HelperInterface.php');
-
 /**
  * An abstract View Helper
  *
@@ -46,4 +44,4 @@ abstract class TX_EXTMVC_View_Helper_AbstractHelper implements TX_EXTMVC_View_He
        }
 }
 
-?>
+?>
\ No newline at end of file
index a930b50..a93f12d 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_AbstractHelper.php');
-
 /**
  * A For Helper
  *
@@ -51,4 +49,4 @@ class TX_EXTMVC_View_Helper_ConvertHelper extends TX_EXTMVC_View_Helper_Abstract
 
 }
 
-?>
+?>
\ No newline at end of file
index 0943495..f677b56 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_AbstractHelper.php');
-
 /**
  * A For Helper
  *
@@ -45,4 +43,4 @@ class TX_EXTMVC_View_Helper_ForHelper extends TX_EXTMVC_View_Helper_AbstractHelp
 
 }
 
-?>
+?>
\ No newline at end of file
index d36a9e4..0e25605 100644 (file)
@@ -37,4 +37,4 @@ interface TX_EXTMVC_View_Helper_HelperInterface {
        public function setRequest(TX_EXTMVC_Web_Request $request);
 }
 
-?>
+?>
\ No newline at end of file
index a125ece..4ccdce8 100644 (file)
@@ -23,7 +23,6 @@
 ***************************************************************/
 
 require_once(PATH_tslib . 'class.tslib_content.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_AbstractHelper.php');
 
 /**
  * A For Helper
@@ -90,4 +89,4 @@ class TX_EXTMVC_View_Helper_LinkHelper extends TX_EXTMVC_View_Helper_AbstractHel
                        
 }
 
-?>
+?>
\ No newline at end of file
index ebad444..586d085 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_AbstractHelper.php');
-
 /**
  * A For Helper
  *
@@ -144,4 +142,4 @@ class TX_EXTMVC_View_Helper_TranslateHelper extends TX_EXTMVC_View_Helper_Abstra
 
 }
 
-?>
+?>
\ No newline at end of file
index 25bdc36..41498db 100755 (executable)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/TX_EXTMVC_View_ViewInterface.php');
-
 /**
  * An abstract View
  *
@@ -89,4 +87,4 @@ abstract class TX_EXTMVC_View_AbstractView implements TX_EXTMVC_View_ViewInterfa
        
 }
 
-?>
+?>
\ No newline at end of file
index 21140b9..3c3bdb4 100644 (file)
@@ -25,8 +25,6 @@ declare(ENCODING = 'utf-8');
 
 require_once(PATH_tslib . 'class.tslib_content.php');
 require_once(PATH_t3lib . 'class.t3lib_parsehtml.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Utility/TX_EXTMVC_Utility_Strings.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/Helper/TX_EXTMVC_View_Helper_ForHelper.php');
 
 /**
  * A basic Template View
index 21f75e3..952c2c5 100755 (executable)
@@ -133,24 +133,25 @@ class TX_EXTMVC_Web_Response extends TX_EXTMVC_Response {
        }
 
        /**
-        * Adds an additional header tag (something like
+        * Adds an additional header data (something like
         * '<script src="myext/Resources/JavaScript/my.js" type="text/javascript"></script>'
         * )
         *
-        * @param string $headerString The value additonal header
+        * @param string $additionaHeaderData The value additonal header
         * @return void
         */
-       public function addAdditionalHeaderTag($headerTag) {
-               $this->additionalHeaderTags[] = $headerTag;
+       public function addAdditionaHeaderData($additionalHeaderData) {
+               if (!is_string($additionalHeaderData)) throw new InvalidArgumentException('The additiona header data must be of type String, ' . gettype($additionalHeaderData) . ' given.', 1237370877);
+               $this->additionalHeaderData[] = $additionalHeaderData;
        }
 
        /**
-        * Returns the additional header tags
+        * Returns the additional header data
         *
-        * @return array The additional header tags
+        * @return array The additional header data
         */
-       public function getAdditionalHeaderTags() {
-               return $this->additionalHeaderTags;
+       public function getAdditionalHeaderData() {
+               return $this->additionalHeaderData;
        }
 
 }
index 6203f11..32815fb 100644 (file)
@@ -22,8 +22,6 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/DomainObject/TX_EXTMVC_DomainObject_Entity.php');
-
 /**
  * An entity
  *
index 42d2558..7cfb17b 100644 (file)
@@ -23,9 +23,6 @@
 ***************************************************************/
 
 require_once(PATH_tslib . 'class.tslib_content.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_Session.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/DomainObject/TX_EXTMVC_DomainObject_Entity.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Tests/Fixtures/TX_EXTMVC_Tests_Fixtures_Entity.php');
 
 class TX_EXTMVC_Persistence_Session_testcase extends tx_phpunit_testcase {
        
index 33fb13d..bd71f52 100644 (file)
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
-// TODO these statements become obsolete with the new autoloader -> remove them
-
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/TX_EXTMVC_Request.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Web/TX_EXTMVC_Web_Request.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/TX_EXTMVC_Response.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Web/TX_EXTMVC_Web_Response.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Configuration/TX_EXTMVC_Configuration_Manager.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_AbstractController.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_ActionController.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_Arguments.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_Argument.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/View/TX_EXTMVC_View_AbstractView.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Persistence_Session.php');
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_ObjectRelationalMapper.php');
-
 /**
  * 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.
@@ -97,6 +82,7 @@ class TX_EXTMVC_Dispatcher {
                // $start_time = microtime(TRUE);
 
                $parameters = t3lib_div::_GET();
+               // TODO We should refuse to let the client change the plugins behaviour by adding "&action=show" to the url
                $extensionKey = isset($parameters['extension']) ? stripslashes($parameters['extension']) : $configuration['extension'];
                $controllerName = isset($parameters['controller']) ? stripslashes($parameters['controller']) : $configuration['controller'];
                $actionName = isset($parameters['action']) ? stripslashes($parameters['action']) : $configuration['action'];
@@ -122,15 +108,8 @@ class TX_EXTMVC_Dispatcher {
                // SK: strtolower($extensionKey) is wrong I think, as all underscores need to be removed as well.
                // SK: Example: tt_news -> tx_ttnews
                foreach (t3lib_div::GParrayMerged('tx_' . strtolower($extensionKey)) as $key => $value) {
-                       // SK: This argument is passed attached to the Request - so do NOT use  TX_EXTMVC_Controller_Argument or TX_EXTMVC_Controller_Arguments here.
-                       // SK: Instead, just add an argument by using $request->addArgument('key', 'value');
-                       // SK: The real argument mapping and validation then happens in the AbstractController.
-                       $argument = new TX_EXTMVC_Controller_Argument($key, 'Raw');
-                       $argument->setValue($value);
-                       $arguments->addArgument($argument);
+                       $request->setArgument($key, $value);
                }
-               // SK: as shown above, this needs to be changed
-               $request->setArguments($arguments);
                $request->setRequestURI(t3lib_div::getIndpEnv('TYPO3_REQUEST_URL'));
                $request->setBaseURI(t3lib_div::getIndpEnv('TYPO3_SITE_URL'));
                $response = t3lib_div::makeInstance('TX_EXTMVC_Web_Response');
@@ -145,8 +124,7 @@ class TX_EXTMVC_Dispatcher {
                $configurationManager = t3lib_div::makeInstance('TX_EXTMVC_Configuration_Manager', $configurationSources);
                $configurationManager->loadGlobalSettings($extensionKey);
                $configurationManager = t3lib_div::makeInstance('TX_EXTMVC_Configuration_Manager');
-               $settings = $configurationManager->getSettings($extensionKey);
-               $controller->injectSettings($settings);
+               $controller->injectSettings($configurationManager->getSettings($extensionKey));
 
                $session = t3lib_div::makeInstance('TX_EXTMVC_Persistence_Session');
                try {
@@ -156,14 +134,15 @@ class TX_EXTMVC_Dispatcher {
                $session->commit();
                $session->clear();
 
-               $GLOBALS['TSFE']->additionalHeaderData[$request->getControllerExtensionKey()] = implode("\n", $response->getAdditionalHeaderTags());
+               $GLOBALS['TSFE']->additionalHeaderData[$request->getControllerExtensionKey()] = implode("\n", $response->getAdditionalHeaderData());
 
                // TODO Remove debug statements
                // $end_time = microtime(TRUE);
                // debug($end_time - $start_time, -1);
 
-               // SK: Handle $response->getStatus()
+               // TODO Handle $response->getStatus()
                // SK: Call sendHeaders() on the response
+               // JR: I don't think we need this, because the header will be sent by TYPO3
                return $response->getContent();
        }