add a delete button to comments when the user is an admin
This commit is contained in:
committed by
Jeremy Newman
parent
da68923dad
commit
b9db13f6a8
53
deletecomment.php
Normal file
53
deletecomment.php
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?
|
||||||
|
|
||||||
|
include("path.php");
|
||||||
|
require(BASE."include/"."incl.php");
|
||||||
|
|
||||||
|
//FIXME: should check to see if the user is an application maintainer when we have application maintainers
|
||||||
|
if(!havepriv("admin"))
|
||||||
|
{
|
||||||
|
errorpage('You don\'t have admin privilages');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
opendb();
|
||||||
|
|
||||||
|
$commentId = strip_tags($_POST['commentId']);
|
||||||
|
$commentId = mysql_escape_string($commentId);
|
||||||
|
|
||||||
|
$appId = strip_tags($_POST['appId']);
|
||||||
|
$versionId = strip_tags($_POST['versionId']);
|
||||||
|
|
||||||
|
/* retrieve the parentID of the comment we are deleting */
|
||||||
|
/* so we can fix up the parentIds of this comments children */
|
||||||
|
$result = mysql_query("SELECT parentId FROM appComments WHERE commentId = '$commentId'");
|
||||||
|
if (!$result)
|
||||||
|
{
|
||||||
|
errorpage('Internal error retrieving parent of commentId');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ob = mysql_fetch_object($result);
|
||||||
|
$deletedParentId = $ob->parentId;
|
||||||
|
|
||||||
|
/* delete the comment from the database */
|
||||||
|
$result = mysql_query("DELETE FROM appComments WHERE commentId = '$commentId'");
|
||||||
|
|
||||||
|
if (!$result)
|
||||||
|
{
|
||||||
|
errorpage('Internal Database Access Error',mysql_error());
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fixup the child comments so the parentId points to a valid parent comment */
|
||||||
|
$result = mysql_query("UPDATE appComments set parentId = '$deletedParentId' WHERE parentId = '$commentId'");
|
||||||
|
if(!$result)
|
||||||
|
{
|
||||||
|
errorpage('Internal database error fixing up the parentId of child comments');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
addmsg("Comment deleted", "green");
|
||||||
|
redirect(apidb_fullurl("appview.php?appId=$appId&versionId=$versionId"));
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -63,7 +63,22 @@ function view_app_comment($ob)
|
|||||||
echo " [<a href='addcomment.php?appId=$ob->appId&versionId=$ob->versionId&subject=".
|
echo " [<a href='addcomment.php?appId=$ob->appId&versionId=$ob->versionId&subject=".
|
||||||
urlencode("$subject")."&thread=$ob->commentId'><small>reply to this</small></a>] \n";
|
urlencode("$subject")."&thread=$ob->commentId'><small>reply to this</small></a>] \n";
|
||||||
|
|
||||||
echo "</td></tr></table>\n";
|
echo "</td></tr>\n";
|
||||||
|
|
||||||
|
// delete message button, for admins
|
||||||
|
//TODO: application managers should also see this button
|
||||||
|
if(havepriv("admin"))
|
||||||
|
{
|
||||||
|
echo "<tr>";
|
||||||
|
echo '<td><form method=post name=message action="deletecomment.php"><input type=submit value="Delete" class=button> ',"\n";
|
||||||
|
echo "<input type=hidden name='commentId' value=$ob->commentId>";
|
||||||
|
echo "<input type=hidden name='appId' value=$ob->appId>";
|
||||||
|
echo "<input type=hidden name='versionId' value=$ob->versionId></form></td>","\n";
|
||||||
|
echo "</td></tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "</table>\n";
|
||||||
|
|
||||||
echo html_frame_end();
|
echo html_frame_end();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user