[ Root ] [ Search ] [ Index ]

PHP Cross Reference of WordPress 3.0.1

Provided by Yoast

title

Body

[close]

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

   1  <?php
   2  /**
   3   * Edit Posts Administration Panel.
   4   *
   5   * @package WordPress
   6   * @subpackage Administration
   7   */
   8  
   9  /** WordPress Administration Bootstrap */
  10  require_once ('./admin.php');
  11  
  12  if ( !isset($_GET['post_type']) )
  13      $post_type = 'post';
  14  elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) )
  15      $post_type = $_GET['post_type'];
  16  else
  17      wp_die( __('Invalid post type') );
  18  $_GET['post_type'] = $post_type;
  19  
  20  $post_type_object = get_post_type_object($post_type);
  21  
  22  if ( !current_user_can($post_type_object->cap->edit_posts) )
  23      wp_die(__('Cheatin&#8217; uh?'));
  24  
  25  // Back-compat for viewing comments of an entry
  26  if ( $_redirect = intval( max( @$_GET['p'], @$_GET['attachment_id'], @$_GET['page_id'] ) ) ) {
  27      wp_redirect( admin_url('edit-comments.php?p=' . $_redirect ) );
  28      exit;
  29  } else {
  30      unset( $_redirect );
  31  }
  32  
  33  if ( 'post' != $post_type ) {
  34      $parent_file = "edit.php?post_type=$post_type";
  35      $submenu_file = "edit.php?post_type=$post_type";
  36      $post_new_file = "post-new.php?post_type=$post_type";
  37  } else {
  38      $parent_file = 'edit.php';
  39      $submenu_file = 'edit.php';
  40      $post_new_file = 'post-new.php';
  41  }
  42  
  43  $pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;
  44  if ( empty($pagenum) )
  45      $pagenum = 1;
  46  $edit_per_page = 'edit_' . $post_type . '_per_page';
  47  $per_page = (int) get_user_option( $edit_per_page );
  48  if ( empty( $per_page ) || $per_page < 1 )
  49      $per_page = 20;
  50  
  51  $per_page = apply_filters( $edit_per_page, $per_page );
  52  $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type );
  53  
  54  // Handle bulk actions
  55  if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delete_all']) || isset($_GET['delete_all2']) || isset($_GET['bulk_edit']) ) {
  56      check_admin_referer('bulk-posts');
  57      $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() );
  58  
  59      if ( strpos($sendback, 'post.php') !== false )
  60          $sendback = admin_url($post_new_file);
  61  
  62      if ( isset($_GET['delete_all']) || isset($_GET['delete_all2']) ) {
  63          $post_status = preg_replace('/[^a-z0-9_-]+/i', '', $_GET['post_status']);
  64          $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type=%s AND post_status = %s", $post_type, $post_status ) );
  65          $doaction = 'delete';
  66      } elseif ( ( $_GET['action'] != -1 || $_GET['action2'] != -1 ) && ( isset($_GET['post']) || isset($_GET['ids']) ) ) {
  67          $post_ids = isset($_GET['post']) ? array_map( 'intval', (array) $_GET['post'] ) : explode(',', $_GET['ids']);
  68          $doaction = ($_GET['action'] != -1) ? $_GET['action'] : $_GET['action2'];
  69      } else {
  70          wp_redirect( admin_url("edit.php?post_type=$post_type") );
  71      }
  72  
  73      switch ( $doaction ) {
  74          case 'trash':
  75              $trashed = 0;
  76              foreach( (array) $post_ids as $post_id ) {
  77                  if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
  78                      wp_die( __('You are not allowed to move this item to the Trash.') );
  79  
  80                  if ( !wp_trash_post($post_id) )
  81                      wp_die( __('Error in moving to Trash.') );
  82  
  83                  $trashed++;
  84              }
  85              $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids)), $sendback );
  86              break;
  87          case 'untrash':
  88              $untrashed = 0;
  89              foreach( (array) $post_ids as $post_id ) {
  90                  if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
  91                      wp_die( __('You are not allowed to restore this item from the Trash.') );
  92  
  93                  if ( !wp_untrash_post($post_id) )
  94                      wp_die( __('Error in restoring from Trash.') );
  95  
  96                  $untrashed++;
  97              }
  98              $sendback = add_query_arg('untrashed', $untrashed, $sendback);
  99              break;
 100          case 'delete':
 101              $deleted = 0;
 102              foreach( (array) $post_ids as $post_id ) {
 103                  $post_del = & get_post($post_id);
 104  
 105                  if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
 106                      wp_die( __('You are not allowed to delete this item.') );
 107  
 108                  if ( $post_del->post_type == 'attachment' ) {
 109                      if ( ! wp_delete_attachment($post_id) )
 110                          wp_die( __('Error in deleting...') );
 111                  } else {
 112                      if ( !wp_delete_post($post_id) )
 113                          wp_die( __('Error in deleting...') );
 114                  }
 115                  $deleted++;
 116              }
 117              $sendback = add_query_arg('deleted', $deleted, $sendback);
 118              break;
 119          case 'edit':
 120              $done = bulk_edit_posts($_GET);
 121  
 122              if ( is_array($done) ) {
 123                  $done['updated'] = count( $done['updated'] );
 124                  $done['skipped'] = count( $done['skipped'] );
 125                  $done['locked'] = count( $done['locked'] );
 126                  $sendback = add_query_arg( $done, $sendback );
 127              }
 128              break;
 129      }
 130  
 131      if ( isset($_GET['action']) )
 132          $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status',  'post', 'bulk_edit', 'post_view'), $sendback );
 133  
 134      wp_redirect($sendback);
 135      exit();
 136  } elseif ( ! empty($_GET['_wp_http_referer']) ) {
 137       wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
 138       exit;
 139  }
 140  
 141  wp_enqueue_script('inline-edit-post');
 142  
 143  $user_posts = false;
 144  if ( !current_user_can($post_type_object->cap->edit_others_posts) ) {
 145      $user_posts_count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(1) FROM $wpdb->posts WHERE post_type = '%s' AND post_status NOT IN ('trash', 'auto-draft') AND post_author = %d", $post_type, $current_user->ID) );
 146      $user_posts = true;
 147      if ( $user_posts_count && empty($_GET['post_status']) && empty($_GET['all_posts']) && empty($_GET['author']) )
 148          $_GET['author'] = $current_user->ID;
 149  }
 150  
 151  $avail_post_stati = wp_edit_posts_query();
 152  
 153  if ( $post_type_object->hierarchical )
 154      $num_pages = ceil($wp_query->post_count / $per_page);
 155  else
 156      $num_pages = $wp_query->max_num_pages;
 157  
 158  $title = $post_type_object->labels->name;
 159  
 160  if ( 'post' == $post_type ) {
 161      add_contextual_help($current_screen,
 162      '<p>' . __('You can customize the display of this screen in a number of ways:') . '</p>' .
 163      '<ul>' .
 164      '<li>' . __('You can hide/display columns based on your needs and decide how many posts to list per screen using the Screen Options tab.') . '</li>' .
 165      '<li>' . __('You can filter the list of posts by post status using the text links in the upper left to show All, Published, Draft, or Trashed posts. The default view is to show all posts.') . '</li>' .
 166      '<li>' . __('You can view posts in a simple title list or with an excerpt. Choose the view you prefer by clicking on the icons at the top of the list on the right.') . '</li>' .
 167      '<li>' . __('You can refine the list to show only posts in a specific category or from a specific month by using the dropdown menus above the posts list. Click the Filter button after making your selection. You also can refine the list by clicking on the post author, category or tag in the posts list.') . '</li>' .
 168      '</ul>' .
 169      '<p>' . __('Hovering over a row in the posts list will display action links that allow you to manage your post. You can perform the following actions:') . '</p>' .
 170      '<ul>' .
 171      '<li>' . __('Edit takes you to the editing screen for that post. You can also reach that screen by clicking on the post title.') . '</li>' .
 172      '<li>' . __('Quick Edit provides inline access to the metadata of your post, allowing you to update post details without leaving this screen.') . '</li>' .
 173      '<li>' . __('Trash removes your post from this list and places it in the trash, from which you can permanently delete it.') . '</li>' .
 174      '<li>' . __('Preview will show you what your draft post will look like if you publish it. View will take you to your live site to view the post. Which link is available depends on your post&#8217;s status.') . '</li>' .
 175      '</ul>' .
 176      '<p>' . __('You can also edit multiple posts at once. Select the posts you want to edit using the checkboxes, select Edit from the Bulk Actions menu and click Apply. You will be able to change the metadata (categories, author, etc.) for all selected posts at once. To remove a post from the grouping, just click the x next to its name in the Bulk Edit area that appears.') . '</p>' .
 177      '<p><strong>' . __('For more information:') . '</strong></p>' .
 178      '<p>' . __('<a href="http://codex.wordpress.org/Posts_Edit_SubPanel" target="_blank">Edit Posts Documentation</a>') . '</p>' .
 179      '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 180      );
 181  } elseif ( 'page' == $post_type ) {
 182      add_contextual_help($current_screen,
 183      '<p>' . __('Pages are similar to to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the &#8220;Parent&#8221; of the other, creating a group of Pages.') . '</p>' .
 184      '<p>' . __('Managing Pages is very similar to managing Posts, and the screens can be customized in the same way.') . '</p>' .
 185      '<p>' . __('You can also perform the same types of actions, including narrowing the list by using the filters, acting on a Page using the action links that appear when you hover over a row, or using the Bulk Actions menu to edit the metadata for multiple Pages at once.') . '</p>' .
 186      '<p><strong>' . __('For more information:') . '</strong></p>' .
 187      '<p>' . __('<a href="http://codex.wordpress.org/Pages_Edit_SubPanel" target="_blank">Page Management Documentation</a>') . '</p>' .
 188      '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 189      );
 190  }
 191  
 192  require_once ('./admin-header.php');
 193  
 194  if ( empty($_GET['mode']) )
 195      $mode = 'list';
 196  else
 197      $mode = esc_attr($_GET['mode']); ?>
 198  
 199  <div class="wrap">
 200  <?php screen_icon(); ?>
 201  <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="button add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php
 202  if ( isset($_GET['s']) && $_GET['s'] )
 203      printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
 204  </h2>
 205  
 206  <?php
 207  if ( isset($_GET['posted']) && $_GET['posted'] ) : $_GET['posted'] = (int) $_GET['posted']; ?>
 208  <div id="message" class="updated"><p><strong><?php _e('This has been saved.'); ?></strong> <a href="<?php echo get_permalink( $_GET['posted'] ); ?>"><?php _e('View Post'); ?></a> | <a href="<?php echo get_edit_post_link( $_GET['posted'] ); ?>"><?php _e('Edit Post'); ?></a></p></div>
 209  <?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
 210  endif; ?>
 211  
 212  <?php if ( isset($_GET['locked']) || isset($_GET['skipped']) || isset($_GET['updated']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) ) { ?>
 213  <div id="message" class="updated"><p>
 214  <?php if ( isset($_GET['updated']) && (int) $_GET['updated'] ) {
 215      printf( _n( '%s post updated.', '%s posts updated.', $_GET['updated'] ), number_format_i18n( $_GET['updated'] ) );
 216      unset($_GET['updated']);
 217  }
 218  
 219  if ( isset($_GET['skipped']) && (int) $_GET['skipped'] )
 220      unset($_GET['skipped']);
 221  
 222  if ( isset($_GET['locked']) && (int) $_GET['locked'] ) {
 223      printf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_GET['locked'] ), number_format_i18n( $_GET['locked'] ) );
 224      unset($_GET['locked']);
 225  }
 226  
 227  if ( isset($_GET['deleted']) && (int) $_GET['deleted'] ) {
 228      printf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_GET['deleted'] ), number_format_i18n( $_GET['deleted'] ) );
 229      unset($_GET['deleted']);
 230  }
 231  
 232  if ( isset($_GET['trashed']) && (int) $_GET['trashed'] ) {
 233      printf( _n( 'Item moved to the trash.', '%s items moved to the trash.', $_GET['trashed'] ), number_format_i18n( $_GET['trashed'] ) );
 234      $ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
 235      echo ' <a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a><br />';
 236      unset($_GET['trashed']);
 237  }
 238  
 239  if ( isset($_GET['untrashed']) && (int) $_GET['untrashed'] ) {
 240      printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) );
 241      unset($_GET['undeleted']);
 242  }
 243  
 244  $_SERVER['REQUEST_URI'] = remove_query_arg( array('locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed'), $_SERVER['REQUEST_URI'] );
 245  ?>
 246  </p></div>
 247  <?php } ?>
 248  
 249  <form id="posts-filter" action="<?php echo admin_url('edit.php'); ?>" method="get">
 250  
 251  <ul class="subsubsub">
 252  <?php
 253  if ( empty($locked_post_status) ) :
 254  $status_links = array();
 255  $num_posts = wp_count_posts( $post_type, 'readable' );
 256  $class = '';
 257  $allposts = '';
 258  
 259  if ( $user_posts ) {
 260      if ( isset( $_GET['author'] ) && ( $_GET['author'] == $current_user->ID ) )
 261          $class = ' class="current"';
 262      $status_links[] = "<li><a href='edit.php?post_type=$post_type&author=$current_user->ID'$class>" . sprintf( _nx( 'Mine <span class="count">(%s)</span>', 'Mine <span class="count">(%s)</span>', $user_posts_count, 'posts' ), number_format_i18n( $user_posts_count ) ) . '</a>';
 263      $allposts = '&all_posts=1';
 264  }
 265  
 266  $total_posts = array_sum( (array) $num_posts );
 267  
 268  // Subtract post types that are not included in the admin all list.
 269  foreach ( get_post_stati( array('show_in_admin_all_list' => false) ) as $state )
 270      $total_posts -= $num_posts->$state;
 271  
 272  $class = empty($class) && empty($_GET['post_status']) ? ' class="current"' : '';
 273  $status_links[] = "<li><a href='edit.php?post_type=$post_type{$allposts}'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . '</a>';
 274  
 275  foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) {
 276      $class = '';
 277  
 278      $status_name = $status->name;
 279  
 280      if ( !in_array( $status_name, $avail_post_stati ) )
 281          continue;
 282  
 283      if ( empty( $num_posts->$status_name ) )
 284          continue;
 285  
 286      if ( isset($_GET['post_status']) && $status_name == $_GET['post_status'] )
 287          $class = ' class="current"';
 288  
 289      $status_links[] = "<li><a href='edit.php?post_status=$status_name&amp;post_type=$post_type'$class>" . sprintf( _n( $status->label_count[0], $status->label_count[1], $num_posts->$status_name ), number_format_i18n( $num_posts->$status_name ) ) . '</a>';
 290  }
 291  echo implode( " |</li>\n", $status_links ) . '</li>';
 292  unset( $status_links );
 293  endif;
 294  ?>
 295  </ul>
 296  
 297  <p class="search-box">
 298      <label class="screen-reader-text" for="post-search-input"><?php echo $post_type_object->labels->search_items; ?>:</label>
 299      <input type="text" id="post-search-input" name="s" value="<?php the_search_query(); ?>" />
 300      <input type="submit" value="<?php echo esc_attr( $post_type_object->labels->search_items  ); ?>" class="button" />
 301  </p>
 302  
 303  <input type="hidden" name="post_status" class="post_status_page" value="<?php echo !empty($_GET['post_status']) ? esc_attr($_GET['post_status']) : 'all'; ?>" />
 304  <input type="hidden" name="post_type" class="post_type_page" value="<?php echo $post_type; ?>" />
 305  <input type="hidden" name="mode" value="<?php echo esc_attr($mode); ?>" />
 306  
 307  <?php if ( have_posts() ) { ?>
 308  
 309  <div class="tablenav">
 310  <?php
 311  $page_links = paginate_links( array(
 312      'base' => add_query_arg( 'paged', '%#%' ),
 313      'format' => '',
 314      'prev_text' => __('&laquo;'),
 315      'next_text' => __('&raquo;'),
 316      'total' => $num_pages,
 317      'current' => $pagenum
 318  ));
 319  
 320  $is_trash = isset($_GET['post_status']) && $_GET['post_status'] == 'trash';
 321  
 322  ?>
 323  
 324  <div class="alignleft actions">
 325  <select name="action">
 326  <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option>
 327  <?php if ( $is_trash ) { ?>
 328  <option value="untrash"><?php _e('Restore'); ?></option>
 329  <?php } else { ?>
 330  <option value="edit"><?php _e('Edit'); ?></option>
 331  <?php } if ( $is_trash || !EMPTY_TRASH_DAYS ) { ?>
 332  <option value="delete"><?php _e('Delete Permanently'); ?></option>
 333  <?php } else { ?>
 334  <option value="trash"><?php _e('Move to Trash'); ?></option>
 335  <?php } ?>
 336  </select>
 337  <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" />
 338  <?php wp_nonce_field('bulk-posts'); ?>
 339  
 340  <?php // view filters
 341  if ( !is_singular() ) {
 342  $arc_query = $wpdb->prepare("SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = %s ORDER BY post_date DESC", $post_type);
 343  
 344  $arc_result = $wpdb->get_results( $arc_query );
 345  
 346  $month_count = count($arc_result);
 347  
 348  if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) {
 349  $m = isset($_GET['m']) ? (int)$_GET['m'] : 0;
 350  ?>
 351  <select name='m'>
 352  <option<?php selected( $m, 0 ); ?> value='0'><?php _e('Show all dates'); ?></option>
 353  <?php
 354  foreach ($arc_result as $arc_row) {
 355      if ( $arc_row->yyear == 0 )
 356          continue;
 357      $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 );
 358  
 359      if ( $arc_row->yyear . $arc_row->mmonth == $m )
 360          $default = ' selected="selected"';
 361      else
 362          $default = '';
 363  
 364      echo "<option$default value='" . esc_attr("$arc_row->yyear$arc_row->mmonth") . "'>";
 365      echo $wp_locale->get_month($arc_row->mmonth) . " $arc_row->yyear";
 366      echo "</option>\n";
 367  }
 368  ?>
 369  </select>
 370  <?php } ?>
 371  
 372  <?php
 373  if ( is_object_in_taxonomy($post_type, 'category') ) {
 374      $dropdown_options = array('show_option_all' => __('View all categories'), 'hide_empty' => 0, 'hierarchical' => 1,
 375          'show_count' => 0, 'orderby' => 'name', 'selected' => $cat);
 376      wp_dropdown_categories($dropdown_options);
 377  }
 378  do_action('restrict_manage_posts');
 379  ?>
 380  <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" />
 381  <?php }
 382  
 383  if ( $is_trash && current_user_can($post_type_object->cap->edit_others_posts) ) { ?>
 384  <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" />
 385  <?php } ?>
 386  </div>
 387  
 388  <?php if ( $page_links ) { ?>
 389  <div class="tablenav-pages"><?php
 390      $count_posts = $post_type_object->hierarchical ? $wp_query->post_count : $wp_query->found_posts;
 391      $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s&#8211;%s of %s' ) . '</span>%s',
 392                          number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ),
 393                          number_format_i18n( min( $pagenum * $per_page, $count_posts ) ),
 394                          number_format_i18n( $count_posts ),
 395                          $page_links
 396                          );
 397      echo $page_links_text;
 398      ?></div>
 399  <?php
 400  }
 401  
 402  if ( !$post_type_object->hierarchical ) {
 403  ?>
 404  
 405  <div class="view-switch">
 406      <a href="<?php echo esc_url(add_query_arg('mode', 'list', $_SERVER['REQUEST_URI'])) ?>"><img <?php if ( 'list' == $mode ) echo 'class="current"'; ?> id="view-switch-list" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e('List View') ?>" alt="<?php _e('List View') ?>" /></a>
 407      <a href="<?php echo esc_url(add_query_arg('mode', 'excerpt', $_SERVER['REQUEST_URI'])) ?>"><img <?php if ( 'excerpt' == $mode ) echo 'class="current"'; ?> id="view-switch-excerpt" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e('Excerpt View') ?>" alt="<?php _e('Excerpt View') ?>" /></a>
 408  </div>
 409  
 410  <?php } ?>
 411  <div class="clear"></div>
 412  </div>
 413  
 414  <div class="clear"></div>
 415  
 416  <?php include ( './edit-post-rows.php' ); ?>
 417  
 418  <div class="tablenav">
 419  
 420  <?php
 421  if ( $page_links )
 422      echo "<div class='tablenav-pages'>$page_links_text</div>";
 423  ?>
 424  
 425  <div class="alignleft actions">
 426  <select name="action2">
 427  <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option>
 428  <?php if ( $is_trash ) { ?>
 429  <option value="untrash"><?php _e('Restore'); ?></option>
 430  <?php } else { ?>
 431  <option value="edit"><?php _e('Edit'); ?></option>
 432  <?php } if ( $is_trash || !EMPTY_TRASH_DAYS ) { ?>
 433  <option value="delete"><?php _e('Delete Permanently'); ?></option>
 434  <?php } else { ?>
 435  <option value="trash"><?php _e('Move to Trash'); ?></option>
 436  <?php } ?>
 437  </select>
 438  <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
 439  <?php if ( $is_trash && current_user_can($post_type_object->cap->edit_others_posts) ) { ?>
 440  <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" />
 441  <?php } ?>
 442  <br class="clear" />
 443  </div>
 444  <br class="clear" />
 445  </div>
 446  
 447  <?php } else { // have_posts() ?>
 448  <div class="clear"></div>
 449  <p><?php
 450  if ( isset($_GET['post_status']) && 'trash' == $_GET['post_status'] )
 451      echo $post_type_object->labels->not_found_in_trash;
 452  else
 453      echo $post_type_object->labels->not_found;
 454  ?></p>
 455  <?php } ?>
 456  
 457  </form>
 458  
 459  <?php inline_edit_row( $current_screen ); ?>
 460  
 461  <div id="ajax-response"></div>
 462  <br class="clear" />
 463  </div>
 464  
 465  <?php
 466  include ('./admin-footer.php');


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