From a5e4caba870d1ec326ad841a33baf156650c220a Mon Sep 17 00:00:00 2001 From: rob1n Date: Mon, 28 May 2007 17:21:25 +0000 Subject: [PATCH] Moderation cleaned up, add paging and various bug fixes. fixes #4317 git-svn-id: http://svn.automattic.com/wordpress/trunk@5574 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/moderation.php | 364 +++++++++++++++++++++------------------- 1 file changed, 192 insertions(+), 172 deletions(-) diff --git a/wp-admin/moderation.php b/wp-admin/moderation.php index caa37ec75..c359e9c49 100644 --- a/wp-admin/moderation.php +++ b/wp-admin/moderation.php @@ -1,206 +1,226 @@ $v) { - $comment[intval($k)] = $v; + +if ( isset( $_POST['comment'] ) && is_array( $_POST['comment'] ) ) { + foreach ( $_POST['comment'] as $k => $v ) { + $comment[intval( $k )] = $v; } } -switch($action) { - -case 'update': - - check_admin_referer('moderate-comments'); - - if ( !current_user_can('moderate_comments') ) - wp_die(__('Your level is not high enough to moderate comments.')); - +if ( $action == 'update' ) { + check_admin_referer( 'moderate-comments' ); + + if ( !current_user_can( 'moderate_comments' ) ) { + wp_die( __( 'Your level is not high enough to moderate comments.' ) ); + } + $item_ignored = 0; $item_deleted = 0; $item_approved = 0; $item_spam = 0; - - foreach($comment as $key => $value) { - if ($feelinglucky && 'later' == $value) - $value = 'delete'; - switch($value) { - case 'later': - // do nothing with that comment - // wp_set_comment_status($key, "hold"); - ++$item_ignored; - break; - case 'delete': - wp_set_comment_status($key, 'delete'); - ++$item_deleted; - break; - case 'spam': - wp_set_comment_status($key, 'spam'); - ++$item_spam; - break; - case 'approve': - wp_set_comment_status($key, 'approve'); - if ( get_option('comments_notify') == true ) { - wp_notify_postauthor($key); + + foreach ( $comment as $k => $v ) { + if ( $feelinglucky && $v == 'later' ) { + $v = 'delete'; + } + + switch ( $v ) { + case 'later' : + $item_ignored++; + break; + + case 'delete' : + wp_set_comment_status( $k, 'delete' ); + $item_deleted++; + break; + + case 'spam' : + wp_set_comment_status( $k, 'spam' ); + $item_spam++; + break; + + case 'approve' : + wp_set_comment_status( $k, 'approve' ); + + if ( get_option( 'comments_notify' ) == true ) { + wp_notify_postauthor( $k ); } - ++$item_approved; - break; + + $item_approved++; + break; } } + + wp_redirect( basename( __FILE__ ) . '?ignored=' . $item_ignored . '&deleted=' . $item_deleted . '&approved=' . $item_approved . '&spam=' . $item_spam ); + exit; +} - $file = basename(__FILE__); - wp_redirect("$file?ignored=$item_ignored&deleted=$item_deleted&approved=$item_approved&spam=$item_spam"); - exit(); +require_once './admin-header.php'; -break; +if ( !current_user_can( 'moderate_comments' ) ) { + echo '

' . __( 'Your level is not high enough to moderate comments.' ) . '

'; + include_once './admin-footer.php'; + exit; +} -default: - -require_once('admin-header.php'); - -if ( isset($_GET['deleted']) || isset($_GET['approved']) || isset($_GET['ignored']) ) { - echo "
\n

"; - $approved = (int) $_GET['approved']; - $deleted = (int) $_GET['deleted']; - $ignored = (int) $_GET['ignored']; - $spam = (int) $_GET['spam']; - if ($approved) { - printf(__ngettext('%s comment approved', '%s comments approved', $approved), $approved); - echo "
\n"; +if ( isset( $_GET['approved'] ) || isset( $_GET['deleted'] ) || isset( $_GET['spam'] ) ) { + $approved = isset( $_GET['approved'] ) ? (int) $_GET['approved'] : 0; + $deleted = isset( $_GET['deleted'] ) ? (int) $_GET['deleted'] : 0; + $spam = isset( $_GET['ignored'] ) ? (int) $_GET['spam'] : 0; + + if ( $approved > 0 || $deleted > 0 || $spam > 0 ) { + echo '

'; + + if ( $approved > 0 ) { + printf( __ngettext( '%s comment approved.', '%s comments approved.', $approved ), $approved ); + echo '
'; + } + + if ( $deleted > 0 ) { + printf( __ngettext( '%s comment deleted', '%s comments deleted.', $deleted ), $deleted ); + echo '
'; + } + + if ( $spam > 0 ) { + printf( __ngettext( '%s comment marked as spam', '%s comments marked as spam', $spam ), $spam ); + echo '
'; + } + + echo '

'; } - if ($deleted) { - printf(__ngettext('%s comment deleted', '%s comments deleted', $deleted), $deleted); - echo "
\n"; - } - if ($spam) { - printf(__ngettext('%s comment marked as spam', '%s comments marked as spam', $spam), $spam); - echo "
\n"; - } - if ($ignored) { - printf(__ngettext('%s comment unchanged', '%s comments unchanged', $ignored), $ignored); - echo "
\n"; - } - echo "

\n"; } ?> -
- get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '0'"); -else - $comments = ''; -if ($comments) { - // list all comments that are waiting for approval - $file = basename(__FILE__); -?> -

-
- - -
    -comment_date); - $post_title = $wpdb->get_var("SELECT post_title FROM $wpdb->posts WHERE ID='$comment->comment_post_ID'"); - if ($i % 2) $class = 'js-unapproved alternate'; - else $class = 'js-unapproved'; - echo "\n\t
  1. "; - ?> -

    comment_author_email) { ?>| comment_author_url && 'http://' != $comment->comment_author_url) { ?> | |

    - -

    — [ comment_ID.'">' . __('Edit') . ' | '; -echo " comment_post_ID."&comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to delete this comment by '%s'.\n'Cancel' to stop, 'OK' to delete."), $comment->comment_author )) . "', theCommentList );\">" . __('Delete') . " "; ?> ] — -comment_post_ID); -$post_title = wp_specialchars( $post->post_title, 'double' ); -$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title; -?> -

    -

    -   -   -   - -

    +$comments = $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = '0'" ); -
  2. - -
- -
- -

- - -
-'.__("Currently there are no comments for you to moderate.") . "

\n"; + $page = 1; } -?> +$start = ( $page * $per ) - $per; +$stop = $start + $per; + +$page_links = paginate_links( array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => ceil( $total / $per ), + 'current' => $page, + 'prev_text' => '«', + 'next_text' => '»' +) ); + +$comments = array_slice( $comments, $start, $stop ); + +?> +

+ + ' . $page_links . '

'; + } + ?> + +
+ + +
    + +
  1. +

    + + comment_author_email ) ) { ?>| + comment_author_url ) && $comment->comment_author_url != 'http://' ) { ?>| + | +

    + +

    + — + [ | + ] — + comment_post_ID ) ); ?> +

    + +

    + +

    + +

    + +   +   +   + +

    +
  2. + +
+ + ' . $page_links . '

'; + } + ?> + +
+ + + +

+ +

+ + +
- - + \ No newline at end of file