--- fenglin/bbs/restore.php 2025/03/18 03:52:17 1.4 +++ fenglin/bbs/restore.php 2025/03/29 01:23:59 1.6 @@ -1,4 +1,5 @@ @@ -8,10 +9,7 @@ if (isset($_GET["id"])) else $id=0; -$db_conn=include "./db_open.inc.php"; - -$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"]; @@ -19,23 +17,33 @@ 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 -article_op_log($id,$_SESSION["BBS_uid"],'S',Client_Address(),$db_conn) +article_op_log($id,$_SESSION["BBS_uid"],'S',client_addr(),$db_conn) or die("Add log error!"); //Set last reply date @@ -53,6 +61,6 @@ if ($tid==0) } else { - header ("Location: view_article?id=$tid#$id"); + header ("Location: view_article.php?id=$tid#$id"); } ?>