admin_event_cache.php
1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/**
* @author: Bunzia Alexander <nifus@mail.ru> <http://www.weblancer.net/users/nifus/>
* @copyright: Copyright (c) 2010, Bunzia Alexander
* @version: 1.0
* @license: http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @package: HiLi CMS
*/
if ( !defined("event_admin_cache") ){
define("event_admin_cache", 1);
/**
* Загружаем результаты кэширования таблиц mysql
*
*
*/
function admin_event_cache(){
global $MAIN_DB;
if ( MAIN_CACHE_MODE==0 ){
return false;
}
include_once(MAIN_SOURCE_PATH.'/inc/class.cache.php');
// загружаем таблицы из кэша
$c = cache::create('admin_cache');
// кэш храним 2 часа
$s = $c -> load( 3200 );
if ( !empty($s) ){
$MAIN_CACHE = unserialize($s);
return true;
}else{
$c -> clear('admin_cache');
}
// создаём новый кэш
include_once(MAIN_SOURCE_PATH.'/modules/admin/inc/class.modules.php');
$modules = modules::list_active();
$data = array();
foreach( $modules AS $module ){
if ( !file_exists(MAIN_SOURCE_PATH.'/modules/'.$module.'/inc/system.php') ){
continue;
}
include_once(MAIN_SOURCE_PATH.'/modules/'.$module.'/inc/system.php');
$f = $module.'_cache';
if ( !function_exists($f) ){
continue;
}
$data[$module] = $f();
}
$c = cache::create('admin_cache');
$c -> save( serialize($data) );
return true;
}
}
?>