]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/edit-post-rows.php
Wordpress 2.5.1
[autoinstalls/wordpress.git] / wp-admin / edit-post-rows.php
index c5e3a58862ede6a8f4d35f35a89148ce431ce8eb..0906b68c8bb69050b1f7c9470812f1292f9e9d67 100644 (file)
@@ -3,23 +3,42 @@
        <thead>
        <tr>
 
-<?php foreach($posts_columns as $column_display_name) { ?>
-       <th scope="col"><?php echo $column_display_name; ?></th>
+<?php $posts_columns = wp_manage_posts_columns(); ?>
+<?php foreach($posts_columns as $post_column_key => $column_display_name) {
+       if ( 'cb' === $post_column_key )
+               $class = ' class="check-column"';
+       elseif ( 'comments' === $post_column_key )
+               $class = ' class="num"';
+       else
+               $class = '';
+?>
+       <th scope="col"<?php echo $class; ?>><?php echo $column_display_name; ?></th>
 <?php } ?>
 
        </tr>
        </thead>
-       <tbody id="the-list">
+       <tbody>
 <?php
 if ( have_posts() ) {
 $bgcolor = '';
 add_filter('the_title','wp_specialchars');
+
+// Create array of post IDs.
+$post_ids = array();
+foreach ( $wp_query->posts as $a_post )
+       $post_ids[] = $a_post->ID;
+
+$comment_pending_count = get_pending_comments_num($post_ids);
+
 while (have_posts()) : the_post();
-$class = ('alternate' == $class) ? '' : 'alternate';
+$class = 'alternate' == $class ? '' : 'alternate';
 global $current_user;
 $post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' );
+$title = get_the_title();
+if ( empty($title) )
+       $title = __('(no title)');
 ?>
-       <tr id='post-<?php echo $id; ?>' class='<?php echo trim( $class . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>'>
+       <tr id='post-<?php echo $id; ?>' class='<?php echo trim( $class . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>' valign="top">
 
 <?php
 
@@ -27,53 +46,122 @@ foreach($posts_columns as $column_name=>$column_display_name) {
 
        switch($column_name) {
 
-       case 'id':
+       case 'cb':
                ?>
-               <th scope="row" style="text-align: center"><?php echo $id ?></th>
+               <th scope="row" class="check-column"><?php if ( current_user_can( 'edit_post', $post->ID ) ) { ?><input type="checkbox" name="delete[]" value="<?php the_ID(); ?>" /><?php } ?></th>
                <?php
                break;
        case 'modified':
-               ?>
-               <td><?php if ( '0000-00-00 00:00:00' ==$post->post_modified ) _e('Never'); else the_modified_time(__('Y-m-d \<\b\r \/\> g:i:s a')); ?></td>
-               <?php
-               break;
        case 'date':
+               if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {
+                       $t_time = $h_time = __('Unpublished');
+               } else {
+                       if ( 'modified' == $column_name ) {
+                               $t_time = get_the_modified_time(__('Y/m/d g:i:s A'));
+                               $m_time = $post->post_modified;
+                               $time = get_post_modified_time('G', true);
+                       } else {
+                               $t_time = get_the_time(__('Y/m/d g:i:s A'));
+                               $m_time = $post->post_date;
+                               $time = get_post_time('G', true);
+                       }
+                       if ( ( abs(time() - $time) ) < 86400 ) {
+                               if ( ( 'future' == $post->post_status) )
+                                       $h_time = sprintf( __('%s from now'), human_time_diff( $time ) );
+                               else
+                                       $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );
+                       } else {
+                               $h_time = mysql2date(__('Y/m/d'), $m_time);
+                       }
+               }
                ?>
-               <td><?php if ( '0000-00-00 00:00:00' ==$post->post_date) _e('Unpublished'); else the_time(__('Y-m-d \<\b\r \/\> g:i:s a')); ?></td>
+               <td><abbr title="<?php echo $t_time ?>"><?php echo apply_filters('post_date_column_time', $h_time, $post, $column_name) ?></abbr></td>
                <?php
                break;
        case 'title':
                ?>
-               <td><?php the_title() ?>
-               <?php if ('private' == $post->post_status) _e(' - <strong>Private</strong>'); ?></td>
+               <td><strong><?php if ( current_user_can( 'edit_post', $post->ID ) ) { ?><a class="row-title" href="post.php?action=edit&amp;post=<?php the_ID(); ?>" title="<?php echo attribute_escape(sprintf(__('Edit "%s"'), $title)); ?>"><?php echo $title ?></a><?php } else { echo $title; } ?></strong>
+               <?php if ( !empty($post->post_password) ) { _e(' &#8212; <strong>Protected</strong>'); } elseif ('private' == $post->post_status) { _e(' &#8212; <strong>Private</strong>'); } ?></td>
                <?php
                break;
 
        case 'categories':
                ?>
-               <td><?php the_category(','); ?></td>
+               <td><?php
+               $categories = get_the_category();
+               if ( !empty( $categories ) ) {
+                       $out = array();
+                       foreach ( $categories as $c )
+                               $out[] = "<a href='edit.php?category_name=$c->slug'> " . wp_specialchars(sanitize_term_field('name', $c->name, $c->term_id, 'category', 'display')) . "</a>";
+                       echo join( ', ', $out );
+               } else {
+                       _e('Uncategorized');
+               }
+               ?></td>
+               <?php
+               break;
+
+       case 'tags':
+               ?>
+               <td><?php
+               $tags = get_the_tags();
+               if ( !empty( $tags ) ) {
+                       $out = array();
+                       foreach ( $tags as $c )
+                               $out[] = "<a href='edit.php?tag=$c->slug'> " . wp_specialchars(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) . "</a>";
+                       echo join( ', ', $out );
+               } else {
+                       _e('No Tags');
+               }
+               ?></td>
                <?php
                break;
 
        case 'comments':
                ?>
-               <td style="text-align: center">
+               <td class="num"><div class="post-com-count-wrapper">
                <?php
-               $left = get_pending_comments_num( $post->ID );
+               $left = isset($comment_pending_count) ? $comment_pending_count[$post->ID] : 0;
                $pending_phrase = sprintf( __('%s pending'), number_format( $left ) );
                if ( $left )
                        echo '<strong>';
-               comments_number("<a href='edit.php?p=$id&amp;c=1' title='$pending_phrase'>" . __('0') . '</a>', "<a href='edit.php?p=$id&amp;c=1' title='$pending_phrase'>" . __('1') . '</a>', "<a href='edit.php?p=$id&amp;c=1' title='$pending_phrase'>" . __('%') . '</a>');
+               comments_number("<a href='edit.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('0') . '</span></a>', "<a href='edit.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('1') . '</span></a>', "<a href='edit.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('%') . '</span></a>');
                if ( $left )
                        echo '</strong>';
                ?>
-               </td>
+               </div></td>
                <?php
                break;
 
        case 'author':
                ?>
-               <td><?php the_author() ?></td>
+               <td><a href="edit.php?author=<?php the_author_ID(); ?>"><?php the_author() ?></a></td>
+               <?php
+               break;
+
+       case 'status':
+               ?>
+               <td>
+               <a href="<?php the_permalink(); ?>" title="<?php echo attribute_escape(sprintf(__('View "%s"'), $title)); ?>" rel="permalink">
+               <?php
+               switch ( $post->post_status ) {
+                       case 'publish' :
+                       case 'private' :
+                               _e('Published');
+                               break;
+                       case 'future' :
+                               _e('Scheduled');
+                               break;
+                       case 'pending' :
+                               _e('Pending Review');
+                               break;
+                       case 'draft' :
+                               _e('Unpublished');
+                               break;
+               }
+               ?>
+               </a>
+               </td>
                <?php
                break;
 
@@ -91,7 +179,7 @@ foreach($posts_columns as $column_name=>$column_display_name) {
 
        case 'control_delete':
                ?>
-               <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete' onclick=\"return deleteSomething( 'post', " . $id . ", '" . js_escape(sprintf(__("You are about to delete this post '%s'.\n'OK' to delete, 'Cancel' to stop."), get_the_title())) . "' );\">" . __('Delete') . "</a>"; } ?></td>
+               <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete'>" . __('Delete') . "</a>"; } ?></td>
                <?php
                break;