new_hepls.auto_cache.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. //底部文章
  3. class new_hepls_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. $new_hepls = $GLOBALS['cache']->get($key);
  10. if($new_hepls === false)
  11. {
  12. $new_hepls = load_auto_cache('article_cates');
  13. $article_array=$GLOBALS['db']->getAll("select * from ".DB_PREFIX."article where is_effect=1 and is_delete=0 order by sort desc ");
  14. foreach($new_hepls as $k=>$v){
  15. if($v['type_id'] == 1&&$v['num']>0){
  16. foreach($article_array as $article_k=>$article_v){
  17. if($article_v['cate_id']==$v['id']){
  18. if($article_v['rel_url']==""){
  19. $article_v['url']=url('article#index',array('id'=>$article_v['id']));
  20. }else{
  21. $article_v['url']=$article_v['rel_url'];
  22. }
  23. $new_hepls[$k]['article'][]=$article_v;
  24. }
  25. }
  26. }
  27. else{
  28. unset($new_hepls[$k]);
  29. }
  30. }
  31. $new_hepls=array_filter($new_hepls);
  32. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  33. $GLOBALS['cache']->set($key,$new_hepls);
  34. }
  35. return $new_hepls;
  36. }
  37. public function rm($param)
  38. {
  39. $key = $this->build_key(__CLASS__,$param);
  40. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  41. $GLOBALS['cache']->rm($key);
  42. }
  43. public function clear_all()
  44. {
  45. $GLOBALS['cache']->set_dir(APP_ROOT_PATH."public/runtime/data/".__CLASS__."/");
  46. $GLOBALS['cache']->clear();
  47. }
  48. }
  49. ?>