Make WordPress Core

Ticket #1048: mark_comment_as_spam.diff

File mark_comment_as_spam.diff, 9.7 KB (added by markjaquith, 20 years ago)
  • wp-includes/pluggable-functions.php

     
    332332        }
    333333        $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
    334334        $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
     335        $notify_message .= sprintf( __('To mark this comment as spam, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&delete_type=spam&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
    335336
    336337        $wp_email = 'wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
    337338
     
    389390        $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
    390391        $notify_message .= sprintf( __('To approve this comment, visit: %s'),  get_settings('siteurl').'/wp-admin/post.php?action=mailapprovecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
    391392        $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
     393        $notify_message .= sprintf( __('To mark this comment as spam, visit: %s'), get_settings('siteurl').'/wp-admin/post.php?action=confirmdeletecomment&delete_type=spam&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
    392394        $notify_message .= sprintf( __('Currently %s comments are waiting for approval. Please visit the moderation panel:'), $comments_waiting ) . "\r\n";
    393395        $notify_message .= get_settings('siteurl') . "/wp-admin/moderation.php\r\n";
    394396
  • wp-admin/edit-comments.php

     
    4343        foreach ($_POST['delete_comments'] as $comment) : // Check the permissions on each
    4444                $comment = (int) $comment;
    4545                $post_id = $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = $comment");
    46                 $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
    47                 if ( current_user_can('edit_post', $post_id) ) :
    48                         wp_set_comment_status($comment, "delete");
     46                // $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
     47                if ( current_user_can('edit_post', $post_id) ) {
     48                        if ( !empty( $_POST['spam_button'] ) )
     49                                wp_set_comment_status($comment, 'spam');
     50                        else
     51                                wp_set_comment_status($comment, 'delete');
    4952                        ++$i;
    50                 endif;
     53                }
    5154        endforeach;
    52         echo "<div class='wrap'><p>" . sprintf(__('%s comments deleted.'), $i) . "</p></div>";
     55        echo '<div style="background-color: rgb(207, 235, 247);" id="message" class="updated fade"><p>';
     56        if ( !empty( $_POST['spam_button'] ) )
     57                printf(__('%s comments marked as spam.'), $i);
     58        else
     59                printf(__('%s comments deleted.'), $i);
     60        echo '</p></div>';
    5361endif;
    5462
    5563if (isset($_GET['s'])) {
     
    96104        <p><?php _e('Posted'); echo ' '; comment_date('M j, g:i A'); 
    97105                        if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
    98106                                echo " | <a href=\"post.php?action=editcomment&amp;comment=".$comment->comment_ID."\">" . __('Edit Comment') . "</a>";
    99                                 echo " | <a href=\"post.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), wp_specialchars( $comment->comment_author, 1 ))  . "' );\">" . __('Delete Comment') . "</a> &#8212; ";
     107                                echo " | <a href=\"post.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), wp_specialchars( $comment->comment_author, 1 ))  . "' );\">" . __('Delete Comment') . "</a> ";
     108                                echo " | <a href=\"post.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> ";
    100109                        } // end if any comments to show
    101110                        // Get post title
    102111                        if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
    103112                                $post_title = $wpdb->get_var("SELECT post_title FROM $wpdb->posts WHERE ID = $comment->comment_post_ID");
    104113                                $post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
    105                                 ?> <a href="post.php?action=edit&amp;post=<?php echo $comment->comment_post_ID; ?>"><?php printf(__('Edit Post &#8220;%s&#8221;'), stripslashes($post_title)); ?></a>
     114                                ?> | <a href="post.php?action=edit&amp;post=<?php echo $comment->comment_post_ID; ?>"><?php printf(__('Edit Post &#8220;%s&#8221;'), stripslashes($post_title)); ?></a>
    106115                                <?php } ?>
    107116                         | <a href="<?php echo get_permalink($comment->comment_post_ID); ?>"><?php _e('View Post') ?></a></p>
    108117                </li>
     
    154163                } // end foreach
    155164        ?></table>
    156165    <p><a href="javascript:;" onclick="checkAll(document.getElementById('deletecomments')); return false; "><?php _e('Invert Checkbox Selection') ?></a></p>
    157             <p class="submit"><input type="submit" name="Submit" value="<?php _e('Delete Checked Comments') ?> &raquo;" onclick="return confirm('<?php _e("You are about to delete these comments permanently \\n  \'Cancel\' to stop, \'OK\' to delete.") ?>')" />     </p>
     166            <p class="submit"><input type="submit" name="delete_button" value="<?php _e('Delete Checked Comments') ?> &raquo;" onclick="return confirm('<?php _e("You are about to delete these comments permanently \\n  \'Cancel\' to stop, \'OK\' to delete.") ?>')" />
     167                        <input type="submit" name="spam_button" value="<?php _e('Mark Checked Comments as Spam') ?> &raquo;" onclick="return confirm('<?php _e("You are about to mark these comments as spam \\n  \'Cancel\' to stop, \'OK\' to mark as spam.") ?>')" /></p>
    158168  </form>
    159169<?php
    160170        } else {
  • wp-admin/list-manipulation.php

     
    6363                die('0');
    6464        }
    6565        break;
     66case 'delete-comment-as-spam' :
     67        $id = (int) $_POST['id'];
     68
     69        if ( !$comment = get_comment($id) )
     70                die('0');
     71        if ( !current_user_can('edit_post', $comment->comment_post_ID) )
     72                die('-1');
     73
     74        if ( wp_set_comment_status($comment->comment_ID, 'spam') ) {
     75                die('1');
     76        } else {
     77                die('0');
     78        }
     79        break;
    6680case 'delete-link-category' :
    6781        $id = (int) $_POST['id'];
    6882        if ( 1 == $id )
  • wp-admin/post.php

     
    184184                die( __('You are not allowed to delete comments on this post.') );
    185185
    186186        echo "<div class='wrap'>\n";
    187         echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n";
     187        if ( 'spam' == $_GET['delete_type'] )
     188                echo "<p>" . __('<strong>Caution:</strong> You are about to mark the following comment as spam:') . "</p>\n";
     189        else
     190                echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n";
    188191        echo "<table border='0'>\n";
    189192        echo "<tr><td>" . __('Author:') . "</td><td>$comment->comment_author</td></tr>\n";
    190193        echo "<tr><td>" . __('E-mail:') . "</td><td>$comment->comment_author_email</td></tr>\n";
     
    195198
    196199        echo "<form action='".get_settings('siteurl')."/wp-admin/post.php' method='get'>\n";
    197200        echo "<input type='hidden' name='action' value='deletecomment' />\n";
     201        if ( 'spam' == $_GET['delete_type'] )
     202                echo "<input type='hidden' name='delete_type' value='spam' />\n";
    198203        echo "<input type='hidden' name='p' value='$p' />\n";
    199204        echo "<input type='hidden' name='comment' value='{$comment->comment_ID}' />\n";
    200205        echo "<input type='hidden' name='noredir' value='1' />\n";
     
    226231        if ( !current_user_can('edit_post', $comment->comment_post_ID) )
    227232                die( __('You are not allowed to edit comments on this post.') );
    228233
    229         wp_set_comment_status($comment->comment_ID, "delete");
    230         do_action('delete_comment', $comment->comment_ID);
     234        if ( 'spam' == $_GET['delete_type'] )
     235                wp_set_comment_status($comment->comment_ID, 'spam');
     236        else
     237                wp_delete_comment($comment->comment_ID);
    231238
    232239        if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) {
    233240                header('Location: ' . $_SERVER['HTTP_REFERER']);
  • wp-admin/list-manipulation.js

     
    3232        ajaxDel.onLoading = function() { ajaxDel.myResponseElement.innerHTML = 'Sending Data...'; };
    3333        ajaxDel.onLoaded = function() { ajaxDel.myResponseElement.innerHTML = 'Data Sent...'; };
    3434        ajaxDel.onInteractive = function() { ajaxDel.myResponseElement.innerHTML = 'Processing Data...'; };
    35         ajaxDel.onCompletion = function() { removeThisItem( what + '-' + id ); };
     35        ajaxDel.onCompletion = function() { removeThisItem( what.replace('-as-spam', '') + '-' + id ); };
    3636        ajaxDel.runAJAX('action=delete-' + what + '&id=' + id);
    3737        return false;
    3838}