Make WordPress Core

Changeset 8296


Ignore:
Timestamp:
07/09/2008 02:00:21 AM (18 years ago)
Author:
matt
Message:

Ajax Deleting an object that's already been deleted should silently succeed. Hat tip: mdawaffe. Fixes #7264.

Location:
trunk/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-ajax.php

    r8214 r8296  
    3131        check_ajax_referer( "delete-comment_$id" );
    3232        if ( !$comment = get_comment( $id ) )
    33                 die('0');
     33                die('1');
    3434        if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
    3535                die('-1');
    3636
    37         if ( isset($_POST['spam']) && 1 == $_POST['spam'] )
     37        if ( isset($_POST['spam']) && 1 == $_POST['spam'] ) {
     38                if ( 'spam' == wp_get_comment_status( $comment->comment_ID ) )
     39                        die('1');
    3840                $r = wp_set_comment_status( $comment->comment_ID, 'spam' );
    39         else
     41        } else {
    4042                $r = wp_delete_comment( $comment->comment_ID );
     43        }
    4144
    4245        die( $r ? '1' : '0' );
    … …  
    4750                die('-1');
    4851
     52        $cat = get_category( $id );
     53        if ( !$cat || is_wp_error( $cat ) )
     54                die('1');
     55
    4956        if ( wp_delete_category( $id ) )
    5057                die('1');
    51         else    die('0');
     58        else
     59                die('0');
    5260        break;
    5361case 'delete-tag' :
    … …  
    5664                die('-1');
    5765
     66        $tag = get_term( $id, 'post_tag' );
     67        if ( !$tag || is_wp_error( $tag ) )
     68                die('1');
     69
    5870        if ( wp_delete_term($id, 'post_tag'))
    5971                die('1');
    60         else    die('0');
     72        else
     73                die('0');
    6174        break;
    6275case 'delete-link-cat' :
    … …  
    6477        if ( !current_user_can( 'manage_categories' ) )
    6578                die('-1');
     79
     80        $cat = get_term( $id, 'link_category' );
     81        if ( !$cat || is_wp_error( $cat ) )
     82                die('1');
    6683
    6784        $cat_name = get_term_field('name', $id, 'link_category');
    … …  
    95112                die('-1');
    96113
     114        $link = get_bookmark( $id );
     115        if ( !$link || is_wp_error( $link ) )
     116                die('1');
     117
    97118        if ( wp_delete_link( $id ) )
    98119                die('1');
    99         else    die('0');
     120        else
     121                die('0');
    100122        break;
    101123case 'delete-meta' :
    102124        check_ajax_referer( "delete-meta_$id" );
    103125        if ( !$meta = get_post_meta_by_id( $id ) )
    104                 die('0');
     126                die('1');
     127
    105128        if ( !current_user_can( 'edit_post', $meta->post_id ) )
    106129                die('-1');
    … …  
    114137                die('-1');
    115138
     139        if ( !get_post( $id ) )
     140                die('1');
     141
    116142        if ( wp_delete_post( $id ) )
    117143                die('1');
    … …  
    124150                die('-1');
    125151
     152        if ( !get_page( $id ) )
     153                die('1');
     154
    126155        if ( wp_delete_post( $id ) )
    127156                die('1');
    128         else    die('0');
     157        else
     158                die('0');
    129159        break;
    130160case 'dim-comment' :
    131161        if ( !$comment = get_comment( $id ) )
    132162                die('0');
     163
    133164        if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
    134165                die('-1');
    … …  
    136167                die('-1');
    137168
    138         if ( 'unapproved' == wp_get_comment_status($comment->comment_ID) ) {
     169        $current = wp_get_comment_status( $comment->comment_ID );
     170        if ( $_POST['new'] == $current )
     171                die('1');
     172
     173        if ( 'unapproved' == $current ) {
    139174                check_ajax_referer( "approve-comment_$id" );
    140175                if ( wp_set_comment_status( $comment->comment_ID, 'approve' ) )
  • trunk/wp-admin/includes/template.php

    r8217 r8296  
    769769
    770770        if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
    771                 $actions['approve']   = "<a href='$approve_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3' title='" . __( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a> | ';
    772                 $actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3' title='" . __( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a> | ';
     771                $actions['approve']   = "<a href='$approve_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' title='" . __( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a> | ';
     772                $actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' title='" . __( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a> | ';
    773773
    774774                // we're looking at list of only approved or only unapproved comments
    775775                if ( 'moderated' == $comment_status ) {
    776                         $actions['approve'] = "<a href='$approve_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment' title='" . __( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a> | ';
     776                        $actions['approve'] = "<a href='$approve_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=approved' title='" . __( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a> | ';
    777777                        unset($actions['unapprove']);
    778778                } elseif ( 'approved' == $comment_status ) {
    779                         $actions['unapprove'] = "<a href='$unapprove_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment' title='" . __( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a> | ';
     779                        $actions['unapprove'] = "<a href='$unapprove_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=unapproved' title='" . __( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a> | ';
    780780                        unset($actions['approve']);
    781781                }
Note: See TracChangeset for help on using the changeset viewer.