From d44d60e88e0587fe768e375e389986d5b9bbffda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=99=E8=BF=B0=E3=80=81=E5=88=AB=E7=A6=BB?= <93301500+xushubieli@users.noreply.github.com> Date: Tue, 6 May 2025 19:15:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8F=90=E7=A4=BA=EF=BC=8C?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BB=86=E8=8A=82=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/sys_repair.php | 45 +++++++++++++------------ src/admin/templets/member_edit.htm | 2 +- src/admin/templets/member_rank.htm | 2 +- src/admin/templets/sys_data_replace.htm | 2 +- src/admin/templets/sys_safetest.htm | 5 +-- 5 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/admin/sys_repair.php b/src/admin/sys_repair.php index 8866fad0..a5294059 100644 --- a/src/admin/sys_repair.php +++ b/src/admin/sys_repair.php @@ -15,14 +15,14 @@ if (empty($dopost)) { $win = new OxWindow(); $win->Init("sys_repair.php", "/static/web/js/admin.blank.js", "POST' enctype='multipart/form-data'"); $wintitle = "系统修复工具"; - $win->AddTitle('系统修复工具用于检测和修复系统数据错误'); + $win->AddTitle('系统修复工具用于检测并修复数据错误'); $msg = "
由于手动升级未运行指定SQL语句,或自动升级过程中出现遗漏或错误,可能会导致一些问题。使用本工具可自动检测并处理这些问题。目前,本工具主要执行以下操作:
+1、修复/优化数据表
+2、更新缓存
+3、检测系统变量一致性
+4、检测微表与主表数据一致性
已完成数据结构完整性检测:
+1、获取主键失败,无法进行后续操作
+2、更新数据库#@__archivess表时出错
+3、列表显示数据目与实际文档数不一致
#@__archives表总记录数:{$arcnum}
"; $shtables = array(); $dsql->Execute('me', "SELECT addtable FROM `#@__channeltype` WHERE id < -1 "); while ($row = $dsql->GetArray('me')) { @@ -71,21 +72,21 @@ else if ($dopost == 2) { if (!isset($shtables[$addtable])) { $shtables[$addtable] = 1; $row = $dsql->GetOne("SELECT COUNT(aid) AS dd FROM `$addtable`"); - $msg .= "{$addtable} 表总记录数:{$row['dd']}{$addtable}表总记录数:{$row['dd']}
"; $allarcnum += $row['dd']; } } } - $msg .= "总有效记录数:{$allarcnum}总有效记录数:{$allarcnum}
"; $errall = "完成修复"; $row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__arctiny`"); - $msg .= "微统计表记录数:{$row['dd']}微统计表记录数:{$row['dd']}
"; if ($row['dd'] == $allarcnum) { - $msg .= "两者记录一致,无需修复两者记录一致,无需修复
"; } else { $sql = "TRUNCATE TABLE `#@__arctiny`"; $dsql->ExecuteNoneQuery($sql); - $msg .= "两者记录不一致,尝试进行简单修复两者记录不一致,尝试进行简单修复
"; //导入普通模型微数据 $sql = "INSERT INTO `#@__arctiny` (id,typeid,typeid2,arcrank,channel,senddate,sortrank,mid) SELECT id,typeid,typeid2,arcrank,channel,senddate,sortrank,mid FROM `#@__archives` "; $dsql->ExecuteNoneQuery($sql); @@ -97,17 +98,17 @@ else if ($dopost == 2) { } $row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__arctiny`"); if ($row['dd'] == $allarcnum) { - $msg .= "修复记录成功修复记录成功
"; } else { - $msg .= "修复记录失败,建议高级结合检测修复记录失败,建议高级检测
"; + $errall = "高级检测"; } } UpDateCatCache(); $win = new OxWindow(); $win->Init("sys_repair.php", "/static/web/js/admin.blank.js", "POST' enctype='multipart/form-data'"); $wintitle = "检测微表数据"; - $win->AddTitle('系统修复工具用于检测和修复系统数据错误'); + $win->AddTitle('系统修复工具用于检测并修复数据错误'); $msg = "