function Disallow() { $this->CheckAdminPrivs('robot'); $name = trim($this->Get['name']); $disallow = 'disallow1' == $this->Code ? 1 : 0; $sql = "update `".TABLE_PREFIX."system_robot` set `disallow`='{$disallow}' where `name`='{$name}'"; $this->DatabaseHandler->Query($sql); $sql = "select `name`,`disallow` from `".TABLE_PREFIX."system_robot` where `disallow`=1"; $query = $this->DatabaseHandler->Query($sql); $robot_config = ConfigHandler::get('robot'); $robot_config['list'] = array(); while ($row = $query->GetRow()) { $robot_config['list'][$row['name']]['disallow'] = $row['disallow']; } $configHandler = new ConfigHandler(); $configHandler->set('robot',$robot_config); $disallow_string = "User-agent: {$name} Disallow: / "; $load = new Load(); $load->lib('io'); $IoHandler = new IoHandler(); $robots_path = ROOT_PATH . 'robots.txt'; $robots_string_new = $robots_string = $IoHandler->ReadFile($robots_path); $disallow_string_strpos = strpos($robots_string,$disallow_string); if ($disallow && false===$disallow_string_strpos) { $robots_string_new = $disallow_string . $robots_string_new; } elseif (!$disallow && false!==$disallow_string_strpos) { $robots_string_new = str_replace($disallow_string,"",$robots_string_new); } if ($robots_string_new!=$robots_string) { $return = $IoHandler->WriteFile($robots_path,$robots_string_new); if (!$return) { $this->Messager("写入 <b>{$robots_path}</b> 文件失败,请检查是否有可读写的权限",null); } } $this->Messager("修改成功"); }
function doIndexNaviManager() { $this->CheckAdminPrivs('navset'); $op = $this->Get['op']; if ('modify' == $op) { $list = $this->Post; $order = $list['order']; foreach ($order as $i => $oid) { if ($oid != '') { $sort[$oid] = $i; } } ksort($sort); foreach ($sort as $oid => $i) { $one = array(); $one['order'] = $list['order'][$i]; $one['name'] = $list['name'][$i]; $one['url'] = $list['url'][$i]; $one['title'] = $list['title'][$i]; $one['target'] = $list['target'][$i]; $set[] = $one; } $configHandler = new ConfigHandler(); $configHandler->set('nav', $set); $this->Messager('保存成功!'); } }
static function update($var, $val = null) { if (!$var) { return array(); } $arrs = array(); if (is_array($var)) { $arrs = $var; } else { $arrs[$var] = $val; } $update = 0; $config = ConfigHandler::core_settings(); if ($config) { foreach ($arrs as $var => $val) { if ($config[$var] != $val) { $update = 1; $config[$var] = $val; } } } if ($update && $config) { ConfigHandler::set($config); } return $config; }
function DoSetting() { $this->CheckAdminPrivs('ucenter'); if(!is_file(UC_CLIENT_ROOT . './client.php')) { $this->Messager('Ucenter的客户端文件 <b>' . UC_CLIENT_ROOT . './client.php' . "</b> 不存在,请检查"); } if(!is_file(ROOT_PATH . './api/uc.php')) { $this->Messager('Ucenter的api文件 <b>' . UC_CLIENT_ROOT . './uc.php' . "</b> 不存在,请检查"); } if (trim($_POST['uc_config_string'])) { $_POST['ucenter'] = $this->_get_uc_config($_POST['uc_config_string']); if (!$_POST['ucenter']) { $this->Messager("通过字符串更新UC配置失败,请手工填写具体的配置信息",null); } } $_POST['ucenter']['uc_charset'] = $_POST['ucenter']['uc_db_charset'] = str_replace('-', '', ini('settings.charset')); if(!$_POST['ucenter']['uc_key']) { $this->Messager("请填写Ucenter通信密钥,建议查看"."帮助文"."档</b>"."</a>"); } if(!$_POST['ucenter']['uc_api']) { $this->Messager("请填写Ucenter地址,建议查看"."帮助文"."档</b>"."</a>"); } if(!$_POST['ucenter']['uc_app_id']) { $this->Messager("请填写当前应用ID,建议查看"."帮助文"."档</b>"."</a>"); } if('请输入Ucenter的数据库密码' == $_POST['ucenter']['uc_db_password']) { $ucenter_config = ConfigHandler::get('ucenter'); $_POST['ucenter']['uc_db_password'] = $ucenter_config['uc_db_password']; } if('mysql' == $_POST['ucenter']['uc_connect']) { $_POST['ucenter']['uc_db_name'] = "`".trim($_POST['ucenter']['uc_db_name'],'`')."`"; $_POST['ucenter']['uc_db_table_prefix'] = $_POST['ucenter']['uc_db_name'] . '.' . (false !== ($_tmp_pos = strpos($_POST['ucenter']['uc_db_table_prefix'],'.')) ? substr($_POST['ucenter']['uc_db_table_prefix'],$_tmp_pos + 1) : $_POST['ucenter']['uc_db_table_prefix']); if((@$dl = mysql_connect($_POST['ucenter']['uc_db_host'],$_POST['ucenter']['uc_db_user'],$_POST['ucenter']['uc_db_password'])) && mysql_query("SHOW COLUMNS FROM {$_POST['ucenter']['uc_db_table_prefix']}members",$dl)) { ; } else { $this->Messager("无法连接Ucenter数据库,请检查您填写的Ucenter数据库配置信息"); } } $configHandler = new ConfigHandler(); $configHandler->set('ucenter',$_POST['ucenter']); unset($ucenter); $ucenter = ConfigHandler::get('ucenter'); if($ucenter['enable'] && 'mysql' == $ucenter['uc_connect']) { include_once(ROOT_PATH.'./api/uc_api_db.php'); $uc_db = new JSG_UC_API_DB(); @$uc_db->connect($ucenter['uc_db_host'],$ucenter['uc_db_user'],$ucenter['uc_db_password'],$ucenter['uc_db_name'],$ucenter['uc_db_charset'],1,$ucenter['uc_db_table_prefix']); if(!($uc_db->link) || !($uc_db->query("SHOW COLUMNS FROM {$ucenter['uc_db_table_prefix']}members",'SILENT'))) { $ucenter['enable'] = 0; $configHandler = new ConfigHandler(); $configHandler->set('ucenter',$ucenter); $this->Messager("无法连接Ucenter数据库,请检查您填写的Ucenter数据库配置信息是否正确."); } $this->Messager("Ucenter配置保存成功,如果您已经对数据库进行过备份了,<a href='admin.php?mod=ucenter&code=merge&confirm=1'><b>请点此进行用户数据整合</b></a>",null); } $this->Messager("配置成功",'admin.php?mod=ucenter'); }
function DoModifyAccess() { $this->CheckAdminPrivs('ipset'); $access=(array)$this->Post['access']; $access['ipbanned']=trim($access['ipbanned']); $access['admincp']=trim($access['admincp']); foreach ($access as $type =>$ips) { if(!empty($ips)) { $ips=preg_replace("/[\r\n]+/i","\n",$ips); $_ip_list=explode("\n",$ips); $access[$type]=$sep=""; foreach ($_ip_list as $_ip) { if(preg_match("/^(\d{1,3}\.){1,3}\d{1,3}\.?$/",$_ip)) { $access[$type].=$sep.str_replace(".","\.",$_ip); $sep="|"; } } } } if(!empty($access['ipbanned']) && preg_match("~^({$access['ipbanned']})~",$_SERVER['REMOTE_ADDR'])) { $this->Messager("您当前的IP在禁止IP里,无法设置。"); } if(!empty($access['admincp']) && !preg_match("~^({$access['admincp']})~",$_SERVER['REMOTE_ADDR'])) { $this->Messager("您当前的IP在不在后台允许的IP里,无法设置。",-1); } $configHandler = new ConfigHandler(); $configHandler->set('access',$access); $ipbanned_enable = (boolean) $access['ipbanned']; if($ipbanned_enable!=$this->Config['ipbanned_enable']) { unset($config); include(CONFIG_PATH . 'settings.php'); $config['ipbanned_enable'] = $ipbanned_enable; $configHandler = new ConfigHandler(); $configHandler->set($config); } $this->Messager("设置成功"); }