* adapted the request and response objects
authorJochen Rau <j.rau@web.de>
Wed, 21 Jan 2009 11:32:59 +0000 (11:32 +0000)
committerJochen Rau <j.rau@web.de>
Wed, 21 Jan 2009 11:32:59 +0000 (11:32 +0000)
* adapted the controller hierarchy
* removed dependencies to \F3\PHP6\Functions::
* renamed dispatcher to meet political correctness
* very mature request response cycle works now!

13 files changed:
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/Controller/TX_EXTMVC_Controller_RequestHandlingController.php
typo3/sysext/extbase/Classes/TX_EXTMVC_Request.php
typo3/sysext/extbase/Classes/View/Helper/TX_EXTMVC_View_Helper_URIHelper.php
typo3/sysext/extbase/Classes/View/TX_EXTMVC_View_Template.php
typo3/sysext/extbase/Classes/Web/TX_EXTMVC_Web_RequestBuilder.php
typo3/sysext/extbase/Classes/Web/TX_EXTMVC_Web_Response.php
typo3/sysext/extbase/class.tx_extmvc_dispatcher.php [new file with mode: 0644]
typo3/sysext/extbase/ext_emconf.php
typo3/sysext/extbase/tx_extmvc_dispatcher.php [deleted file]

index f13c199..db7632b 100755 (executable)
@@ -27,7 +27,7 @@ declare(ENCODING = 'utf-8');
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-abstract class AbstractController {
+abstract class TX_EXTMVC_Controller_AbstractController {
 
        /**
         * @var F3_FLOW3_Object_FactoryInterface A reference to the Object Factory
@@ -61,7 +61,7 @@ abstract class AbstractController {
        public function __construct(F3_FLOW3_Object_FactoryInterface $objectFactory, F3_FLOW3_Package_ManagerInterface $packageManager) {
                $this->objectFactory = $objectFactory;
                list(, $this->extensionKey) = explode('\\', get_class($this));
-               $this->package = $packageManager->getPackage($this->extensionKey);
+               // $this->package = $packageManager->getPackage($this->extensionKey);
        }
 
        /**
index ae77817..c7dd34c 100644 (file)
@@ -27,7 +27,7 @@ declare(ENCODING = 'utf-8');
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-class ActionController extends TX_EXTMVC_Controller_RequestHandlingController {
+class TX_EXTMVC_Controller_ActionController extends TX_EXTMVC_Controller_RequestHandlingController {
 
        /**
         * @var F3_FLOW3_Object_ManagerInterface
@@ -37,7 +37,7 @@ class ActionController extends TX_EXTMVC_Controller_RequestHandlingController {
        /**
         * @var boolean If initializeView() should be called on an action invocation.
         */
-       protected $initializeView = TRUE;
+       protected $initializeView = FALSE; // TODO set to TRUE
 
        /**
         * @var TX_EXTMVC_View_AbstractView By default a view with the same name as the current action is provided. Contains NULL if none was found.
@@ -83,7 +83,7 @@ class ActionController extends TX_EXTMVC_Controller_RequestHandlingController {
                $this->initializeAction();
                if ($this->initializeView) $this->initializeView();
                $actionResult = call_user_func_array(array($this, $actionMethodName), array());
-               if (is_string($actionResult) && F3_PHP6_Functions::strlen($actionResult) > 0) {
+               if (is_string($actionResult) && strlen($actionResult) > 0) {
                        $this->response->appendContent($actionResult);
                }
        }
index a5f2ba2..91645a4 100644 (file)
@@ -140,7 +140,7 @@ class Argument {
         * @author Robert Lemke <robert@typo3.org>
         */
        public function __construct($name, $dataType = 'Text', F3_FLOW3_Object_ManagerInterface $objectManager) {
-               if (!is_string($name) || F3_PHP6_Functions::strlen($name) < 1) throw new InvalidArgumentException('$name must be of type string, ' . gettype($name) . ' given.', 1187951688);
+               if (!is_string($name) || strlen($name) < 1) throw new InvalidArgumentException('$name must be of type string, ' . gettype($name) . ' given.', 1187951688);
                $this->objectManager = $objectManager;
                $this->objectFactory = $this->objectManager->getObjectFactory();
                $this->name = $name;
@@ -167,7 +167,7 @@ class Argument {
         * @author Robert Lemke <robert@typo3.org>
         */
        public function setShortName($shortName) {
-               if ($shortName !== NULL && (!is_string($shortName) || F3_PHP6_Functions::strlen($shortName) != 1)) throw new InvalidArgumentException('$shortName must be a single character or NULL', 1195824959);
+               if ($shortName !== NULL && (!is_string($shortName) || strlen($shortName) != 1)) throw new InvalidArgumentException('$shortName must be a single character or NULL', 1195824959);
                $this->shortName = $shortName;
                return $this;
        }
index 80eb6ab..e2d0f5a 100644 (file)
@@ -233,10 +233,10 @@ class Arguments extends ArrayObject {
         * @author Andreas Förthner <andreas.foerthner@netlogix.de>
         */
        public function __call($methodName, array $arguments) {
-               if (F3_PHP6_Functions::substr($methodName, 0, 3) !== 'set') throw new LogicException('Unknown method "' . $methodName . '".', 1210858451);
+               if (substr($methodName, 0, 3) !== 'set') throw new LogicException('Unknown method "' . $methodName . '".', 1210858451);
 
-               $firstLowerCaseArgumentName = $this->translateToLongArgumentName(F3_PHP6_Functions::strtolower($methodName{3}) . F3_PHP6_Functions::substr($methodName, 4));
-               $firstUpperCaseArgumentName = $this->translateToLongArgumentName(F3_PHP6_Functions::ucfirst(F3_PHP6_Functions::substr($methodName, 3)));
+               $firstLowerCaseArgumentName = $this->translateToLongArgumentName(strtolower($methodName{3}) . substr($methodName, 4));
+               $firstUpperCaseArgumentName = $this->translateToLongArgumentName(ucfirst(substr($methodName, 3)));
 
                if (in_array($firstLowerCaseArgumentName, $this->getArgumentNames())) {
                        $argument = parent::offsetGet($firstLowerCaseArgumentName);
index 2660aad..ff94f74 100644 (file)
@@ -27,7 +27,7 @@ declare(ENCODING = 'utf-8');
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-class RequestHandlingController extends TX_EXTMVC_Controller_AbstractController {
+class TX_EXTMVC_Controller_RequestHandlingController extends TX_EXTMVC_Controller_AbstractController {
 
        /**
         * @var TX_EXTMVC_Request The current request
@@ -52,7 +52,7 @@ class RequestHandlingController extends TX_EXTMVC_Controller_AbstractController
        /**
         * @var array An array of supported request types. By default only web requests are supported. Modify or replace this array if your specific controller supports certain (additional) request types.
         */
-       protected $supportedRequestTypes = array('F3_FLOW3_MVC_Web_Request');
+       protected $supportedRequestTypes = array('TX_EXTMVC_Web_Request');
 
        /**
         * @var F3_FLOW3_Property_MappingResults Mapping results of the arguments mapping process
@@ -66,9 +66,9 @@ class RequestHandlingController extends TX_EXTMVC_Controller_AbstractController
         * @param F3_FLOW3_Package_ManagerInterface $packageManager A reference to the Package Manager
         * @author Robert Lemke <robert@typo3.org>
         */
-       public function __construct(F3_FLOW3_Object_FactoryInterface $objectFactory, F3_FLOW3_Package_ManagerInterface $packageManager) {
-               $this->arguments = $objectFactory->create('F3_FLOW3_MVC_Controller_Arguments');
-               parent::__construct($objectFactory, $packageManager);
+       public function __construct() {
+               // $this->arguments = $objectFactory->create('F3_FLOW3_MVC_Controller_Arguments');
+               // parent::__construct($objectFactory, $packageManager);
        }
 
        /**
@@ -116,8 +116,8 @@ class RequestHandlingController extends TX_EXTMVC_Controller_AbstractController
                $this->request->setDispatched(TRUE);
                $this->response = $response;
 
-               $this->initializeArguments();
-               $this->mapRequestArgumentsToLocalArguments();
+               // $this->initializeArguments();
+               // $this->mapRequestArgumentsToLocalArguments();
        }
 
        /**
index 007b8ae..39de606 100644 (file)
@@ -121,8 +121,8 @@ class TX_EXTMVC_Request {
         */
        public function getControllerObjectName() {
                $lowercaseObjectName = str_replace('@extension', $this->controllerExtensionKey, $this->controllerObjectNamePattern);
-               $lowercaseObjectName = strtolower(str_replace('@controller', $this->controllerName, $lowercaseObjectName));
-               $objectName = $this->objectManager->getCaseSensitiveObjectName($lowercaseObjectName); // TODO implement getCaseSensitiveObjectName() 
+               $lowercaseObjectName = str_replace('@controller', $this->controllerName, $lowercaseObjectName);
+               $objectName = $lowercaseObjectName; //$this->objectManager->getCaseSensitiveObjectName($lowercaseObjectName); // TODO implement getCaseSensitiveObjectName() 
                if ($objectName === FALSE) throw new TX_EXTMVC_Exception_NoSuchController('The controller object "' . $lowercaseObjectName . '" does not exist.', 1220884009);
 
                return $objectName;
@@ -205,7 +205,7 @@ class TX_EXTMVC_Request {
         * @author Robert Lemke <robert@typo3.org>
         */
        public function setControllerExtensionKey($extensionKey) {
-               $upperCamelCasedExtensionKey = $this->packageManager->getCaseSensitiveExtensionKey($extensionKey);  // TODO implement getCaseSensitiveExtensionKey() 
+               $upperCamelCasedExtensionKey = $extensionKey; //$this->packageManager->getCaseSensitiveExtensionKey($extensionKey);  // TODO implement getCaseSensitiveExtensionKey() 
                if ($upperCamelCasedExtensionKey === FALSE) throw new TX_EXTMVC_Exception_InvalidExtensionKey('"' . $extensionKey . '" is not a valid extension key.', 1217961104);
                $this->controllerExtensionKey = $upperCamelCasedExtensionKey;
        }
@@ -257,7 +257,7 @@ class TX_EXTMVC_Request {
         */
        public function setControllerActionName($actionName) {
                if (!is_string($actionName)) throw new TX_EXTMVC_Exception_InvalidActionName('The action name must be a valid string, ' . gettype($actionName) . ' given (' . $actionName . ').', 1187176358);
-               if ($actionName{0} !== F3_PHP6_Functions::strtolower($actionName{0})) throw new TX_EXTMVC_Exception_InvalidActionName('The action name must start with a lower case letter, "' . $actionName . '" does not match this criteria.', 1218473352);
+               if ($actionName{0} !== strtolower($actionName{0})) throw new TX_EXTMVC_Exception_InvalidActionName('The action name must start with a lower case letter, "' . $actionName . '" does not match this criteria.', 1218473352);
                $this->controllerActionName = $actionName;
        }
 
@@ -280,7 +280,7 @@ class TX_EXTMVC_Request {
         * @author Robert Lemke <robert@typo3.org>
         */
        public function setArgument($argumentName, $value) {
-               if (!is_string($argumentName) || F3_PHP6_Functions::strlen($argumentName) == 0) throw new TX_EXTMVC_Exception_InvalidArgumentName('Invalid argument name.', 1210858767);
+               if (!is_string($argumentName) || strlen($argumentName) == 0) throw new TX_EXTMVC_Exception_InvalidArgumentName('Invalid argument name.', 1210858767);
                $this->arguments[$argumentName] = $value;
        }
 
index 4715dba..f15dd17 100644 (file)
@@ -80,7 +80,7 @@ class URIHelper extends TX_EXTMVC_View_Helper_AbstractHelper {
                $routeValues = $arguments;
                $routeValues['@action'] = $actionName;
                $routeValues['@controller'] = ($controllerName === NULL) ? $this->request->getControllerName() : $controllerName;
-               $routeValues['@package'] = ($extensionKey === NULL) ? $this->request->getControllerExtensionKey() : $extensionKey;
+               $routeValues['@extension'] = ($extensionKey === NULL) ? $this->request->getControllerExtensionKey() : $extensionKey;
                $currentSubextensionKey = $this->request->getControllerSubextensionKey();
                if ($subextensionKey === NULL && strlen($currentSubextensionKey)) {
                        $routeValues['@subpackage'] = $currentSubextensionKey;
index 461876c..6c3cce9 100644 (file)
@@ -103,11 +103,11 @@ class Template extends TX_EXTMVC_View_AbstractView {
                if ($this->templateResource == '') throw new TX_EXTMVC_Exception_InvalidTemplateResource('No template resource has been defined yet.', 1187860750);
                $output = $this->templateResource;
                foreach ($this->markers as $marker => $content) {
-                       $output = str_replace('###' . F3_PHP6_Functions::strtoupper($marker) . '###', $content, $output);
+                       $output = str_replace('###' . strtoupper($marker) . '###', $content, $output);
                }
 
                foreach ($this->parts as $marker => $content) {
-                       $output = preg_replace('/<!--\s*###' . F3_PHP6_Functions::strtoupper(preg_quote($marker, '/')) . '###.*###' . F3_PHP6_Functions::strtoupper(preg_quote($marker, '/')) . '###.*-->/msU', $content, $output);
+                       $output = preg_replace('/<!--\s*###' . strtoupper(preg_quote($marker, '/')) . '###.*###' . strtoupper(preg_quote($marker, '/')) . '###.*-->/msU', $content, $output);
                }
                return $output;
        }
index 2546ff4..1ca67ba 100644 (file)
@@ -27,49 +27,13 @@ declare(ENCODING = 'utf-8');
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-class RequestBuilder {
-
-       /**
-        * @var F3_FLOW3_Object_FactoryInterface $objectFactory: A reference to the Object Factory
-        */
-       protected $objectFactory;
-
-       /**
-        * @var F3_FLOW3_Utility_Environment
-        */
-       protected $environment;
+class TX_EXTMVC_Web_RequestBuilder {
 
        /**
         * @var F3_FLOW3_Configuration_Manager
         */
        protected $configurationManager;
 
-       /**
-        * @var TX_EXTMVC_Web_RouterInterface
-        */
-       protected $router;
-
-       /**
-        * Constructs this Web Request Builder
-        *
-        * @param F3_FLOW3_Object_FactoryInterface $objectFactory A reference to the object factory
-        * @author Robert Lemke <robert@typo3.org>
-        */
-       public function __construct(F3_FLOW3_Object_FactoryInterface $objectFactory) {
-               $this->objectFactory = $objectFactory;
-       }
-
-       /**
-        * Injects the server environment
-        *
-        * @param F3_FLOW3_Utility_Environment $environment The environment
-        * @return void
-        * @author Robert Lemke <robert@typo3.org>
-        */
-       public function injectEnvironment(F3_FLOW3_Utility_Environment $environment) {
-               $this->environment = $environment;
-       }
-
        /**
         * Injects the configuration manager
         *
@@ -81,17 +45,6 @@ class RequestBuilder {
                $this->configurationManager = $configurationManager;
        }
 
-       /**
-        * Injects a router for routing the web request
-        *
-        * @param TX_EXTMVC_Web_Routing_RouterInterface $router A router which routes the web request to a controller and action
-        * @return void
-        * @author Robert Lemke <robert@typo3.org>
-        */
-       public function injectRouter(TX_EXTMVC_Web_Routing_RouterInterface $router) {
-               $this->router = $router;
-       }
-
        /**
         * Builds a web request object from the raw HTTP information
         *
@@ -99,14 +52,14 @@ class RequestBuilder {
         * @author Robert Lemke <robert@typo3.org>
         */
        public function build() {
-               $request = $this->objectFactory->create('F3_FLOW3_MVC_Web_Request');
-               $request->injectEnvironment($this->environment);
-               $request->setRequestURI($this->environment->getRequestURI());
-               $request->setMethod($this->environment->getRequestMethod());
-
-               $routesConfiguration = $this->configurationManager->getSpecialConfiguration(F3_FLOW3_Configuration_Manager::CONFIGURATION_TYPE_ROUTES);
-               $this->router->setRoutesConfiguration($routesConfiguration);
-               $this->router->route($request);
+               $request = t3lib_div::makeInstance('TX_EXTMVC_Web_Request');
+               // $request->injectEnvironment($this->environment);
+               // $request->setRequestURI($this->environment->getRequestURI());
+               // $request->setMethod($this->environment->getRequestMethod());
+               // 
+               // $routesConfiguration = $this->configurationManager->getSpecialConfiguration(F3_FLOW3_Configuration_Manager::CONFIGURATION_TYPE_ROUTES);
+               // $this->router->setRoutesConfiguration($routesConfiguration);
+               // $this->router->route($request);
 
                return $request;
        }
index 6192808..172ed49 100755 (executable)
@@ -28,7 +28,7 @@ declare(ENCODING = 'utf-8');
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  * @scope prototype
  */
-class TX_EXTMVC_Response extends TX_EXTMVC_Response {
+class TX_EXTMVC_Web_Response extends TX_EXTMVC_Response {
 
        /**
         * The HTTP headers which will be sent in the response
diff --git a/typo3/sysext/extbase/class.tx_extmvc_dispatcher.php b/typo3/sysext/extbase/class.tx_extmvc_dispatcher.php
new file mode 100644 (file)
index 0000000..36983ff
--- /dev/null
@@ -0,0 +1,128 @@
+<?php
+declare(ENCODING = 'utf-8');
+
+/*                                                                        *
+ * This script belongs to the FLOW3 framework.                            *
+ *                                                                        *
+ * It is free software; you can redistribute it and/or modify it under    *
+ * the terms of the GNU Lesser General Public License as published by the *
+ * Free Software Foundation, either version 3 of the License, or (at your *
+ * option) any later version.                                             *
+ *                                                                        *
+ * This script is distributed in the hope that it will be useful, but     *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
+ * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser       *
+ * General Public License for more details.                               *
+ *                                                                        *
+ * You should have received a copy of the GNU Lesser General Public       *
+ * License along with the script.                                         *
+ * If not, see http://www.gnu.org/licenses/lgpl.html                      *
+ *                                                                        *
+ * The TYPO3 project - inspiring people to share!                         *
+ *                                                                        */
+
+// TODO these statements become obsolete with the new autoloader -> remove them
+
+require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Web/TX_EXTMVC_Web_RequestBuilder.php');
+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/Controller/TX_EXTMVC_Controller_AbstractController.php');
+require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_RequestHandlingController.php');
+require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Controller/TX_EXTMVC_Controller_ActionController.php');
+
+// FIXIT
+require_once(t3lib_extMgm::extPath('blogexample') . 'Classes/Controller/TX_Blogexample_Controller_PostsController.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.
+ *
+ * @version $Id:$
+ * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
+ */
+class TX_EXTMVC_Dispatcher {
+
+       /**
+        * @var TX_EXTMVC_Configuration_Manager A reference to the configuration manager
+        */
+       protected $configurationManager;
+
+       /**
+        * @var TX_EXTMVC_Web_RequestBuilder
+        */
+       protected $requestBuilder;
+
+       /**
+        * @var ArrayObject The raw GET parameters
+        */
+       protected $getParameters;
+
+       /**
+        * @var ArrayObject The raw POST parameters
+        */
+       protected $postParameters;
+
+       /**
+        * Constructs this dispatcher
+        *
+        * @author Jochen Rau <jochen.rau@typoplanet.de>
+        */
+       public function __construct() {
+               $this->arguments = new ArrayObject;
+       }
+
+       /**
+        * Creates a request an dispatches it to a controller.
+        *
+        * @param String $content The content
+        * @param array|NULL $configuration The TS configuration array
+        * @return String $content The processed content
+        * @author Robert Lemke <robert@typo3.org>
+        * @author Andreas Förthner <andreas.foerthner@netlogix.de>    
+        * @author Jochen Rau <jochen.rau@typoplanet.de>
+        */
+       public function dispatch($content, $configuration) {
+               // debug($configuration);
+               // TODO instantiate the configurationManager
+               // TODO instantiate a request object
+               $requestBuilder = t3lib_div::makeInstance('TX_EXTMVC_Web_RequestBuilder');
+               $request = $requestBuilder->build();
+               $request->setControllerExtensionKey($configuration['extension']);
+               $request->setControllerName($configuration['controller']);
+               $request->setControllerActionName($configuration['action']);
+               $request->setControllerActionName($configuration['action']);
+
+               $response = t3lib_div::makeInstance('TX_EXTMVC_Web_Response');
+
+               // $getParameters = t3lib_div::_GET();
+               // $postParameters = t3lib_div::_POST();
+               // $settings = $this->configurationManager->getSettings($extensionKey);
+
+               $controller = $this->getPreparedController($request, $response);
+               $controller->processRequest($request, $response);
+               return $response->getContent();
+       }
+
+       /**
+        * Resolves, prepares and returns the controller which is specified in the request object.
+        *
+        * @param TX_EXTMVC_Request $request The current request
+        * @param TX_EXTMVC_Response $response The current response
+        * @return TX_EXTMVC_Controller_RequestHandlingController The controller
+        * @throws TX_EXTMVC_Exception_NoSuchController, TX_EXTMVC_Exception_InvalidController
+        * @author Robert Lemke <robert@typo3.org>
+        * @author Jochen Rau <jochen.rau@typoplanet.de>
+        */
+       protected function getPreparedController(TX_EXTMVC_Request $request, TX_EXTMVC_Response $response) {
+               $controllerObjectName = $request->getControllerObjectName();
+               $controller = t3lib_div::makeInstance($controllerObjectName);
+               
+               if (!$controller instanceof TX_EXTMVC_Controller_RequestHandlingController) throw new TX_EXTMVC_Exception_InvalidController('Invalid controller "' . $controllerObjectName . '". The controller must be a valid request handling controller.', 1202921619);
+               
+               // $controller->setSettings($this->configurationManager->getSettings($request->getControllerExtensionKey()));
+               return $controller;
+       }
+}
+?>
\ No newline at end of file
index 5138d7d..6b9ef5f 100644 (file)
@@ -23,7 +23,7 @@ $EM_CONF[$_EXTKEY] = array(
        'module' => '',
        'state' => 'beta',
        'internal' => '',
-       'uploadfolder' => 1,
+       'uploadfolder' => 0,
        'createDirs' => '',
        'modify_tables' => '',
        'clearCacheOnLoad' => 1,
@@ -33,7 +33,7 @@ $EM_CONF[$_EXTKEY] = array(
        'constraints' => array(
                'depends' => array(
                        'php' => '5.1.0-0.0.0',
-                       'typo3' => '4.3.0-4.3.99',
+                       'typo3' => '4.3.dev-4.3.99',
                ),
                'conflicts' => array(
                ),
diff --git a/typo3/sysext/extbase/tx_extmvc_dispatcher.php b/typo3/sysext/extbase/tx_extmvc_dispatcher.php
deleted file mode 100644 (file)
index ee0897c..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-declare(ENCODING = 'utf-8');
-
-/*                                                                        *
- * This script belongs to the FLOW3 framework.                            *
- *                                                                        *
- * It is free software; you can redistribute it and/or modify it under    *
- * the terms of the GNU Lesser General Public License as published by the *
- * Free Software Foundation, either version 3 of the License, or (at your *
- * option) any later version.                                             *
- *                                                                        *
- * This script is distributed in the hope that it will be useful, but     *
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
- * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser       *
- * General Public License for more details.                               *
- *                                                                        *
- * You should have received a copy of the GNU Lesser General Public       *
- * License along with the script.                                         *
- * If not, see http://www.gnu.org/licenses/lgpl.html                      *
- *                                                                        *
- * The TYPO3 project - inspiring people to share!                         *
- *                                                                        */
-
-/**
- * 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.
- *
- * @version $Id:$
- * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
- */
-class TX_EXTMVC_Dispatcher {
-
-       /**
-        * @var TX_EXTMVC_Configuration_Manager A reference to the configuration manager
-        */
-       protected $configurationManager;
-
-       /**
-        * @var TX_EXTMVC_Web_RequestBuilder
-        */
-       protected $requestBuilder;
-
-       /**
-        * @var ArrayObject The raw GET parameters
-        */
-       protected $getParameters;
-
-       /**
-        * @var ArrayObject The raw POST parameters
-        */
-       protected $postParameters;
-
-       /**
-        * Constructs this dispatcher
-        *
-        * @author Jochen Rau <jochen.rau@typoplanet.de>
-        */
-       public function __construct() {
-               $this->arguments = new ArrayObject;
-       }
-
-       /**
-        * Creates a request an dispatches it to a controller.
-        *
-        * @param String $content The content
-        * @param array|NULL $configuration The TS configuration array
-        * @return String $content The processed content
-        * @author Robert Lemke <robert@typo3.org>
-        * @author Andreas Förthner <andreas.foerthner@netlogix.de>    
-        * @author Jochen Rau <jochen.rau@typoplanet.de>
-        */
-       public function dispatch($content, $configuration) {            
-               // TODO instantiate the configurationManager
-               // TODO intantiate a request object
-               // TODO intantiate a response object
-               $getParameters = t3lib_div::_GET();
-               $postParameters = t3lib_div::_POST();
-               $settings = $this->configurationManager->getSettings($extensionKey);
-
-               $controller = $this->getPreparedController($request, $response);
-               $controller->processRequest($request, $response);
-               return $response->getContent();
-       }
-
-       /**
-        * Resolves, prepares and returns the controller which is specified in the request object.
-        *
-        * @param TX_EXTMVC_Request $request The current request
-        * @param TX_EXTMVC_Response $response The current response
-        * @return TX_EXTMVC_Controller_RequestHandlingController The controller
-        * @throws TX_EXTMVC_Exception_NoSuchController, TX_EXTMVC_Exception_InvalidController
-        * @author Robert Lemke <robert@typo3.org>
-        * @author Jochen Rau <jochen.rau@typoplanet.de>
-        */
-       protected function getPreparedController(TX_EXTMVC_Request $request, TX_EXTMVC_Response $response) {
-               $controllerObjectName = $request->getControllerObjectName();
-               $controller = t3lib_div::makeInstance($controllerObjectName);
-               
-               if (!$controller instanceof TX_EXTMVC_Controller_RequestHandlingController) throw new TX_EXTMVC_Exception_InvalidController('Invalid controller "' . $controllerObjectName . '". The controller must be a valid request handling controller.', 1202921619);
-
-               $controller->setSettings($this->configurationManager->getSettings($request->getControllerExtensionKey()));
-               return $controller;
-       }
-}
-?>
\ No newline at end of file