A better comment delete button

git-svn-id: http://svn.automattic.com/wordpress/trunk@3721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
matt 2006-04-19 08:02:16 +00:00
parent 6af7f62f92
commit 823f832a8e
5 changed files with 227 additions and 212 deletions

View File

@ -1,199 +1,205 @@
<?php <?php
require_once('admin.php'); require_once('admin.php');
$wpvarstoreset = array('action'); $wpvarstoreset = array('action');
for ($i=0; $i<count($wpvarstoreset); $i += 1) { for ($i=0; $i<count($wpvarstoreset); $i += 1) {
$wpvar = $wpvarstoreset[$i]; $wpvar = $wpvarstoreset[$i];
if (!isset($$wpvar)) { if (!isset($$wpvar)) {
if (empty($_POST["$wpvar"])) { if (empty($_POST["$wpvar"])) {
if (empty($_GET["$wpvar"])) { if (empty($_GET["$wpvar"])) {
$$wpvar = ''; $$wpvar = '';
} else { } else {
$$wpvar = $_GET["$wpvar"]; $$wpvar = $_GET["$wpvar"];
} }
} else { } else {
$$wpvar = $_POST["$wpvar"]; $$wpvar = $_POST["$wpvar"];
} }
} }
} }
switch($action) { if ( isset( $_POST['deletecomment'] ) )
case 'editcomment': $action = 'deletecomment';
$title = __('Edit Comment');
$parent_file = 'edit.php'; switch($action) {
$submenu_file = 'edit-comments.php'; case 'editcomment':
$editing = true; $title = __('Edit Comment');
require_once ('admin-header.php'); $parent_file = 'edit.php';
$submenu_file = 'edit-comments.php';
$comment = (int) $_GET['comment']; $editing = true;
require_once ('admin-header.php');
if ( ! $comment = get_comment($comment) )
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'javascript:history.go(-1)')); $comment = (int) $_GET['comment'];
if ( !current_user_can('edit_post', $comment->comment_post_ID) ) if ( ! $comment = get_comment($comment) )
die( __('You are not allowed to edit comments on this post.') ); die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'javascript:history.go(-1)'));
$comment = get_comment_to_edit($comment); if ( !current_user_can('edit_post', $comment->comment_post_ID) )
die( __('You are not allowed to edit comments on this post.') );
include('edit-form-comment.php');
$comment = get_comment_to_edit($comment);
break;
include('edit-form-comment.php');
case 'confirmdeletecomment':
case 'mailapprovecomment': break;
require_once('./admin-header.php'); case 'confirmdeletecomment':
case 'mailapprovecomment':
$comment = (int) $_GET['comment'];
$p = (int) $_GET['p']; require_once('./admin-header.php');
$formaction = 'confirmdeletecomment' == $action ? 'deletecomment' : 'approvecomment';
$comment = (int) $_GET['comment'];
if ( ! $comment = get_comment($comment) ) $p = (int) $_GET['p'];
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); $formaction = 'confirmdeletecomment' == $action ? 'deletecomment' : 'approvecomment';
if ( !current_user_can('edit_post', $comment->comment_post_ID) ) if ( ! $comment = get_comment($comment) )
die( 'confirmdeletecomment' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
echo "<div class='wrap'>\n"; if ( !current_user_can('edit_post', $comment->comment_post_ID) )
if ( 'spam' == $_GET['delete_type'] ) die( 'confirmdeletecomment' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
echo "<p>" . __('<strong>Caution:</strong> You are about to mark the following comment as spam:') . "</p>\n";
elseif ( 'confirmdeletecomment' == $action ) echo "<div class='wrap'>\n";
echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n"; if ( 'spam' == $_GET['delete_type'] )
else echo "<p>" . __('<strong>Caution:</strong> You are about to mark the following comment as spam:') . "</p>\n";
echo "<p>" . __('<strong>Caution:</strong> You are about to approve the following comment:') . "</p>\n"; elseif ( 'confirmdeletecomment' == $action )
echo "<table border='0'>\n"; echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n";
echo "<tr><td>" . __('Author:') . "</td><td>$comment->comment_author</td></tr>\n"; else
echo "<tr><td>" . __('E-mail:') . "</td><td>$comment->comment_author_email</td></tr>\n"; echo "<p>" . __('<strong>Caution:</strong> You are about to approve the following comment:') . "</p>\n";
echo "<tr><td>". __('URL:') . "</td><td>$comment->comment_author_url</td></tr>\n"; echo "<table border='0'>\n";
echo "<tr><td>". __('Comment:') . "</td><td>$comment->comment_content</td></tr>\n"; echo "<tr><td>" . __('Author:') . "</td><td>$comment->comment_author</td></tr>\n";
echo "</table>\n"; echo "<tr><td>" . __('E-mail:') . "</td><td>$comment->comment_author_email</td></tr>\n";
echo "<p>" . __('Are you sure you want to do that?') . "</p>\n"; echo "<tr><td>". __('URL:') . "</td><td>$comment->comment_author_url</td></tr>\n";
echo "<tr><td>". __('Comment:') . "</td><td>$comment->comment_content</td></tr>\n";
echo "<form action='".get_settings('siteurl')."/wp-admin/comment.php' method='get'>\n"; echo "</table>\n";
echo "<input type='hidden' name='action' value='$formaction' />\n"; echo "<p>" . __('Are you sure you want to do that?') . "</p>\n";
if ( 'spam' == $_GET['delete_type'] )
echo "<input type='hidden' name='delete_type' value='spam' />\n"; echo "<form action='".get_settings('siteurl')."/wp-admin/comment.php' method='get'>\n";
echo "<input type='hidden' name='p' value='$p' />\n"; echo "<input type='hidden' name='action' value='$formaction' />\n";
echo "<input type='hidden' name='comment' value='{$comment->comment_ID}' />\n"; if ( 'spam' == $_GET['delete_type'] )
echo "<input type='hidden' name='noredir' value='1' />\n"; echo "<input type='hidden' name='delete_type' value='spam' />\n";
echo "<input type='submit' value='" . __('Yes') . "' />"; echo "<input type='hidden' name='p' value='$p' />\n";
echo "&nbsp;&nbsp;"; echo "<input type='hidden' name='comment' value='{$comment->comment_ID}' />\n";
echo "<input type='button' value='" . __('No') . "' onclick=\"self.location='". get_settings('siteurl') ."/wp-admin/edit.php?p=$p&amp;c=1#comments';\" />\n"; echo "<input type='hidden' name='noredir' value='1' />\n";
echo "</form>\n"; echo "<input type='submit' value='" . __('Yes') . "' />";
echo "</div>\n"; echo "&nbsp;&nbsp;";
echo "<input type='button' value='" . __('No') . "' onclick=\"self.location='". get_settings('siteurl') ."/wp-admin/edit-comments.php';\" />\n";
break; echo "</form>\n";
echo "</div>\n";
case 'deletecomment':
break;
check_admin_referer();
case 'deletecomment':
$comment = (int) $_GET['comment'];
$p = (int) $_GET['p']; check_admin_referer();
if (isset($_GET['noredir'])) {
$noredir = true; $comment = (int) $_REQUEST['comment'];
} else { $p = (int) $_REQUEST['p'];
$noredir = false; if ( isset($_REQUEST['noredir']) ) {
} $noredir = true;
} else {
$postdata = get_post($p) or die(sprintf(__('Oops, no post with this ID. <a href="%s">Go back</a>!'), 'edit.php')); $noredir = false;
}
if ( ! $comment = get_comment($comment) )
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit-comments.php')); $postdata = get_post($p) or
die(sprintf(__('Oops, no post with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
if ( !current_user_can('edit_post', $comment->comment_post_ID) )
die( __('You are not allowed to edit comments on this post.') ); if ( ! $comment = get_comment($comment) )
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit-comments.php'));
if ( 'spam' == $_GET['delete_type'] )
wp_set_comment_status($comment->comment_ID, 'spam'); if ( !current_user_can('edit_post', $comment->comment_post_ID) )
else die( __('You are not allowed to edit comments on this post.') );
wp_delete_comment($comment->comment_ID);
if ( 'spam' == $_REQUEST['delete_type'] )
if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { wp_set_comment_status($comment->comment_ID, 'spam');
header('Location: ' . $_SERVER['HTTP_REFERER']); else
} else { wp_delete_comment($comment->comment_ID);
header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
} if (($_SERVER['HTTP_REFERER'] != '') && (false == $noredir)) {
exit(); header('Location: ' . $_SERVER['HTTP_REFERER']);
break; } else {
header('Location: '. get_settings('siteurl') .'/wp-admin/edit-comments.php');
case 'unapprovecomment': }
exit();
check_admin_referer(); break;
$comment = (int) $_GET['comment']; case 'unapprovecomment':
$p = (int) $_GET['p'];
if (isset($_GET['noredir'])) { check_admin_referer();
$noredir = true;
} else { $comment = (int) $_GET['comment'];
$noredir = false; $p = (int) $_GET['p'];
} if (isset($_GET['noredir'])) {
$noredir = true;
if ( ! $comment = get_comment($comment) ) } else {
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); $noredir = false;
}
if ( !current_user_can('edit_post', $comment->comment_post_ID) )
die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') ); if ( ! $comment = get_comment($comment) )
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
wp_set_comment_status($comment->comment_ID, "hold");
if ( !current_user_can('edit_post', $comment->comment_post_ID) )
if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
header('Location: ' . $_SERVER['HTTP_REFERER']);
} else { wp_set_comment_status($comment->comment_ID, "hold");
header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
} if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) {
exit(); header('Location: ' . $_SERVER['HTTP_REFERER']);
break; } else {
header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
case 'approvecomment': }
exit();
check_admin_referer(); break;
$comment = (int) $_GET['comment']; case 'approvecomment':
$p = (int) $_GET['p'];
if (isset($_GET['noredir'])) { check_admin_referer();
$noredir = true;
} else { $comment = (int) $_GET['comment'];
$noredir = false; $p = (int) $_GET['p'];
} if (isset($_GET['noredir'])) {
$noredir = true;
if ( ! $comment = get_comment($comment) ) } else {
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); $noredir = false;
}
if ( !current_user_can('edit_post', $comment->comment_post_ID) )
die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); if ( ! $comment = get_comment($comment) )
die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
wp_set_comment_status($comment->comment_ID, "approve");
if (get_settings("comments_notify") == true) { if ( !current_user_can('edit_post', $comment->comment_post_ID) )
wp_notify_postauthor($comment->comment_ID); die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
}
wp_set_comment_status($comment->comment_ID, "approve");
if (get_settings("comments_notify") == true) {
if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { wp_notify_postauthor($comment->comment_ID);
header('Location: ' . $_SERVER['HTTP_REFERER']); }
} else {
header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
} if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) {
exit(); header('Location: ' . $_SERVER['HTTP_REFERER']);
break; } else {
header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
case 'editedcomment': }
exit();
check_admin_referer(); break;
edit_comment(); case 'editedcomment':
$referredby = $_POST['referredby']; check_admin_referer();
if (!empty($referredby)) {
header('Location: ' . $referredby); edit_comment();
} else {
header ("Location: edit.php?p=$comment_post_ID&c=1#comments"); $referredby = $_POST['referredby'];
} if (!empty($referredby)) {
header('Location: ' . $referredby);
break; } else {
default: header ("Location: edit.php?p=$comment_post_ID&c=1#comments");
break; }
} // end switch
include('admin-footer.php'); break;
?> default:
break;
} // end switch
include('admin-footer.php');
?>

