优化 更新功能
This commit is contained in:
parent
655a77d93b
commit
67bf1ff379
129
admin/update.php
129
admin/update.php
|
@ -4,88 +4,99 @@ include './head.php';
|
||||||
?>
|
?>
|
||||||
<!--页面主要内容-->
|
<!--页面主要内容-->
|
||||||
<main class="lyear-layout-content">
|
<main class="lyear-layout-content">
|
||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<?php
|
<?php
|
||||||
if(getver($update['version']) > getver($conf['version']) && !empty($update['version']) ){
|
if(getver($update['version']) > getver($conf['version']) && !empty($update['version']) ) {
|
||||||
echo '<div class="alert alert-info" role="alert">发现新版本:'.$update['version'].' <a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">查看更新说明</a></div>
|
echo '<script type="text/javascript">
|
||||||
<div class="card"><div class="card-header"><h4>版本更新</h4></div><ul class="list-group">
|
window.onload=function() {
|
||||||
<li class="list-group-item"><b>当前版本:</b>'.$conf['version'].'</li>
|
var update=document.getElementById("update");
|
||||||
<li class="list-group-item"><b>最新版本:</b>'.$update['version'].'</li>
|
update.onclick=function() {if(confirm("注意:更新将会替换部分文件,是否继续?")) {window.location.href="./update.php?set=update";}
|
||||||
<li class="list-group-item"><b>更新说明:</b>点击<a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">这里</a> 下载更新包:<code>lylme_spage_update_'.$update['version'].'.zip</code> 上传到网站根目录后解压,点击更新数据库</li>
|
else {return false;}}}</script> ';
|
||||||
<li class="list-group-item"><button id="update" class="btn btn-primary">更新数据库</button></li>';}
|
echo '<div class="alert alert-info" role="alert">当前版本:</b>'.$conf['version'].',发现新版本:'.$update['version'].' <a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">查看发行版</a></div>
|
||||||
else if(!empty($update['version'])){
|
<div class="card"><div class="card-header"><h4>更新说明</h4></div><ul class="list-group">
|
||||||
echo '<div class="alert alert-success" role="alert">当前已是最新版本! <a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">查看更新说明</a></div>
|
'.$update['update_log'].'
|
||||||
|
<li class="list-group-item"><button id="update" class="btn btn-primary">更新</button></li>';
|
||||||
|
} else if(!empty($update['version'])) {
|
||||||
|
echo '<div class="alert alert-success" role="alert">当前已是最新版本! <a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">查看发行版</a></div>
|
||||||
<div class="card"><div class="card-header"><h4>版本更新</h4></div><ul class="list-group">
|
<div class="card"><div class="card-header"><h4>版本更新</h4></div><ul class="list-group">
|
||||||
<li class="list-group-item"><b>当前版本:</b>'.$conf['version'].'</li>
|
<li class="list-group-item"><b>当前版本:</b>'.$conf['version'].'</li>
|
||||||
<li class="list-group-item"><b>最新版本:</b>'.$update['version'].'</li>';
|
<li class="list-group-item"><b>最新版本:</b>'.$update['version'].'</li>';
|
||||||
}
|
} else {
|
||||||
else{
|
echo '<div class="alert alert-danger" role="alert">检查更新失败!</div>
|
||||||
echo '<div class="alert alert-danger" role="alert">检查更新失败!</div>
|
|
||||||
<div class="card"><div class="card-header"><h4>版本更新</h4></div><ul class="list-group">
|
<div class="card"><div class="card-header"><h4>版本更新</h4></div><ul class="list-group">
|
||||||
<li class="list-group-item"><b>当前版本:</b>'.$conf['version'].'</li>
|
<li class="list-group-item"><b>当前版本:</b>'.$conf['version'].'</li>
|
||||||
<li class="list-group-item"><b>最新版本:</b>Unknown</li>
|
<li class="list-group-item"><b>最新版本:</b>Unknown</li>
|
||||||
<li class="list-group-item"><b>手动更新:</b><a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">下载更新包</a>解压到网站根目录后点击<a href="./update.php?set=update" class="alert-link">更新数据库</a></li>';
|
<li class="list-group-item"><b>手动更新:</b>点击<a href="'.$update['file'].'" target="_blant">这里</a>或前往码云<a href="https://gitee.com/LyLme/lylme_spage/releases" target="_blant" class="alert-link">下载<code>update.zip</code>后缀的更新包</a>解压到网站根目录后点击<a href="./update.php?set=updatesql" class="alert-link">更新数据库</a></li>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ul></div>
|
</ul></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
<!--End 页面主要内容-->
|
<!--End 页面主要内容-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
window.onload=function(){
|
|
||||||
var update=document.getElementById("update");
|
|
||||||
update.onclick=function(){
|
|
||||||
if(confirm("注意:是否更新数据库?")){
|
|
||||||
window.location.href='./update.php?set=update';
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include './footer.php';
|
|
||||||
$set=isset($_GET['set'])?$_GET['set']:null;
|
$set=isset($_GET['set'])?$_GET['set']:null;
|
||||||
if($set=='update')
|
if($set=='update') {
|
||||||
{
|
function zipExtract ($src, $dest) {
|
||||||
$vn=explode('.',str_replace('v','',$conf['version']));
|
$zip = new ZipArchive();
|
||||||
$vernum = $vn[0].sprintf("%02d",$vn[1]).sprintf("%02d",$vn[2]);
|
if ($zip->open($src)===true) {
|
||||||
if($vernum < 10101 ){
|
$zip->extractTo($dest);
|
||||||
$sqlpath='../install/update.sql';
|
$zip->close();
|
||||||
if(!file_exists($sqlpath)){exit("<script language='javascript'>alert('数据库更新文件:".$sqlpath." 不存在!\n请下载更新包解压到网站根目录');window.location.href='./';</script>");}
|
return true;
|
||||||
$sql = file_get_contents($sqlpath);
|
}
|
||||||
$version = 'v1.1.1';
|
return false;
|
||||||
saveSetting('version',$version);
|
}
|
||||||
}
|
$RemoteFile = $update['file'];
|
||||||
|
$ZipFile = "lylme_spage_update.zip";
|
||||||
else{
|
copy($RemoteFile,$ZipFile) or die("无法下载更新包文件!".'<a href="update.php">返回上级</a>');
|
||||||
echo "<script language='javascript'>alert('你的网站已是最新版本!');window.location.href='./update.php';</script>";
|
$scriptpath=str_replace('\\','/',$_SERVER['SCRIPT_NAME']);
|
||||||
}
|
$scriptpath = substr($scriptpath, 0, strrpos($scriptpath, '/'));
|
||||||
|
$admin_path = substr($scriptpath, strrpos($scriptpath, '/')+1);
|
||||||
|
if (zipExtract($ZipFile,ROOT)) {
|
||||||
|
if($admin_path!='admin' && is_dir(ROOT.'admin')) {
|
||||||
|
//修改后台地址
|
||||||
|
deldir(ROOT.$admin_path);
|
||||||
|
rename(ROOT.'admin',ROOT.$admin_path);
|
||||||
|
}
|
||||||
|
@header("Location: ./update.php?set=updatesql");
|
||||||
|
}
|
||||||
|
} else if($set=='updatesql') {
|
||||||
|
$vn=explode('.',str_replace('v','',$conf['version']));
|
||||||
|
$vernum = $vn[0].sprintf("%02d",$vn[1]).sprintf("%02d",$vn[2]);
|
||||||
|
if($vernum < 10100) {
|
||||||
|
exit("<script language='javascript'>alert(''网站程序版本太旧,不支持直接升级!');window.location.href='./';</script>");
|
||||||
|
}
|
||||||
|
if($vernum < 10101) {
|
||||||
|
$sql = file_get_contents(ROOT.'install/update.sql');
|
||||||
|
$version = 'v1.1.1';
|
||||||
|
saveSetting('version',$version);
|
||||||
|
}
|
||||||
|
if($vernum < 10103) {
|
||||||
|
@unlink(ROOT.'include/head.php');
|
||||||
|
@unlink(ROOT.'include/home.php');
|
||||||
|
@unlink(ROOT.'include/apply.php');
|
||||||
|
@unlink(ROOT.'include/footer.php');
|
||||||
|
$sql = $sql.file_get_contents(ROOT.'install/update1.sql');
|
||||||
|
$version = 'v1.1.3';
|
||||||
|
saveSetting('version',$version);
|
||||||
|
} else {
|
||||||
|
exit("<script language='javascript'>alert('你的网站已是最新版本!');window.location.href='./update.php';</script>");
|
||||||
|
}
|
||||||
$sql=explode(';',$sql);
|
$sql=explode(';',$sql);
|
||||||
$t=0; $e=0; $error='';
|
$t=0;
|
||||||
for($i=0;$i<count($sql);$i++) {
|
$e=0;
|
||||||
|
$error='';
|
||||||
|
for ($i=0;$i<count($sql);$i++) {
|
||||||
if (trim($sql[$i])=='')continue;
|
if (trim($sql[$i])=='')continue;
|
||||||
if(mysqli_query($con, $sql[$i])) {
|
if($DB->query($sql[$i])) {
|
||||||
++$t;
|
++$t;
|
||||||
} else {
|
} else {
|
||||||
++$e;
|
++$e;
|
||||||
$error.=mysqli_error($con).'\n';
|
$error.=$DB->error().'\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($e!=0) {
|
echo('<script language="javascript">alert("网站升级完成!");window.location.href="./update.php";</script>');
|
||||||
exit('<script language="javascript">alert("数据库升级失败!\nSQL成功'.$t.'句/失败'.$e.'句\n错误信息:\n'.$error.'");window.location.href="./";</script>');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
echo "<script language='javascript'>alert('网站数据库升级完成!');window.location.href='./';</script>";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
include './footer.php';
|
||||||
?>
|
?>
|
Loading…
Reference in New Issue