2004-04-28 21:49:27 +02:00
< ? php
2004-10-19 05:03:06 +02:00
require_once ( 'admin.php' );
2004-04-24 06:47:27 +02:00
2006-11-18 08:31:29 +01:00
$title = __ ( 'Posts' );
$parent_file = 'edit.php' ;
2006-05-22 19:16:05 +02:00
wp_enqueue_script ( 1 == $_GET [ 'c' ] ? 'admin-comments' : 'listman' );
2003-12-11 01:22:36 +01:00
require_once ( 'admin-header.php' );
2003-10-26 21:34:24 +01:00
2007-05-28 20:34:06 +02:00
$_GET [ 'm' ] = ( int ) $_GET [ 'm' ];
$_GET [ 'cat' ] = ( int ) $_GET [ 'cat' ];
$post_stati = array ( // array( adj, noun )
'draft' => array ( __ ( 'Draft' ), _c ( 'Drafts|manage posts header' )),
2007-05-29 00:31:31 +02:00
'future' => array ( __ ( 'Scheduled' ), __ ( 'Scheduled posts' )),
2007-06-14 18:24:28 +02:00
'pending' => array ( __ ( 'Pending Review' ), __ ( 'Pending posts' )),
2007-05-28 20:34:06 +02:00
'private' => array ( __ ( 'Private' ), __ ( 'Private posts' )),
'publish' => array ( __ ( 'Published' ), __ ( 'Published posts' ))
);
2007-06-14 18:24:28 +02:00
$avail_post_stati = $wpdb -> get_col ( " SELECT DISTINCT post_status FROM $wpdb->posts WHERE post_type = 'post' " );
2007-05-28 20:34:06 +02:00
$post_status_q = '' ;
$post_status_label = _c ( 'Posts|manage posts header' );
if ( isset ( $_GET [ 'post_status' ]) && in_array ( $_GET [ 'post_status' ], array_keys ( $post_stati ) ) ) {
$post_status_label = $post_stati [ $_GET [ 'post_status' ]][ 1 ];
$post_status_q = '&post_status=' . $_GET [ 'post_status' ];
2004-04-28 10:57:11 +02:00
}
?>
2005-11-11 00:36:50 +01:00
2007-05-28 20:34:06 +02:00
< div class = " wrap " >
2005-11-11 00:36:50 +01:00
2007-05-28 20:34:06 +02:00
< ? php
2006-08-30 19:17:09 +02:00
2007-06-24 08:25:49 +02:00
if ( 'pending' === $_GET [ 'post_status' ] ) {
$order = 'ASC' ;
$orderby = 'modified' ;
} elseif ( 'draft' === $_GET [ 'post_status' ] ) {
$order = 'DESC' ;
$orderby = 'modified' ;
} else {
$order = 'DESC' ;
$orderby = 'date' ;
}
wp ( " what_to_show=posts $post_status_q &posts_per_page=15&order= $order &orderby= $orderby " );
2006-10-04 09:54:38 +02:00
2005-02-11 18:58:11 +01:00
// define the columns to display, the syntax is 'internal name' => 'display name'
2007-06-14 18:24:28 +02:00
$posts_columns = array ();
$posts_columns [ 'id' ] = '<div style="text-align: center">' . __ ( 'ID' ) . '</div>' ;
2007-06-24 08:25:49 +02:00
if ( 'draft' === $_GET [ 'post_status' ] )
$posts_columns [ 'modified' ] = __ ( 'Modified' );
elseif ( 'pending' === $_GET [ 'post_status' ] )
$posts_columns [ 'modified' ] = __ ( 'Submitted' );
else
2007-06-14 18:24:28 +02:00
$posts_columns [ 'date' ] = __ ( 'When' );
$posts_columns [ 'title' ] = __ ( 'Title' );
$posts_columns [ 'categories' ] = __ ( 'Categories' );
2007-06-24 07:05:22 +02:00
if ( ! in_array ( $_GET [ 'post_status' ], array ( 'pending' , 'draft' , 'future' )) )
2007-06-14 18:24:28 +02:00
$posts_columns [ 'comments' ] = '<div style="text-align: center">' . __ ( 'Comments' ) . '</div>' ;
$posts_columns [ 'author' ] = __ ( 'Author' );
2005-02-11 18:58:11 +01:00
$posts_columns = apply_filters ( 'manage_posts_columns' , $posts_columns );
// you can not edit these at the moment
$posts_columns [ 'control_view' ] = '' ;
$posts_columns [ 'control_edit' ] = '' ;
$posts_columns [ 'control_delete' ] = '' ;
?>
2007-05-28 20:34:06 +02:00
< h2 >< ? php
if ( is_single () ) {
printf ( __ ( 'Comments on %s' ), apply_filters ( " the_title " , $post -> post_title ));
} else {
if ( $post_listing_pageable && ! is_archive () && ! is_search () )
$h2_noun = is_paged () ? sprintf ( __ ( 'Previous %s' ), $post_status_label ) : sprintf ( __ ( 'Latest %s' ), $post_status_label );
else
$h2_noun = $post_status_label ;
// Use $_GET instead of is_ since they can override each other
2007-05-29 06:28:10 +02:00
$h2_author = '' ;
2007-06-14 18:24:28 +02:00
$_GET [ 'author' ] = ( int ) $_GET [ 'author' ];
if ( $_GET [ 'author' ] != 0 ) {
if ( $_GET [ 'author' ] == '-' . $user_ID ) { // author exclusion
$h2_author = ' ' . __ ( 'by other authors' );
} else {
$author_user = get_userdata ( get_query_var ( 'author' ) );
$h2_author = ' ' . sprintf ( __ ( 'by %s' ), wp_specialchars ( $author_user -> display_name ));
}
2007-05-29 06:28:10 +02:00
}
2007-05-28 20:34:06 +02:00
$h2_search = isset ( $_GET [ 's' ]) && $_GET [ 's' ] ? ' ' . sprintf ( __ ( 'matching “%s”' ), wp_specialchars ( get_search_query () ) ) : '' ;
$h2_cat = isset ( $_GET [ 'cat' ]) && $_GET [ 'cat' ] ? ' ' . sprintf ( __ ( 'in “%s”' ), single_cat_title ( '' , false ) ) : '' ;
$h2_month = isset ( $_GET [ 'm' ]) && $_GET [ 'm' ] ? ' ' . sprintf ( __ ( 'during %s' ), single_month_title ( ' ' , false ) ) : '' ;
2007-05-29 06:28:10 +02:00
printf ( _c ( '%1$s%2$s%3$s%4$s%5$s|manage posts header' ), $h2_noun , $h2_author , $h2_search , $h2_cat , $h2_month );
2007-05-28 20:34:06 +02:00
}
?> </h2>
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
< form name = " searchform " id = " searchform " action = " " method = " get " >
< fieldset >< legend >< ? php _e ( 'Search terms…' ); ?> </legend>
< input type = " text " name = " s " id = " s " value = " <?php the_search_query(); ?> " size = " 17 " />
</ fieldset >
2005-02-11 18:58:11 +01:00
2007-06-14 18:24:28 +02:00
< fieldset >< legend >< ? php _e ( 'Status…' ); ?> </legend>
2007-05-28 20:34:06 +02:00
< select name = 'post_status' >
< option < ? php selected ( @ $_GET [ 'post_status' ], 0 ); ?> value='0'><?php _e('Any'); ?></option>
2007-06-14 18:24:28 +02:00
< ? php foreach ( $post_stati as $status => $label ) : if ( ! in_array ( $status , $avail_post_stati ) ) continue ; ?>
2007-05-28 20:34:06 +02:00
< option < ? php selected ( @ $_GET [ 'post_status' ], $status ); ?> value='<?php echo $status; ?>'><?php echo $label[0]; ?></option>
< ? php endforeach ; ?>
</ select >
</ fieldset >
2005-02-11 18:58:11 +01:00
2007-05-29 06:28:10 +02:00
< ? php
$editable_ids = get_editable_user_ids ( $user_ID );
if ( $editable_ids && count ( $editable_ids ) > 1 ) :
?>
< fieldset >< legend >< ? php _e ( 'Author…' ); ?> </legend>
< ? php wp_dropdown_users ( array ( 'include' => $editable_ids , 'show_option_all' => __ ( 'Any' ), 'name' => 'author' , 'selected' => isset ( $_GET [ 'author' ]) ? $_GET [ 'author' ] : 0 ) ); ?>
</ fieldset >
2005-02-11 18:58:11 +01:00
2007-05-29 06:28:10 +02:00
< ? php
endif ;
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
$arc_query = " SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = 'post' ORDER BY post_date DESC " ;
2006-02-12 08:53:23 +01:00
2007-05-28 20:34:06 +02:00
$arc_result = $wpdb -> get_results ( $arc_query );
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
$month_count = count ( $arc_result );
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
if ( $month_count && ! ( 1 == $month_count && 0 == $arc_result [ 0 ] -> mmonth ) ) { ?>
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
< fieldset >< legend >< ? php _e ( 'Month…' ) ?> </legend>
< select name = 'm' >
< option < ? php selected ( @ $_GET [ 'm' ], 0 ); ?> value='0'><?php _e('Any'); ?></option>
2005-02-11 18:58:11 +01:00
< ? php
2007-05-28 20:34:06 +02:00
foreach ( $arc_result as $arc_row ) {
if ( $arc_row -> yyear == 0 )
continue ;
$arc_row -> mmonth = zeroise ( $arc_row -> mmonth , 2 );
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
if ( $arc_row -> yyear . $arc_row -> mmonth == $_GET [ 'm' ] )
$default = ' selected="selected"' ;
else
$default = '' ;
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
echo " <option $default value=' $arc_row->yyear $arc_row->mmonth '> " ;
echo $wp_locale -> get_month ( $arc_row -> mmonth ) . " $arc_row->yyear " ;
echo " </option> \n " ;
}
2005-02-11 18:58:11 +01:00
?>
2007-05-28 20:34:06 +02:00
</ select >
</ fieldset >
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
< ? php } ?>
2005-02-11 18:58:11 +01:00
2007-05-28 20:34:06 +02:00
< fieldset >< legend >< ? php _e ( 'Category…' ) ?> </legend>
< ? php wp_dropdown_categories ( 'show_option_all=' . __ ( 'All' ) . '&hide_empty=1&hierarchical=1&show_count=1&selected=' . $cat ); ?>
</ fieldset >
2007-05-29 00:31:31 +02:00
< input type = " submit " id = " post-query-submit " value = " <?php _e('Filter »'); ?> " class = " button " />
2007-05-28 20:34:06 +02:00
</ form >
2007-05-31 04:12:04 +02:00
< ? php do_action ( 'restrict_manage_posts' ); ?>
2007-05-28 20:34:06 +02:00
< br style = " clear:both; " />
2005-02-11 18:58:11 +01:00
2007-05-29 06:28:10 +02:00
< ? php include ( 'edit-post-rows.php' ); ?>
2005-08-31 04:39:17 +02:00
< div id = " ajax-response " ></ div >
2005-03-28 04:34:16 +02:00
< div class = " navigation " >
< div class = " alignleft " >< ? php next_posts_link ( __ ( '« Previous Entries' )) ?> </div>
< div class = " alignright " >< ? php previous_posts_link ( __ ( 'Next Entries »' )) ?> </div>
</ div >
2004-02-13 16:36:28 +01:00
< ? php
2007-05-28 20:34:06 +02:00
2004-05-09 07:47:02 +02:00
if ( 1 == count ( $posts ) ) {
2003-10-26 21:34:24 +01:00
2005-02-05 19:32:57 +01:00
$comments = $wpdb -> get_results ( " SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved != 'spam' ORDER BY comment_date " );
2004-02-13 16:36:28 +01:00
if ( $comments ) {
2007-06-08 08:56:34 +02:00
update_comment_cache ( $comments );
2006-11-19 08:56:05 +01:00
?>
< h3 id = " comments " >< ? php _e ( 'Comments' ) ?> </h3>
< ol id = " the-comment-list " class = " commentlist " >
2004-02-13 16:36:28 +01:00
< ? php
2006-03-29 03:51:55 +02:00
$i = 0 ;
2004-02-13 16:36:28 +01:00
foreach ( $comments as $comment ) {
2006-04-19 10:30:56 +02:00
++ $i ; $class = '' ;
2007-06-08 08:56:34 +02:00
$post = get_post ( $comment -> comment_post_ID );
$authordata = get_userdata ( $post -> post_author );
2006-04-19 10:30:56 +02:00
$comment_status = wp_get_comment_status ( $comment -> comment_ID );
2006-11-19 08:56:05 +01:00
if ( 'unapproved' == $comment_status )
2006-04-19 10:30:56 +02:00
$class .= ' unapproved' ;
if ( $i % 2 )
$class .= ' alternate' ;
echo " <li id='comment- $comment->comment_ID ' class=' $class '> " ;
?>
< p >< strong >< ? php comment_author () ?> </strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
< ? php comment_text () ?>
2007-05-28 20:34:06 +02:00
< p >< ? php comment_date ( __ ( 'M j, g:i A' )); ?> — [
2006-04-19 10:30:56 +02:00
< ? php
if ( current_user_can ( 'edit_post' , $comment -> comment_post_ID ) ) {
2007-05-28 20:34:06 +02:00
echo " <a href='comment.php?action=editcomment&c= " . $comment -> comment_ID . " '> " . __ ( 'Edit' ) . '</a>' ;
2007-02-25 12:22:49 +01:00
echo ' | <a href="' . wp_nonce_url ( 'comment.php?action=deletecomment&p=' . $comment -> comment_post_ID . '&c=' . $comment -> comment_ID , 'delete-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' ) . '</a> ' ;
2006-04-19 10:30:56 +02:00
if ( ( 'none' != $comment_status ) && ( current_user_can ( 'moderate_comments' ) ) ) {
2007-02-25 12:22:49 +01:00
echo '<span class="unapprove"> | <a href="' . wp_nonce_url ( 'comment.php?action=unapprovecomment&p=' . $comment -> comment_post_ID . '&c=' . $comment -> comment_ID , 'unapprove-comment_' . $comment -> comment_ID ) . '" onclick="return dimSomething( \'comment\', ' . $comment -> comment_ID . ', \'unapproved\', theCommentList );">' . __ ( 'Unapprove' ) . '</a> </span>' ;
echo '<span class="approve"> | <a href="' . wp_nonce_url ( 'comment.php?action=approvecomment&p=' . $comment -> comment_post_ID . '&c=' . $comment -> comment_ID , 'approve-comment_' . $comment -> comment_ID ) . '" onclick="return dimSomething( \'comment\', ' . $comment -> comment_ID . ', \'unapproved\', theCommentList );">' . __ ( 'Approve' ) . '</a> </span>' ;
2006-04-19 10:30:56 +02:00
}
2007-05-28 20:34:06 +02:00
echo " | <a href= \" " . wp_nonce_url ( " comment.php?action=deletecomment&dt=spam&p= " . $comment -> comment_post_ID . " &c= " . $comment -> comment_ID , 'delete-comment_' . $comment -> comment_ID ) . " \" onclick= \" return deleteSomething( 'comment-as-spam', $comment->comment_ID , ' " . js_escape ( sprintf ( __ ( " You are about to mark as spam this comment by '%s'. \n 'Cancel' to stop, 'OK' to mark as spam. " ), $comment -> comment_author )) . " ', theCommentList ); \" > " . __ ( 'Spam' ) . " </a> " ;
2007-02-25 12:22:49 +01:00
}
2006-04-19 10:30:56 +02:00
?>
</ p >
</ li >
2004-02-13 16:36:28 +01:00
< ? php //end of the loop, don't delete
} // end foreach
echo '</ol>' ;
} //end if comments
2003-10-26 21:34:24 +01:00
?>
2006-11-19 08:56:05 +01:00
< ? php } ?>
</ div >
2007-05-28 20:34:06 +02:00
< ? php include ( 'admin-footer.php' ); ?>