/** * Generates the site's unique Site Hash. * * The Site Hash is build from the site's main domain, the system encryption * key, and the extension "tx_solr". These components are concatenated and * sha1-hashed. * * @return string Site Hash. */ public function getSiteHash() { return Tx_Solr_Util::getSiteHashForDomain($this->getDomain()); }
/** * Limits the query to certain sites * * @param string $allowedSites Comma-separated list of domains */ public function setSiteHashFilter($allowedSites) { $allowedSites = t3lib_div::trimExplode(',', $allowedSites); $filters = array(); foreach ($allowedSites as $site) { $siteHash = Tx_Solr_Util::getSiteHashForDomain($site); $filters[] = 'siteHash:"' . $siteHash . '"'; } $this->addFilter(implode(' OR ', $filters)); }
* * This script is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ /* Provides the sitehash for a given domain, valid for the current TYPO3 installation. Example: http://www.my-typo3-solr-installation.com/index.php?eID=tx_solr_api&api=siteHash&apiKey=<API key>&domain=www.domain-to-index.com */ use TYPO3\CMS\Core\Utility\HttpUtility; $domain = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('domain'); $returnData = ''; if (!empty($domain)) { $siteHash = Tx_Solr_Util::getSiteHashForDomain($domain); $returnData = json_encode(array('sitehash' => $siteHash)); } else { header(HttpUtility::HTTP_STATUS_400); $errorMessage = 'You have to provide an existing domain, e.g. www.example.com.'; $returnData = json_encode(array('errorMessage' => $errorMessage)); } header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: no-cache, must-revalidate'); header('Content-Type: application/json; charset=utf-8'); header('Content-Transfer-Encoding: 8bit'); header('Content-Length: ' . strlen($returnData)); echo $returnData;
/** * Limits the query to certain sites * * @param string $allowedSites Comma-separated list of domains */ public function setSiteHashFilter($allowedSites) { $allowedSites = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $allowedSites); $filters = array(); foreach ($allowedSites as $site) { $siteHash = Tx_Solr_Util::getSiteHashForDomain($site); $filters[] = 'siteHash:"' . $siteHash . '"'; } $this->addFilter(implode(' OR ', $filters)); }