| @@ -20,20 +20,17 @@ if (empty($dopost)) { | |||
| $wecome_info = "<a href='index_body.php'>系统主页</a> > 系统错误修复工具"; | |||
| $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> > 检测数据结构"; | |||
| $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> > 检测微表正确性"; | |||
| $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> > 高级综合检测修复"; | |||
| $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> | |||