/**
  * Reindex an index document 
  * 
  * @param \Tollwerk\TwLucenesearch\Domain\Model\Document $document		Document
  * @return \boolean														Success
  */
 protected function _reindex(\Tollwerk\TwLucenesearch\Domain\Model\Document $document)
 {
     // Prepare the reference parameters
     $reference = $document->getReferenceParameters();
     if (array_key_exists('id', $reference)) {
         $pageUid = $reference['id'];
         unset($reference['id']);
     } else {
         $pageUid = $document->getPageUid();
     }
     if (array_key_exists('type', $reference)) {
         $pageType = $reference['type'];
         unset($reference['type']);
     } else {
         $pageType = 0;
     }
     $reference['index_force_reindex'] = 1;
     // Simulate a frontend environment
     \Tollwerk\TwLucenesearch\Utility\FrontendSimulator::simulateFrontendEnvironment($pageUid);
     // Create the frontend URL
     $uri = $this->uriBuilder->reset()->setTargetPageUid($pageUid)->setTargetPageType($pageType)->setNoCache(true)->setUseCacheHash(false)->setLinkAccessRestrictedPages(true)->setArguments($reference)->setCreateAbsoluteUri(true)->setAddQueryString(false)->setArgumentsToBeExcludedFromQueryString(array())->buildFrontendUri();
     // Fetch (and thus re-index) the URL
     $success = !!strlen($this->_getUrl($uri));
     // Reset the frontend environment
     \Tollwerk\TwLucenesearch\Utility\FrontendSimulator::resetFrontendEnvironment();
     return $success;
 }
 /**
  * Renders a preview link to a particular page 
  * 
  * @param \array $reference								Reference parameters
  * @see \TYPO3\CMS\Fluid\ViewHelpers\Link\PageViewHelper::render()
  */
 public function render(array $reference)
 {
     if (array_key_exists('id', $reference)) {
         $pageUid = $reference['id'];
         unset($reference['id']);
     } else {
         $pageUid = 0;
     }
     if (array_key_exists('type', $reference)) {
         $pageType = $reference['type'];
         unset($reference['type']);
     } else {
         $pageType = 0;
     }
     $reference['index_content_only'] = 1;
     if (TYPO3_MODE === 'BE') {
         \Tollwerk\TwLucenesearch\Utility\FrontendSimulator::simulateFrontendEnvironment($pageUid);
     }
     $uriBuilder = $this->controllerContext->getUriBuilder();
     $uri = $uriBuilder->reset()->setTargetPageUid($pageUid)->setTargetPageType($pageType)->setNoCache(true)->setUseCacheHash(false)->setLinkAccessRestrictedPages(true)->setArguments($reference)->setCreateAbsoluteUri(true)->setAddQueryString(false)->setArgumentsToBeExcludedFromQueryString(array())->buildFrontendUri();
     if (strlen($uri)) {
         $this->tag->addAttribute('href', $uri);
         $this->tag->setContent($this->renderChildren());
         $result = $this->tag->render();
     } else {
         $result = $this->renderChildren();
     }
     if (TYPO3_MODE === 'BE') {
         \Tollwerk\TwLucenesearch\Utility\FrontendSimulator::resetFrontendEnvironment();
     }
     return $result;
 }