CanDoOperation('cache_control'); $cachetype = $_REQUEST["cachetype"] ?? null; IncludeModuleLangFile(__FILE__); if( $_SERVER["REQUEST_METHOD"] == "POST" && isset($_REQUEST["ajax"]) && $_REQUEST["ajax"]=="y" && isset($_REQUEST["clearcache"]) && $_REQUEST["clearcache"] == "Y" ) { require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_js.php"); if(!check_bitrix_sessid() || !$isAdmin) { ?> GetMessage("main_cache_finished"), "HTML" => true, "TYPE" => "OK", )); ?> InitPath($path)) { ShowError(GetMessage("main_cache_wrong_cache_path")); ?> getSession(); if ($cachetype === "html") { $obCacheCleaner->Start(); $space_freed = 0; while ($file = $obCacheCleaner->GetNextFile()) { if ( is_string($file) && !preg_match("/(\\.enabled|\\.size|.config\\.php)\$/", $file) ) { $file_size = filesize($file); $session["CACHE_STAT"]["scanned"] = ($session["CACHE_STAT"]["scanned"] ?? 0) + 1; $session["CACHE_STAT"]["space_total"] = ($session["CACHE_STAT"]["space_total"] ?? 0) + $file_size; if (@unlink($file)) { $session["CACHE_STAT"]["deleted"] = ($session["CACHE_STAT"]["deleted"] ?? 0) + 1; $session["CACHE_STAT"]["space_freed"] = ($session["CACHE_STAT"]["space_freed"] ?? 0) + $file_size; $space_freed += $file_size; } else { $session["CACHE_STAT"]["errors"] = ($session["CACHE_STAT"]["errors"] ?? 0) + 1; } if (time() >= $endTime) { break; } } } \Bitrix\Main\Composite\Helper::updateCacheFileSize(-$space_freed); } elseif ($filesEngine) { $bDoNotCheckExpiredDate = ( $cachetype === "all" || $cachetype === "menu" || $cachetype === "managed" ); $obCacheCleaner->Start(); while ($file = $obCacheCleaner->GetNextFile()) { if (is_string($file)) { $date_expire = $obCacheCleaner->GetFileExpiration($file); if ($date_expire) { $file_size = filesize($file); $session["CACHE_STAT"]["scanned"] = ($session["CACHE_STAT"]["scanned"] ?? 0) + 1; $session["CACHE_STAT"]["space_total"] = ($session["CACHE_STAT"]["space_total"] ?? 0) + $file_size; if ($bDoNotCheckExpiredDate || ($date_expire < $curentTime)) { if (@unlink($file)) { $session["CACHE_STAT"]["deleted"] = ($session["CACHE_STAT"]["deleted"] ?? 0) + 1; $session["CACHE_STAT"]["space_freed"] = ($session["CACHE_STAT"]["space_freed"] ?? 0) + $file_size; } else { $session["CACHE_STAT"]["errors"] = ($session["CACHE_STAT"]["errors"] ?? 0) + 1; } } } if (time() >= $endTime) { break; } } } } else { $file = false; $session["CACHE_STAT"] = array(); } if (is_string($file)) { $currentFile = mb_substr($file, mb_strlen($rootDir)); $currentPath = $currentFile; CFileTree::ExtractFileFromPath($currentPath); CAdminMessage::ShowMessage(array( "MESSAGE" => GetMessage("main_cache_in_progress"), "DETAILS" => GetMessage("main_cache_files_scanned_count", array("#value#" => "".intval($session["CACHE_STAT"]["scanned"]).""))."
" .GetMessage("main_cache_files_scanned_size", array("#value#" => "".CFile::FormatSize($session["CACHE_STAT"]["space_total"]).""))."
" .GetMessage("main_cache_files_deleted_count", array("#value#" => "".intval($session["CACHE_STAT"]["deleted"]).""))."
" .GetMessage("main_cache_files_deleted_size", array("#value#" => "".CFile::FormatSize($session["CACHE_STAT"]["space_freed"]).""))."
" .GetMessage("main_cache_files_delete_errors", array("#value#" => "".intval($session["CACHE_STAT"]["errors"]).""))."
" .GetMessage("main_cache_files_last_path", array("#value#" => "".htmlspecialcharsbx($currentPath).""))."
" , "HTML"=>true, "TYPE"=>"OK", )); ?> CleanDir("menu"); CBitrixComponent::clearComponentCache("bitrix:menu"); } elseif ($cachetype == "managed") { $CACHE_MANAGER->CleanAll(); $stackCacheManager->CleanAll(); } elseif ($cachetype == "html") { $page = \Bitrix\Main\Composite\Page::getInstance(); $page->deleteAll(); } elseif ($cachetype == "all") { $taggedCache = Application::getInstance()->getTaggedCache(); $taggedCache->deleteAllTags(); BXClearCache(true); $CACHE_MANAGER->CleanAll(); $stackCacheManager->CleanAll(); $page = \Bitrix\Main\Composite\Page::getInstance(); $page->deleteAll(); } if ($session["CACHE_STAT"]) { CAdminMessage::ShowMessage(array( "MESSAGE"=>GetMessage("main_cache_finished"), "DETAILS"=> "" .GetMessage("main_cache_files_scanned_count", array("#value#" => "".intval($session["CACHE_STAT"]["scanned"] ?? 0).""))."
" .GetMessage("main_cache_files_scanned_size", array("#value#" => "".CFile::FormatSize($session["CACHE_STAT"]["space_total"] ?? 0).""))."
" .GetMessage("main_cache_files_deleted_count", array("#value#" => "".intval($session["CACHE_STAT"]["deleted"] ?? 0).""))."
" .GetMessage("main_cache_files_deleted_size", array("#value#" => "".CFile::FormatSize($session["CACHE_STAT"]["space_freed"] ?? 0).""))."
" .GetMessage("main_cache_files_delete_errors", array("#value#" => "".intval($session["CACHE_STAT"]["errors"] ?? 0).""))."
" , "HTML"=>true, "TYPE"=>"OK", )); $session["CACHE_STAT"] = []; } else { CAdminMessage::ShowMessage(array( "MESSAGE"=>GetMessage("main_cache_finished"), "HTML"=>true, "TYPE"=>"OK", )); } ?> CanDoOperation('cache_control') && !$USER->CanDoOperation('view_other_settings')) { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $errorMessage = ""; $okMessage = ""; $cache_on = $_REQUEST['cache_on'] ?? null; if ($_SERVER['REQUEST_METHOD'] == "POST" && ($cache_on=="Y" || $cache_on=="N") && check_bitrix_sessid() && $isAdmin) { if(COption::GetOptionString("main", "component_cache_on", "Y")=="Y") { if ($cache_on=="N") { COption::SetOptionString("main", "component_cache_on", "N"); $okMessage .= GetMessage("MAIN_OPTION_CACHE_SUCCESS").". "; } } else { if ($cache_on=="Y") { COption::SetOptionString("main", "component_cache_on", "Y"); $okMessage .= GetMessage("MAIN_OPTION_CACHE_SUCCESS").". "; } } } $managed_cache_on = $_REQUEST['managed_cache_on'] ?? null; if($_SERVER['REQUEST_METHOD'] == "POST" && ($managed_cache_on=="Y" || $managed_cache_on=="N") && check_bitrix_sessid() && $isAdmin) { COption::SetOptionString("main", "component_managed_cache_on", $managed_cache_on); if($managed_cache_on == "N") { $taggedCache = Application::getInstance()->getTaggedCache(); $taggedCache->clearByTag(true); } LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANGUAGE_ID."&tabControl_active_tab=fedit4&res=managed_saved"); } if (isset($_REQUEST["res"]) && $_REQUEST["res"] == "managed_saved") { $okMessage .= GetMessage("main_cache_managed_saved"); } $APPLICATION->SetTitle(GetMessage("MCACHE_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); ?> '') CAdminMessage::ShowMessage(Array("DETAILS"=>$errorMessage, "TYPE"=>"ERROR", "MESSAGE"=>GetMessage("SAE_ERROR"), "HTML"=>true)); if($okMessage <> '') CAdminMessage::ShowNote($okMessage); ?>
"fedit1", "TAB" => GetMessage("MAIN_TAB_4"), "ICON" => "main_settings", "TITLE" => GetMessage("MAIN_OPTION_PUBL"), ), array( "DIV" => "fedit4", "TAB" => GetMessage("main_cache_managed"), "ICON" => "main_settings", "TITLE" => GetMessage("main_cache_managed_sett"), ), ); $aTabs[] = array( "DIV" => "fedit2", "TAB" => GetMessage("MAIN_TAB_3"), "ICON" => "main_settings", "TITLE" => GetMessage("MAIN_OPTION_CLEAR_CACHE"), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, true, true); $tabControl->Begin(); ?>
BeginNextTab();?> . .

"> " class="adm-btn-save">
EndTab()?> BeginNextTab()?>
"N" || defined("BX_COMP_MANAGED_CACHE")):?>

"N" || defined("BX_COMP_MANAGED_CACHE")):?> ">

" class="adm-btn-save">
EndTab()?> BeginNextTab(); ?>
>
>
>
>
>
>

" OnClick="StartClearCache();" class="adm-btn-save"> " OnClick="StopClearCache();" disabled> " OnClick="ContinueClearCache();" disabled>
End();?>