function cache_all() { cache_module(); cache_area(); cache_category(); cache_fields(); cache_group(); cache_pay(); cache_oauth(); cache_type(); cache_keylink(); return true; }
function repair() { $query = $this->db->query("SELECT * FROM {$this->table} ORDER BY listorder,areaid"); $AREA = array(); while ($r = $this->db->fetch_array($query)) { $AREA[$r['areaid']] = $r; } $childs = array(); foreach ($AREA as $areaid => $area) { $arrparentid = $this->get_arrparentid($areaid, $AREA); $this->db->query("UPDATE {$this->table} SET arrparentid='{$arrparentid}' WHERE areaid={$areaid}"); if ($arrparentid) { $arr = explode(',', $arrparentid); foreach ($arr as $a) { if ($a == 0) { continue; } isset($childs[$a]) or $childs[$a] = ''; $childs[$a] .= ',' . $areaid; } } } foreach ($AREA as $areaid => $area) { if (isset($childs[$areaid])) { $arrchildid = $areaid . $childs[$areaid]; $this->db->query("UPDATE {$this->table} SET arrchildid='{$arrchildid}',child=1 WHERE areaid='{$areaid}'"); } else { $this->db->query("UPDATE {$this->table} SET arrchildid='{$areaid}',child=0 WHERE areaid='{$areaid}'"); } } cache_area(); return true; }
//更新class mod_sort_sons("{$pre}area", 0); //更新sons /*更新导航缓存*/ cache_area(); refreshto($FROMURL, "删除成功"); } elseif ($action == "editlist") { foreach ($order as $key => $value) { $db->query("UPDATE {$pre}area SET list='{$value}' WHERE fid='{$key}' "); } mod_sort_class("{$pre}area", 0, 0); //更新class mod_sort_sons("{$pre}area", 0); //更新sons /*更新导航缓存*/ cache_area(); refreshto("{$FROMURL}", "修改成功", 1); } /** *更新缓存 **/ function cache_area() { global $db, $pre; $show = "<?php\r\n"; $query = $db->query("SELECT fid,fup,name FROM {$pre}area LIMIT 500"); while ($rs = $db->fetch_array($query)) { $rs[name] = addslashes($rs[name]); $show .= "\$area_db[{$rs[fup]}][{$rs[fid]}]='{$rs['name']}';\n\t\t\$area_db[name][{$rs[fid]}]='{$rs['name']}';\n\t\t"; } write_file(ROOT_PATH . "data/all_area.php", $show);