View File

@ -123,7 +123,7 @@ if ('view' == $mode) {
echo '<span class="unapprove"> | <a href="comment.php?action=unapprovecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\' );">' . __('Unapprove') . '</a> </span>'; echo '<span class="unapprove"> | <a href="comment.php?action=unapprovecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\' );">' . __('Unapprove') . '</a> </span>';
echo '<span class="approve"> | <a href="comment.php?action=approvecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\' );">' . __('Approve') . '</a> </span>'; echo '<span class="approve"> | <a href="comment.php?action=approvecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\' );">' . __('Approve') . '</a> </span>';
} }
echo " | <a href=\"comment.php?action=deletecomment&amp;delete_type=spam&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . sprintf(__("You are about to mark as spam this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to mark as spam."), wp_specialchars( $comment->comment_author, 1 )) . "' );\">" . __('Mark Comment as Spam') . "</a> ]"; echo " | <a href=\"comment.php?action=deletecomment&amp;delete_type=spam&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . sprintf(__("You are about to mark as spam this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to mark as spam."), wp_specialchars( $comment->comment_author, 1 )) . "' );\">" . __('Spam') . "</a> ]";
} // end if any comments to show } // end if any comments to show
// Get post title // Get post title
$post = get_post($comment->comment_post_ID); $post = get_post($comment->comment_post_ID);

