/** * 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; }
/** * 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; }