<?php 
@set_time_limit(0);
//检测 Global 和 Magic 开关
$needFilter = false;
$registerGlobals = @ini_get("register_globals");
$isMagic = @ini_get("magic_quotes_gpc");
if(!$isMagic) require_once(dirname(__FILE__)."/../include/config_rglobals_magic.php");
else if(!$registerGlobals) require_once(dirname(__FILE__)."/../include/config_rglobals.php");
require_once(dirname(__FILE__)."/../include/inc_functions.php");
//测试
//-----------------------------------------
if(empty($step)) $step = 1;
if($step==1){ //读取初始参数
  if(!empty($_SERVER["REQUEST_URI"])){$scriptName = $_SERVER["REQUEST_URI"]; }
  else{ $scriptName = $_SERVER["PHP_SELF"]; }
  $basepath = eregi_replace("/setup(.*)$","",$scriptName);
  if(empty($_SERVER['HTTP_HOST'])) $baseurl = "http://".$_SERVER['HTTP_HOST'];
  else $baseurl = "http://".$_SERVER['SERVER_NAME'];
  $rnd_cookieEncode = chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).mt_rand(1000,9999).chr(mt_rand(ord('A'),ord('Z')));
}
else if($step==2){ //安装程序
  if(!isset($isnew)) $isnew = 0;
  $conn = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd) or die("<script>alert('数据库服务器或登录密码无效，\\n\\n无法连接数据库，请重新设定！');history.go(-1);</script>");
  if($isnew==1){
  	mysql_query("CREATE DATABASE ".$cfg_dbname,$conn) or die("<script>alert('创建数据库失败，可能权限不足，请指定一个已创建好的数据库！');history.go(-1);</script>");
  }
  mysql_select_db($cfg_dbname) or die("<script>alert('数据库不存在，请重新设定！');history.go(-1);</script>");
  mysql_query("SET NAMES '$dblang';",$conn);
  $rs = mysql_query("SELECT VERSION();",$conn);
  $row = mysql_fetch_array($rs);
  $mysql_version = $row[0];
  $mysql_versions = explode(".",trim($mysql_version));
  $mysql_version = $mysql_versions[0].".".$mysql_versions[1];
  
  $fp = fopen(dirname(__FILE__)."/config_base.php","r") or die("<script>alert('读取配置，请检查setup/config_base.php 是否可读取！');history.go(-1);</script>");;
  $configstr1 = fread($fp,filesize(dirname(__FILE__)."/config_base.php"));
  fclose($fp);
  
  $fp = fopen(dirname(__FILE__)."/config_hand.php","r") or die("<script>alert('读取配置，请检查setup/config_base.php 是否可读取！');history.go(-1);</script>");;
  $configstr2 = fread($fp,filesize(dirname(__FILE__)."/config_hand.php"));
  fclose($fp);
  
  //config_base.php
  $configstr1 = str_replace("~dbhost~",$cfg_dbhost,$configstr1);
	$configstr1 = str_replace("~dbname~",$cfg_dbname,$configstr1);
	$configstr1 = str_replace("~dbuser~",$cfg_dbuser,$configstr1);
	$configstr1 = str_replace("~dbpwd~",$cfg_dbpwd,$configstr1);
	$configstr1 = str_replace("~dbprefix~",$cfg_dbprefix,$configstr1);
  $configstr1 = str_replace("~dblang~",$dblang,$configstr1);
  
  $fp = fopen(dirname(__FILE__)."/../include/config_base.php","w") or die("<script>alert('写入配置失败，请检查../include目录是否可写入！');history.go(-1);</script>");
  fwrite($fp,$configstr1);
  fclose($fp);

	//config_hand.php
	$cfg_cmspath = trim(ereg_replace("/{1,}","/",$cfg_cmspath));
	if($cfg_cmspath!="" && !ereg("^/",$cfg_cmspath)) $cfg_cmspath = "/".$cfg_cmspath;
	
	if($cfg_cmspath=="") $indexUrl = "/";
	else $indexUrl = $cfg_cmspath;
	
	$configstr2 = str_replace("~baseurl~",$base_url,$configstr2);
	$configstr2 = str_replace("~basepath~",$cfg_cmspath,$configstr2);
	$configstr2 = str_replace("~indexurl~",$indexUrl,$configstr2);
	$configstr2 = str_replace("~cookieEncode~",$cookieEncode,$configstr2);
	$configstr2 = str_replace("~adminemail~",$adminemail,$configstr2);
	$configstr2 = str_replace("~webname~",$webname,$configstr2);
	
	$fp = fopen(dirname(__FILE__)."/../include/config_hand.php","w") or die("<script>alert('写入配置失败，请检查../include目录是否可写入！');history.go(-1);</script>");
  fwrite($fp,$configstr2);
  fclose($fp);
  
  $fp = fopen(dirname(__FILE__)."/../include/config_hand_bak.php","w");
  fwrite($fp,$configstr2);
  fclose($fp);
  
  //删除旧表
  
  if($mysql_version < 4.1) $fp = fopen(dirname(__FILE__)."/5.0/dede2007_4_0.sql","r");
  else $fp = fopen(dirname(__FILE__)."/5.0/dede2007_4_1.sql","r");
  
  //创建数据表和写入数据
  $query = "";
  while(!feof($fp))
	{
		$line = trim(fgets($fp,1024));
		if(ereg(";$",$line)){
			$query .= $line;
			if($mysql_version < 4.1) mysql_query(str_replace("#@__",$cfg_dbprefix,$query),$conn);
			else mysql_query(str_replace("#~lang~#",$dblang,str_replace("#@__",$cfg_dbprefix,$query)),$conn);
			$query="";
		}else if(!ereg("^(//|--)",$line)){
			$query .= $line."\n";
		}
	}
	fclose($fp);
	
	$adminquery = "INSERT INTO `{$cfg_dbprefix}admin` VALUES (1, 10, '$adminuser', '".substr(md5($adminpwd),0,24)."', 'admin', '', '', '', '".GetDateTimeMk(time())."', '127.0.0.1');";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$base_url}' where varname='cfg_basehost';";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$cfg_cmspath}' where varname='cfg_cmspath';";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$indexUrl}' where varname='cfg_indexurl';";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$cookieEncode}' where varname='cfg_cookie_encode';";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$adminemail}' where varname='cfg_setupemail' Or varname='cfg_adminemail';";
	mysql_query($adminquery,$conn);
	$adminquery = "Update `{$cfg_dbprefix}sysconfig` set value='{$webname}' where varname='cfg_webname';";
	mysql_query($adminquery,$conn);
	
  @mysql_close($conn);
  
  ShowMsg("完成数据表创建，正在准备安装基本数据，请稍等...","index.php?step=3");
  exit();
  
} 
else if($step==3){
  require_once(dirname(__FILE__)."/../include/config_base.php");
  $dsql = new DedeSql(false);
  $fp = fopen(dirname(__FILE__)."/5.0/2007_df_data.sql","r");
  //创建数据表和写入数据
  $query = "";
  while(!feof($fp))
	{
		$line = trim(fgets($fp,1024));
		if(ereg(";$",$line)){
			$query .= $line;
			$dsql->ExecuteNoneQuery($query);
			$query = '';
		}else if(!ereg("^(//|--)",$line)){
			$query .= $line."\n";
		}
	}
  fclose($fp);
  $dsql->Close();
  @unlink(dirname(__FILE__)."/notinsall.txt");
  ShowMsg("完成安装，现转向登录面页...","../dede/login.php");
  exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>安装DEDE CMS 2007 V5.0.GBK.RC1</title>
<script language="javascript">
function ShowObj(objname){
   var obj = document.getElementById(objname);
	 obj.style.display = "block";
}
  
function HideObj(objname){
  var obj = document.getElementById(objname);
	obj.style.display = "none";
}
  
function ShowItem1(){
  ShowObj('head1'); ShowObj('needset'); HideObj('head2'); HideObj('adset');
}
  
function ShowItem2(){
  var agg = document.getElementById("agreement");
  if(!agg.checked){
  	alert("你必须同意软件许可协议才能安装！");
  	return ;
  }
  ShowObj('head2'); ShowObj('adset'); HideObj('head1'); HideObj('needset');
}
</script>
<style type="text/css">
<!--
*{
	padding:0px;
	margin:0px;
	list-style:none;
}
html{
	SCROLLBAR-FACE-COLOR:#FF9900; 
	SCROLLBAR-HIGHLIGHT-COLOR: #FF9900; 
	SCROLLBAR-SHADOW-COLOR: #FFFF99;
	SCROLLBAR-3DLIGHT-COLOR: #FFCC00; 
	SCROLLBAR-ARROW-COLOR: #FFFFCC; 
	SCROLLBAR-TRACK-COLOR: #FFFF99; 
	SCROLLBAR-DARKSHADOW-COLOR: #FFFF99; 
}
body{
	color:#333333;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
}
input{
	vertical-align:middle;
}
img{
	border:0px;
}
a{
	color:#000;
}
a:hover{
	color:#F00;
	text-decoration:none;
}

.topnav{
	width:400px;
	margin-top:17px;
}
.topnav li{
	float:left;
	height:24px;
	line-height:21px;
	padding-top:7px;
	background:#F09E00;
	margin-left:10px;
	padding-left:14px;
	padding-right:14px;
	font-size:16px;
	font-weight:bold;
	color:#FFF;
	border:1px solid #F09E00;
	letter-spacing:2px;
}
.topnav li.this{
	height:21px;
	line-height:21px;
	padding-top:10px;
	background:#FFF;
	color:#000;
	border-bottom:1px solid #FFF;
}

.step1{
	width:100%;
	font-size:14px;
	line-height:23px;
	color:#666666;
	overflow-y:auto;
	display:block;
}
.step1 p{
	text-indent:20px;
	margin-top:10px;
}
.step2 table td{
	padding:7px;
	font-size:14px;
}
.step2 input.txtbox{
	border:1px solid #CCC;
	padding:6px 0px 5px 7px;
	font-size:12px;
	font-weight:bold;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	letter-spacing:1px;
	width:300px;
}

.butbox{
	width:300px;
	margin:10px auto;
}

.nextbut{
	width:124px;
	height:37px;
	padding-top:10px;
	line-height:21px;
	overflow:hidden;
	display:block;
	background:url(img/bt_bg.gif) top center no-repeat;
	text-decoration:none;
	font-size:18px;
	font-weight:bold;
	color:#006633;
	margin-left: 220px;
	float: left;
}
.nextbut:hover{
	color:#369;
	background:url(img/bt_bg.gif) bottom center no-repeat;
}
.outbut{
	width:82px;
	height:27px;
	padding-top:10px;
	line-height:21px;
	overflow:hidden;
	display:block;
	background:url(img/mark_ico.gif) top center no-repeat;
	text-decoration:none;
	font-size:18px;
	font-weight:bold;
	color:#333;
	margin:0 auto;
	float:right;
}
.outbut:hover{
	color:#F50;
	background:url(img/mark_ico.gif) bottom center no-repeat;
}

-->
</style>

</head>
<body>
<table width="90%" height="120" border="0" align="center" cellpadding="0" cellspacing="0" style="background:url(img/setup_topbg.jpg) repeat-x; margin:0px auto;">
  <tr>
    <td height="70" valign="bottom" style="background:url(../dede/images/ddlogo.gif) 10px 10px no-repeat;  line-height:16px; font-size:12px; font-weight:bold;"><p style="display:block; margin:0px 0px 18px 272px;"> 你目前正在安装<br />
            <span style="color:#F00;"> DedeCms 2007 V5.0.GBK.RC1</span> </p></td>
    <td width="380" rowspan="2" style="background:url(img/setup_rimg.jpg) right top no-repeat;">&nbsp;</td>
  </tr>
  <tr>
    <td height="50" valign="bottom"><ul class="topnav" id="head1">
      <li class="this">阅读注册协议</li>
      <li><a href="#" onClick="ShowItem2()">设定参数</a></li>
    </ul>
        <ul class="topnav" style="display:none" id="head2">
          <li><a href="#" onClick="ShowItem1()">阅读注册协议</a></li>
          <li class="this">设定参数</li>
      </ul></td>
  </tr>
</table>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" style="margin:10px auto;" id="needset">
  <tr>
    <td valign="top"><div class="step1">
      <p>版权所有 (c)2003-2007，DedeCms.com 保留所有权利。 </p>
      <p>感谢您选择织梦内容管理系统（以下简称DedeCms），DedeCms是目前国内最强大、最稳定的中小型门户网站建设解决方案之一，居于 PHP + MySQL 的技术开发，全部源码开放。DedeCms 的官方网址是： www.dedecms.com  交流论坛： bbs.dedecms.com</p>
      <p>为了使你正确并合法的使用本软件，请你在使用前务必阅读清楚下面的协议条款：</p>
      <p><strong>一、本授权协议适用且仅适用于 DedeCms 5.x.x 版本，DedeCms官方对本授权协议的最终解释权。 </strong></p>
      <p><strong>二、协议许可的权利 </strong><br />
        1、您可以在完全遵守本最终用户授权协议的基础上，将本软件应用于非商业用途，而不必支付软件版权授权费用。 <br />
        2、您可以在协议规定的约束和限制范围内修改 DedeCms 源代码或界面风格以适应您的网站要求。 <br />
        3、您拥有使用本软件构建的网站全部内容所有权，并独立承担与这些内容的相关法律义务。 <br />
        4、获得商业授权之后，您可以将本软件应用于商业用途，同时依据所购买的授权类型中确定的技术支持内容，自购买时刻起，在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。商业授权用户享有反映和提出意见的权力，相关意见将被作为首要考虑，但没有一定被采纳的承诺或保证。 </p>
      <p><strong>二、协议规定的约束和限制 </strong><br />
        1、未获商业授权之前，不得将本软件用于商业用途（包括但不限于企业网站、经营性网站、以营利为目的或实现盈利的网站）。购买商业授权请登陆 bbs.dedecms.com 了解最新说明。 <br />
        2、未经官方许可，不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。 <br />
        3、不管你的网站是否整体使用 DedeCms ，还是部份栏目使用 DedeCms，在你使用了 DedeCms 的网站主页上必须加上 DedeCms 官方网址(www.dedecms.com)的链接。 <br />
        4、未经官方许可，禁止在 DedeCms 的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。 <br />
        5、如果您未能遵守本协议的条款，您的授权将被终止，所被许可的权利将被收回，并承担相应法律责任。 </p>
      <p><strong>三、有限担保和免责声明 </strong><br />
        1、本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。 <br />
        2、用户出于自愿而使用本软件，您必须了解使用本软件的风险，在尚未购买产品技术服务之前，我们不承诺对免费用户提供任何形式的技术支持、使用担保，也不承担任何因使用本软件而产生问题的相关责任。 <br />
        3、电子文本形式的授权协议如同双方书面签署的协议一样，具有完全的和等同的法律效力。您一旦开始确认本协议并安装 DedeCms，即被视为完全理解并接受本协议的各项条款，在享有上述条款授予的权力的同时，受到相关的约束和限制。协议许可范围以外的行为，将直接违反本授权协议并构成侵权，我们有权随时终止授权，责令停止损害，并保留追究相关责任的权力。 <br />
        4、如果本软件带有其它软件的整合API示范例子包，这些文件版权不属于本软件官方，并且这些文件是没经过授权发布的，请参考相关软件的使用许可合法的使用。</p>
      <p>协议发布时间：  2007年12月1日 By DedeCms.com</p>
      <p>&nbsp;</p>
    </div></td>
  </tr>
  <tr>
    <td align="center" style="font-size:14px; height:31px; line-height:31px; background:#F7F7F7 ; letter-spacing:3px;"><input id="agreement" type="checkbox" value="1" name="agreement" />
        <strong>
        <label for="agreement">我已经阅读并同意此协议</label>
        </strong></td>
        <tr>
		  <td height="50" align="center" background="#FFFFFF"><input name="button" type="button" class="nextbut" id="button" value="下一步" onClick="ShowItem2()" /></td>
  </tr>
  </tr>
</table>
<table width="90%" border="0" align="center" cellpadding="5" cellspacing="1"  id="adset" style="display:none;margin:10px auto">
  <form name="form1" method="post" action="index.php">
    <input type="hidden" name="step" value="2">
    <tr>
      <td valign="top" bgcolor="#FFFFFF" class="step2"><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#E3F1BF">
        <tr>
          <td colspan="2" align="left" bgcolor="#D9EDA9"><strong>安装参数配置</strong></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7"><strong>目录权限检测：</strong><br />
            (系统要求必须满足左边的目录权限全部可读写的需求才能使用，其它应用目录可安装后在管理后台检测)</td>
          <td bgcolor="#FFFFFF"><iframe name="stafrm2" frameborder="0" src="testpurview.php" id="stafrm" width="60%" height="150"></iframe></td>
        </tr>
        <tr>
          <td colspan="2" align="left" bgcolor="#D9EDA9"><strong>数据库设定</strong></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库主机：</td>
          <td bgcolor="#FFFFFF"><input name="cfg_dbhost" type="text" id="cfg_dbhost" value="localhost" class="txtbox"/></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库名称：</td>
          <td bgcolor="#FFFFFF"><input name="cfg_dbname" type="text" id="cfg_dbname" value="dedecmsv5" class="txtbox" />
                <input name="isnew" type="checkbox" id="isnew" value="1"/>
            创建新数据库</td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库用户：</td>
          <td bgcolor="#FFFFFF"><input name="cfg_dbuser" type="text" id="cfg_dbuser" value="root" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库密码：</td>
          <td bgcolor="#FFFFFF"><input name="cfg_dbpwd" type="text" id="cfg_dbpwd" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库前缀：</td>
          <td bgcolor="#FFFFFF"><input name="cfg_dbprefix" type="text" id="cfg_dbprefix" value="dede_" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" valign="middle" bgcolor="#FBFDF7">数据库编码：</td>
          <td bgcolor="#FFFFFF"><input name="dblang" type="radio" value="gbk" checked="checked" />
            GBK
            <input type="radio" name="dblang" value="latin1" />
            LATIN1 （仅对4.1+以上版本的MySql选择）</td>
        </tr>
        <tr>
          <td colspan="2" align="left" bgcolor="#D9EDA9"><strong>管理员初始密码</strong></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;用户名：</td>
          <td bgcolor="#FFFFFF"><input name="adminuser" type="text" id="adminuser" value="admin" class="txtbox" />
            （只能用'0-9'、'a-z'、'A-Z'、'.'、'@'、'_'、'-'、'!'以内范围的字符）</td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;密　码：</td>
          <td bgcolor="#FFFFFF"><input name="adminpwd" type="text" id="adminpwd" value="admin" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;Cookie加密码：</td>
          <td bgcolor="#FFFFFF"><input name="cookieEncode" type="text" id="cookieEncode" value="<?php echo $rnd_cookieEncode?>" class="txtbox" /></td>
        </tr>
        <tr>
          <td colspan="2" align="left" bgcolor="#D9EDA9"><strong>其它设定</strong></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;网站名称：</td>
          <td bgcolor="#FFFFFF"><input name="webname" type="text" id="webname" value="我的网站" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;管理员邮箱：</td>
          <td bgcolor="#FFFFFF"><input name="adminemail" type="text" id="adminemail" value="admin@yourmail.com" class="txtbox" /></td>
        </tr>
        <tr>
          <td colspan="2" align="left" bgcolor="#D9EDA9"><strong>以下参数如无特殊需求不需要手工更改</strong></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;网站网址：</td>
          <td bgcolor="#FFFFFF"><input name="base_url" type="text" id="base_url" value="<?php echo $baseurl?>" size="35" class="txtbox" /></td>
        </tr>
        <tr>
          <td align="right" bgcolor="#FFFFFF">&nbsp;CMS安装目录：</td>
          <td width="70%" bgcolor="#FFFFFF"><input name="cfg_cmspath" type="text" id="cfg_cmspath" value="<?php echo $basepath?>" class="txtbox" />
            （在根目录安装时不必理会） </td>
        </tr>
        <tr>
          <td colspan="2" bgcolor="#FFFFFF"><input name="button" type="submit" class="nextbut" id="button" value="确定" /></td>
        </tr>
        <tr>
          <td colspan="2" align="right" bgcolor="#FFFFFF"><img src="py/p5.gif" width="43" height="41" /><img src="py/p4.gif" width="43" height="41" /><img src="py/p3.gif" width="43" height="41" /><img src="py/p2.gif" width="43" height="41" /><img src="py/p1.gif" width="43" height="41" /></td>
        </tr>
      </table></td>
    </tr>
  </form>
</table>
<p align="center">
<a href='http://www.dedecms.com' target='_blank'>Power by DedeCms 织梦内容管理系统</a><br><br>
</p>
</body>
</html>
