Blame view

mobile/source/modules/admin/events/admin_event_cache.php 1.52 KB
a1684257   Administrator   first commit
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;
    }
    
    
  }
  ?>