40 $pagesEnableFields =
$GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'enablecolumns'];
41 foreach ($pagesEnableFields as $pagesEnableField) {
42 $this->updateRequiringFields[] = $pagesEnableField;
44 $this->updateRequiringFields[] =
$GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'delete'];
48 if (!empty(
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'additionalTreelistUpdateFields'])) {
50 $this->updateRequiringFields = array_merge($this->updateRequiringFields, $additionalTreelistUpdateFields);
69 if ($status ==
'new') {
72 $affectedPageUid = $tceMain->substNEWwithIDs[$recordId];
73 $affectedPagePid = $updatedFields[
'pid'];
74 } elseif ($status ==
'update') {
76 $affectedPageUid = $recordId;
79 $fullPageRecord = BackendUtility::getRecord($table, $recordId);
80 $affectedPagePid = $fullPageRecord[
'pid'];
99 $action = (is_array($commandValue) && isset($commandValue[
'action'])) ? (
string)$commandValue[
'action'] :
'';
100 if ($table ===
'pages' && ($command ===
'delete' || ($command ===
'version' && $action ===
'swap'))) {
102 $affectedRecord = BackendUtility::getRecord($table, $recordId,
'*',
'', FALSE);
103 $affectedPageUid = $affectedRecord[
'uid'];
104 $affectedPagePid = $affectedRecord[
'pid'];
107 $updatedFields = array();
108 if ($command ===
'delete') {
109 $updatedFields[
'deleted'] = 1;
112 $updatedFields[
't3ver_wsid'] = 0;
137 $affectedPageUid = $recordId;
138 $affectedPageOldPid = $movedRecord[
'pid'];
139 $affectedPageNewPid = $updatedFields[
'pid'];
163 $affectedPageUid = $recordId;
164 $affectedPageOldPid = $movedRecord[
'pid'];
165 $affectedPageNewPid = $updatedFields[
'pid'];
181 $requiresUpdate = FALSE;
182 $updatedFieldNames = array_keys($updatedFields);
183 foreach ($updatedFieldNames as $updatedFieldName) {
184 if (in_array($updatedFieldName, $this->updateRequiringFields)) {
185 $requiresUpdate = TRUE;
189 return $requiresUpdate;
202 $actionNames = array_keys($actions);
203 foreach ($actionNames as $actionName) {
204 switch ($actionName) {
208 case 'setExpiration':
210 $expirationTime = $updatedFields[
'endtime'];
213 case 'uidInTreelist':
220 $randomNumber = rand(1, 1000);
221 if ($randomNumber == 500) {
235 $rootlineIds = array();
236 foreach ($rootline as $page) {
237 if ($page[
'uid'] != 0) {
238 $rootlineIds[] = $page[
'uid'];
241 if (!empty($rootlineIds)) {
242 $rootlineIdsImploded = implode(
',', $rootlineIds);
243 $GLOBALS[
'TYPO3_DB']->exec_DELETEquery(
'cache_treelist',
'pid IN(' . $rootlineIdsImploded .
')');
255 $GLOBALS[
'TYPO3_DB']->exec_DELETEquery(
'cache_treelist',
$GLOBALS[
'TYPO3_DB']->listQuery(
'treelist', $affectedPage,
'cache_treelist'));
267 $GLOBALS[
'TYPO3_DB']->exec_UPDATEquery(
'cache_treelist',
$GLOBALS[
'TYPO3_DB']->listQuery(
'treelist', $affectedPage,
'cache_treelist'), array(
268 'expires' => $expirationTime
278 $GLOBALS[
'TYPO3_DB']->exec_DELETEquery(
'cache_treelist',
'expires <= ' .
$GLOBALS[
'EXEC_TIME']);
291 if ($status ==
'new') {
293 $actions[
'allParents'] = TRUE;
294 } elseif ($status ==
'update') {
295 $updatedFieldNames = array_keys($updatedFields);
296 foreach ($updatedFieldNames as $updatedFieldName) {
297 switch ($updatedFieldName) {
300 case $GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'enablecolumns'][
'disabled']:
302 case $GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'delete']:
304 case $GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'enablecolumns'][
'starttime']:
306 case $GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'enablecolumns'][
'fe_group']:
308 case 'extendToSubpages':
312 case 'php_tree_stop':
314 $actions[
'allParents'] = TRUE;
315 $actions[
'uidInTreelist'] = TRUE;
317 case $GLOBALS[
'TCA'][
'pages'][
'ctrl'][
'enablecolumns'][
'endtime']:
322 if ($updatedFields[
'endtime'] > 0) {
323 $actions[
'setExpiration'] = TRUE;
325 $actions[
'uidInTreelist'] = TRUE;
329 if (in_array($updatedFieldName, $this->updateRequiringFields)) {
330 $actions[
'uidInTreelist'] = TRUE;
removeExpiredCacheEntries()
moveRecord_afterAnotherElementPostProcess($table, $recordId, $destinationPid, $originalDestinationPid, array $movedRecord, array $updatedFields, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain)
clearCacheForAllParents($affectedParentPage)
processCmdmap_postProcess($command, $table, $recordId, $commandValue, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain)
static BEgetRootLine($uid, $clause='', $workspaceOL=FALSE)
processDatamap_afterDatabaseOperations($status, $table, $recordId, array $updatedFields, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain)
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
clearCacheWhereUidInTreelist($affectedPage)
requiresUpdate(array $updatedFields)
moveRecord_firstElementPostProcess($table, $recordId, $destinationPid, array $movedRecord, array $updatedFields, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain)
processClearCacheActions($affectedPage, $affectedParentPage, $updatedFields, array $actions)
setCacheExpiration($affectedPage, $expirationTime)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
determineClearCacheActions($status, $updatedFields)