92fc355aff87c82b93342911a4748794143d4d96
[Packages/TYPO3.CMS.git] / typo3 / sysext / indexed_search / Classes / Hook / TypoScriptFrontendHook.php
1 <?php
2 namespace TYPO3\CMS\IndexedSearch\Hook;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Hooks for \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController (TSFE).
19 *
20 * @author Oliver Hader <oliver@typo3.org>
21 */
22 class TypoScriptFrontendHook {
23
24 /**
25 * Frontend hook: If the page is not being re-generated this is our chance to force it to be (because re-generation of the page is required in order to have the indexer called!)
26 *
27 * @param array Parameters from frontend
28 * @param object TSFE object (reference under PHP5)
29 * @return void
30 */
31 public function headerNoCache(array &$params, $ref) {
32 // Requirements are that the crawler is loaded, a crawler session is running and re-indexing requested as processing instruction:
33 if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('crawler') && $params['pObj']->applicationData['tx_crawler']['running'] && in_array('tx_indexedsearch_reindex', $params['pObj']->applicationData['tx_crawler']['parameters']['procInstructions'])) {
34 // Setting simple log entry:
35 $params['pObj']->applicationData['tx_crawler']['log'][] = 'RE_CACHE (indexed), old status: ' . $params['disableAcquireCacheData'];
36 // Disables a look-up for cached page data - thus resulting in re-generation of the page even if cached.
37 $params['disableAcquireCacheData'] = TRUE;
38 }
39 }
40
41 }