check_permission(['tiki_p_clean_cache']); //get_strings tra('Tiki Cache/Sys Admin') $done = ''; $output = ''; $buf = ''; $cachelib = TikiLib::lib('cache'); if (isset($_GET['do'])) { $cachelib->empty_cache($_GET['do']); if ($_GET['do'] === 'all') { // Also rebuild admin index TikiLib::lib('prefs')->rebuildIndex(); // also rebuild plugin prefdoc current version if (file_exists('storage/prefsdoc/state.json')) { unlink('storage/prefsdoc/state.json'); } // seems combination of clearing prefs and public now messes up the page, so reload include_once('lib/setup/prefs.php'); initialize_prefs(); if ($prefs['mobile_feature'] === 'y') { include('lib/setup/mobile.php'); } include('lib/setup/javascript.php'); include('lib/setup/theme.php'); } // codemirror modes are created in /temp/public -- need to restore them if ($_GET['do'] === 'temp_public') { include('lib/setup/javascript.php'); } } if (isset($_GET['compiletemplates'])) { $ctempl = 'templates'; $cachelib->cache_templates($ctempl, $_GET['compiletemplates']); if ($tikidomain) { $ctempl .= "/$tikidomain"; } $cachelib->cache_templates($ctempl, $_GET['compiletemplates']); $logslib->add_log('system', 'compiled templates'); } if (! empty($_REQUEST['clean'])) { $userlib->remove_lost_groups(); } $smarty->assign('lostGroups', $userlib->get_lost_groups()); $languages = []; $langLib = TikiLib::lib('language'); $languages = $langLib->list_languages(); $templates_c = $cachelib->count_cache_files("temp/templates_c/$tikidomain"); $smarty->assign('templates_c', $templates_c); $tempcache = $cachelib->count_cache_files("temp/cache/$tikidomain"); $smarty->assign('tempcache', $tempcache); $temppublic = $cachelib->count_cache_files("temp/public/$tikidomain"); $smarty->assign('temppublic', $temppublic); $templates = []; foreach ($languages as $clang) { if ($smarty->use_sub_dirs) { // was if (is_dir("templates_c/$tikidomain/")) ppl with tikidomains should test. redflo $templates[$clang["value"]] = $cachelib->count_cache_files("temp/templates_c/$tikidomain/" . $clang["value"] . "/"); } else { $templates[$clang["value"]] = $cachelib->count_cache_files("temp/templates_c/", $tikidomain . $clang["value"]); } } $smarty->assign_by_ref('templates', $templates); if ($prefs['feature_forums'] == 'y') { $commentslib = TikiLib::lib('comments'); $dirs = $commentslib->list_directories_to_save(); } else { $dirs = []; } if ($prefs['feature_file_galleries'] == 'y' && ! empty($prefs['fgal_use_dir'])) { $dirs[] = $prefs['fgal_use_dir']; } if ($prefs['feature_trackers'] == 'y') { if (! empty($prefs['t_use_dir'])) { $dirs[] = $prefs['t_use_dir']; } $dirs[] = 'img/trackers'; } if ($prefs['feature_wiki'] == 'y') { if (! empty($prefs['w_use_dir'])) { $dirs[] = $prefs['w_use_dir']; } if ($prefs['feature_create_webhelp'] == 'y') { $dirs[] = 'whelp'; } $dirs[] = 'img/wiki'; $dirs[] = 'img/wiki_up'; } $dirs = array_unique($dirs); $dirsExist = []; foreach ($dirs as $i => $d) { $dirsWritable[$i] = is_writable($d); } $smarty->assign_by_ref('dirs', $dirs); $smarty->assign_by_ref('dirsWritable', $dirsWritable); $smarty->assign('zipPath', ''); if (isset($_REQUEST['zip']) && isset($_REQUEST['zipPath']) && $tiki_p_admin == 'y') { if (! $archive = new PclZip($_REQUEST['zipPath'])) { $smarty->assign('msg', tra('Error:') . $archive->errorInfo(true)); $smarty->display('error.tpl'); die; } foreach ($dirs as $d) { if (file_exists($d)) { $dirs2[] = $d; } } if (! $archive->add($dirs2)) { $smarty->assign('msg', tra('Error:') . $archive->errorInfo(true)); $smarty->display('error.tpl'); die; } $smarty->assign('zipPath', $_REQUEST['zipPath']); } // disallow robots to index page: $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); $smarty->assign('mid', 'tiki-admin_system.tpl'); $smarty->display("tiki.tpl");