<?php
require 'inc.php';
require_once "../../sys/cls_ctl/ctl.data.back.php";
$obj_data_back=new cls_ctl_data_back();
(!isset($_REQUEST["step"]))?$get_step=1:$get_step=intval($_REQUEST["step"]);

function me_chk_dir($msg_path){
	$dir = @opendir($msg_path);
	$mark=0;
	if ($dir === false)
	{
		return $mark; //如果目录打开失败，直接返回目录不可修改、不可写、不可读
	}
	if (@readdir($dir) !== false)
	{
		$mark ^= 1; //目录可读 001，目录不可读 000
	}
	@closedir($dir);
	/* 检查目录是否可写 */
	$test_file=WEB_ROOT."/data/install_test.php";
	$fp = @fopen($test_file, 'wb');
	if ($fp === false)
	{
		return $mark; //如果目录中的文件创建失败，返回不可写。
	}
	if (@fwrite($fp, '//directory access testing.') !== false)
	{
		$mark ^= 2; //目录可写可读011，目录可写不可读 010
	}
	@fclose($fp);
	@unlink($test_file);
	return $mark;
}

switch($get_step)
{
	case 3:
	//填写初始化配置信息
		$get_step=4;
		$str_scriptname=$_SERVER["SCRIPT_NAME"];
		$lng_x=strlen("/plus/install/index.php");
		$str_x=substr($str_scriptname,0,$lng_x);
		$str_url_path="";
		if("/plus/install/index.php"!=$str_x){
			$str_url_path=substr($str_scriptname,0,-$lng_x);
		}
		include'tpl/index.3.tpl.php';
		break;
	case 4:
	//保存配置文件
		$get_step=6;
		$str_db_host=$_REQUEST["DB_HOST"];
		$str_db_user=$_REQUEST["DB_USER"];
		$str_db_pwd=$_REQUEST["DB_PWD"];
		$str_db_name=$_REQUEST["DB_NAME"];
		$str_admin_double=intval($_REQUEST["WEB_ADMIN_DOUBLE"]);
		$str_admin_id=intval($_REQUEST["WEB_ADMIN_ID"]);
		$str_cookie_pre=$_REQUEST["WEB_COOKIE_PRE"];
		$str_db_pre=$_REQUEST["DB_PRE"];
		$str_web_dir=$_REQUEST["WEB_DIR"];
		$str_xxgo_uname=$_REQUEST["XXGO_UNAME"];
		$str_xxgo_pwd=$_REQUEST["XXGO_PWD"];
		$str_user_regtype=$_REQUEST["USER_REGTYPE"];
		$obj_db = new cls_sql;
		$arr_connect = $obj_db->connect($str_db_host, $str_db_user, $str_db_pwd);
		if($arr_connect["err"]!=""){
			echo "<script>alert('数据库管理账号或密码不正确!');history.back();</script>";
			exit;
		}
		//创建数据库
		$str_sql="CREATE DATABASE ".$str_db_name;
		$obj_db->execute($str_sql);
		$str_config="<?php";
		$str_config.=chr(10)."define('DB_HOST', '".$str_db_host."'); //数据库服务器主机地址";
		$str_config.=chr(10)."define('DB_USER', '".$str_db_user."'); //数据库帐号";
		$str_config.=chr(10)."define('DB_PWD', '".$str_db_pwd."'); //数据库密码";
		$str_config.=chr(10)."define('DB_NAME', '".$str_db_name."'); //数据库名";
		$str_config.=chr(10)."define('DB_PRE', '".$str_db_pre."'); //数据库表前缀，同一数据库安装多套uktour时，请修改表前缀";
		$str_config.=chr(10)."define('DB_CHARSET', 'gbk'); //数据库字符集";
		$str_config.=chr(10)."define('DB_PCONNECT', 1); //0 或1，是否使用持久连接";
		$str_config.=chr(10)."define('DB_DATABASE', 'mysql'); //数据库类型";
		$str_config.=chr(10)."//模块配置信息";
		$str_config.=chr(10)."//**********SYSTEM***********系统目录*************";
		$str_config.=chr(10)."define('XXGONET_URL', 'http://www.xxgo.net');";
		$str_config.=chr(10)."define('XXGONET_VERSION', 'PHP人才系统2.0_UC_gbk');//当前版本";
		$str_config.=chr(10)."define('XXGONET_UNAME', '".$str_xxgo_uname."');//官方账号";
		$str_config.=chr(10)."define('XXGONET_PWD', '".$str_xxgo_pwd."');//官方账号登录密码";
		$str_config.=chr(10)."define('WEB_DOMAIN', 'http://{$_SERVER['HTTP_HOST']}');";
		$str_config.=chr(10)."define('WEB_URL', 'http://'.\$_SERVER[\"HTTP_HOST\"].\"".$str_web_dir."\");";
		$str_config.=chr(10)."define('WEB_SCRIPT_URL', 'http://'.\$_SERVER[\"HTTP_HOST\"].\$_SERVER[\"SCRIPT_NAME\"]);";
		$str_config.=chr(10)."define('EVN_TEST', '0');";
		$str_config.=chr(10)."define('WEB_CSS_PATH', WEB_URL.'/'.TEMPLATES_DIR.'/temp');";
		$str_config.=chr(10)."//网站创始人";
		$str_config.=chr(10)."define('WEB_ADMIN_ID','".$str_admin_id."');";
		$str_config.=chr(10)."//登录后台是否需要再次验证，如果是设置为：1";
		$str_config.=chr(10)."define('WEB_ADMIN_DOUBLE','".$str_admin_double."');";
		$str_config.=chr(10)."//设置网站使用的用户中心";
		$str_config.=chr(10)."define('WEB_CTL_USER','/api/ctl.user.discuz.php'); //系统自带用户中心";
		$str_config.=chr(10)."define('WEB_COOKIE_PRE','".$str_cookie_pre."');";
		$str_config.=chr(10)."define('SYS_MD5_KEY','".$str_db_pwd."'); //网站登录加密码字符串";
		$str_config.=chr(10)."define('SYS_OPEN_FZ','0');//是否开通分站，1为是,0为否";
		$str_config.=chr(10)."define('SYS_USER_REGTYPE','".$str_user_regtype."');//用户注册方式，0为普通,1为邮箱，需要邮验证";
		$str_config.=chr(10)."?>";
		$str_dirname=dirname(dirname(dirname(__FILE__)));
		$str_path=$str_dirname."/data/config.inc.php";
		file_put_contents($str_path,$str_config);
		//创建数据库
		$arr_return=$obj_data_back->get_tables("install",1);
		if($arr_return["err"]==""){
			$arr_table=$arr_return["tables"];
		}else{
			echo $arr_return["err"];
			exit;
		}
		$str_table=implode("|",$arr_table);
		include 'tpl/index.4.tpl.php';
		break;
	case 5:
		//创建数据库
		define('TEMPLATES_DIR',"templates");  //模板目录，默认为 templates
		require WEB_ROOT.'/data/config.inc.php';
		$obj_db = new cls_sql;
		$arr_connect = $obj_db->connect(DB_HOST, DB_USER, DB_PWD, DB_NAME, 0, DB_CHARSET);
		$str_back_name="install";
		$str_table=$_REQUEST["table"];
		$arr_table=explode("|",$str_table);
		$str_create_table=$arr_table[0];
		$arr_msg=$obj_data_back->on_create($str_back_name,$str_create_table);
		if($arr_msg["err"]!=""){
			echo $arr_msg["err"];
			exit;
		}
		//$arr_x=array(DB_PRE."sys_config",DB_PRE."sys_model",DB_PRE."sys_admin_page",DB_PRE."hr_job_category",DB_PRE."sys_area");
		//if(in_array($str_create_table,$arr_x)){
			//导入配置表
			$arr_msg=$obj_data_back->on_insert($str_back_name,$str_create_table,1);
			if($arr_msg["err"]!=""){
				echo $arr_msg["err"];
				//exit;
			}
		//}
		$lng_count=count($arr_table)-1;
		if($lng_count>0){
			$str_msg="剩余量：<font color='red'>".$lng_count."</font> 正在创建：".$str_create_table;
		}else{
			$str_msg="<font color='red'>完成！</font>";
		}

		unset($arr_table[0]);
		$str_table=implode("|",$arr_table);
		include 'tpl/index.5.tpl.php';
		break;
	case 6:
		//注册用户
		require WEB_ROOT.'/data/config.inc.php';
		$obj_db = new cls_sql;

		$arr_connect = $obj_db->connect(DB_HOST, DB_USER, DB_PWD, DB_NAME, 0, DB_CHARSET);
		require SYS_ROOT.'/cls_tab/tab.sys.user.php';
		require SYS_ROOT.'/cls_tab/tab.sys.admin.php';
		//清空表
		$str_sql="truncate table uke_sys_user";
		$obj_db->execute($str_sql);
		$str_sql="truncate table uke_sys_admin";
		$obj_db->execute($str_sql);
		//安装成功
		$str_path=WEB_ROOT."/data/install.inc";
		file_put_contents($str_path,date("Y-m-d",TIME));
		include 'tpl/index.6.tpl.php';
		break;
	default:
	//检测环境
		$get_step=3;
		$lng_dir_data=me_chk_dir(WEB_ROOT."/data");
		$lng_dir_upload=me_chk_dir(WEB_ROOT."/upload");
		$lng_dir_cache=me_chk_dir(WEB_ROOT."/cache");
		include'tpl/index.2.tpl.php';
		break;
}
?>