示例#1
0
function cache_all()
{
    cache_module();
    cache_area();
    cache_category();
    cache_fields();
    cache_group();
    cache_pay();
    cache_oauth();
    cache_type();
    cache_keylink();
    return true;
}
示例#2
0
 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;
 }
示例#3
0
    //更新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);