Project

General

Profile

Bug #16675 » clearCache-full.txt

Administrator Admin, 2007-03-15 14:21

 
Index: C:/Documents and Settings/Dmitry/workspace-typo3/TYPO3-HEAD/t3lib/class.t3lib_tcemain.php
===================================================================
--- C:/Documents and Settings/Dmitry/workspace-typo3/TYPO3-HEAD/t3lib/class.t3lib_tcemain.php (revision 2190)
+++ C:/Documents and Settings/Dmitry/workspace-typo3/TYPO3-HEAD/t3lib/class.t3lib_tcemain.php (working copy)
@@ -2,7 +2,7 @@
/***************************************************************
* Copyright notice
*
-* (c) 1999-2006 Kasper Skaarhoj (kasperYYYY@typo3.com)
+* (c) 1999-2007 Kasper Skaarhoj (kasperYYYY@typo3.com)
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
@@ -37,162 +37,167 @@
*
*
*
- * 237: class t3lib_TCEmain
- * 358: function start($data,$cmd,$altUserObject='')
- * 397: function setMirror($mirror)
- * 422: function setDefaultsFromUserTS($userTS)
- * 445: function process_uploads($postFiles)
- * 483: function process_uploads_traverseArray(&$outputArr,$inputArr,$keyToSet)
+ * 242: class t3lib_TCEmain
+ * 367: function start($data,$cmd,$altUserObject='')
+ * 406: function setMirror($mirror)
+ * 431: function setDefaultsFromUserTS($userTS)
+ * 454: function process_uploads($postFiles)
+ * 492: function process_uploads_traverseArray(&$outputArr,$inputArr,$keyToSet)
*
* SECTION: PROCESSING DATA
- * 519: function process_datamap()
- * 869: function placeholderShadowing($table,$id)
- * 905: function fillInFieldArray($table,$id,$fieldArray,$incomingFieldArray,$realPid,$status,$tscPID)
+ * 528: function process_datamap()
+ * 886: function placeholderShadowing($table,$id)
+ * 929: function fillInFieldArray($table,$id,$fieldArray,$incomingFieldArray,$realPid,$status,$tscPID)
*
* SECTION: Evaluation of input values
- * 1126: function checkValue($table,$field,$value,$id,$status,$realPid,$tscPID)
- * 1186: function checkValue_SW($res,$value,$tcaFieldConf,$table,$id,$curValue,$status,$realPid,$recFID,$field,$uploadedFiles,$tscPID)
- * 1235: function checkValue_input($res,$value,$tcaFieldConf,$PP,$field='')
- * 1273: function checkValue_check($res,$value,$tcaFieldConf,$PP)
- * 1296: function checkValue_radio($res,$value,$tcaFieldConf,$PP)
- * 1322: function checkValue_group_select($res,$value,$tcaFieldConf,$PP,$uploadedFiles,$field)
- * 1432: function checkValue_group_select_file($valueArray,$tcaFieldConf,$curValue,$uploadedFileArray,$status,$table,$id,$recFID)
- * 1601: function checkValue_flex($res,$value,$tcaFieldConf,$PP,$uploadedFiles,$field)
- * 1674: function checkValue_flexArray2Xml($array, $addPrologue=FALSE)
- * 1686: function _DELETE_FLEX_FORMdata(&$valueArrayToRemoveFrom,$deleteCMDS)
- * 1708: function _MOVE_FLEX_FORMdata(&$valueArrayToMoveIn, $moveCMDS, $direction)
- * 1748: function checkValue_inline($res,$value,$tcaFieldConf,$PP,$field)
- * 1791: function checkValue_checkMax($tcaFieldConf, $valueArray)
+ * 1152: function checkValue($table,$field,$value,$id,$status,$realPid,$tscPID)
+ * 1212: function checkValue_SW($res,$value,$tcaFieldConf,$table,$id,$curValue,$status,$realPid,$recFID,$field,$uploadedFiles,$tscPID)
+ * 1261: function checkValue_input($res,$value,$tcaFieldConf,$PP,$field='')
+ * 1299: function checkValue_check($res,$value,$tcaFieldConf,$PP)
+ * 1322: function checkValue_radio($res,$value,$tcaFieldConf,$PP)
+ * 1348: function checkValue_group_select($res,$value,$tcaFieldConf,$PP,$uploadedFiles,$field)
+ * 1458: function checkValue_group_select_file($valueArray,$tcaFieldConf,$curValue,$uploadedFileArray,$status,$table,$id,$recFID)
+ * 1632: function checkValue_flex($res,$value,$tcaFieldConf,$PP,$uploadedFiles,$field)
+ * 1709: function checkValue_flexArray2Xml($array, $addPrologue=FALSE)
+ * 1721: function _DELETE_FLEX_FORMdata(&$valueArrayToRemoveFrom,$deleteCMDS)
+ * 1743: function _MOVE_FLEX_FORMdata(&$valueArrayToMoveIn, $moveCMDS, $direction)
+ * 1783: function checkValue_inline($res,$value,$tcaFieldConf,$PP,$field)
+ * 1825: function checkValue_checkMax($tcaFieldConf, $valueArray)
*
* SECTION: Helper functions for evaluation functions.
- * 1843: function getUnique($table,$field,$value,$id,$newPid=0)
- * 1881: function checkValue_input_Eval($value,$evalArray,$is_in)
- * 1978: function checkValue_group_select_processDBdata($valueArray,$tcaFieldConf,$id,$status,$type,$currentTable)
- * 2022: function checkValue_group_select_explodeSelectGroupValue($value)
- * 2046: function checkValue_flex_procInData($dataPart,$dataPart_current,$uploadedFiles,$dataStructArray,$pParams,$callBackFunc='')
- * 2085: function checkValue_flex_procInData_travDS(&$dataValues,$dataValues_current,$uploadedFiles,$DSelements,$pParams,$callBackFunc,$structurePath)
+ * 1877: function getUnique($table,$field,$value,$id,$newPid=0)
+ * 1915: function checkValue_input_Eval($value,$evalArray,$is_in)
+ * 2012: function checkValue_group_select_processDBdata($valueArray,$tcaFieldConf,$id,$status,$type,$currentTable)
+ * 2058: function checkValue_group_select_explodeSelectGroupValue($value)
+ * 2082: function checkValue_flex_procInData($dataPart,$dataPart_current,$uploadedFiles,$dataStructArray,$pParams,$callBackFunc='')
+ * 2121: function checkValue_flex_procInData_travDS(&$dataValues,$dataValues_current,$uploadedFiles,$DSelements,$pParams,$callBackFunc,$structurePath)
*
* SECTION: PROCESSING COMMANDS
- * 2231: function process_cmdmap()
+ * 2267: function process_cmdmap()
*
* SECTION: Cmd: Copying
- * 2371: function copyRecord($table,$uid,$destPid,$first=0,$overrideValues=array(),$excludeFields='')
- * 2493: function copyPages($uid,$destPid)
- * 2547: function copySpecificPage($uid,$destPid,$copyTablesArray,$first=0)
- * 2581: function copyRecord_raw($table,$uid,$pid,$overrideArray=array())
- * 2645: function rawCopyPageContent($old_pid,$new_pid,$copyTablesArray)
- * 2669: function insertNewCopyVersion($table,$fieldArray,$realPid)
- * 2720: function copyRecord_procBasedOnFieldType($table,$uid,$field,$value,$row,$conf)
- * 2791: function copyRecord_flexFormCallBack($pParams, $dsConf, $dataValue, $dataValue_ext1, $dataValue_ext2)
- * 2819: function copyRecord_procFilesRefs($conf, $uid, $value)
+ * 2407: function copyRecord($table,$uid,$destPid,$first=0,$overrideValues=array(),$excludeFields='')
+ * 2529: function copyPages($uid,$destPid)
+ * 2583: function copySpecificPage($uid,$destPid,$copyTablesArray,$first=0)
+ * 2617: function copyRecord_raw($table,$uid,$pid,$overrideArray=array())
+ * 2681: function rawCopyPageContent($old_pid,$new_pid,$copyTablesArray)
+ * 2705: function insertNewCopyVersion($table,$fieldArray,$realPid)
+ * 2757: function copyRecord_procBasedOnFieldType($table,$uid,$field,$value,$row,$conf,$realDestPid)
+ * 2836: function copyRecord_flexFormCallBack($pParams, $dsConf, $dataValue, $dataValue_ext1, $dataValue_ext2)
+ * 2864: function copyRecord_procFilesRefs($conf, $uid, $value)
*
* SECTION: Cmd: Moving, Localizing
- * 2888: function moveRecord($table,$uid,$destPid)
- * 3083: function moveRecord_procFields($table,$uid,$destPid)
- * 3103: function moveRecord_procBasedOnFieldType($table,$uid,$destPid,$field,$value,$conf)
- * 3136: function localize($table,$uid,$language)
+ * 2933: function moveRecord($table,$uid,$destPid)
+ * 3128: function moveRecord_procFields($table,$uid,$destPid)
+ * 3148: function moveRecord_procBasedOnFieldType($table,$uid,$destPid,$field,$value,$conf)
+ * 3182: function localize($table,$uid,$language)
*
* SECTION: Cmd: Deleting
- * 3220: function deleteAction($table, $id)
- * 3267: function deleteEl($table, $uid, $noRecordCheck=FALSE, $forceHardDelete=FALSE)
- * 3282: function undeleteRecord($table,$uid)
- * 3299: function deleteRecord($table,$uid, $noRecordCheck=FALSE, $forceHardDelete=FALSE,$undeleteRecord=FALSE)
- * 3396: function deletePages($uid,$force=FALSE,$forceHardDelete=FALSE)
- * 3424: function deleteSpecificPage($uid,$forceHardDelete=FALSE)
- * 3447: function canDeletePage($uid)
- * 3474: function cannotDeleteRecord($table,$id)
- * 3493: function deleteRecord_procFields($table, $uid, $undeleteRecord = false)
- * 3516: function deleteRecord_procBasedOnFieldType($table, $uid, $field, $value, $conf, $undeleteRecord = false)
+ * 3296: function deleteAction($table, $id)
+ * 3343: function deleteEl($table, $uid, $noRecordCheck=FALSE, $forceHardDelete=FALSE)
+ * 3360: function deleteVersionsForRecord($table, $uid, $forceHardDelete)
+ * 3382: function undeleteRecord($table,$uid)
+ * 3399: function deleteRecord($table,$uid, $noRecordCheck=FALSE, $forceHardDelete=FALSE,$undeleteRecord=FALSE)
+ * 3512: function deleteRecord_flexFormCallBack($dsArr, $dataValue, $PA, $structurePath, &$pObj)
+ * 3539: function deletePages($uid,$force=FALSE,$forceHardDelete=FALSE)
+ * 3567: function deleteSpecificPage($uid,$forceHardDelete=FALSE)
+ * 3592: function canDeletePage($uid)
+ * 3619: function cannotDeleteRecord($table,$id)
+ * 3638: function deleteRecord_procFields($table, $uid, $undeleteRecord = false)
+ * 3661: function deleteRecord_procBasedOnFieldType($table, $uid, $field, $value, $conf, $undeleteRecord = false)
*
* SECTION: Cmd: Versioning
- * 3577: function versionizeRecord($table,$id,$label,$delete=FALSE,$versionizeTree=-1)
- * 3653: function versionizePages($uid,$label,$versionizeTree)
- * 3716: function version_swap($table,$id,$swapWith,$swapIntoWS=0)
- * 3887: function version_clearWSID($table,$id)
- * 3921: function version_setStage($table,$id,$stageId,$comment='')
+ * 3722: function versionizeRecord($table,$id,$label,$delete=FALSE,$versionizeTree=-1)
+ * 3798: function versionizePages($uid,$label,$versionizeTree)
+ * 3861: function version_swap($table,$id,$swapWith,$swapIntoWS=0)
+ * 4032: function version_clearWSID($table,$id)
+ * 4066: function version_setStage($table,$id,$stageId,$comment='')
*
* SECTION: Cmd: Helper functions
- * 3966: function remapListedDBRecords()
- * 4047: function remapListedDBRecords_flexFormCallBack($pParams, $dsConf, $dataValue, $dataValue_ext1, $dataValue_ext2)
- * 4074: function remapListedDBRecords_procDBRefs($conf, $value, $MM_localUid, $table)
- * 4120: function remapListedDBRecords_procInline($conf, $value, $uid, $table)
+ * 4111: function remapListedDBRecords()
+ * 4192: function remapListedDBRecords_flexFormCallBack($pParams, $dsConf, $dataValue, $dataValue_ext1, $dataValue_ext2)
+ * 4219: function remapListedDBRecords_procDBRefs($conf, $value, $MM_localUid, $table)
+ * 4265: function remapListedDBRecords_procInline($conf, $value, $uid, $table)
*
* SECTION: Access control / Checking functions
- * 4163: function checkModifyAccessList($table)
- * 4175: function isRecordInWebMount($table,$id)
- * 4189: function isInWebMount($pid)
- * 4203: function checkRecordUpdateAccess($table,$id)
- * 4227: function checkRecordInsertAccess($insertTable,$pid,$action=1)
- * 4261: function isTableAllowedForThisPage($page_uid, $checkTable)
- * 4294: function doesRecordExist($table,$id,$perms)
- * 4355: function doesRecordExist_pageLookUp($id, $perms)
- * 4381: function doesBranchExist($inList,$pid,$perms,$recurse)
- * 4415: function tableReadOnly($table)
- * 4427: function tableAdminOnly($table)
- * 4441: function destNotInsideSelf($dest,$id)
- * 4473: function getExcludeListArray()
- * 4496: function doesPageHaveUnallowedTables($page_uid,$doktype)
+ * 4308: function checkModifyAccessList($table)
+ * 4320: function isRecordInWebMount($table,$id)
+ * 4334: function isInWebMount($pid)
+ * 4348: function checkRecordUpdateAccess($table,$id)
+ * 4372: function checkRecordInsertAccess($insertTable,$pid,$action=1)
+ * 4406: function isTableAllowedForThisPage($page_uid, $checkTable)
+ * 4439: function doesRecordExist($table,$id,$perms)
+ * 4504: function doesRecordExist_pageLookUp($id, $perms)
+ * 4530: function doesBranchExist($inList,$pid,$perms,$recurse)
+ * 4564: function tableReadOnly($table)
+ * 4576: function tableAdminOnly($table)
+ * 4590: function destNotInsideSelf($dest,$id)
+ * 4622: function getExcludeListArray()
+ * 4645: function doesPageHaveUnallowedTables($page_uid,$doktype)
*
* SECTION: Information lookup
- * 4545: function pageInfo($id,$field)
- * 4565: function recordInfo($table,$id,$fieldList)
- * 4586: function getRecordProperties($table,$id,$noWSOL=FALSE)
- * 4602: function getRecordPropertiesFromRow($table,$row)
+ * 4694: function pageInfo($id,$field)
+ * 4714: function recordInfo($table,$id,$fieldList)
+ * 4735: function getRecordProperties($table,$id,$noWSOL=FALSE)
+ * 4751: function getRecordPropertiesFromRow($table,$row)
*
* SECTION: Storing data to Database Layer
- * 4645: function updateDB($table,$id,$fieldArray)
- * 4697: function insertDB($table,$id,$fieldArray,$newVersion=FALSE,$suggestedUid=0,$dontSetNewIdIndex=FALSE)
- * 4770: function checkStoredRecord($table,$id,$fieldArray,$action)
- * 4807: function setHistory($table,$id,$logId)
- * 4840: function clearHistory($maxAgeSeconds=604800,$table)
- * 4854: function updateRefIndex($table,$id)
+ * 4794: function updateDB($table,$id,$fieldArray)
+ * 4846: function insertDB($table,$id,$fieldArray,$newVersion=FALSE,$suggestedUid=0,$dontSetNewIdIndex=FALSE)
+ * 4919: function checkStoredRecord($table,$id,$fieldArray,$action)
+ * 4956: function setHistory($table,$id,$logId)
+ * 4989: function clearHistory($maxAgeSeconds=604800,$table)
+ * 5003: function updateRefIndex($table,$id)
*
* SECTION: Misc functions
- * 4886: function getSortNumber($table,$uid,$pid)
- * 4959: function resorting($table,$pid,$sortRow, $return_SortNumber_After_This_Uid)
- * 4990: function setTSconfigPermissions($fieldArray,$TSConfig_p)
- * 5007: function newFieldArray($table)
- * 5039: function addDefaultPermittedLanguageIfNotSet($table,&$incomingFieldArray)
- * 5063: function overrideFieldArray($table,$data)
- * 5079: function compareFieldArrayWithCurrentAndUnset($table,$id,$fieldArray)
- * 5125: function assemblePermissions($string)
- * 5142: function rmComma($input)
- * 5152: function convNumEntityToByteValue($input)
- * 5174: function destPathFromUploadFolder($folder)
- * 5184: function deleteClause($table)
- * 5200: function getTCEMAIN_TSconfig($tscPID)
- * 5215: function getTableEntries($table,$TSconfig)
- * 5228: function getPID($table,$uid)
- * 5241: function dbAnalysisStoreExec()
- * 5257: function removeRegisteredFiles()
- * 5269: function removeCacheFiles()
- * 5283: function int_pageTreeInfo($CPtable,$pid,$counter, $rootID)
- * 5304: function compileAdminTables()
- * 5321: function fixUniqueInPid($table,$uid)
- * 5357: function fixCopyAfterDuplFields($table,$uid,$prevUid,$update, $newData=array())
- * 5382: function extFileFields($table)
- * 5403: function getUniqueFields($table)
- * 5428: function isReferenceField($conf)
- * 5439: function getInlineFieldType($conf)
- * 5462: function getCopyHeader($table,$pid,$field,$value,$count,$prevTitle='')
- * 5491: function prependLabel($table)
- * 5508: function resolvePid($table,$pid)
- * 5538: function clearPrefixFromValue($table,$value)
- * 5553: function extFileFunctions($table,$field,$filelist,$func)
- * 5583: function noRecordsFromUnallowedTables($inList)
- * 5609: function notifyStageChange($stat,$stageId,$table,$id,$comment)
- * 5704: function notifyStageChange_getEmails($listOfUsers,$noTablePrefix=FALSE)
+ * 5035: function getSortNumber($table,$uid,$pid)
+ * 5108: function resorting($table,$pid,$sortRow, $return_SortNumber_After_This_Uid)
+ * 5139: function setTSconfigPermissions($fieldArray,$TSConfig_p)
+ * 5156: function newFieldArray($table)
+ * 5188: function addDefaultPermittedLanguageIfNotSet($table,&$incomingFieldArray)
+ * 5212: function overrideFieldArray($table,$data)
+ * 5228: function compareFieldArrayWithCurrentAndUnset($table,$id,$fieldArray)
+ * 5274: function assemblePermissions($string)
+ * 5291: function rmComma($input)
+ * 5301: function convNumEntityToByteValue($input)
+ * 5323: function destPathFromUploadFolder($folder)
+ * 5333: function deleteClause($table)
+ * 5349: function getTCEMAIN_TSconfig($tscPID)
+ * 5364: function getTableEntries($table,$TSconfig)
+ * 5377: function getPID($table,$uid)
+ * 5390: function dbAnalysisStoreExec()
+ * 5406: function removeRegisteredFiles()
+ * 5418: function removeCacheFiles()
+ * 5432: function int_pageTreeInfo($CPtable,$pid,$counter, $rootID)
+ * 5453: function compileAdminTables()
+ * 5470: function fixUniqueInPid($table,$uid)
+ * 5506: function fixCopyAfterDuplFields($table,$uid,$prevUid,$update, $newData=array())
+ * 5531: function extFileFields($table)
+ * 5552: function getUniqueFields($table)
+ * 5577: function isReferenceField($conf)
+ * 5588: function getInlineFieldType($conf)
+ * 5611: function getCopyHeader($table,$pid,$field,$value,$count,$prevTitle='')
+ * 5640: function prependLabel($table)
+ * 5657: function resolvePid($table,$pid)
+ * 5687: function clearPrefixFromValue($table,$value)
+ * 5702: function extFileFunctions($table,$field,$filelist,$func)
+ * 5732: function noRecordsFromUnallowedTables($inList)
+ * 5758: function notifyStageChange($stat,$stageId,$table,$id,$comment)
+ * 5853: function notifyStageChange_getEmails($listOfUsers,$noTablePrefix=FALSE)
*
* SECTION: Clearing cache
- * 5750: function clear_cache($table,$uid)
- * 5860: function clear_cacheCmd($cacheCmd)
+ * 5899: function clear_cache($table,$uid)
+ * 6009: function clear_cacheCmd($cacheCmd)
*
* SECTION: Logging
- * 5966: function log($table,$recuid,$action,$recpid,$error,$details,$details_nr=-1,$data=array(),$event_pid=-1,$NEWid='')
- * 5983: function newlog($message, $error=0)
- * 5993: function printLogErrorMessages($redirect)
+ * 6113: function log($table,$recuid,$action,$recpid,$error,$details,$details_nr=-1,$data=array(),$event_pid=-1,$NEWid='')
+ * 6130: function newlog($message, $error=0)
+ * 6140: function printLogErrorMessages($redirect)
*
- * TOTAL FUNCTIONS: 123
+ * SECTION: Internal (do not use outside Core!)
+ * 6202: function internal_clearPageCache()
+ *
+ * TOTAL FUNCTIONS: 126
* (This index is automatically created/updated by the extension "extdeveval")
*
*/
@@ -855,13 +860,13 @@
$remapAction['args'][$remapAction['pos']['valueArray']] = $valueArray;
}
- // process the arguments with the defined function
+ // process the arguments with the defined function
$remapAction['args'][$remapAction['pos']['valueArray']] = call_user_func_array(
array($this, $remapAction['func']),
$remapAction['args']
);
- // @TODO: Add option to disable count-field
+ // @TODO: Add option to disable count-field
$newVal = $this->checkValue_checkMax($tcaFieldConf, $remapAction['args'][$remapAction['pos']['valueArray']]);
$this->updateDB($table,$id,array($field => implode(',', $newVal)));
}
@@ -1179,7 +1184,7 @@
// Getting config for the field
$tcaFieldConf = $TCA[$table]['columns'][$field]['config'];
-
+//debug(array('$field'=>$field), 'checkValue');
// Preform processing:
$res = $this->checkValue_SW($res,$value,$tcaFieldConf,$table,$id,$curValue,$status,$realPid,$recFID,$field,$this->uploadedFileArray[$table][$id][$field],$tscPID);
@@ -1229,7 +1234,7 @@
break;
case 'inline':
$res = $this->checkValue_inline($res,$value,$tcaFieldConf,$PP,$field);
- break;
+ break;
case 'flex':
if ($field) { // FlexForms are only allowed for real fields.
$res = $this->checkValue_flex($res,$value,$tcaFieldConf,$PP,$uploadedFiles,$field);
@@ -1801,7 +1806,6 @@
unset($res['value']);
} elseif($value || t3lib_div::testInt($id)) {
$newValueArray = $this->checkValue_group_select_processDBdata($valueArray,$tcaFieldConf,$id,$status,'inline', $table);
-
// Checking that the number of items is correct
$newVal = $this->checkValue_checkMax($tcaFieldConf, $newValueArray);
$res['value'] = implode(',',$newVal);
@@ -2710,7 +2714,7 @@
// Traverse record and input-process each value:
foreach($fieldArray as $field => $fieldValue) {
if (isset($TCA[$table]['columns'][$field])) {
- // Evaluating the value.
+ // Evaluating the value.
$res = $this->checkValue($table,$field,$fieldValue,$id,'new',$realPid,0);
if (isset($res['value'])) {
$fieldArray[$field] = $res['value'];
@@ -3497,6 +3501,13 @@
/**
* Call back function for deleting file relations for flexform fields in records which are being completely deleted.
+ *
+ * @param [type] $dsArr: ...
+ * @param [type] $dataValue: ...
+ * @param [type] $PA: ...
+ * @param [type] $structurePath: ...
+ * @param [type] $pObj: ...
+ * @return [type] ...
*/
function deleteRecord_flexFormCallBack($dsArr, $dataValue, $PA, $structurePath, &$pObj) {
@@ -4912,13 +4923,13 @@
if (is_array($TCA[$table]) && $id) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', $table, 'uid='.intval($id));
if ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
- // Traverse array of values that was inserted into the database and compare with the actually stored value:
+ // Traverse array of values that was inserted into the database and compare with the actually stored value:
$errorString = array();
foreach($fieldArray as $key => $value) {
- if ($this->checkStoredRecords_loose && !$value && !$row[$key]) {
+ if ($this->checkStoredRecords_loose && !$value && !$row[$key] || $TCA[$table]['columns'][$key]['config']['type'] == 'inline') {
// Nothing...
} elseif (strcmp($value,$row[$key])) {
- $errorString[] = $key;
+ $errorString[] = $key . ' [' . $value . '/' . $row[$key] . ']';
}
}
@@ -6002,15 +6013,13 @@
switch($cacheCmd) {
case 'pages':
if ($this->admin || $this->BE_USER->getTSConfigVal('options.clearCache.pages')) {
- if (t3lib_extMgm::isLoaded('cms')) {
- $GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages','');
- }
+ $this->internal_clearPageCache();
}
break;
case 'all':
if ($this->admin || $this->BE_USER->getTSConfigVal('options.clearCache.all')) {
if (t3lib_extMgm::isLoaded('cms')) {
- $GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages','');
+ $this->internal_clearPageCache();
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pagesection','');
}
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_hash','');
@@ -6178,6 +6187,42 @@
exit;
}
}
+
+ /*****************************
+ *
+ * Internal (do not use outside Core!)
+ *
+ *****************************/
+
+ /**
+ * Clears page cache. Takes into account file cache.
+ *
+ * @return void
+ */
+ function internal_clearPageCache() {
+ if (t3lib_extMgm::isLoaded('cms')) {
+ $GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages','');
+ if ($GLOBALS['TYPO3_CONF_VARS']['FE']['pageCacheToExternalFiles']) {
+ $cacheDir = PATH_site.'typo3temp/cache_pages';
+ if (@is_dir($cacheDir) && false !== ($topDir = @opendir($cacheDir))) {
+ while (false !== ($dir = @readdir($topDir))) {
+ $curDirName = $cacheDir . '/' . $dir;
+ if (@is_dir($curDirName) && false !== ($curDir = @opendir($curDirName))) {
+ while (false != ($fname = @readdir($curDir))) {
+ $curFName = $curDirName . '/' . $fname;
+ if (@is_file($curFName)) {
+ @unlink($curFName);
+ }
+ }
+ }
+ closedir($curDir);
+ @rmdir($curDirName);
+ }
+ closedir($cacheDir);
+ }
+ }
+ }
+ }
}
(2-2/2)