本文整理汇总了PHP中ApacheSolrForTypo3\Solr\Site类的典型用法代码示例。如果您正苦于以下问题:PHP Site类的具体用法?PHP Site怎么用?PHP Site使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Site类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getAdditionalInformation
/**
* Returns some additional information about indexing progress, shown in
* the scheduler's task overview list.
*
* @return string Information to display
*/
public function getAdditionalInformation()
{
$message = 'Site: ' . $this->site->getLabel();
$failedItemsCount = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('uid', 'tx_solr_indexqueue_item', 'root = ' . $this->site->getRootPageId() . ' AND errors != \'\'');
if ($failedItemsCount) {
$message .= ' Failures: ' . $failedItemsCount;
}
return $message;
}
示例2: initializePageIndexQueue
/**
* Initialize page index queue
*
* @return void
*/
protected function initializePageIndexQueue()
{
$this->pageInitializer->setIndexingConfigurationName('pages');
$this->pageInitializer->setSite(Site::getFirstAvailableSite());
$this->pageInitializer->setType('pages');
$this->pageInitializer->initialize();
}
示例3: getAdditionalInformation
/**
* This method is designed to return some additional information about the task,
* that may help to set it apart from other tasks from the same class
* This additional information is used - for example - in the Scheduler's BE module
* This method should be implemented in most task classes
*
* @return string Information to display
*/
public function getAdditionalInformation()
{
$information = '';
if ($this->site) {
$information = 'Site: ' . $this->site->getLabel();
}
if (!empty($this->indexingConfigurationsToReIndex)) {
$information .= ', Indexing Configurations: ' . implode(', ', $this->indexingConfigurationsToReIndex);
}
return $information;
}
示例4: resolveSite
/**
* @return void
*/
protected function resolveSite()
{
$this->site = $this->moduleData->getSite();
if (!$this->site instanceof Site) {
$this->initializeSiteFromFirstAvailableAndStoreInModuleData();
}
$rootPageId = $this->site instanceof Site ? $this->site->getRootPageId() : 0;
if ($rootPageId > 0 && !Util::pageExists($rootPageId)) {
$this->initializeSiteFromFirstAvailableAndStoreInModuleData();
}
}
示例5: validateAdditionalFields
/**
* Checks any additional data that is relevant to this task. If the task
* class is not relevant, the method is expected to return TRUE
*
* @param array $submittedData reference to the array containing the data submitted by the user
* @param SchedulerModuleController $schedulerModule reference to the calling object (Scheduler's BE module)
* @return boolean True if validation was ok (or selected class is not relevant), FALSE otherwise
*/
public function validateAdditionalFields(array &$submittedData, SchedulerModuleController $schedulerModule)
{
$result = false;
// validate site
$sites = Site::getAvailableSites();
if (array_key_exists($submittedData['site'], $sites)) {
$result = true;
}
// escape limit
$submittedData['documentsToIndexLimit'] = intval($submittedData['documentsToIndexLimit']);
return $result;
}
示例6: render
/**
* @return mixed
*/
public function render()
{
$availableSites = Site::getAvailableSites();
$currentSite = $this->moduleDataStorageService->loadModuleData()->getSite();
$hasSites = is_array($availableSites) && count($availableSites) > 0;
$this->templateVariableContainer->add('availableSites', $availableSites);
$this->templateVariableContainer->add('currentSite', $currentSite);
$this->templateVariableContainer->add('hasSites', $hasSites);
$output = $this->renderChildren();
$this->templateVariableContainer->remove('hasSites');
$this->templateVariableContainer->remove('currentSite');
$this->templateVariableContainer->remove('availableSites');
return $output;
}
示例7: preFilledQueueContainsRootPageAfterInitialize
/**
* @test
*/
public function preFilledQueueContainsRootPageAfterInitialize()
{
$this->importDataSetFromFixture('can_clear_queue_after_initialize.xml');
$itemCount = $this->indexQueue->getAllItemsCount();
$this->assertItemsInQueue(1);
$this->assertFalse($this->indexQueue->containsItem('pages', 1));
$this->assertTrue($this->indexQueue->containsItem('pages', 4711));
// after initialize the prefilled queue item should be lost and the root page should be added again
$site = Site::getFirstAvailableSite();
$this->indexQueue->initialize($site, 'pages');
$this->assertItemsInQueue(1);
$this->assertTrue($this->indexQueue->containsItem('pages', 1));
$this->assertFalse($this->indexQueue->containsItem('pages', 4711));
}
示例8: render
public function render()
{
$this->tag->addAttribute('onchange', 'jumpToUrl(document.URL + \'&tx_solr_tools_solradministration[action]=setSite&tx_solr_tools_solradministration[site]=\'+this.options[this.selectedIndex].value,this);');
$sites = Site::getAvailableSites();
$currentSite = $this->moduleDataStorageService->loadModuleData()->getSite();
$options = '';
foreach ($sites as $site) {
$selectedAttribute = '';
if ($site == $currentSite) {
$selectedAttribute = ' selected="selected"';
}
$options .= '<option value="' . $site->getRootPageId() . '"' . $selectedAttribute . '>' . $site->getLabel() . '</option>';
}
$this->tag->setContent($options);
return '<div class="docheader-funcmenu siteSelector"><label>Site: </label>' . $this->tag->render() . '</div>';
}
示例9: getSiteHashFilterForTSFE
/**
* Retrieves the value that should be used for the SiteHash filter.
*
* @param TypoScriptFrontendController $TSFE
* @return string
*/
protected function getSiteHashFilterForTSFE(TypoScriptFrontendController $TSFE)
{
return Site::getSiteByPageId($TSFE->id)->getDomain();
}
示例10: resolveSiteHashAllowedSites
/**
* Resolves magic keywords in allowed sites configuration.
* Supported keywords:
* __solr_current_site - The domain of the site the query has been started from
* __current_site - Same as __solr_current_site
* __all - Adds all domains as allowed sites
* * - Same as __all
*
* @param integer $pageId A page ID that is then resolved to the site it belongs to
* @param string $allowedSitesConfiguration TypoScript setting for allowed sites
* @return string List of allowed sites/domains, magic keywords resolved
*/
public static function resolveSiteHashAllowedSites($pageId, $allowedSitesConfiguration)
{
if ($allowedSitesConfiguration == '*' || $allowedSitesConfiguration == '__all') {
$sites = Site::getAvailableSites();
$domains = array();
foreach ($sites as $site) {
$domains[] = $site->getDomain();
}
$allowedSites = implode(',', $domains);
} else {
$allowedSites = str_replace(array('__solr_current_site', '__current_site'), Site::getSiteByPageId($pageId)->getDomain(), $allowedSitesConfiguration);
}
return $allowedSites;
}
示例11: initializeSiteFromFirstAvailableAndStoreInModuleData
/**
* Resets the stored site to the first available site.
*
* @return void‚
*/
protected function initializeSiteFromFirstAvailableAndStoreInModuleData()
{
$site = Site::getFirstAvailableSite();
$this->setSiteAndResetCore($site);
$this->site = $site;
}
示例12: getPageDocument
/**
* Builds the Solr document for the current page.
*
* @return \Apache_Solr_Document A document representing the page
*/
protected function getPageDocument()
{
$document = GeneralUtility::makeInstance('\\Apache_Solr_Document');
/* @var $document \Apache_Solr_Document */
$site = Site::getSiteByPageId($this->page->id);
$pageRecord = $this->page->page;
self::$pageSolrDocumentId = $documentId = Util::getPageDocumentId($this->page->id, $this->page->type, $this->page->sys_language_uid, $this->getDocumentIdGroups());
$document->setField('id', $documentId);
$document->setField('site', $site->getDomain());
$document->setField('siteHash', $site->getSiteHash());
$document->setField('appKey', 'EXT:solr');
$document->setField('type', 'pages');
// system fields
$document->setField('uid', $this->page->id);
$document->setField('pid', $pageRecord['pid']);
$document->setField('typeNum', $this->page->type);
$document->setField('created', $pageRecord['crdate']);
$document->setField('changed', $pageRecord['tstamp']);
$document->setField('rootline', $this->page->id);
// access
$document->setField('access', (string) $this->pageAccessRootline);
if ($this->page->page['endtime']) {
$document->setField('endtime', $pageRecord['endtime']);
}
// content
$document->setField('title', $this->contentExtractor->getPageTitle());
$document->setField('subTitle', $pageRecord['subtitle']);
$document->setField('navTitle', $pageRecord['nav_title']);
$document->setField('author', $pageRecord['author']);
$document->setField('description', $pageRecord['description']);
$document->setField('abstract', $pageRecord['abstract']);
$document->setField('content', $this->contentExtractor->getIndexableContent());
$document->setField('url', $this->pageUrl);
// keywords, multi valued
$keywords = array_unique(GeneralUtility::trimExplode(',', $pageRecord['keywords'], TRUE));
foreach ($keywords as $keyword) {
$document->addField('keywords', $keyword);
}
// content from several tags like headers, anchors, ...
$tagContent = $this->contentExtractor->getTagContent();
foreach ($tagContent as $fieldName => $fieldValue) {
$document->setField($fieldName, $fieldValue);
}
return $document;
}
示例13: canGetAdditionalInformationFromTask
/**
* @test
*/
public function canGetAdditionalInformationFromTask()
{
$this->importDataSetFromFixture('can_trigger_frontend_calls_for_page_index.xml');
$site = Site::getFirstAvailableSite();
/** @var $indexQueueQueueWorkerTask \ApacheSolrForTypo3\Solr\Task\IndexQueueWorkerTask */
$indexQueueQueueWorkerTask = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Task\\IndexQueueWorkerTask');
$indexQueueQueueWorkerTask->setDocumentsToIndexLimit(1);
$indexQueueQueueWorkerTask->setSite($site);
$additionalInformation = $indexQueueQueueWorkerTask->getAdditionalInformation();
$this->assertContains('Root Page ID: 1', $additionalInformation);
$this->assertContains('Site: page for testing', $additionalInformation);
}
示例14: canGetDefaultLanguage
/**
* @test
*/
public function canGetDefaultLanguage()
{
$this->importDataSetFromFixture('can_get_default_language.xml');
$site = Site::getFirstAvailableSite();
$this->assertEquals(888, $site->getDefaultLanguage(), 'Could not get default language from site');
}
示例15: resolveMountPageTree
/**
* Gets all the pages from a mounted page tree.
*
* @param integer $mountPageSourceId
* @return array An array of page IDs in the mounted page tree
*/
protected function resolveMountPageTree($mountPageSourceId)
{
$mountedSite = Site::getSiteByPageId($mountPageSourceId);
return $mountedSite->getPages($mountPageSourceId);
}