Example #1
0
 /**
  * Returns the locale object for frontend
  *
  * @param \Aimeos\MShop\Context\Item\Iface $context Context object
  * @param \TYPO3\CMS\Extbase\Mvc\RequestInterface|null $request Request object
  * @return \Aimeos\MShop\Locale\Item\Iface Locale item object
  */
 public static function get(\Aimeos\MShop\Context\Item\Iface $context, \TYPO3\CMS\Extbase\Mvc\RequestInterface $request = null)
 {
     if (!isset(self::$locale)) {
         $config = $context->getConfig();
         $sitecode = $config->get('mshop/locale/site', 'default');
         $name = $config->get('typo3/param/name/site', 'loc_site');
         if ($request !== null && $request->hasArgument($name) === true) {
             $sitecode = $request->getArgument($name);
         } elseif (($value = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('S')) !== null) {
             $sitecode = $value;
         }
         $langid = $config->get('mshop/locale/language', '');
         $name = $config->get('typo3/param/name/language', 'loc_language');
         if ($request !== null && $request->hasArgument($name) === true) {
             $langid = $request->getArgument($name);
         } elseif (isset($GLOBALS['TSFE']->config['config']['language'])) {
             $langid = $GLOBALS['TSFE']->config['config']['language'];
         }
         $currency = $config->get('mshop/locale/currency', '');
         $name = $config->get('typo3/param/name/currency', 'loc_currency');
         if ($request !== null && $request->hasArgument($name) === true) {
             $currency = $request->getArgument($name);
         } elseif (($value = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('C')) !== null) {
             $currency = $value;
         }
         $localeManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($context);
         self::$locale = $localeManager->bootstrap($sitecode, $langid, $currency);
     }
     return self::$locale;
 }
Example #2
0
 /**
  * Maps arguments delivered by the request object to the local controller arguments.
  *
  * @throws Exception\RequiredArgumentMissingException
  * @return void
  */
 protected function mapRequestArgumentsToControllerArguments()
 {
     /** @var \TYPO3\CMS\Extbase\Mvc\Controller\Argument $argument */
     foreach ($this->arguments as $argument) {
         $argumentName = $argument->getName();
         if ($this->request->hasArgument($argumentName)) {
             $argument->setValue($this->request->getArgument($argumentName));
         } elseif ($argument->isRequired()) {
             throw new \TYPO3\CMS\Extbase\Mvc\Controller\Exception\RequiredArgumentMissingException('Required argument "' . $argumentName . '" is not set for ' . $this->request->getControllerObjectName() . '->' . $this->request->getControllerActionName() . '.', 1298012500);
         }
     }
 }
Example #3
0
 /**
  * Performs a redirect if possible
  *
  * @param RequestInterface $request
  * @param array $settings
  * @return void
  */
 public function processRedirect(RequestInterface $request, array $settings)
 {
     $formData = $request->getArgument('formData');
     $redirectUrl = NULL;
     // May be set by anything
     if (!empty($formData['redirect_url'])) {
         $redirectUrl = $formData['redirect_url'];
     }
     // May be set via config.typolinkLinkAccessRestrictedPages_addParams
     if (!empty($formData['return_url'])) {
         $redirectUrl = $formData['return_url'];
     }
     if ($redirectUrl !== NULL) {
         HttpUtility::redirect($redirectUrl);
     }
 }
Example #4
0
 /**
  * Returns the fixed parameters that should be included in every URL
  *
  * @param \MW_Config_Interface $config Config object
  * @param \TYPO3\CMS\Extbase\Mvc\RequestInterface $request Request object
  * @return array Associative list of site, language and currency if available
  */
 protected static function getFixedParams(\MW_Config_Interface $config, \TYPO3\CMS\Extbase\Mvc\RequestInterface $request)
 {
     $fixed = array();
     $name = $config->get('typo3/param/name/site', 'loc-site');
     if ($request->hasArgument($name) === true) {
         $fixed[$name] = $request->getArgument($name);
     }
     $name = $config->get('typo3/param/name/language', 'loc-language');
     if ($request->hasArgument($name) === true) {
         $fixed[$name] = $request->getArgument($name);
     }
     $name = $config->get('typo3/param/name/currency', 'loc-currency');
     if ($request->hasArgument($name) === true) {
         $fixed[$name] = $request->getArgument($name);
     }
     return $fixed;
 }
 /**
  * Returns the JSON encoded site item.
  *
  * @param \TYPO3\CMS\Extbase\Mvc\RequestInterface $request TYPO3 request object
  * @return string JSON encoded site item object
  * @throws Exception If no site item was found for the code
  */
 protected function getSite(\TYPO3\CMS\Extbase\Mvc\RequestInterface $request)
 {
     $localeManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($this->getContext());
     $manager = $localeManager->getSubManager('site');
     $site = 'default';
     if ($request->hasArgument('site')) {
         $site = $request->getArgument('site');
     }
     $criteria = $manager->createSearch();
     $criteria->setConditions($criteria->compare('==', 'locale.site.code', $site));
     $items = $manager->searchItems($criteria);
     if (($item = reset($items)) === false) {
         throw new Exception(sprintf('No site found for code "%1$s"', $site));
     }
     return json_encode($item->toArray());
 }
Example #6
0
 public function bindRequest(RequestInterface $request)
 {
     if ($request->hasArgument($this->getName())) {
         $this->setValue($request->getArgument($this->getName()));
     }
 }
Example #7
0
 /**
  * Reads the submitted values from the request and assigns them
  * to the appropriate fields.
  *
  * @param RequestInterface $request
  */
 public function bindRequest(RequestInterface $request)
 {
     foreach ($this->controlFields as $key => $value) {
         $this->controlFields[$key] = $request->getArgument($key);
     }
     foreach ($this->getFields() as $field) {
         $field->bindRequest($request);
     }
     $this->isBound = TRUE;
 }
 /**
  * Determines if request holds a bookmark to restore and in case there is forwards it to restoreBookmark
  *
  * @param \TYPO3\CMS\Extbase\Mvc\RequestInterface $request
  */
 public function processRequest(\TYPO3\CMS\Extbase\Mvc\RequestInterface $request)
 {
     if ($request->hasArgument('action') && $request->hasArgument('controller')) {
         if ($request->getArgument('action') == 'restore' && $request->getArgument('controller') == 'Bookmark' && $this->bookmarkIsRestored === FALSE) {
             if ($request->hasArgument('bookmark')) {
                 $this->restoreBookmarkByUid($request->getArgument('bookmark'));
             }
         }
     }
 }