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')); } }
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; }