/**
  * @test
  */
 public function testGetVendorNameAndExtensionNameWithVendorNameUnderscore()
 {
     list($vendorName, $extensionName) = ExtensionNamingUtility::getVendorNameAndExtensionName('FT3.foo_ext');
     $this->assertSame('FT3', $vendorName);
     $this->assertSame('FooExt', $extensionName);
 }
Beispiel #2
0
 /**
  * @param string $controllerName
  * @return string|NULL
  */
 protected function buildExpectedAndExistingControllerClassName($controllerName)
 {
     $extensionName = $this->getControllerExtensionName();
     list($vendorName, $extensionName) = ExtensionNamingUtility::getVendorNameAndExtensionName($extensionName);
     if (NULL !== $vendorName) {
         $controllerClassName = $vendorName . '\\' . $extensionName . '\\Controller\\' . $controllerName . 'Controller';
     } else {
         $controllerClassName = $extensionName . '\\Controller\\' . $controllerName . 'Controller';
         if (FALSE === class_exists($controllerClassName)) {
             $controllerClassName = 'Tx_' . $extensionName . '_Controller_' . $controllerName . 'Controller';
         }
     }
     if (FALSE === class_exists($controllerClassName)) {
         $controllerClassName = NULL;
     }
     return $controllerClassName;
 }
Beispiel #3
0
 /**
  * @param array $data
  * @return mixed
  */
 public function conduct($data)
 {
     $extensionName = $this->getExtensionName();
     /** @var $request Request */
     $request = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request');
     $request->setControllerName($this->getController());
     $request->setControllerActionName($this->getAction());
     list($vendorName, $extensionName) = ExtensionNamingUtility::getVendorNameAndExtensionName($extensionName);
     $request->setControllerExtensionName($extensionName);
     if (NULL !== $vendorName) {
         $request->setControllerVendorName($vendorName);
     }
     $request->setArguments($data);
     /** @var $response Response */
     $response = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response');
     /** @var $dispatcher Dispatcher */
     $dispatcher = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Dispatcher');
     $dispatcher->dispatch($request, $response);
     return $response->getContent();
 }
 /**
  * @param string $extensionKey
  * @param string $controllerName
  * @return boolean|string
  */
 private static function buildControllerClassNameFromExtensionKeyAndControllerType($extensionKey, $controllerName)
 {
     if (TRUE === ExtensionNamingUtility::hasVendorName($extensionKey)) {
         list($vendorName, $extensionName) = ExtensionNamingUtility::getVendorNameAndExtensionName($extensionKey);
         $potentialClassName = $vendorName . '\\' . $extensionName . '\\Controller\\' . $controllerName . 'Controller';
     } else {
         $extensionName = ExtensionNamingUtility::getExtensionName($extensionKey);
         $potentialClassName = $extensionName . '\\Controller\\' . $controllerName . 'Controller';
         if (FALSE === class_exists($potentialClassName)) {
             $potentialClassName = 'Tx_' . $extensionName . '_Controller_' . $controllerName . 'Controller';
         }
     }
     return $potentialClassName;
 }
Beispiel #5
0
 /**
  * @param string $packageName
  * @return void
  */
 public function setPackageName($packageName)
 {
     $this->packageName = $packageName;
     list($vendorName, $extensionName) = ExtensionNamingUtility::getVendorNameAndExtensionName($packageName);
     $this->request->setControllerVendorName($vendorName);
     $this->request->setControllerExtensionName($extensionName);
 }