Ejemplo n.º 1
0
 /**
  * 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());
 }
Ejemplo n.º 2
0
 /**
  * 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));
 }
Ejemplo n.º 3
0
*
*  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;
Ejemplo n.º 4
0
 /**
  * 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));
 }