[ Root ] [ Search ] [ Index ]

PHP Cross Reference of WordPress 3.0

Provided by Yoast

title

Body

[close]

/wp-admin/ -> edit-comments.php (source)

   1  <?php
   2  /**
   3   * Edit Comments Administration Panel.
   4   *
   5   * @package WordPress
   6   * @subpackage Administration
   7   */
   8  
   9  /** WordPress Administration Bootstrap */
  10  require_once ('./admin.php');
  11  
  12  if ( !current_user_can('edit_posts') )
  13      wp_die(__('Cheatin&#8217; uh?'));
  14  
  15  wp_enqueue_script('admin-comments');
  16  enqueue_comment_hotkeys_js();
  17  
  18  $post_id = isset($_REQUEST['p']) ? (int) $_REQUEST['p'] : 0;
  19  
  20  if ( isset($_REQUEST['doaction']) ||  isset($_REQUEST['doaction2']) || isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2']) ) {
  21      check_admin_referer('bulk-comments');
  22  
  23      if ( (isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2'])) && !empty($_REQUEST['pagegen_timestamp']) ) {
  24          $comment_status = $wpdb->escape($_REQUEST['comment_status']);
  25          $delete_time = $wpdb->escape($_REQUEST['pagegen_timestamp']);
  26          $comment_ids = $wpdb->get_col( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = '$comment_status' AND '$delete_time' > comment_date_gmt" );
  27          $doaction = 'delete';
  28      } elseif ( ($_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1) && isset($_REQUEST['delete_comments']) ) {
  29          $comment_ids = $_REQUEST['delete_comments'];
  30          $doaction = ($_REQUEST['action'] != -1) ? $_REQUEST['action'] : $_REQUEST['action2'];
  31      } elseif ( $_REQUEST['doaction'] == 'undo' && isset($_REQUEST['ids']) ) {
  32          $comment_ids = array_map( 'absint', explode(',', $_REQUEST['ids']) );
  33          $doaction = $_REQUEST['action'];
  34      } else {
  35          wp_redirect( wp_get_referer() );
  36      }
  37  
  38      $approved = $unapproved = $spammed = $unspammed = $trashed = $untrashed = $deleted = 0;
  39      $redirect_to = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids'), wp_get_referer() );
  40  
  41      foreach ($comment_ids as $comment_id) { // Check the permissions on each
  42          $_post_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = %d", $comment_id) );
  43  
  44          if ( !current_user_can('edit_post', $_post_id) )
  45              continue;
  46  
  47          switch( $doaction ) {
  48              case 'approve' :
  49                  wp_set_comment_status($comment_id, 'approve');
  50                  $approved++;
  51                  break;
  52              case 'unapprove' :
  53                  wp_set_comment_status($comment_id, 'hold');
  54                  $unapproved++;
  55                  break;
  56              case 'spam' :
  57                  wp_spam_comment($comment_id);
  58                  $spammed++;
  59                  break;
  60              case 'unspam' :
  61                  wp_unspam_comment($comment_id);
  62                  $unspammed++;
  63                  break;
  64              case 'trash' :
  65                  wp_trash_comment($comment_id);
  66                  $trashed++;
  67                  break;
  68              case 'untrash' :
  69                  wp_untrash_comment($comment_id);
  70                  $untrashed++;
  71                  break;
  72              case 'delete' :
  73                  wp_delete_comment($comment_id);
  74                  $deleted++;
  75                  break;
  76          }
  77      }
  78  
  79      if ( $approved )
  80          $redirect_to = add_query_arg( 'approved', $approved, $redirect_to );
  81      if ( $unapproved )
  82          $redirect_to = add_query_arg( 'unapproved', $unapproved, $redirect_to );
  83      if ( $spammed )
  84          $redirect_to = add_query_arg( 'spammed', $spammed, $redirect_to );
  85      if ( $unspammed )
  86          $redirect_to = add_query_arg( 'unspammed', $unspammed, $redirect_to );
  87      if ( $trashed )
  88          $redirect_to = add_query_arg( 'trashed', $trashed, $redirect_to );
  89      if ( $untrashed )
  90          $redirect_to = add_query_arg( 'untrashed', $untrashed, $redirect_to );
  91      if ( $deleted )
  92          $redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to );
  93      if ( $trashed || $spammed )
  94          $redirect_to = add_query_arg( 'ids', join(',', $comment_ids), $redirect_to );
  95  
  96      wp_redirect( $redirect_to );
  97      exit;
  98  } elseif ( ! empty($_GET['_wp_http_referer']) ) {
  99       wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
 100       exit;
 101  }
 102  
 103  if ( $post_id )
 104      $title = sprintf(__('Comments on &#8220;%s&#8221;'), wp_html_excerpt(_draft_or_post_title($post_id), 50));
 105  else
 106      $title = __('Comments');
 107  
 108  add_contextual_help( $current_screen, '<p>' . __('You can manage comments made on your site similar to the way you manage Posts and other content. This screen is customizable in the same ways as other management screens, and you can act on comments using the on-hover action links or the Bulk Actions.') . '</p>' .
 109      '<p>' . __('A yellow row means the comment is waiting for you to moderate it.') . '</p>' .
 110      '<p>' . __('In the Author column, in addition to the author&#8217;s name, email address, and blog URL, the commenter&#8217;s IP address is shown. Clicking on this link will show you all the comments made from this IP address.') . '</p>' .
 111      '<p>' . __('In the Comment column, above each comment it says &#8220;Submitted on,&#8221; followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site.') . '</p>' .
 112      '<p>' . __('In the In Response To column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The &#8220;#&#8221; permalink symbol below leads to that post on your live site. The small bubble with the number in it shows how many comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.') . '</p>' .
 113      '<p>' . __('Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link below to learn more.') . '</p>' .
 114      '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
 115      '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Panels#Comments" target="_blank">Comments Documentation</a>' ) . '</p>' .
 116      '<p>' . __( '<a href="http://codex.wordpress.org/Comment_Spam" target="_blank">Comment Spam Documentation</a>') . '</p>' .
 117      '<p>' . __( '<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">Keyboard Shortcuts Documentation</a>') . '</p>' .
 118      '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 119  );
 120  require_once ('./admin-header.php');
 121  
 122  $mode = ( empty($_GET['mode']) ) ? 'detail' : esc_attr($_GET['mode']);
 123  
 124  $comment_status = isset($_REQUEST['comment_status']) ? $_REQUEST['comment_status'] : 'all';
 125  if ( !in_array($comment_status, array('all', 'moderated', 'approved', 'spam', 'trash')) )
 126      $comment_status = 'all';
 127  
 128  $comment_type = !empty($_GET['comment_type']) ? esc_attr($_GET['comment_type']) : '';
 129  
 130  $search_dirty = ( isset($_GET['s']) ) ? $_GET['s'] : '';
 131  $search = esc_attr( $search_dirty ); ?>
 132  
 133  <div class="wrap">
 134  <?php screen_icon(); ?>
 135  <h2><?php echo esc_html( $title );
 136  if ( isset($_GET['s']) && $_GET['s'] )
 137      printf( '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( stripslashes( $_GET['s'] ) ), 50 ) ) . '</span>' ); ?>
 138  </h2>
 139  
 140  <?php
 141  if ( isset( $_GET['error'] ) ) {
 142      $error = (int) $_GET['error'];
 143      $error_msg = '';
 144      switch ( $error ) {
 145          case 1 :
 146              $error_msg = __( 'Oops, no comment with this ID.' );
 147              break;
 148          case 2 :
 149              $error_msg = __( 'You are not allowed to edit comments on this post.' );
 150              break;
 151      }
 152      if ( $error_msg )
 153          echo '<div id="moderated" class="error"><p>' . $error_msg . '</p></div>';
 154  }
 155  
 156  if ( isset($_GET['approved']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) || isset($_GET['spammed']) || isset($_GET['unspammed']) || isset($_GET['same']) ) {
 157      $approved  = isset( $_GET['approved']  ) ? (int) $_GET['approved']  : 0;
 158      $deleted   = isset( $_GET['deleted']   ) ? (int) $_GET['deleted']   : 0;
 159      $trashed   = isset( $_GET['trashed']   ) ? (int) $_GET['trashed']   : 0;
 160      $untrashed = isset( $_GET['untrashed'] ) ? (int) $_GET['untrashed'] : 0;
 161      $spammed   = isset( $_GET['spammed']   ) ? (int) $_GET['spammed']   : 0;
 162      $unspammed = isset( $_GET['unspammed'] ) ? (int) $_GET['unspammed'] : 0;
 163      $same      = isset( $_GET['same'] )      ? (int) $_GET['same']      : 0;
 164  
 165      if ( $approved > 0 || $deleted > 0 || $trashed > 0 || $untrashed > 0 || $spammed > 0 || $unspammed > 0 || $same > 0 ) {
 166          if ( $approved > 0 )
 167              $messages[] = sprintf( _n( '%s comment approved', '%s comments approved', $approved ), $approved );
 168  
 169          if ( $spammed > 0 ) {
 170              $ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
 171              $messages[] = sprintf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=unspam&ids=$ids", "bulk-comments" ) ) . '">' . __('Undo') . '</a><br />';
 172          }
 173  
 174          if ( $unspammed > 0 )
 175              $messages[] = sprintf( _n( '%s comment restored from the spam', '%s comments restored from the spam', $unspammed ), $unspammed );
 176  
 177          if ( $trashed > 0 ) {
 178              $ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
 179              $messages[] = sprintf( _n( '%s comment moved to the Trash.', '%s comments moved to the Trash.', $trashed ), $trashed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=untrash&ids=$ids", "bulk-comments" ) ) . '">' . __('Undo') . '</a><br />';
 180          }
 181  
 182          if ( $untrashed > 0 )
 183              $messages[] = sprintf( _n( '%s comment restored from the Trash', '%s comments restored from the Trash', $untrashed ), $untrashed );
 184  
 185          if ( $deleted > 0 )
 186              $messages[] = sprintf( _n( '%s comment permanently deleted', '%s comments permanently deleted', $deleted ), $deleted );
 187  
 188          if ( $same > 0 && $comment = get_comment( $same ) ) {
 189              switch ( $comment->comment_approved ) {
 190                  case '1' :
 191                      $messages[] = __('This comment is already approved.') . ' <a href="' . esc_url( admin_url( "comment.php?action=editcomment&c=$same" ) ) . '">' . __( 'Edit comment' ) . '</a>';
 192                      break;
 193                  case 'trash' :
 194                      $messages[] = __( 'This comment is already in the Trash.' ) . ' <a href="' . esc_url( admin_url( 'edit-comments.php?comment_status=trash' ) ) . '"> ' . __( 'View Trash' ) . '</a>';
 195                      break;
 196                  case 'spam' :
 197                      $messages[] = __( 'This comment is already marked as spam.' ) . ' <a href="' . esc_url( admin_url( "comment.php?action=editcomment&c=$same" ) ) . '">' . __( 'Edit comment' ) . '</a>';
 198                      break;
 199              }
 200          }
 201  
 202          echo '<div id="moderated" class="updated"><p>' . implode( "<br/>\n", $messages ) . '</p></div>';
 203      }
 204  }
 205  ?>
 206  
 207  <form id="comments-form" action="" method="get">
 208  <ul class="subsubsub">
 209  <?php
 210  $status_links = array();
 211  $num_comments = ( $post_id ) ? wp_count_comments( $post_id ) : wp_count_comments();
 212  //, number_format_i18n($num_comments->moderated) ), "<span class='comment-count'>" . number_format_i18n($num_comments->moderated) . "</span>"),
 213  //, number_format_i18n($num_comments->spam) ), "<span class='spam-comment-count'>" . number_format_i18n($num_comments->spam) . "</span>")
 214  $stati = array(
 215          'all' => _nx_noop('All', 'All', 'comments'), // singular not used
 216          'moderated' => _n_noop('Pending <span class="count">(<span class="pending-count">%s</span>)</span>', 'Pending <span class="count">(<span class="pending-count">%s</span>)</span>'),
 217          'approved' => _n_noop('Approved', 'Approved'), // singular not used
 218          'spam' => _n_noop('Spam <span class="count">(<span class="spam-count">%s</span>)</span>', 'Spam <span class="count">(<span class="spam-count">%s</span>)</span>'),
 219          'trash' => _n_noop('Trash <span class="count">(<span class="trash-count">%s</span>)</span>', 'Trash <span class="count">(<span class="trash-count">%s</span>)</span>')
 220      );
 221  
 222  if ( !EMPTY_TRASH_DAYS )
 223      unset($stati['trash']);
 224  
 225  $link = 'edit-comments.php';
 226  if ( !empty($comment_type) && 'all' != $comment_type )
 227      $link = add_query_arg( 'comment_type', $comment_type, $link );
 228  
 229  foreach ( $stati as $status => $label ) {
 230      $class = ( $status == $comment_status ) ? ' class="current"' : '';
 231  
 232      if ( !isset( $num_comments->$status ) )
 233          $num_comments->$status = 10;
 234      $link = add_query_arg( 'comment_status', $status, $link );
 235      if ( $post_id )
 236          $link = add_query_arg( 'p', absint( $post_id ), $link );
 237      /*
 238      // I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark
 239      if ( !empty( $_GET['s'] ) )
 240          $link = add_query_arg( 's', esc_attr( stripslashes( $_GET['s'] ) ), $link );
 241      */
 242      $status_links[] = "<li class='$status'><a href='$link'$class>" . sprintf(
 243          _n( $label[0], $label[1], $num_comments->$status ),
 244          number_format_i18n( $num_comments->$status )
 245      ) . '</a>';
 246  }
 247  
 248  $status_links = apply_filters( 'comment_status_links', $status_links );
 249  
 250  echo implode( " |</li>\n", $status_links) . '</li>';
 251  unset($status_links);
 252  ?>
 253  </ul>
 254  
 255  <p class="search-box">
 256      <label class="screen-reader-text" for="comment-search-input"><?php _e( 'Search Comments' ); ?>:</label>
 257      <input type="text" id="comment-search-input" name="s" value="<?php _admin_search_query(); ?>" />
 258      <input type="submit" value="<?php esc_attr_e( 'Search Comments' ); ?>" class="button" />
 259  </p>
 260  
 261  <?php
 262  $comments_per_page = (int) get_user_option( 'edit_comments_per_page' );
 263  if ( empty( $comments_per_page ) || $comments_per_page < 1 )
 264      $comments_per_page = 20;
 265  $comments_per_page = apply_filters( 'comments_per_page', $comments_per_page, $comment_status );
 266  
 267  if ( isset( $_GET['apage'] ) )
 268      $page = abs( (int) $_GET['apage'] );
 269  else
 270      $page = 1;
 271  
 272  $start = $offset = ( $page - 1 ) * $comments_per_page;
 273  
 274  list($_comments, $total) = _wp_get_comment_list( $comment_status, $search_dirty, $start, $comments_per_page + 8, $post_id, $comment_type ); // Grab a few extra
 275  
 276  $_comment_post_ids = array();
 277  foreach ( $_comments as $_c ) {
 278      $_comment_post_ids[] = $_c->comment_post_ID;
 279  }
 280  
 281  $_comment_pending_count = get_pending_comments_num($_comment_post_ids);
 282  
 283  $comments = array_slice($_comments, 0, $comments_per_page);
 284  $extra_comments = array_slice($_comments, $comments_per_page);
 285  
 286  $page_links = paginate_links( array(
 287      'base' => add_query_arg( 'apage', '%#%' ),
 288      'format' => '',
 289      'prev_text' => __('&laquo;'),
 290      'next_text' => __('&raquo;'),
 291      'total' => ceil($total / $comments_per_page),
 292      'current' => $page
 293  ));
 294  
 295  ?>
 296  
 297  <input type="hidden" name="mode" value="<?php echo esc_attr($mode); ?>" />
 298  <?php if ( $post_id ) : ?>
 299  <input type="hidden" name="p" value="<?php echo esc_attr( intval( $post_id ) ); ?>" />
 300  <?php endif; ?>
 301  <input type="hidden" name="comment_status" value="<?php echo esc_attr($comment_status); ?>" />
 302  <input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr(current_time('mysql', 1)); ?>" />
 303  
 304  <div class="tablenav">
 305  
 306  <?php if ( $page_links ) : ?>
 307  <div class="tablenav-pages"><?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s&#8211;%s of %s' ) . '</span>%s',
 308      number_format_i18n( $start + 1 ),
 309      number_format_i18n( min( $page * $comments_per_page, $total ) ),
 310      '<span class="total-type-count">' . number_format_i18n( $total ) . '</span>',
 311      $page_links
 312  ); echo $page_links_text; ?></div>
 313  <input type="hidden" name="_total" value="<?php echo esc_attr($total); ?>" />
 314  <input type="hidden" name="_per_page" value="<?php echo esc_attr($comments_per_page); ?>" />
 315  <input type="hidden" name="_page" value="<?php echo esc_attr($page); ?>" />
 316  <?php endif; ?>
 317  
 318  <?php if ( $comments ) : ?>
 319  <div class="alignleft actions">
 320  <select name="action">
 321  <option value="-1" selected="selected"><?php _e('Bulk Actions') ?></option>
 322  <?php if ( 'all' == $comment_status || 'approved' == $comment_status ): ?>
 323  <option value="unapprove"><?php _e('Unapprove'); ?></option>
 324  <?php endif; ?>
 325  <?php if ( 'all' == $comment_status || 'moderated' == $comment_status || 'spam' == $comment_status ): ?>
 326  <option value="approve"><?php _e('Approve'); ?></option>
 327  <?php endif; ?>
 328  <?php if ( 'all' == $comment_status || 'approved' == $comment_status || 'moderated' == $comment_status ): ?>
 329  <option value="spam"><?php _ex('Mark as Spam', 'comment'); ?></option>
 330  <?php endif; ?>
 331  <?php if ( 'trash' == $comment_status ): ?>
 332  <option value="untrash"><?php _e('Restore'); ?></option>
 333  <?php elseif ( 'spam' == $comment_status ): ?>
 334  <option value="unspam"><?php _ex('Not Spam', 'comment'); ?></option>
 335  <?php endif; ?>
 336  <?php if ( 'trash' == $comment_status || 'spam' == $comment_status || !EMPTY_TRASH_DAYS ): ?>
 337  <option value="delete"><?php _e('Delete Permanently'); ?></option>
 338  <?php else: ?>
 339  <option value="trash"><?php _e('Move to Trash'); ?></option>
 340  <?php endif; ?>
 341  </select>
 342  <input type="submit" name="doaction" id="doaction" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary apply" />
 343  <?php wp_nonce_field('bulk-comments'); ?>
 344  
 345  <?php endif; ?>
 346  
 347  <select name="comment_type">
 348      <option value="all"><?php _e('Show all comment types'); ?></option>
 349  <?php
 350      $comment_types = apply_filters( 'admin_comment_types_dropdown', array(
 351          'comment' => __('Comments'),
 352          'pings' => __('Pings'),
 353      ) );
 354  
 355      foreach ( $comment_types as $type => $label ) {
 356          echo "    <option value='" . esc_attr($type) . "'";
 357          selected( $comment_type, $type );
 358          echo ">$label</option>\n";
 359      }
 360  ?>
 361  </select>
 362  <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" />
 363  
 364  <?php if ( isset($_GET['apage']) ) { ?>
 365      <input type="hidden" name="apage" value="<?php echo esc_attr( absint( $_GET['apage'] ) ); ?>" />
 366  <?php }
 367  
 368  if ( ( 'spam' == $comment_status || 'trash' == $comment_status) && current_user_can ('moderate_comments') ) {
 369      wp_nonce_field('bulk-destroy', '_destroy_nonce');
 370      if ( 'spam' == $comment_status && current_user_can('moderate_comments') ) { ?>
 371          <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Spam'); ?>" class="button-secondary apply" />
 372  <?php } elseif ( 'trash' == $comment_status && current_user_can('moderate_comments') ) { ?>
 373          <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" />
 374  <?php }
 375  } ?>
 376  <?php do_action('manage_comments_nav', $comment_status); ?>
 377  </div>
 378  
 379  <br class="clear" />
 380  
 381  </div>
 382  
 383  <div class="clear"></div>
 384  <?php if ( $comments ) { ?>
 385  
 386  <table class="widefat comments fixed" cellspacing="0">
 387  <thead>
 388      <tr>
 389  <?php print_column_headers('edit-comments'); ?>
 390      </tr>
 391  </thead>
 392  
 393  <tfoot>
 394      <tr>
 395  <?php print_column_headers('edit-comments', false); ?>
 396      </tr>
 397  </tfoot>
 398  
 399  <tbody id="the-comment-list" class="list:comment">
 400  <?php
 401      foreach ($comments as $comment)
 402          _wp_comment_row( $comment->comment_ID, $mode, $comment_status );
 403  ?>
 404  </tbody>
 405  <tbody id="the-extra-comment-list" class="list:comment" style="display: none;">
 406  <?php
 407      foreach ($extra_comments as $comment)
 408          _wp_comment_row( $comment->comment_ID, $mode, $comment_status );
 409  ?>
 410  </tbody>
 411  </table>
 412  
 413  <div class="tablenav">
 414  <?php
 415  if ( $page_links )
 416      echo "<div class='tablenav-pages'>$page_links_text</div>";
 417  ?>
 418  
 419  <div class="alignleft actions">
 420  <select name="action2">
 421  <option value="-1" selected="selected"><?php _e('Bulk Actions') ?></option>
 422  <?php if ( 'all' == $comment_status || 'approved' == $comment_status ): ?>
 423  <option value="unapprove"><?php _e('Unapprove'); ?></option>
 424  <?php endif; ?>
 425  <?php if ( 'all' == $comment_status || 'moderated' == $comment_status || 'spam' == $comment_status ): ?>
 426  <option value="approve"><?php _e('Approve'); ?></option>
 427  <?php endif; ?>
 428  <?php if ( 'all' == $comment_status || 'approved' == $comment_status || 'moderated' == $comment_status ): ?>
 429  <option value="spam"><?php _ex('Mark as Spam', 'comment'); ?></option>
 430  <?php endif; ?>
 431  <?php if ( 'trash' == $comment_status ): ?>
 432  <option value="untrash"><?php _e('Restore'); ?></option>
 433  <?php endif; ?>
 434  <?php if ( 'trash' == $comment_status || 'spam' == $comment_status || !EMPTY_TRASH_DAYS ): ?>
 435  <option value="delete"><?php _e('Delete Permanently'); ?></option>
 436  <?php elseif ( 'spam' == $comment_status ): ?>
 437  <option value="unspam"><?php _ex('Not Spam', 'comment'); ?></option>
 438  <?php else: ?>
 439  <option value="trash"><?php _e('Move to Trash'); ?></option>
 440  <?php endif; ?>
 441  </select>
 442  <input type="submit" name="doaction2" id="doaction2" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary apply" />
 443  
 444  <?php if ( 'spam' == $comment_status && current_user_can('moderate_comments') ) { ?>
 445  <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Spam'); ?>" class="button-secondary apply" />
 446  <?php } elseif ( 'trash' == $comment_status && current_user_can('moderate_comments') ) { ?>
 447  <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" />
 448  <?php } ?>
 449  <?php do_action('manage_comments_nav', $comment_status); ?>
 450  </div>
 451  
 452  <br class="clear" />
 453  </div>
 454  
 455  </form>
 456  
 457  <form id="get-extra-comments" method="post" action="" class="add:the-extra-comment-list:" style="display: none;">
 458      <input type="hidden" name="s" value="<?php echo esc_attr($search); ?>" />
 459      <input type="hidden" name="mode" value="<?php echo esc_attr($mode); ?>" />
 460      <input type="hidden" name="comment_status" value="<?php echo esc_attr($comment_status); ?>" />
 461      <input type="hidden" name="page" value="<?php echo esc_attr($page); ?>" />
 462      <input type="hidden" name="per_page" value="<?php echo esc_attr($comments_per_page); ?>" />
 463      <input type="hidden" name="p" value="<?php echo esc_attr( $post_id ); ?>" />
 464      <input type="hidden" name="comment_type" value="<?php echo esc_attr( $comment_type ); ?>" />
 465      <?php wp_nonce_field( 'add-comment', '_ajax_nonce', false ); ?>
 466  </form>
 467  
 468  <div id="ajax-response"></div>
 469  
 470  <?php } elseif ( 'moderated' == $comment_status ) { ?>
 471  <p><?php _e('No comments awaiting moderation&hellip; yet.') ?></p>
 472  </div>
 473  </form>
 474  
 475  <?php } else { ?>
 476  <p><?php _e('No comments found.') ?></p>
 477  </div>
 478  </form>
 479  
 480  <?php } ?>
 481  </div>
 482  
 483  <?php
 484  wp_comment_reply('-1', true, 'detail');
 485  wp_comment_trashnotice();
 486  include ('./admin-footer.php'); ?>


Generated: Thu Oct 14 05:11:12 2010 Cross-referenced by PHPXref 0.7