Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.0/wp-admin/edit.php

    r17362 r15451  
    88
    99/** WordPress Administration Bootstrap */
    10 require_once( './admin.php' );
     10require_once('./admin.php');
    1111
    1212if ( !isset($_GET['post_type']) )
     
    1616else
    1717    wp_die( __('Invalid post type') );
    18 
    1918$_GET['post_type'] = $post_type;
    2019
    21 $post_type_object = get_post_type_object( $post_type );
     20$post_type_object = get_post_type_object($post_type);
    2221
    2322if ( !current_user_can($post_type_object->cap->edit_posts) )
    2423    wp_die(__('Cheatin’ uh?'));
    2524
    26 $wp_list_table = _get_list_table('WP_Posts_List_Table');
    27 $pagenum = $wp_list_table->get_pagenum();
    28 
    2925// Back-compat for viewing comments of an entry
    30 foreach ( array( 'p', 'attachment_id', 'page_id' ) as $_redirect ) {
    31     if ( ! empty( $_REQUEST[ $_redirect ] ) ) {
    32         wp_redirect( admin_url( 'edit-comments.php?p=' . absint( $_REQUEST[ $_redirect ] ) ) );
    33         exit;
    34     }
    35 }
    36 unset( $_redirect );
     26if ( $_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}
    3732
    3833if ( 'post' != $post_type ) {
     
    4641}
    4742
    48 $doaction = $wp_list_table->current_action();
    49 
    50 if ( $doaction ) {
     43$pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;
     44if ( empty($pagenum) )
     45    $pagenum = 1;
     46$edit_per_page = 'edit_' . $post_type . '_per_page';
     47$per_page = (int) get_user_option( $edit_per_page );
     48if ( 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
     55if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delete_all']) || isset($_GET['delete_all2']) || isset($_GET['bulk_edit']) ) {
    5156    check_admin_referer('bulk-posts');
    52 
    5357    $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() );
    54     $sendback = add_query_arg( 'paged', $pagenum, $sendback );
     58
    5559    if ( strpos($sendback, 'post.php') !== false )
    5660        $sendback = admin_url($post_new_file);
    5761
    58     if ( 'delete_all' == $doaction ) {
    59         $post_status = preg_replace('/[^a-z0-9_-]+/i', '', $_REQUEST['post_status']);
    60         if ( get_post_status_object($post_status) ) // Check the post status exists first
    61             $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type=%s AND post_status = %s", $post_type, $post_status ) );
     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 ) );
    6265        $doaction = 'delete';
    63     } elseif ( isset( $_REQUEST['media'] ) ) {
    64         $post_ids = $_REQUEST['media'];
    65     } elseif ( isset( $_REQUEST['ids'] ) ) {
    66         $post_ids = explode( ',', $_REQUEST['ids'] );
    67     } elseif ( !empty( $_REQUEST['post'] ) ) {
    68         $post_ids = array_map('intval', $_REQUEST['post']);
    69     }
    70 
    71     if ( !isset( $post_ids ) ) {
    72         wp_redirect( $sendback );
    73         exit;
     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") );
    7471    }
    7572
     
    8683                $trashed++;
    8784            }
    88             $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids) ), $sendback );
     85            $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids)), $sendback );
    8986            break;
    9087        case 'untrash':
     
    121118            break;
    122119        case 'edit':
    123             $done = bulk_edit_posts($_REQUEST);
     120            $done = bulk_edit_posts($_GET);
    124121
    125122            if ( is_array($done) ) {
     
    132129    }
    133130
    134     $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status',  'post', 'bulk_edit', 'post_view'), $sendback );
     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 );
    135133
    136134    wp_redirect($sendback);
    137135    exit();
    138 } elseif ( ! empty($_REQUEST['_wp_http_referer']) ) {
     136} elseif ( ! empty($_GET['_wp_http_referer']) ) {
    139137     wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
    140138     exit;
    141139}
    142140
    143 $wp_list_table->prepare_items();
    144 
    145 $total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
    146 if ( $pagenum > $total_pages && $total_pages > 0 ) {
    147     wp_redirect( add_query_arg( 'paged', $total_pages ) );
    148     exit;
    149 }
    150 
    151141wp_enqueue_script('inline-edit-post');
     142
     143$user_posts = false;
     144if ( !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
     153if ( $post_type_object->hierarchical )
     154    $num_pages = ceil($wp_query->post_count / $per_page);
     155else
     156    $num_pages = $wp_query->max_num_pages;
    152157
    153158$title = $post_type_object->labels->name;
     
    171176    '<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>' .
    172177    '<p><strong>' . __('For more information:') . '</strong></p>' .
    173     '<p>' . __('<a href="http://codex.wordpress.org/Posts_Posts_SubPanel" target="_blank">Documentation on Managing Posts</a>') . '</p>' .
     178    '<p>' . __('<a href="http://codex.wordpress.org/Posts_Edit_SubPanel" target="_blank">Edit Posts Documentation</a>') . '</p>' .
    174179    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
    175180    );
    176181} elseif ( 'page' == $post_type ) {
    177182    add_contextual_help($current_screen,
    178     '<p>' . __('Pages are similar 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>' .
     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>' .
    179184    '<p>' . __('Managing Pages is very similar to managing Posts, and the screens can be customized in the same way.') . '</p>' .
    180185    '<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>' .
    181186    '<p><strong>' . __('For more information:') . '</strong></p>' .
    182     '<p>' . __('<a href="http://codex.wordpress.org/Pages_Pages_SubPanel" target="_blank">Documentation on Managing Pages</a>') . '</p>' .
     187    '<p>' . __('<a href="http://codex.wordpress.org/Pages_Edit_SubPanel" target="_blank">Page Management Documentation</a>') . '</p>' .
    183188    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
    184189    );
    185190}
    186191
    187 add_screen_option( 'per_page', array('label' => $title, 'default' => 20) );
    188 
    189192require_once('./admin-header.php');
    190 ?>
     193
     194if ( empty($_GET['mode']) )
     195    $mode = 'list';
     196else
     197    $mode = esc_attr($_GET['mode']); ?>
     198
    191199<div class="wrap">
    192200<?php screen_icon(); ?>
    193201<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
    194 if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
     202if ( isset($_GET['s']) && $_GET['s'] )
    195203    printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
    196204</h2>
    197205
    198206<?php
    199 if ( isset($_REQUEST['posted']) && $_REQUEST['posted'] ) : $_REQUEST['posted'] = (int) $_REQUEST['posted']; ?>
    200 <div id="message" class="updated"><p><strong><?php _e('This has been saved.'); ?></strong> <a href="<?php echo get_permalink( $_REQUEST['posted'] ); ?>"><?php _e('View Post'); ?></a> | <a href="<?php echo get_edit_post_link( $_REQUEST['posted'] ); ?>"><?php _e('Edit Post'); ?></a></p></div>
     207if ( 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>
    201209<?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
    202210endif; ?>
    203211
    204 <?php if ( isset($_REQUEST['locked']) || isset($_REQUEST['skipped']) || isset($_REQUEST['updated']) || isset($_REQUEST['deleted']) || isset($_REQUEST['trashed']) || isset($_REQUEST['untrashed']) ) { ?>
     212<?php if ( isset($_GET['locked']) || isset($_GET['skipped']) || isset($_GET['updated']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) ) { ?>
    205213<div id="message" class="updated"><p>
    206 <?php if ( isset($_REQUEST['updated']) && (int) $_REQUEST['updated'] ) {
    207     printf( _n( '%s post updated.', '%s posts updated.', $_REQUEST['updated'] ), number_format_i18n( $_REQUEST['updated'] ) );
    208     unset($_REQUEST['updated']);
    209 }
    210 
    211 if ( isset($_REQUEST['skipped']) && (int) $_REQUEST['skipped'] )
    212     unset($_REQUEST['skipped']);
    213 
    214 if ( isset($_REQUEST['locked']) && (int) $_REQUEST['locked'] ) {
    215     printf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_REQUEST['locked'] ), number_format_i18n( $_REQUEST['locked'] ) );
    216     unset($_REQUEST['locked']);
    217 }
    218 
    219 if ( isset($_REQUEST['deleted']) && (int) $_REQUEST['deleted'] ) {
    220     printf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_REQUEST['deleted'] ), number_format_i18n( $_REQUEST['deleted'] ) );
    221     unset($_REQUEST['deleted']);
    222 }
    223 
    224 if ( isset($_REQUEST['trashed']) && (int) $_REQUEST['trashed'] ) {
    225     printf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $_REQUEST['trashed'] ), number_format_i18n( $_REQUEST['trashed'] ) );
    226     $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
     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
     219if ( isset($_GET['skipped']) && (int) $_GET['skipped'] )
     220    unset($_GET['skipped']);
     221
     222if ( 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
     227if ( 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
     232if ( 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;
    227235    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 />';
    228     unset($_REQUEST['trashed']);
    229 }
    230 
    231 if ( isset($_REQUEST['untrashed']) && (int) $_REQUEST['untrashed'] ) {
    232     printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_REQUEST['untrashed'] ), number_format_i18n( $_REQUEST['untrashed'] ) );
    233     unset($_REQUEST['undeleted']);
     236    unset($_GET['trashed']);
     237}
     238
     239if ( 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']);
    234242}
    235243
     
    239247<?php } ?>
    240248
    241 <?php $wp_list_table->views(); ?>
    242 
    243 <form id="posts-filter" action="" method="get">
    244 
    245 <?php $wp_list_table->search_box( $post_type_object->labels->search_items, 'post' ); ?>
    246 
    247 <input type="hidden" name="post_status" class="post_status_page" value="<?php echo !empty($_REQUEST['post_status']) ? esc_attr($_REQUEST['post_status']) : 'all'; ?>" />
     249<form id="posts-filter" action="<?php echo admin_url('edit.php'); ?>" method="get">
     250
     251<ul class="subsubsub">
     252<?php
     253if ( empty($locked_post_status) ) :
     254$status_links = array();
     255$num_posts = wp_count_posts( $post_type, 'readable' );
     256$class = '';
     257$allposts = '';
     258
     259if ( $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.
     269foreach ( 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
     275foreach ( 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}
     291echo implode( " |</li>\n", $status_links ) . '</li>';
     292unset( $status_links );
     293endif;
     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'; ?>" />
    248304<input type="hidden" name="post_type" class="post_type_page" value="<?php echo $post_type; ?>" />
    249 <?php if ( ! empty( $_REQUEST['show_sticky'] ) ) { ?>
    250 <input type="hidden" name="show_sticky" value="1" />
    251 <?php } ?>
    252 
    253 <?php $wp_list_table->display(); ?>
     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
     341if ( !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
     348if ( $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
     354foreach ($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
     373if ( 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}
     378do_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
     383if ( $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
     402if ( !$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
     421if ( $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
     450if ( isset($_GET['post_status']) && 'trash' == $_GET['post_status'] )
     451    echo $post_type_object->labels->not_found_in_trash;
     452else
     453    echo $post_type_object->labels->not_found;
     454?></p>
     455<?php } ?>
    254456
    255457</form>
    256458
    257 <?php
    258 if ( $wp_list_table->has_items() )
    259     $wp_list_table->inline_edit();
    260 ?>
     459<?php inline_edit_row( $current_screen ); ?>
    261460
    262461<div id="ajax-response"></div>
Note: See TracChangeset for help on using the changeset viewer.