member_cache.class.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * 会员缓存操作
  4. *
  5. */
  6. class member_cache {
  7. /**
  8. * 更新模型缓存
  9. */
  10. public static function update_cache_model() {
  11. $sitemodel_db = pc_base::load_model('sitemodel_model');
  12. $data = $sitemodel_db->select(array('type'=>2), "*", 1000, 'sort', '', 'modelid');
  13. setcache('member_model', $data, 'commons');
  14. if(!defined('MODEL_PATH')) {
  15. //模型原型存储路径
  16. define('MODEL_PATH',PC_PATH.'modules'.DIRECTORY_SEPARATOR.'member'.DIRECTORY_SEPARATOR.'fields'.DIRECTORY_SEPARATOR);
  17. }
  18. if(!defined('CACHE_MODEL_PATH')) {
  19. //模型缓存路径
  20. define('CACHE_MODEL_PATH',PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);
  21. }
  22. require MODEL_PATH.'fields.inc.php';
  23. //更新内容模型类:表单生成、入库、更新、输出
  24. $classtypes = array('form','input','update','output');
  25. foreach($classtypes as $classtype) {
  26. $cache_data = file_get_contents(MODEL_PATH.'member_'.$classtype.'.class.php');
  27. $cache_data = str_replace('}?>','',$cache_data);
  28. foreach($fields as $field=>$fieldvalue) {
  29. if(file_exists(MODEL_PATH.$field.DIRECTORY_SEPARATOR.$classtype.'.inc.php')) {
  30. $cache_data .= file_get_contents(MODEL_PATH.$field.DIRECTORY_SEPARATOR.$classtype.'.inc.php');
  31. }
  32. }
  33. $cache_data .= "\r\n } \r\n?>";
  34. file_put_contents(CACHE_MODEL_PATH.'member_'.$classtype.'.class.php',$cache_data);
  35. chmod(CACHE_MODEL_PATH.'member_'.$classtype.'.class.php',0777);
  36. }
  37. return true;
  38. }
  39. }