Exemple #1
0
	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("修改成功");
	}
Exemple #2
0
	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;
 }
Exemple #4
0
	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');
	}
Exemple #5
0
	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("设置成功");
	}