2008-05-08 13:25:07 -04:00
< ? php
2008-08-16 03:27:34 -04:00
/**
* Post advanced form for inclusion in the administration panels .
*
* @ package WordPress
* @ subpackage Administration
*/
2008-05-08 13:25:07 -04:00
2008-08-16 03:27:34 -04:00
/**
* Post ID global
* @ name $post_ID
* @ var int
*/
2008-08-08 13:05:10 -04:00
if ( ! isset ( $post_ID ) )
$post_ID = 0 ;
2008-08-25 17:50:11 -04:00
else
$post_ID = ( int ) $post_ID ;
2008-08-08 13:05:10 -04:00
2008-05-08 13:25:07 -04:00
$action = isset ( $action ) ? $action : '' ;
2007-05-25 05:41:04 -04:00
if ( isset ( $_GET [ 'message' ]) )
2008-03-20 23:31:12 -04:00
$_GET [ 'message' ] = absint ( $_GET [ 'message' ] );
2008-08-08 13:05:10 -04:00
$messages [ 1 ] = sprintf ( __ ( 'Post updated. Continue editing below or <a href="%s">go back</a>.' ), attribute_escape ( stripslashes ( ( isset ( $_GET [ '_wp_original_http_referer' ] ) ? $_GET [ '_wp_original_http_referer' ] : '' ) ) ) );
2008-03-20 23:31:12 -04:00
$messages [ 2 ] = __ ( 'Custom field updated.' );
2004-04-28 00:49:16 -04:00
$messages [ 3 ] = __ ( 'Custom field deleted.' );
2008-03-26 14:55:24 -04:00
$messages [ 4 ] = __ ( 'Post updated.' );
2008-08-20 17:42:31 -04:00
$messages [ 6 ] = __ ( 'Post published.' );
$messages [ 7 ] = __ ( 'Post saved.' );
2008-07-30 08:32:04 -04:00
if ( isset ( $_GET [ 'revision' ]) )
$messages [ 5 ] = sprintf ( __ ( 'Post restored to revision from %s' ), wp_post_revision_title ( ( int ) $_GET [ 'revision' ], false ) );
2008-05-08 13:25:07 -04:00
$notice = false ;
$notices [ 1 ] = __ ( 'There is an autosave of this post that is more recent than the version below. <a href="%s">View the autosave</a>.' );
2008-08-08 13:05:10 -04:00
if ( 0 == $post_ID ) {
2008-05-08 13:25:07 -04:00
$form_action = 'post' ;
$temp_ID = - 1 * time (); // don't change this formula without looking at wp_write_post()
$form_extra = " <input type='hidden' id='post_ID' name='temp_ID' value=' $temp_ID ' /> " ;
$autosave = false ;
} else {
$form_action = 'editpost' ;
$form_extra = " <input type='hidden' id='post_ID' name='post_ID' value=' $post_ID ' /> " ;
2008-08-25 17:50:11 -04:00
$autosave = wp_get_post_autosave ( $post_ID );
2008-06-23 18:25:27 -04:00
// Detect if there exists an autosave newer than the post and if that autosave is different than the post
if ( $autosave && mysql2date ( 'U' , $autosave -> post_modified_gmt ) > mysql2date ( 'U' , $post -> post_modified_gmt ) ) {
foreach ( _wp_post_revision_fields () as $autosave_field => $_autosave_field ) {
if ( wp_text_diff ( $autosave -> $autosave_field , $post -> $autosave_field ) ) {
$notice = sprintf ( $notices [ 1 ], get_edit_post_link ( $autosave -> ID ) );
break ;
}
}
unset ( $autosave_field , $_autosave_field );
}
2008-05-08 13:25:07 -04:00
}
2008-08-20 17:42:31 -04:00
// All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action).
function post_submit_meta_box ( $post ) {
global $action ;
2008-09-14 08:58:00 -04:00
$can_publish = current_user_can ( 'publish_posts' );
2003-12-28 06:44:05 -05:00
?>
2008-02-18 14:38:01 -05:00
< div class = " submitbox " id = " submitpost " >
2008-01-13 20:14:57 -05:00
2008-08-20 17:42:31 -04:00
< div class = " inside-submitbox " >
2008-01-13 20:14:57 -05:00
2008-09-14 08:58:00 -04:00
< div class = " insidebox " >< label for = " post_status " >< ? php _e ( 'This post is' ) ?> </label>
2008-09-12 09:12:28 -04:00
< strong >< span id = " post-status-display " >
< ? 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 ;
}
?>
</ span ></ strong >
2008-09-14 08:58:00 -04:00
< ? php if ( 'publish' == $post -> post_status || 'private' == $post -> post_status ) { ?>
< a href = " #post_status " class = " edit-post-status hide-if-no-js " tabindex = '4' >< ? php _e ( 'Edit' ) ?> </a>
2008-09-12 09:12:28 -04:00
2008-09-14 08:58:00 -04:00
< div id = " post-status-select " class = " hide-if-js " >
< input type = " hidden " name = " hidden_post_status " id = " hidden_post_status " value = " <?php echo $post->post_status ; ?> " />
< ? php _e ( 'Change post status' ); ?> <br />
2008-05-04 06:37:06 -04:00
< select name = 'post_status' id = 'post_status' tabindex = '4' >
2008-08-09 01:36:14 -04:00
< ? php
// only show the publish menu item if they are allowed to publish posts or they are allowed to edit this post (accounts for 'edit_published_posts' capability)
2008-09-14 08:58:00 -04:00
if ( $can_publish OR ( $post -> post_status == 'publish' AND current_user_can ( 'edit_post' , $post -> ID ) ) ) : ?>
2008-03-01 01:26:13 -05:00
< option < ? php selected ( $post -> post_status , 'publish' ); selected ( $post -> post_status , 'private' ); ?> value='publish'><?php _e('Published') ?></option>
2008-01-16 02:26:41 -05:00
< ? php if ( 'future' == $post -> post_status ) : ?>
2008-03-20 00:19:58 -04:00
< option < ? php selected ( $post -> post_status , 'future' ); ?> value='future'><?php _e('Scheduled') ?></option>
< ? php endif ; ?>
2008-01-16 02:26:41 -05:00
< ? php endif ; ?>
2008-01-16 00:52:38 -05:00
< option < ? php selected ( $post -> post_status , 'pending' ); ?> value='pending'><?php _e('Pending Review') ?></option>
< option < ? php selected ( $post -> post_status , 'draft' ); ?> value='draft'><?php _e('Unpublished') ?></option>
</ select >
2008-01-13 20:14:57 -05:00
2008-09-14 08:58:00 -04:00
< a href = " #post_status " class = " save-post-status hide-if-no-js button " >< ? php _e ( 'OK' ); ?> </a>
< a href = " #post_status " class = " cancel-post-status hide-if-no-js " >< ? php _e ( 'Cancel' ); ?> </a>
</ div >
</ div >
< ? php } else { ?>
</ div >
< ? php if ( $can_publish && 'pending' != $post -> post_status ) { ?>
< div class = " insidebox " >< input name = " pending " type = " submit " class = " button " id = " pending " tabindex = " 6 " accesskey = " r " value = " <?php _e('Submit for Review') ?> " /></ div >
< ? php } ?>
< ? php } ?>
< ? php if ( $can_publish && current_user_can ( 'edit_others_posts' ) ) { ?>
< div class = " insidebox " id = " sticky-checkbox " >< input id = " sticky " name = " sticky " type = " checkbox " value = " sticky " < ? php checked ( is_sticky ( $post -> ID ), true ); ?> tabindex="4" /> <label for="sticky" class="selectit"><?php _e('Stick this post to the front page') ?></label></div>
< ? php } ?>
< ? php
if ( ( 'edit' == $action ) && current_user_can ( 'delete_post' , $post -> ID ) ) { ?>
< div class = " insidebox " id = " deletebutton " >< a class = " submitdelete " href = " <?php echo wp_nonce_url( " post . php ? action = delete & amp ; post = $post -> ID " , 'delete-post_' . $post->ID ); ?> " onclick = " if ( confirm('<?php echo js_escape(sprintf( ('draft' == $post->post_status ) ? __( " You are about to delete this draft '%s' \n 'Cancel' to stop , 'OK' to delete . " ) : __( " You are about to delete this post '%s' \n 'Cancel' to stop , 'OK' to delete . " ), $post->post_title )); ?>') ) { return true;}return false; " >< ? php _e ( 'Delete post' ); ?> </a></div>
< ? php } ?>
2008-01-16 02:26:41 -05:00
< ? php
2008-08-20 17:42:31 -04:00
if ( 0 != $post -> ID ) {
2008-03-16 19:05:16 -04:00
if ( 'future' == $post -> post_status ) { // scheduled for publishing at a future date
2008-09-14 08:58:00 -04:00
$stamp = __ ( 'Scheduled for: %1$s at %2$s' );
2008-03-16 19:05:16 -04:00
} else if ( 'publish' == $post -> post_status ) { // already published
2008-09-14 08:58:00 -04:00
$stamp = __ ( 'Published on: %1$s at %2$s' );
2008-09-30 19:02:49 -04:00
} else if ( '0000-00-00 00:00:00' == $post -> post_date_gmt ) { // draft, 1 or more saves, no date specified
2008-03-16 19:05:16 -04:00
$stamp = __ ( 'Publish immediately' );
} else { // draft, 1 or more saves, date specified
2008-09-14 08:58:00 -04:00
$stamp = __ ( 'Publish on: %1$s at %2$s' );
2008-02-18 17:07:57 -05:00
}
$date = mysql2date ( get_option ( 'date_format' ), $post -> post_date );
$time = mysql2date ( get_option ( 'time_format' ), $post -> post_date );
2008-03-16 19:05:16 -04:00
} else { // draft (no saves, and thus no date specified)
$stamp = __ ( 'Publish immediately' );
2008-02-18 17:07:57 -05:00
$date = mysql2date ( get_option ( 'date_format' ), current_time ( 'mysql' ));
$time = mysql2date ( get_option ( 'time_format' ), current_time ( 'mysql' ));
2008-02-09 03:40:00 -05:00
}
2008-01-16 02:26:41 -05:00
?>
2008-09-14 08:58:00 -04:00
< ? php if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
< div class = " insidebox curtime " >< span id = " timestamp " >< ? php printf ( $stamp , $date , $time ); ?> </span>
& nbsp ; < a href = " #edit_timestamp " class = " edit-timestamp hide-if-no-js " tabindex = '4' >< ? php _e ( 'Edit' ) ?> </a>
2008-02-18 17:07:57 -05:00
2008-09-14 08:58:00 -04:00
< div id = " timestampdiv " class = " hide-if-js " >< ? php touch_time (( $action == 'edit' ), 1 , 4 ); ?> </div></div>
2008-03-20 00:19:58 -04:00
< ? php endif ; ?>
2008-02-18 17:07:57 -05:00
2008-01-13 20:14:57 -05:00
</ div >
< p class = " submit " >
2008-08-13 01:53:48 -04:00
< ? php do_action ( 'post_submitbox_start' ); ?>
2008-09-14 08:58:00 -04:00
< ? php if ( 'publish' == $post -> post_status || 'private' == $post -> post_status )
$savebtn = attribute_escape ( __ ( 'Save' ) );
else
$savebtn = attribute_escape ( __ ( 'Save Draft' ) );
?>
< input type = " submit " name = " save " id = " save-post " value = " <?php echo $savebtn ; ?> " tabindex = " 4 " class = " button button-highlighted " />
2008-09-12 09:12:28 -04:00
< ? php if ( 'publish' == $post -> post_status ) { ?>
< a class = " preview button " href = " <?php echo clean_url(get_permalink( $post->ID )); ?> " target = " _blank " tabindex = " 4 " >< ? php _e ( 'View this Post' ); ?> </a>
< ? php } else { ?>
2008-09-14 08:58:00 -04:00
< a class = " preview button " href = " <?php echo clean_url(apply_filters('preview_post_link', add_query_arg('preview', 'true', get_permalink( $post->ID )))); ?> " target = " _blank " tabindex = " 4 " >< ? php _e ( 'Preview' ); ?> </a>
2008-09-12 09:12:28 -04:00
< ? php } ?>
< ? php
2008-09-14 08:58:00 -04:00
if ( ! in_array ( $post -> post_status , array ( 'publish' , 'future' ) ) || 0 == $post -> ID ) { ?>
2005-07-13 18:26:26 -04:00
< ? php if ( current_user_can ( 'publish_posts' ) ) : ?>
2008-02-20 19:27:23 -05:00
< input name = " publish " type = " submit " class = " button " id = " publish " tabindex = " 5 " accesskey = " p " value = " <?php _e('Publish') ?> " />
2007-06-14 12:24:28 -04:00
< ? php else : ?>
2008-02-20 19:27:23 -05:00
< input name = " publish " type = " submit " class = " button " id = " publish " tabindex = " 5 " accesskey = " p " value = " <?php _e('Submit for Review') ?> " />
2004-09-14 08:41:09 -04:00
< ? php endif ; ?>
2008-09-12 09:12:28 -04:00
< ? php } ?>
2008-08-20 17:42:31 -04:00
</ p >
2008-09-14 08:58:00 -04:00
< div class = " clear " ></ div >
2008-01-13 20:14:57 -05:00
</ div >
2008-09-14 08:58:00 -04:00
2008-08-20 17:42:31 -04:00
< ? php
}
add_meta_box ( 'submitdiv' , __ ( 'Publish' ), 'post_submit_meta_box' , 'post' , 'side' , 'core' );
2008-02-21 22:45:19 -05:00
2008-08-20 17:42:31 -04:00
function post_tags_meta_box ( $post ) {
?>
< p id = " jaxtag " >< label class = " hidden " for = " newtag " >< ? php _e ( 'Tags' ); ?> </label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></p>
< div id = " tagchecklist " ></ div >
< p >< a href = '#' >< ? php _e ( 'Choose from tags' ); ?> </a></p>
< ? php
}
add_meta_box ( 'tagsdiv' , __ ( 'Tags' ), 'post_tags_meta_box' , 'post' , 'side' , 'core' );
2008-01-13 20:14:57 -05:00
2008-08-20 17:42:31 -04:00
function post_media_meta_box ( $post ) {
echo " <p><small><em>This feature isn't fully functional in this prototype.</em></small></p> " ;
2008-02-21 21:04:17 -05:00
2008-08-20 17:42:31 -04:00
if ( empty ( $post -> ID ) )
return ;
2008-02-21 21:04:17 -05:00
2008-08-20 17:42:31 -04:00
$atts = get_children ( array (
'post_parent' => $post -> ID ,
'post_type' => 'attachment'
) );
2008-02-21 21:04:17 -05:00
2008-08-20 17:42:31 -04:00
if ( ! $atts ) {
_e ( 'No media.' );
return ;
}
foreach ( $atts as $att ) {
if ( $thumb = wp_get_attachment_image ( $att -> ID , array ( 60 , 45 ), true ) ) {
2008-05-14 04:22:01 -04:00
?>
2008-08-20 17:42:31 -04:00
< a href = " media.php?action=edit&attachment_id=<?php echo $att->ID ?> " title = " <?php echo attribute_escape(sprintf(__('Edit " % s " '), $att->post_title )); ?> " >
< ? php echo $thumb ; ?>
</ a >
2008-05-14 04:22:01 -04:00
< ? php
2008-08-20 17:42:31 -04:00
}
echo " <h4> $att->post_title </h4> " ;
echo " <a href='#' class='no-crazy'>Remove</a> | " ;
echo " <a href='media.php?action=edit&attachment_id= $att->ID '>Edit</a> " ;
echo " <br class='clear' /> " ;
}
2008-05-14 04:22:01 -04:00
}
2008-09-15 13:12:32 -04:00
add_meta_box ( 'mediadiv' , __ ( 'Media' ), 'post_media_meta_box' , 'post' , 'side' , 'core' );
2008-01-10 04:39:35 -05:00
2008-05-14 04:22:01 -04:00
function post_categories_meta_box ( $post ) {
?>
2008-01-10 04:39:35 -05:00
< ul id = " category-tabs " >
2008-04-17 15:32:38 -04:00
< li class = " ui-tabs-selected " >< a href = " #categories-all " tabindex = " 3 " >< ? php _e ( 'All Categories' ); ?> </a></li>
2008-08-21 02:42:19 -04:00
< li class = " hide-if-no-js " >< a href = " #categories-pop " tabindex = " 3 " >< ? php _e ( 'Most Used' ); ?> </a></li>
2008-01-10 04:39:35 -05:00
</ ul >
2008-04-14 15:31:20 -04:00
< div id = " categories-pop " class = " ui-tabs-panel " style = " display: none; " >
< ul id = " categorychecklist-pop " class = " categorychecklist form-no-clear " >
2008-04-17 15:32:38 -04:00
< ? php $popular_ids = wp_popular_terms_checklist ( 'category' ); ?>
</ ul >
</ div >
< div id = " categories-all " class = " ui-tabs-panel " >
< ul id = " categorychecklist " class = " list:category categorychecklist form-no-clear " >
2008-05-19 17:35:18 -04:00
< ? php wp_category_checklist ( $post -> ID , false , false , $popular_ids ) ?>
2008-01-10 04:39:35 -05:00
</ ul >
</ div >
2008-01-03 03:03:29 -05:00
2008-08-20 17:42:31 -04:00
< div id = " category-adder " class = " wp-hidden-children " >
< h4 >< a id = " category-add-toggle " href = " #category-add " class = " hide-if-no-js " tabindex = " 3 " >< ? php _e ( '+ Add New Category' ); ?> </a></h4>
< p id = " category-add " class = " wp-hidden-child " >
< label class = " hidden " for = " newcat " >< ? php _e ( 'Add New Category' ); ?> </label><input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" aria-required="true"/>
< label class = " hidden " for = " newcat_parent " >< ? php _e ( 'Parent category' ); ?> :</label><?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?>
< input type = " button " id = " category-add-sumbit " class = " add:categorychecklist:category-add button " value = " <?php _e( 'Add' ); ?> " tabindex = " 3 " />
< ? php wp_nonce_field ( 'add-category' , '_ajax_nonce' , false ); ?>
< span id = " category-ajax-response " ></ span >
</ p >
</ div >
2008-01-02 20:34:11 -05:00
2008-05-14 04:22:01 -04:00
< ? php
2008-08-20 17:42:31 -04:00
}
add_meta_box ( 'categorydiv' , __ ( 'Categories' ), 'post_categories_meta_box' , 'post' , 'side' , 'core' );
2008-05-14 04:22:01 -04:00
function post_excerpt_meta_box ( $post ) {
?>
< label class = " hidden " for = " excerpt " >< ? php _e ( 'Excerpt' ) ?> </label><textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"><?php echo $post->post_excerpt ?></textarea>
2008-03-11 03:23:07 -04:00
< p >< ? php _e ( 'Excerpts are optional hand-crafted summaries of your content. You can <a href="http://codex.wordpress.org/Template_Tags/the_excerpt" target="_blank">use them in your template</a>' ); ?> </p>
2008-05-14 04:22:01 -04:00
< ? php
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'postexcerpt' , __ ( 'Excerpt' ), 'post_excerpt_meta_box' , 'post' , 'normal' , 'core' );
2004-11-18 14:40:36 -05:00
2008-05-14 04:22:01 -04:00
function post_trackback_meta_box ( $post ) {
2008-09-14 08:58:00 -04:00
$form_trackback = '<input type="text" name="trackback_url" id="trackback_url" tabindex="7" value="' . attribute_escape ( str_replace ( " \n " , ' ' , $post -> to_ping ) ) . '" />' ;
2008-05-20 19:46:31 -04:00
if ( '' != $post -> pinged ) {
$pings = '<p>' . __ ( 'Already pinged:' ) . '</p><ul>' ;
$already_pinged = explode ( " \n " , trim ( $post -> pinged ));
foreach ( $already_pinged as $pinged_url ) {
$pings .= " \n \t <li> " . wp_specialchars ( $pinged_url ) . " </li> " ;
}
$pings .= '</ul>' ;
}
2008-05-14 04:22:01 -04:00
?>
2008-08-20 17:42:31 -04:00
< p class = " meta-options " >
< label for = " ping_status " class = " selectit " >< input name = " ping_status " type = " checkbox " id = " ping_status " value = " open " < ? php checked ( $post -> ping_status , 'open' ); ?> /> <?php _e('Allow <a href="http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">trackbacks and pingbacks</a> on this post') ?></label>
</ p >
2008-09-14 08:58:00 -04:00
< p >< label for = " trackback_url " >< ? php _e ( 'Send trackbacks to:' ); ?> </label> <?php echo $form_trackback; ?><br /> (<?php _e('Separate multiple URLs with spaces'); ?>)</p>
2008-03-11 03:23:07 -04:00
< p >< ? php _e ( 'Trackbacks are a way to notify legacy blog systems that you’ve linked to them. If you link other WordPress blogs they’ll be notified automatically using <a href="http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">pingbacks</a>, no other action necessary.' ); ?> </p>
2006-11-19 02:56:05 -05:00
< ? php
2005-12-23 15:43:30 -05:00
if ( ! empty ( $pings ) )
2005-06-14 03:31:36 -04:00
echo $pings ;
2008-05-14 04:22:01 -04:00
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'trackbacksdiv' , __ ( 'Trackbacks and Pings' ), 'post_trackback_meta_box' , 'post' , 'normal' , 'core' );
2004-11-18 14:40:36 -05:00
2008-05-14 04:22:01 -04:00
function post_custom_meta_box ( $post ) {
?>
2008-01-03 03:03:29 -05:00
< div id = " postcustomstuff " >
2006-03-28 20:51:55 -05:00
< table cellpadding = " 3 " >
2004-04-27 22:23:46 -04:00
< ? php
2008-05-14 04:22:01 -04:00
$metadata = has_meta ( $post -> ID );
2006-11-19 02:56:05 -05:00
list_meta ( $metadata );
2004-04-27 22:23:46 -04:00
?>
2006-03-28 20:51:55 -05:00
</ table >
2004-04-27 22:23:46 -04:00
< ? php
meta_form ();
?>
2006-03-28 20:51:55 -05:00
< div id = " ajax-response " ></ div >
2003-12-28 06:44:05 -05:00
</ div >
2008-03-11 03:23:07 -04:00
< p >< ? php _e ( 'Custom fields can be used to add extra metadata to a post that you can <a href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.' ); ?> </p>
2008-05-14 04:22:01 -04:00
< ? php
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'postcustom' , __ ( 'Custom Fields' ), 'post_custom_meta_box' , 'post' , 'normal' , 'core' );
2005-06-14 03:31:36 -04:00
2008-05-14 04:22:01 -04:00
do_action ( 'dbx_post_advanced' );
2006-01-09 17:44:42 -05:00
2008-05-14 04:22:01 -04:00
function post_comment_status_meta_box ( $post ) {
2008-08-20 17:42:31 -04:00
global $wpdb , $post_ID ;
2008-05-14 04:22:01 -04:00
?>
2008-01-03 03:03:29 -05:00
< input name = " advanced_view " type = " hidden " value = " 1 " />
2008-08-20 17:42:31 -04:00
< p class = " meta-options " >
2008-08-20 22:25:14 -04:00
< label for = " comment_status " class = " selectit " > < input name = " comment_status " type = " checkbox " id = " comment_status " value = " open " < ? php checked ( $post -> comment_status , 'open' ); ?> /> <?php _e('Allow comments on this post') ?></label>
2008-08-20 17:42:31 -04:00
</ p >
2008-05-14 04:22:01 -04:00
< ? php
2008-08-20 17:42:31 -04:00
if ( ! $post_ID || $post_ID < 0 )
return ;
if ( ! $comments = $wpdb -> get_results ( $wpdb -> prepare ( " SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved != 'spam' ORDER BY comment_date " , $post_ID ) ) )
return ;
// Make sure comments, post, and post_author are cached
// update_comment_cache($comments);
?>
< table class = " widefat " >
< thead >
< tr >
< th scope = " col " >< ? php _e ( 'Comments' ) ?> </th>
2008-08-20 22:25:14 -04:00
< th scope = " col " >< ? php _e ( 'Author' ) ?> </th>
2008-08-20 17:42:31 -04:00
< th scope = " col " >< ? php _e ( 'Submitted' ) ?> </th>
</ tr >
</ thead >
< tbody id = " the-comment-list " class = " list:comment " >
< ? php
foreach ( $comments as $comment )
_wp_comment_row ( $comment , 'single' , false , false );
?>
</ tbody >
</ table >
< ? php
2008-05-14 04:22:01 -04:00
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'commentstatusdiv' , __ ( 'Comments on this Post' ), 'post_comment_status_meta_box' , 'post' , 'normal' , 'core' );
2008-01-03 03:03:29 -05:00
2008-05-14 04:22:01 -04:00
function post_password_meta_box ( $post ) {
?>
2008-08-20 17:42:31 -04:00
< p >
2008-09-11 02:04:51 -04:00
< label for = " post_status_private " class = " selectit " >< input id = " post_status_private " name = " post_status " type = " checkbox " value = " private " < ? php checked ( $post -> post_status , 'private' ); ?> tabindex="4" /> <?php _e('Keep this post private') ?></label>
2008-08-20 17:42:31 -04:00
</ p >
< h4 >< ? php _e ( 'Post Password' ); ?> </h4>
2008-09-21 17:10:14 -04:00
< p >< label class = " hidden " for = " post_password " >< ? php _e ( 'Password Protect This Post' ) ?> </label><input name="post_password" type="text" size="25" id="post_password" value="<?php the_post_password(); ?>" /></p>
2008-03-11 03:23:07 -04:00
< p >< ? php _e ( 'Setting a password will require people who visit your blog to enter the above password to view this post and its comments.' ); ?> </p>
2008-05-14 04:22:01 -04:00
< ? php
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'passworddiv' , __ ( 'Privacy Options' ), 'post_password_meta_box' , 'post' , 'normal' , 'core' );
2008-01-03 03:03:29 -05:00
2008-05-14 04:22:01 -04:00
function post_slug_meta_box ( $post ) {
?>
2008-05-04 06:37:06 -04:00
< label class = " hidden " for = " post_name " >< ? php _e ( 'Post Slug' ) ?> </label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo attribute_escape( $post->post_name ); ?>" />
2008-01-03 03:03:29 -05:00
< ? php
2008-05-14 04:22:01 -04:00
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'slugdiv' , __ ( 'Post Slug' ), 'post_slug_meta_box' , 'post' , 'normal' , 'core' );
2008-05-14 04:22:01 -04:00
2008-01-03 03:03:29 -05:00
$authors = get_editable_user_ids ( $current_user -> id ); // TODO: ROLE SYSTEM
if ( $post -> post_author && ! in_array ( $post -> post_author , $authors ) )
$authors [] = $post -> post_author ;
if ( $authors && count ( $authors ) > 1 ) :
2008-05-14 04:22:01 -04:00
function post_author_meta_box ( $post ) {
2008-05-18 16:08:18 -04:00
global $current_user , $user_ID ;
$authors = get_editable_user_ids ( $current_user -> id ); // TODO: ROLE SYSTEM
if ( $post -> post_author && ! in_array ( $post -> post_author , $authors ) )
$authors [] = $post -> post_author ;
2008-01-03 03:03:29 -05:00
?>
2008-05-18 16:08:18 -04:00
< label class = " hidden " for = " post_author_override " >< ? php _e ( 'Post Author' ); ?> </label><?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post->ID) ? $user_ID : $post->post_author) ); ?>
2008-05-14 04:22:01 -04:00
< ? php
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'authordiv' , __ ( 'Post Author' ), 'post_author_meta_box' , 'post' , 'normal' , 'core' );
2008-05-14 04:22:01 -04:00
endif ;
2008-01-03 03:03:29 -05:00
2008-08-08 13:05:10 -04:00
if ( 0 < $post_ID && wp_get_post_revisions ( $post_ID ) ) :
2008-05-14 04:22:01 -04:00
function post_revisions_meta_box ( $post ) {
wp_list_post_revisions ();
}
2008-08-20 17:42:31 -04:00
add_meta_box ( 'revisionsdiv' , __ ( 'Post Revisions' ), 'post_revisions_meta_box' , 'post' , 'normal' , 'core' );
2008-05-14 04:22:01 -04:00
endif ;
2008-04-18 19:38:21 -04:00
2008-08-20 17:42:31 -04:00
?>
2008-09-28 00:11:27 -04:00
< div id = " edit-settings-wrap " class = " hidden " >
< h5 >< ? php _e ( 'Show on screen' ) ?> </h5>
< form id = " adv-settings " action = " " method = " get " >
< div class = " metabox-prefs " >
< ? php meta_box_prefs ( 'post' ) ?>
< br class = " clear " />
</ div ></ form >
2008-10-01 21:32:27 -04:00
</ div >
2008-09-28 00:11:27 -04:00
2008-08-20 17:42:31 -04:00
< ? php if ( $notice ) : ?>
< div id = " notice " class = " error " >< p >< ? php echo $notice ?> </p></div>
< ? php endif ; ?>
< ? php if ( isset ( $_GET [ 'message' ])) : ?>
< div id = " message " class = " updated fade " >< p >< ? php echo $messages [ $_GET [ 'message' ]]; ?> </p></div>
< ? php endif ; ?>
< ? php if ( ( isset ( $mode ) && 'bookmarklet' == $mode ) || isset ( $_GET [ 'popupurl' ]) ) : ?>
< input type = " hidden " name = " mode " value = " bookmarklet " />
< ? php endif ; ?>
< div class = " wrap " >
2008-09-13 15:12:55 -04:00
2008-09-28 00:11:27 -04:00
< form name = " post " action = " post.php " method = " post " id = " post " >
2008-08-20 17:42:31 -04:00
< ? php
if ( 0 == $post_ID )
wp_nonce_field ( 'add-post' );
else
wp_nonce_field ( 'update-post_' . $post_ID );
?>
< input type = " hidden " id = " user-id " name = " user_ID " value = " <?php echo (int) $user_ID ?> " />
< input type = " hidden " id = " hiddenaction " name = " action " value = " <?php echo $form_action ?> " />
< input type = " hidden " id = " originalaction " name = " originalaction " value = " <?php echo $form_action ?> " />
< input type = " hidden " id = " post_author " name = " post_author " value = " <?php echo attribute_escape( $post->post_author ); ?> " />
< input type = " hidden " id = " post_type " name = " post_type " value = " <?php echo $post->post_type ?> " />
< input type = " hidden " id = " original_post_status " name = " original_post_status " value = " <?php echo $post->post_status ?> " />
< input name = " referredby " type = " hidden " id = " referredby " value = " <?php echo clean_url(stripslashes(wp_get_referer())); ?> " />
< ? php if ( 'draft' != $post -> post_status ) wp_original_referer_field ( true , 'previous' ); ?>
< ? php echo $form_extra ?>
< div id = " poststuff " >
< div id = " side-info " style = " display: none; " >< ? php // TODO ?>
< h5 >< ? php _e ( 'Related' ) ?> </h5>
< ul >
< ? php if ( $post_ID ) : ?>
< li >< a href = " edit.php?p=<?php echo $post_ID ?> " >< ? php _e ( 'See Comments on this Post' ) ?> </a></li>
< ? php endif ; ?>
< li >< a href = " edit-comments.php " >< ? php _e ( 'Manage All Comments' ) ?> </a></li>
< li >< a href = " edit.php " >< ? php _e ( 'Manage All Posts' ) ?> </a></li>
< li >< a href = " categories.php " >< ? php _e ( 'Manage All Categories' ) ?> </a></li>
< li >< a href = " edit-tags.php " >< ? php _e ( 'Manage All Tags' ) ?> </a></li>
< li >< a href = " edit.php?post_status=draft " >< ? php _e ( 'View Drafts' ); ?> </a></li>
< ? php do_action ( 'post_relatedlinks_list' ); ?>
</ ul >
< h5 >< ? php _e ( 'Shortcuts' ) ?> </h5>
< p >< ? php _e ( 'Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.' ) ?> <a href="<?php echo get_shortcut_link(); ?>" title="<?php echo attribute_escape(__('Press This')) ?>"><?php _e('Press This') ?></a></p>
</ div >
< div id = " side-info-column " class = " inner-sidebar " >
< ? php do_action ( 'submitpost_box' ); ?>
< ? php $side_meta_boxes = do_meta_boxes ( 'post' , 'side' , $post ); ?>
</ div >
< div id = " post-body " class = " <?php echo $side_meta_boxes ? 'has-sidebar' : ''; ?> " >
< div id = " post-body-content " class = " has-sidebar-content " >
< div id = " titlediv " >
< h3 >< label for = " title " >< ? php _e ( 'Title' ) ?> </label></h3>
< div id = " titlewrap " >
< input type = " text " name = " post_title " size = " 30 " tabindex = " 1 " value = " <?php echo attribute_escape( $post->post_title ); ?> " id = " title " autocomplete = " off " />
</ div >
< div class = " inside " >
< ? php $sample_permalink_html = get_sample_permalink_html ( $post -> ID ); ?>
< div id = " edit-slug-box " >
< ? php if ( ! empty ( $post -> ID ) && ! empty ( $sample_permalink_html ) ) :
echo $sample_permalink_html ;
endif ; ?>
</ div >
</ div >
</ div >
< div id = " <?php echo user_can_richedit() ? 'postdivrich' : 'postdiv'; ?> " class = " postarea " >
2008-09-15 13:12:32 -04:00
< div id = " add-media-button " >< a id = " add-media-link " href = " <?php echo clean_url( admin_url( 'media-upload.php?post_id=' . ( $post_ID ? $post_ID : $temp_ID ) . '&type=image&TB_iframe=true' ) ); ?> " class = " thickbox button " >< ? php _e ( 'Insert Media' ); ?> </a></div>
2008-08-20 17:42:31 -04:00
< h3 >< ? php _e ( 'Post' ) ?> </h3>
< ? php the_editor ( $post -> post_content ); ?>
< div id = " post-status-info " >
< span id = " wp-word-count " class = " alignleft " ></ span >
< span class = " alignright " >
< span id = " autosave " >& nbsp ; </ span >
< ? php
if ( $post_ID ) {
echo '<span id="last-edit">' ;
if ( $last_id = get_post_meta ( $post_ID , '_edit_last' , true ) ) {
$last_user = get_userdata ( $last_id );
printf ( __ ( 'Last edited by %1$s on %2$s at %3$s' ), wp_specialchars ( $last_user -> display_name ), mysql2date ( get_option ( 'date_format' ), $post -> post_modified ), mysql2date ( get_option ( 'time_format' ), $post -> post_modified ));
} else {
printf ( __ ( 'Last edited on %1$s at %2$s' ), mysql2date ( get_option ( 'date_format' ), $post -> post_modified ), mysql2date ( get_option ( 'time_format' ), $post -> post_modified ));
}
echo '</span>' ;
}
?>
</ span >
< br class = " clear " />
</ div >
< ? php wp_nonce_field ( 'autosave' , 'autosavenonce' , false ); ?>
< ? php wp_nonce_field ( 'closedpostboxes' , 'closedpostboxesnonce' , false ); ?>
< ? php wp_nonce_field ( 'getpermalink' , 'getpermalinknonce' , false ); ?>
< ? php wp_nonce_field ( 'samplepermalink' , 'samplepermalinknonce' , false ); ?>
< ? php wp_nonce_field ( 'meta-box-order' , 'meta-box-order-nonce' , false ); ?>
</ div >
< ? php
do_meta_boxes ( 'post' , 'normal' , $post );
do_action ( 'edit_form_advanced' );
2008-05-14 04:22:01 -04:00
do_meta_boxes ( 'post' , 'advanced' , $post );
2008-02-08 13:51:37 -05:00
2008-05-14 04:22:01 -04:00
do_action ( 'dbx_post_sidebar' );
2008-08-20 17:42:31 -04:00
2008-05-14 04:22:01 -04:00
?>
2008-08-20 17:42:31 -04:00
2008-02-29 03:08:17 -05:00
</ div >
2005-06-14 03:31:36 -04:00
</ div >
2008-08-20 17:42:31 -04:00
</ div ><!-- / poststuff -->
2005-09-26 19:55:36 -04:00
</ form >
2008-09-28 00:11:27 -04:00
</ div >
2008-03-15 18:57:47 -04:00
2008-08-24 02:56:22 -04:00
< ? php wp_comment_reply (); ?>
2008-03-15 18:57:47 -04:00
< ? php if (( isset ( $post -> post_title ) && '' == $post -> post_title ) || ( isset ( $_GET [ 'message' ]) && 2 > $_GET [ 'message' ])) : ?>
< script type = " text/javascript " >
try { document . post . title . focus ();} catch ( e ){}
</ script >
< ? php endif ; ?>