diff --git a/e107_admin/cache.php b/e107_admin/cache.php
index 3c1648559..dd497543d 100644
--- a/e107_admin/cache.php
+++ b/e107_admin/cache.php
@@ -12,6 +12,16 @@
* $Id$
*
*/
+
+/**
+ * Admin page - cache management
+ *
+ * @package e107
+ * @subpackage admin
+ * @version $Id$;
+ * @author e107 Inc
+ */
+
require_once("../class2.php");
if (!getperms("C"))
{
@@ -24,72 +34,81 @@ include_lan(e_LANGUAGEDIR.e_LANGUAGE.'/admin/lan_'.e_PAGE);
$e_sub_cat = 'cache';
require_once("auth.php");
-require_once(e_HANDLER."cache_handler.php");
-require_once(e_HANDLER."form_handler.php");
-require_once(e_HANDLER."message_handler.php");
-$ec = new ecache;
-$frm = new e_form();
+$ec = e107::getCache();
+$frm = e107::getForm();
$emessage = eMessage::getInstance();
-if ($pref['cachestatus'] == '2')
+if (e107::getPref('cachestatus') == '2')
{
- $pref['cachestatus'] = '1';
- save_prefs();
+ e107::getConfig()->set('cachestatus', 1)
+ ->save(false);
}
if(!is_writable(e_CACHE_CONTENT))
{
- $ns->tablerender(CACLAN_3, CACLAN_10."
(".$CACHE_DIRECTORY.")");
+ e107::getRender()->tablerender(CACLAN_3, CACLAN_10."
(".$CACHE_DIRECTORY.")");
require_once("footer.php");
exit;
}
if (isset($_POST['submit_cache']))
{
- if ($pref['cachestatus'] != $_POST['cachestatus'] || $pref['syscachestatus'] != $_POST['syscachestatus'])
+ e107::getConfig()->set('cachestatus', intval($_POST['cachestatus']))
+ ->set('syscachestatus', intval($_POST['syscachestatus']))
+ ->save(false);
+}
+
+if (isset($_POST['trigger_empty_cache']))
+{
+ e107::getAdminLog()->logSuccess(CACLAN_6);
+ switch ($_POST['option_clear_cache'])
{
- $pref['cachestatus'] = $_POST['cachestatus'] ? '1' : '0';
- $pref['syscachestatus'] = $_POST['syscachestatus'] ? '1' : '0';
+ case 'empty_contentcache':
+ $ec->clear();
+ e107::getAdminLog()->flushMessages(CACLAN_5);
+ break;
- save_prefs();
- $admin_log->log_event('CACHE_01', $pref['syscachestatus'].', '.$pref['cachestatus'], E_LOG_INFORMATIVE,'');
+ case 'empty_syscache':
+ $ec->clear_sys();
+ e107::getAdminLog()->flushMessages(CACLAN_16);
+ break;
- $ec->clear();
- $ec->clear_sys();
+ case 'empty_dbcache':
+ admin_page_cache_erase(e_CACHE_DB, '*.php');
+ e107::getAdminLog()->flushMessages(CACLAN_24);
+ break;
- $emessage->add(CACLAN_4, E_MESSAGE_SUCCESS);
- }
- else
- {
- $emessage->add(LAN_NO_CHANGE, E_MESSAGE_INFO);
+ case 'empty_imgcache':
+ admin_page_cache_erase(e_CACHE_IMAGE, '*.cache\.bin');
+ e107::getAdminLog()->flushMessages(CACLAN_25);
+ break;
+
+ // all
+ default:
+ $ec->clear();
+ $ec->clear_sys();
+ admin_page_cache_erase(e_CACHE_DB, '*.php');
+ admin_page_cache_erase(e_CACHE_IMAGE, '*.cache\.bin');
+ e107::getAdminLog()->flushMessages(CACLAN_26);
+ break;
}
}
-if (isset($_POST['empty_syscache']))
-{
- $ec->clear_sys();
- $admin_log->log_event('CACHE_02', $pref['syscachestatus'].', '.$pref['cachestatus'], E_LOG_INFORMATIVE, '');
- $emessage->add(CACLAN_15, E_MESSAGE_SUCCESS);
-}
-
-if (isset($_POST['empty_cache']))
-{
- $ec->clear();
- $admin_log->log_event('CACHE_03', $pref['syscachestatus'].', '.$pref['cachestatus'], E_LOG_INFORMATIVE, '');
- $emessage->add(CACLAN_6, E_MESSAGE_SUCCESS);
-}
-
-
-
-$syscache_files = glob(e_CACHE_CONTENT."S_*.*");
-$cache_files = glob(e_CACHE_CONTENT."C_*.*");
+$syscache_files = glob(e_CACHE_CONTENT.'S_*.*');
+$cache_files = glob(e_CACHE_CONTENT.'C_*.*');
+$imgcache_files = glob(e_CACHE_IMAGE.'*.cache.bin');
+$dbcache_files = glob(e_CACHE_DB.'*.php');
$syscache_files_num = count($syscache_files);
$cache_files_num = count($cache_files);
+$imgcache_files_num = count($imgcache_files);
+$dbcache_files_num = count($dbcache_files);
-$sys_count = CACLAN_17." ".$syscache_files_num." ".($syscache_files_num != 1 ? CACLAN_19 : CACLAN_18);
-$nonsys_count = CACLAN_17." ".$cache_files_num." ".($cache_files_num != 1 ? CACLAN_19 : CACLAN_18);
+$syscache_label = CACLAN_17.' '.$syscache_files_num.' '.($syscache_files_num != 1 ? CACLAN_19 : CACLAN_18).'';
+$contentcache_label = CACLAN_17.' '.$cache_files_num.' '.($cache_files_num != 1 ? CACLAN_19 : CACLAN_18).'';
+$imgcache_label = CACLAN_17.' '.$imgcache_files_num.' '.($imgcache_files_num != 1 ? CACLAN_19 : CACLAN_18).'';
+$dbcache_label = CACLAN_17.' '.$dbcache_files_num.' '.($dbcache_files_num != 1 ? CACLAN_19 : CACLAN_18).'';
$text = "