/**
  * Creates an isntance of this class.
  */
 public function __construct()
 {
     $this->apiWrapper = tx_realurl_apiwrapper::getInstance();
     $urlParameters = $this->apiWrapper->array_merge_recursive_overrule($_GET, $_POST);
     $this->currentPage = max(1, intval($urlParameters['page']));
     unset($urlParameters['page']);
     unset($urlParameters['cmd']);
     $this->baseURL = $this->apiWrapper->getIndpEnv('TYPO3_REQUEST_SCRIPT') . '?' . $this->apiWrapper->implodeArrayForUrl('', $urlParameters);
     $this->resultsPerPage = self::RESULTS_PER_PAGE_DEFAULT;
 }
Esempio n. 2
0
 /**
  * Adjusts the configuration used for RealURL path decoding, depending on a specific domain disposal.
  *
  * @param array $configuration Configuration required to determine hosts while path decoding
  * @return void
  */
 protected function adjustConfigurationByHostDecode($configuration)
 {
     if (is_array($configuration)) {
         $host = strtolower($this->apiWrapper->getIndpEnv('TYPO3_HOST_ONLY'));
         $hostConfiguration = false;
         if (isset($configuration[$host])) {
             $hostConfiguration = $configuration[$host];
         } else {
             $keys = array_keys($configuration);
             foreach ($keys as $regexp) {
                 if (preg_match('/^\\/[^\\/]+\\/$/', $regexp) && preg_match($regexp, $host)) {
                     $hostConfiguration = $configuration[$regexp];
                     break;
                 }
             }
         }
         if (is_array($hostConfiguration)) {
             if (isset($hostConfiguration['GETvars']) && is_array($hostConfiguration['GETvars'])) {
                 foreach ($hostConfiguration['GETvars'] as $key => $value) {
                     if (empty($_GET[$key])) {
                         $_GET[$key] = $value;
                         $this->additionalParametersForChash[$key] = $this->apiWrapper->testInt($value) ? intval($value) : $value;
                     }
                 }
                 if (isset($hostConfiguration['useConfiguration'])) {
                     $this->setConfigurationByReference($hostConfiguration['useConfiguration']);
                 }
             }
         }
     }
 }
 /**
  * Creates common configuration template.
  *
  * @return	array		Template
  */
 protected function getTemplate()
 {
     $confTemplate = array('init' => array('enableCHashCache' => true, 'appendMissingSlash' => 'ifNotFile,redirect', 'adminJumpToBackend' => true, 'enableUrlDecodeCache' => true, 'enableUrlEncodeCache' => true, 'emptyUrlReturnValue' => $this->apiWrapper->getIndpEnv('TYPO3_SITE_PATH')), 'pagePath' => array('type' => 'user', 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 'spaceCharacter' => '-', 'languageGetVar' => 'L'), 'fileName' => array('defaultToHTMLsuffixOnPrev' => 0, 'acceptHTMLsuffix' => 1));
     // Add print feature if TemplaVoila is not loaded
     if (!$this->apiWrapper->isExtLoaded('templavoila')) {
         $confTemplate['fileName']['index']['print'] = array('keyValues' => array('type' => 98));
     }
     // Add respectSimulateStaticURLs if SimulateStatic is loaded
     if ($this->apiWrapper->isExtLoaded('simulatestatic')) {
         $confTemplate['init']['respectSimulateStaticURLs'] = true;
     }
     $this->addLanguages($confTemplate);
     // Add from extensions
     if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'])) {
         foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'] as $extKey => $userFunc) {
             $params = array('config' => $confTemplate, 'extKey' => $extKey);
             $var = $this->apiWrapper->callUserFunction($userFunc, $params, $this);
             if ($var) {
                 $confTemplate = $var;
             }
         }
     }
     return $confTemplate;
 }