Ejemplo n.º 1
0
 public function dosite()
 {
     if (C('TOKEN_ON') && !$this->dao->autoCheckToken($_POST)) {
         $this->error(L('_TOKEN_ERROR_'));
     }
     if (APP_LANG && (isset($_POST['site_name']) || isset($_POST['member_emailchecktpl']))) {
         $where = ' and lang=' . LANG_ID;
     }
     foreach ($_POST as $key => $value) {
         $data['value'] = $value;
         $f = $this->dao->where("varname='" . $key . "'" . $where)->save($data);
     }
     $f = savecache(MODULE_NAME);
     if (isset($_POST['HOME_ISHTML']) && $_POST['HOME_ISHTML'] == '') {
         @unlink(__ROOT__ . 'index.html');
     }
     if ($_POST['DEFAULT_LANG']) {
         routes_cache($_POST['URL_URLRULE']);
     }
     if ($f) {
         $this->success(L('do_ok'));
     } else {
         $this->error(L('do_error'));
     }
 }
Ejemplo n.º 2
0
function savecache($name = '', $id = '')
{
    unlink(RUNTIME_FILE);
    $Model = M($name);
    if ($name == 'Lang') {
        $list = $Model->order('listorder')->select();
        $pkid = $Model->getPk();
        $data = array();
        foreach ($list as $key => $val) {
            $data[$val['mark']] = $val;
        }
        F($name, $data);
    } elseif ($name == 'Module') {
        $list = $Model->order('listorder')->select();
        $pkid = $Model->getPk();
        $data = array();
        foreach ($list as $key => $val) {
            $data[$val[$pkid]] = $val;
            $smalldata[$val['name']] = $val[$pkid];
        }
        F($name, $data);
        F('Mod', $smalldata);
    } elseif ($name == 'Config') {
        $list = $Model->select();
        $data = $sysdata = $temp = $memberconfig = array();
        foreach ($list as $key => $r) {
            if ($r['groupid'] == 6) {
                $sysdata[$r['varname']] = $r['value'];
            } elseif ($r['groupid'] == 3) {
                if (APP_LANG) {
                    $memberconfig_temp[$r['lang']][$r['varname']] = $r['value'];
                } else {
                    $memberconfig[$r['varname']] = $r['value'];
                }
            } else {
                if (APP_LANG) {
                    if ($r['lang']) {
                        $temp[$r['lang']][$r['varname']] = $r['value'];
                    } else {
                        $data[$r['varname']] = $r['value'];
                    }
                } else {
                    $data[$r['varname']] = $r['value'];
                }
            }
        }
        if (APP_LANG) {
            $lang = F('Lang');
            foreach ((array) $lang as $key => $r) {
                $data1 = array();
                $data1 = array_merge($temp[$r['id']], $data);
                F('Config_' . $key, $data1);
                F('member.config_' . $key, $memberconfig_temp[$r['id']]);
                if (empty($data1['HOME_ISHTML'])) {
                    @unlink('./index.html');
                    @unlink('./' . $key . '/index.html');
                }
            }
        } else {
            F('Config', $data);
            F('member.config', $memberconfig);
            if (empty($data['HOME_ISHTML'])) {
                @unlink('./index.html');
            }
        }
        $langs = M('Lang')->field('mark')->select();
        foreach ((array) $langs as $r) {
            $lang1[] = $r['mark'];
        }
        $sysdata['LANG_LIST'] = 'zh-cn,' . implode(',', $lang1);
        F('sys.config', $sysdata);
    } elseif ($name == 'Category') {
        $data = $smalldata = $temp = array();
        if (APP_LANG) {
            $lang = F('Lang');
            foreach ((array) $lang as $key => $r) {
                $langid = $r['id'];
                if ($langid) {
                    $lang = $key;
                    $list = $Model->where('lang=' . $langid)->order('listorder')->select();
                    $pkid = $Model->getPk();
                    $data = array();
                    foreach ($list as $key => $val) {
                        $data[$val[$pkid]] = $val;
                        $smalldata[$val['catdir']] = $val[$pkid];
                    }
                    F('Category_' . $lang, $data);
                    F('Cat_' . $lang, $smalldata);
                }
            }
        } else {
            $list = $Model->order('listorder')->select();
            $pkid = $Model->getPk();
            $data = array();
            foreach ($list as $key => $val) {
                $data[$val[$pkid]] = $val;
                $smalldata[$val['catdir']] = $val[$pkid];
            }
            F($name, $data);
            F('Cat', $smalldata);
        }
    } elseif ($name == 'Field') {
        if ($id) {
            $list = $Model->order('listorder')->where('moduleid=' . $id)->select();
            $pkid = 'field';
            $data = array();
            foreach ($list as $key => $val) {
                $data[$val[$pkid]] = $val;
            }
            $name = $id . '_' . $name;
            F($name, $data);
        } else {
            $module = F('Module');
            foreach ($module as $key => $val) {
                savecache($name, $key);
            }
        }
    } elseif ($name == 'Dbsource') {
        $list = $Model->select();
        $data = array();
        foreach ($list as $key => $val) {
            $data[$val['name']] = $val;
        }
        F($name, $data);
    } else {
        $list = $Model->order('listorder')->select();
        $pkid = $Model->getPk();
        $data = array();
        foreach ($list as $key => $val) {
            $data[$val[$pkid]] = $val;
        }
        F($name, $data);
        if ($name == 'Urlrule') {
            $config = F('sys.config');
            if ($config['URL_URLRULE']) {
                routes_cache($config['URL_URLRULE']);
            }
        }
    }
    return true;
}