<?php 


/** 
***************************************************
*欢迎使用免费版SiteTeam企业建站软件！
*这是一个专业为搜索引擎营销而设计的，极稳定、极易维护的建站软件！
*官方客服：help@php.net.cn
*官方下载网址：http://www.SiteTeam.cn 
***************************************************
**/




@set_time_limit(0); @ini_set("memory_limit", "512M"); define('ALLOW_URL_FOPEN', ini_get('allow_url_fopen')); if (!ALLOW_URL_FOPEN) { exit('由于你的PHP空间关才了远程访问功能，所以无法使用升级程序，请将你空间的php.ini设置中的“allow_url_fopen”改为“ON”或“1”'); } define('UPDATE_ROOT', str_replace('\\', '/', dirname(__FILE__))); require_once UPDATE_ROOT . "/include/global.inc.php"; session_save_path(UPDATE_ROOT . "/data/log"); session_set_cookie_params(time() + 3600); session_name('siteteam'); ob_start(); session_start(); if (!isset($_SESSION['loginid'])) { 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>SiteTeam建站软件升级提示</title>
<style type="text/css">
<!--
body {
	font-family: "Times New Roman", Times, serif;
	font-size: 12px;
	color: #333333;
}

.xtitle {
	font-size: 16px;
	background-color: #FFCC00;
	margin: 5px;
	padding: 5px;
}

.xheader {
	font-size: 13px;
	background-color: #336699;
	margin: 5px;
	padding: 5px;
	color: #FFFFFF;
}

.xmsg {
	font-size: 12px;
	background-color: #FFFFFF;
	margin: 5px;
	padding: 5px;
	border: 1px solid #CCCCCC;
}
-->
</style>
</head>

<body>
<script type="text/JavaScript">if(parent.$('admincpnav')) parent.$('admincpnav').innerHTML='开始&nbsp;&raquo;&nbsp;网站自动升级';</script>
<?php
 $updatefile = UPDATE_ROOT . "/xsite.zip"; $update = empty($_GET['update']) ? empty($_POST['update']) ? 'one' : $_POST['update'] : $_GET['update']; if (!file_exists(UPDATE_ROOT . "/data/version.txt")) { $c_version = ''; } else { $c_version = read_array_file(UPDATE_ROOT . "/data/version.txt"); } if ($s_version = @file("http://www.chenhucheng.com/soft/version.php")) { $s_version = implode("", $s_version); $s_version = unserialize(urldecode($s_version)); } else { $s_version = ''; } ?>


<?php
if ($update == 'one') { ?>

<div class="xtitle"><strong>第一步：检测软件版本信息</strong></div>

<div class="xheader"><strong>当前版本信息：</strong></div>
<div class="xmsg">
<?php if(!empty($c_version['id']) || !empty($c_version['date']) || !empty($c_version['md5']) || !empty($c_version['info'])){?>
  <table width="100%" border="0" cellspacing="1" cellpadding="5">
    <tr>
      <td width="150">当前版本号：</td>
      <td><?=$c_version['id']?></td>
    </tr>
    <tr>
      <td>版本发布日期：</td>
      <td><?=date("Y-m-d H:i:s", $c_version['date'])?></td>
    </tr>
    <tr>
      <td>MD5校验码：</td>
      <td><?=$c_version['md5']?></td>
    </tr>
    <tr>
      <td>当前版本介绍：</td>
      <td><?=$c_version['info']?></td>
    </tr>
  </table>
<?php } else {?>
你当前的版本过低，所以未能获得正确的版本信息！
<?php }?>
</div>

<div class="xheader"><strong>服务器上的版本信息：</strong></div>
<div class="xmsg">
<?php if(!empty($s_version['id']) || !empty($s_version['date']) || !empty($s_version['md5']) || !empty($s_version['info'])){?>
  <table width="100%" border="0" cellspacing="1" cellpadding="5">
    <tr>
      <td width="150">当前版本号：</td>
      <td><?=$s_version['id']?></td>
    </tr>
    <tr>
      <td>版本发布日期：</td>
      <td><?=date("Y-m-d H:i:s", $s_version['date'])?></td>
    </tr>
    <tr>
      <td>MD5校验码：</td>
      <td><?=$s_version['md5']?></td>
    </tr>
    <tr>
      <td>当前版本介绍：</td>
      <td><?=$s_version['info']?></td>
    </tr>
  </table>
<?php } else {?>
由于当前的网络原因，未能是网络上获取正确的版本信息
<?php }?>
</div>
<div align="left" style="margin:5px; padding:0px">
	<?php if(!isset($c_version['date'])|| !isset($s_version['date']) || $c_version['date'] != $s_version['date']){?>
	<form action="update.php?update=two" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
	  <label>
	  <input type="submit" name="Submit" value=" 进 行 下 一 步 " />
	  </label>
	</form>
	<?php }?>

</div>
<?php  } ?>


<?php
 if ($update == 'two') { $next = false; if (!file_exists($updatefile)) { $msg = '<li><strong><font color="#FF0000">请将升级版的压缩包文件“xsite.zip”上传至网站空间的根目录(' . "<font color=\"#000099\">{$updatefile}</font>)并重新检测！</font></strong></li>"; $next = false; } else { if (!empty($s_version['md5']) && ($s_version['md5'] == md5_file($updatefile))) { $msg = '<li>已经在' . "{$updatefile}检测到正确的升级文件</li>"; $next = true; } else { $msg = '<li><strong><font color="#FF0000">请将你当前的xsite.zip文件(<font color="#000099">' . $updatefile . '</font>)文件属性为可读、可写、可执行权限</font></strong></li>'; $msg .= '<li><strong><font color="#FF0000">已经检测到你当前下载的(<font color="#000099">' . $updatefile . '</font>)与服务器上的文件大小不一致，请重新下载并上传</font></strong></li>'; $next = false; } } ?>

<div class="xtitle"><strong>第二步：确定软件升级</strong></div>
<div class="xmsg"><?=$msg?></div>

<div align="left" style="margin:5px; padding:0px">

<form>
<?php if($next) {?>
  <label><input type="button" onclick="window.location='update.php?update=three';" name="Submit" value=" 确 定 现 在 要 升 级 " /></label>
<?php }else{?>
  <label><input type="button" onclick="window.location='update.php?update=two';" name="Submit" value=" 重 新 检 测 " /></label>
<?php }?>
  <label><input type="button" onclick="window.location='update.php?update=downzip';" name="Submit" value="在线下载升级包" /></label>
  <label><input type="button" onclick="window.location='update.php?update=one';" name="Submit" value=" 返 回 " /></label>
</form>

</div>
<?php  } ?>


<?php
 if ($update == 'three') { require_once "./admin/zip.inc.php"; $oU = new SimpleUnzip($updatefile); $oD = UPDATE_ROOT; $bF = FALSE; $reportfile = UPDATE_ROOT . '/data/update.log'; $updatelog = fopen($reportfile, "w+"); foreach($oU->Entries as $oI) { if ($oI->Name == 'domain.php') continue; $zip_dir = substr($oI->Path, 5); $file_dir = $oD . $zip_dir; if (!@file_exists($file_dir)) { file_mkdir($file_dir); } if ($fp = @fopen("{$file_dir}/" . $oI->Name, "w+")) { if (!empty($oI->Data)) { fwrite($fp, $oI->Data); } fclose($fp); @fwrite($updatelog, "\nOK:{$file_dir}/" . $oI->Name); } else { @fwrite($updatelog, "\nError:{$file_dir}/" . $oI->Name); } $bF = TRUE; } fclose($updatelog); $c_version = $s_version; save_array_file($c_version, UPDATE_ROOT. "/data/version.txt"); ?>
<div class="xtitle"><strong>第三步：软件升级结果</strong></div>
<div class="xmsg">
已经升级完成，你可以从./data/update.log查看日志！
</div>

<?php  session_destroy(); ob_end_flush(); go_url("admin.php?action=login", "升级完成了！请重新登录后台！", "top"); } ?>


<?php
 if ($update == 'downzip') { if (!($fp = @fopen("http://www.chenhucheng.com/soft/xsite.zip","r"))) { go_url("update.php?update=two", "没有链接到远端服务器，请稍后重试！"); exit(); } $savefile = fopen("xsite.zip", "w"); ?>
<div class="xtitle"><strong>在线下载升级包进行中...请耐心等待，通常需要十分钟以上...</strong></div>
<div class="xmsg">
	<div style="width:450px;">
	<?php
 $x = 0; while(!feof($fp)) { $bytecode = fread($fp, 1024); fwrite($savefile, $bytecode, 1024); $x++; if ($x % 100 == 0) { echo "\t完成：{$x}KB<br />\n"; } echo "."; } ?>
	</div>
</div>

<?php  fclose($fp); fclose($savefile); ?>
<form>
  <label><input type="button" onclick="window.location='update.php?update=two';" name="Submit" value="下载完成，重新检测升级包文件" /></label>
</form>
<? } ?>
</body>
</html>
<?php ob_end_flush();?>
<?php  function file_mkdir($path) { $path = preg_replace("/[\\\\\/]+/", "/", $path); $path = preg_replace('/[\/]+/', "/", $path); $path_info = array(); for ($i = 0 ; $i < 100; $i++) { if (file_exists($path)) { break; } else { $path_info[] = $path; } $path = dirname($path); } while ($path = array_pop($path_info)) { if (!file_exists($path)) { @mkdir($path); } } return true; } ?>