View File

@ -17,19 +17,19 @@ function focusit() { // focus on first input field
addLoadEvent(focusit); addLoadEvent(focusit);
</script> </script>
<fieldset id="namediv"> <fieldset id="namediv">
<legend><?php _e('Name:') ?></legend> <legend><label for="name"><?php _e('Name:') ?></label></legend>
<div> <div>
<input type="text" name="newcomment_author" size="22" value="<?php echo $comment->comment_author ?>" tabindex="1" id="name" /> <input type="text" name="newcomment_author" size="25" value="<?php echo $comment->comment_author ?>" tabindex="1" id="name" />
</div> </div>
</fieldset> </fieldset>
<fieldset id="emaildiv"> <fieldset id="emaildiv">
<legend><?php _e('E-mail:') ?></legend> <legend><label for="email"><?php _e('E-mail:') ?></label></legend>
<div> <div>
<input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email ?>" tabindex="2" id="email" /> <input type="text" name="newcomment_author_email" size="20" value="<?php echo $comment->comment_author_email ?>" tabindex="2" id="email" />
</div> </div>
</fieldset> </fieldset>
<fieldset id="uridiv"> <fieldset id="uridiv">
<legend><?php _e('URI:') ?></legend> <legend><label for="URL"><?php _e('URI:') ?></label></legend>
<div> <div>
<input type="text" id="newcomment_author_url" name="newcomment_author_url" size="35" value="<?php echo $comment->comment_author_url ?>" tabindex="3" id="URL" /> <input type="text" id="newcomment_author_url" name="newcomment_author_url" size="35" value="<?php echo $comment->comment_author_url ?>" tabindex="3" id="URL" />
</div> </div>
@ -59,14 +59,18 @@ addLoadEvent(focusit);
<?php if ( current_user_can('edit_posts') ) : ?> <?php if ( current_user_can('edit_posts') ) : ?>
<tr> <tr>
<th scope="row"><?php _e('Edit time'); ?>:</th> <th scope="row" valign="top"><?php _e('Edit time'); ?>:</th>
<td><?php touch_time(('editcomment' == $action), 0); ?></td> <td><?php touch_time(('editcomment' == $action), 0); ?> </td>
</tr> </tr>
<?php endif; ?> <?php endif; ?>
<tr> <tr>
<th scope="row"><?php _e('Delete'); ?>:</th> <th scope="row" valign="top"><?php _e('Delete'); ?>:</th>
<td><p><a class="delete" href="comment.php?action=confirmdeletecomment&amp;noredir=true&amp;comment=<?php echo $comment->comment_ID; ?>&amp;p=<?php echo $comment->comment_post_ID; ?>"><?php _e('Delete comment') ?></a></p></td> <td><input name="deletecomment" class="button" type="submit" id="deletecomment" tabindex="10" value="<?php _e('Delete this comment') ?>" <?php echo "onclick=\"return confirm('" . __("You are about to delete this comment \\n \'Cancel\' to stop, \'OK\' to delete.") . "')\""; ?> />
<input type="hidden" name="comment" value="<?php echo $comment->comment_ID ?>" />
<input type="hidden" name="p" value="<?php echo $comment->comment_post_ID ?>" />
<input type="hidden" name="noredir" value="1" />
</td>
</tr> </tr>
</table> </table>

View File

@ -17,8 +17,9 @@ for ($i=0; $i<count($wpvarstoreset); $i += 1) {
} }
} }
} }
if (isset($_POST['deletepost']))
$action = "delete"; if ( isset( $_POST['deletepost'] ) )
$action = 'delete';
switch($action) { switch($action) {
case 'postajaxpost': case 'postajaxpost':

View File

@ -468,7 +468,7 @@ table .vers, table .name {
width: 300px; width: 300px;
} }
#deletepost:hover { #deletepost:hover, #deletecomment:hover {
background: #ce0000; background: #ce0000;
color: #fff; color: #fff;
} }
@ -725,6 +725,10 @@ table .vers, table .name {
background: #8B8; background: #8B8;
} }
#namediv, #emaildiv, #uridiv {
float: left;
}
/* A handy div class for hiding controls. /* A handy div class for hiding controls.
Some browsers will disable them when you Some browsers will disable them when you
set display:none; */ set display:none; */