Browse Source

Update sys_repair.php

tags/6.1.9
xushubieli 2 years ago
parent
commit
bed45d0f86
1 changed files with 23 additions and 35 deletions
  1. +23
    -35
      src/admin/sys_repair.php

+ 23
- 35
src/admin/sys_repair.php View File

@@ -20,20 +20,17 @@ if (empty($dopost)) {
$wecome_info = "<a href='index_body.php'>系统主页</a> &gt; 系统错误修复工具";
$win->AddTitle('本工具用于检测和修复您的系统可能存在的错误');
$msg = "
<table width='98%' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td height='250' valign='top'>
<br>
由于手动升级时用户没运行指定的SQL语句,或自动升级的遗漏处理或处理出错,可能会导致一些错误,使用本工具会自动检测并处理<br><br>
<table>
<tr>
<td>
由于手动升级时用户没运行指定的SQL语句,或自动升级的遗漏处理或处理出错,可能会导致一些错误,使用本工具会自动检测并处理<br>
本工具目前主要执行下面动作:<br>
1、修复/优化数据表;<br>
2、更新系统缓存;<br>
3、检测系统变量一致性<br>
4、检测微表与主表数据一致性<br>
<br>
<br>
<a href='sys_repair.php?dopost=1' class='btn btn-danger'>常规检测</a>
<br><br><br>
</td>
</tr>
</table>
@@ -54,11 +51,10 @@ else if ($dopost == 1) {
$wecome_info = "<a href='sys_repair.php'>系统错误修复工具</a> &gt; 检测数据结构";
$win->AddTitle('本工具用于检测和修复您的系统可能存在的错误');
$msg = "
<table width='98%' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td height='250' valign='top'>
<table>
<tr>
<td>
<span style='color:#28a745'>已完成数据结构完整性检测</span>
<hr size='1'/>
<br>
如果您系统有下面几种问题之一,请检测微表正确性:<br>
1、无法获得主键,因此无法进行后续操作<br>
@@ -66,7 +62,6 @@ else if ($dopost == 1) {
3、列表显示数据目与实际文档数不一致<br>
<br>
<a href='sys_repair.php?dopost=2' class='btn btn-danger'>检测数据</a>
<br><br><br>
</td>
</tr>
</table>
@@ -82,12 +77,10 @@ function 2_test_arctiny() { }
--------------------*/
else if ($dopost == 2) {
$msg = '';

$allarcnum = 0;
$row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__archives` ");
$allarcnum = $arcnum = $row['dd'];
$msg .= "·#@__archives 表总记录数:{$arcnum} <br>";

$msg .= "#@__archives 表总记录数:{$arcnum} <br>";
$shtables = array();
$dsql->Execute('me', " SELECT addtable FROM `#@__channeltype` WHERE id < -1 ");
while ($row = $dsql->GetArray('me')) {
@@ -103,12 +96,12 @@ else if ($dopost == 2) {
}
}
}
$msg .= "总有效记录数:{$allarcnum} <br> ";
$msg .= "总有效记录数:{$allarcnum} <br> ";
$errall = "<a href='index_body.php' class='btn btn-success btn-sm'>完成修正</a>";
$row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__arctiny` ");
$msg .= "微统计表记录数:{$row['dd']}<br>";
$msg .= "微统计表记录数:{$row['dd']}<br>";
if ($row['dd'] == $allarcnum) {
$msg .= "<p style='color:green'>两者记录一致,无需修正</p><br>";
$msg .= "<span style='color:#28a745'>两者记录一致,无需修正</span><br>";
} else {
$sql = " TRUNCATE TABLE `#@__arctiny`";
$dsql->ExecuteNoneQuery($sql);
@@ -126,10 +119,10 @@ else if ($dopost == 2) {
}
$row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__arctiny` ");
if ($row['dd'] == $allarcnum) {
$msg .= "<p style='color:green>修正记录成功</p><br>";
$msg .= "<span style='color:#28a745'>修正记录成功</span><br>";
} else {
$msg .= "<p style='color:#dc3545'>修正记录失败,建议进行高级综合检测</p><br>";
$errall = " <a href='sys_repair.php?dopost=3' class='btn btn-danger'>结合性检测</a> ";
$msg .= "<span style='color:#dc3545'>修正记录失败,建议进行高级综合检测</span><br>";
$errall = "<a href='sys_repair.php?dopost=3' class='btn btn-danger'>结合性检测</a> ";
}
}
UpDateCatCache();
@@ -139,11 +132,10 @@ else if ($dopost == 2) {
$wecome_info = "<a href='sys_repair.php'>系统错误修复工具</a> &gt; 检测微表正确性";
$win->AddTitle('本工具用于检测和修复您的系统可能存在的错误');
$msg = "
<table width='98%' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td height='250' valign='top'>
<table>
<tr>
<td>
{$msg}
<hr />
<br>
{$errall}
</td>
@@ -163,14 +155,11 @@ else if ($dopost == 3) {
$errnum = 0;
$sql = " TRUNCATE TABLE `#@__arctiny`";
$dsql->ExecuteNoneQuery($sql);

$sql = "SELECT arc.id, arc.typeid, arc.typeid2, arc.arcrank, arc.channel, arc.senddate, arc.sortrank,
arc.mid, ch.addtable FROM `#@__archives` arc LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel ";
$sql = "SELECT arc.id, arc.typeid, arc.typeid2, arc.arcrank, arc.channel, arc.senddate, arc.sortrank, arc.mid, ch.addtable FROM `#@__archives` arc LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel ";
$dsql->Execute('me', $sql);
while ($row = $dsql->GetArray('me')) {
$sql = "INSERT INTO `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
VALUES('{$row['id']}','{$row['typeid']}','{$row['typeid2']}','{$row['arcrank']}',
'{$row['channel']}','{$row['senddate']}','{$row['sortrank']}','{$row['mid']}'); ";
VALUES('{$row['id']}','{$row['typeid']}','{$row['typeid2']}','{$row['arcrank']}', '{$row['channel']}','{$row['senddate']}','{$row['sortrank']}','{$row['mid']}'); ";
$rs = $dsql->ExecuteNoneQuery($sql);
if (!$rs) {
$addtable = trim($addtable);
@@ -189,7 +178,7 @@ else if ($dopost == 3) {
continue;
} else {
$sql = "INSERT INTO `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
SELECT aid, typeid, 0, arcrank, channel, senddate, 0, mid FROM `$tb` ";
SELECT aid, typeid, 0, arcrank, channel, senddate, 0, mid FROM `$tb` ";
$rs = $dsql->ExecuteNoneQuery($sql);
$doarray[$tb] = 1;
}
@@ -200,11 +189,10 @@ else if ($dopost == 3) {
$wecome_info = "<a href='sys_repair.php'>系统错误修复工具</a> &gt; 高级综合检测修复";
$win->AddTitle('本工具用于检测和修复您的系统可能存在的错误');
$msg = "
<table width='98%' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td height='250' valign='top'>
<table>
<tr>
<td>
完成所有修复操作,移除错误记录 {$errnum} 条
<hr />
<br>
<a href='index_body.php' class='btn btn-success btn-sm'>完成修正</a>
</td>


Loading…
Cancel
Save