article_cates.auto_cache.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. //底部文章
  3. class article_cates_auto_cache extends auto_cache{
  4. public function load($param)
  5. {
  6. $param=array();
  7. $key = $this->build_key(__CLASS__,$param);
  8. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  9. $article_cates = $GLOBALS['cache']->get($key);
  10. $article_cates_array=array();
  11. if($article_cates === false)
  12. {
  13. $article_cates = $GLOBALS['db']->getAll("select ac.*,fa.num from ".DB_PREFIX."article_cate as ac left join (SELECT count(*) as num,cate_id from ".DB_PREFIX."article where is_effect=1 and is_delete=0 GROUP BY cate_id) as fa on fa.cate_id=ac.id where ac.is_effect=1 and ac.is_delete=0 order by ac.sort asc");
  14. foreach($article_cates as $k=>$v){
  15. $article_cates_array[$v['id']]=$v;
  16. $article_cates_array[$v['id']]['num']=intval($v['num']);
  17. $article_cates_array[$v['id']]['url']=url('article',array('id'=>$v['id']));
  18. }
  19. $article_cates=$article_cates_array;
  20. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  21. $GLOBALS['cache']->set($key,$article_cates);
  22. }
  23. return $article_cates;
  24. }
  25. public function rm($param)
  26. {
  27. $key = $this->build_key(__CLASS__,$param);
  28. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  29. $GLOBALS['cache']->rm($key);
  30. }
  31. public function clear_all()
  32. {
  33. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  34. $GLOBALS['cache']->clear();
  35. }
  36. }
  37. ?>