--- fenglin/bbs/restore.php 2025/03/28 05:55:16 1.5 +++ fenglin/bbs/restore.php 2025/03/29 01:23:59 1.6 @@ -9,8 +9,7 @@ if (isset($_GET["id"])) else $id=0; -$rs=mysql_query("select TID,SID from bbs where". - " AID=$id and visible=0"); +$rs=mysql_query("SELECT TID, SID, m_del FROM bbs WHERE AID = $id AND visible = 0"); if($row=mysql_fetch_array($rs)) { $tid=$row["TID"]; @@ -18,19 +17,29 @@ if($row=mysql_fetch_array($rs)) } else { - $tid=-1; - $sid=-1; + error_msg("没有找到文章!", false); + exit(); } mysql_free_result($rs); -if (!($_SESSION["BBS_priv"]->checkpriv($sid,S_POST) && - ($_SESSION["BBS_priv"]->checkpriv($sid,S_MAN_S)))) +if (!($_SESSION["BBS_priv"]->checkpriv($sid,S_POST | S_MAN_S) + && $row["m_del"])) { - error_msg("您无权恢复此文章!",true); + error_msg("您无权恢复此文章!", true); exit(); -} +} + +if ($tid != 0) +{ + $rs=mysql_query("SELECT AID FROM bbs WHERE AID = $tid AND visible = 1"); + if(mysql_num_rows($rs) == 0) + { + error_msg("需要先恢复主题!", true); + exit(); + } +} -mysql_query("update bbs set visible=1,m_del=0 where AID=$id") +mysql_query("update bbs set visible = 1, m_del = 0 where AID = $id") or die("Delete article error!"); //Add log @@ -52,6 +61,6 @@ if ($tid==0) } else { - header ("Location: view_article?id=$tid#$id"); + header ("Location: view_article.php?id=$tid#$id"); } ?>