rhymix/modules/admin/admin.admin.controller.php
ChanMyeong 7d1fa86e5c admin submenu update
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7675 201d5d3c-b55e-5fd7-737f-ddc643e51545
2010-09-06 05:13:34 +00:00

83 lines
2.7 KiB
PHP

<?php
/**
* @class adminAdminController
* @author NHN (developers@xpressengine.com)
* @brief admin controller class of admin module
**/
class adminAdminController extends admin {
/**
* @brief initialization
* @return none
**/
function init() {
// forbit access if the user is not an administrator
$oMemberModel = &getModel('member');
$logged_info = $oMemberModel->getLoggedInfo();
if($logged_info->is_admin!='Y') return $this->stop("msg_is_not_administrator");
}
/**
* @brief Regenerate all cache files
* @return none
**/
function procAdminRecompileCacheFile() {
// rename cache dir
$temp_cache_dir = './files/cache_'. time();
FileHandler::rename('./files/cache', $temp_cache_dir);
FileHandler::makeDir('./files/cache');
// remove debug files
FileHandler::removeFile(_XE_PATH_.'files/_debug_message.php');
FileHandler::removeFile(_XE_PATH_.'files/_debug_db_query.php');
FileHandler::removeFile(_XE_PATH_.'files/_db_slow_query.php');
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModuleList();
// call recompileCache for each module
foreach($module_list as $module) {
$oModule = null;
$oModule = &getClass($module->module);
if(method_exists($oModule, 'recompileCache')) $oModule->recompileCache();
}
// remove cache dir
$tmp_cache_list = FileHandler::readDir('./files','/(^cache_[0-9]+)/');
if($tmp_cache_list){
foreach($tmp_cache_list as $tmp_dir){
if($tmp_dir) FileHandler::removeDir('./files/'.$tmp_dir);
}
}
$truncated = array();
$oObjectCacheHandler = &CacheHandler::getInstance();
$oTemplateCacheHandler = &CacheHandler::getInstance('template');
if($oObjectCacheHandler->isSupport()){
$truncated[] = $oObjectCacheHandler->truncate();
}
if($oTemplateCacheHandler->isSupport()){
$truncated[] = $oTemplateCacheHandler->truncate();
}
if(count($truncated) && in_array(false,$truncated)){
return new Object(-1,'msg_self_restart_cache_engine');
}
$this->setMessage('success_updated');
}
/**
* @brief Logout
* @return none
**/
function procAdminLogout() {
$oMemberController = &getController('member');
$oMemberController->procMemberLogout();
header('Location: '.getUrl('module','admin','act',''));
}
}
?>