X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3f5685912e89eb3b0534acd85aa0946b1ca2bbe3..a349837896628462bf8c9bdc27d1477a10fe03eb:/wp-admin/includes/meta-boxes.php
diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php
index d5e9cb7e..e77c9ecc 100644
--- a/wp-admin/includes/meta-boxes.php
+++ b/wp-admin/includes/meta-boxes.php
@@ -9,11 +9,12 @@
*
* @param object $post
*/
-function post_submit_meta_box($post) {
+function post_submit_meta_box($post, $args = array() ) {
global $action;
$post_type = $post->post_type;
- $can_publish = current_user_can("publish_${post_type}s");
+ $post_type_object = get_post_type_object($post_type);
+ $can_publish = current_user_can($post_type_object->cap->publish_posts);
?>
@@ -21,38 +22,40 @@ function post_submit_meta_box($post) {
-
+
+
ID ) {
if ( 'future' == $post->post_status ) { // scheduled for publishing at a future date
@@ -166,12 +171,30 @@ if ( 0 != $post->ID ) {
$date = date_i18n( $datef, strtotime( current_time('mysql') ) );
}
+if ( ! empty( $args['args']['revisions_count'] ) ) :
+ $revisions_to_keep = wp_revisions_to_keep( $post );
+?>
+
+ 0 && $revisions_to_keep <= $args['args']['revisions_count'] ) {
+ echo '
';
+ printf( __( 'Revisions: %s' ), '' . number_format_i18n( $args['args']['revisions_count'] ) . '+ ' );
+ echo ' ';
+ } else {
+ printf( __( 'Revisions: %s' ), '
' . number_format_i18n( $args['args']['revisions_count'] ) . ' ' );
+ }
+?>
+
+
+
-
+
@@ -184,38 +207,36 @@ if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
ID ) ) {
- if ( !EMPTY_TRASH_DAYS ) {
- $delete_url = wp_nonce_url( add_query_arg( array('action' => 'delete', 'post' => $post->ID) ), "delete-${post_type}_{$post->ID}" );
+if ( current_user_can( "delete_post", $post->ID ) ) {
+ if ( !EMPTY_TRASH_DAYS )
$delete_text = __('Delete Permanently');
- } else {
- $delete_url = wp_nonce_url( add_query_arg( array('action' => 'trash', 'post' => $post->ID) ), "trash-${post_type}_{$post->ID}" );
+ else
$delete_text = __('Move to Trash');
- } ?>
-
" href="">
+
@@ -226,6 +247,99 @@ if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0
post_type;
+ $post_type_object = get_post_type_object($post_type);
+ $can_publish = current_user_can($post_type_object->cap->publish_posts);
+?>
+
+
+
+
+
+
+
+
+
+
+
+ %1$s');
+ $date = date_i18n( $datef, strtotime( $post->post_date ) );
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+post_type, 'post-formats' ) ) :
+ $post_formats = get_theme_support( 'post-formats' );
+
+ if ( is_array( $post_formats[0] ) ) :
+ $post_format = get_post_format( $post->ID );
+ if ( !$post_format )
+ $post_format = '0';
+ // Add in the current one if it isn't there yet, in case the current theme doesn't support it
+ if ( $post_format && !in_array( $post_format, $post_formats[0] ) )
+ $post_formats[0][] = $post_format;
+ ?>
+
+ />
+
+ />
+
+
+ post_status, array('publish', 'future', 'private') ) || 0
* @param object $post
*/
function post_tags_meta_box($post, $box) {
- $tax_name = esc_attr(substr($box['id'], 8));
- $taxonomy = get_taxonomy($tax_name);
- $helps = isset($taxonomy->helps) ? esc_attr($taxonomy->helps) : __('Separate tags with commas.');
+ $defaults = array('taxonomy' => 'post_tag');
+ if ( !isset($box['args']) || !is_array($box['args']) )
+ $args = array();
+ else
+ $args = $box['args'];
+ extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+ $tax_name = esc_attr($taxonomy);
+ $taxonomy = get_taxonomy($taxonomy);
+ $user_can_assign_terms = current_user_can( $taxonomy->cap->assign_terms );
+ $comma = _x( ',', 'tag delimiter' );
?>
-
+
labels->add_new_item; ?>
+
+
+
+ labels->separate_items_with_commas; ?>
+
+
-
+
+labels->choose_from_most_used; ?>
+
-
-
-
-
-
-
-
-
- 'category');
+ if ( !isset($box['args']) || !is_array($box['args']) )
+ $args = array();
+ else
+ $args = $box['args'];
+ extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+ $tax = get_taxonomy($taxonomy);
+
+ ?>
+
+
+
+
+
+
+ "; // Allows for an empty term set to be sent. 0 is an invalid Term ID and will be ignored by empty() checks.
+ ?>
+
+
+ cap->edit_terms) ) : ?>
+
+
+
+
-
+
Learn more about manual excerpts.'); ?>
to_ping) ) .'" />';
+ $form_trackback = ' to_ping) ) .'" />';
if ('' != $post->pinged) {
$pings = ''. __('Already pinged:') . '
';
$already_pinged = explode("\n", trim($post->pinged));
@@ -336,13 +482,12 @@ function post_trackback_meta_box($post) {
?>
()
-pingbacks, no other action necessary.'); ?>
+pingbacks, no other action necessary.'); ?>
ID);
-list_meta($metadata);
-meta_form(); ?>
+foreach ( $metadata as $key => $value ) {
+ if ( is_protected_meta( $metadata[ $key ][ 'meta_key' ], 'post' ) || ! current_user_can( 'edit_post_meta', $post->ID, $metadata[ $key ][ 'meta_key' ] ) )
+ unset( $metadata[ $key ] );
+}
+list_meta( $metadata );
+meta_form( $post ); ?>
use in your theme.'); ?>
- comment_status, 'open'); ?> />
- ping_status, 'open'); ?> />trackbacks and pingbacks on this page.'),_x('http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments','Url to codex article on Managing Comments')); ?>
+ comment_status, 'open'); ?> />
+ ping_status, 'open'); ?> /> trackbacks and pingbacks on this page.' ), __( 'http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments' ) ); ?>
+
get_var($wpdb->prepare("SELECT count(1) FROM $wpdb->comments WHERE comment_post_ID = '%d' AND ( comment_approved = '0' OR comment_approved = '1')", $post_ID));
+ wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
+ ?>
+
+ $total ) {
- echo '' . __('No comments yet.') . '
';
- return;
- }
+ $total = get_comments( array( 'post_id' => $post->ID, 'number' => 1, 'count' => true ) );
+ $wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
+ $wp_list_table->display( true );
- wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
-?>
+ if ( 1 > $total ) {
+ echo '';
+ } else {
+ $hidden = get_hidden_meta_boxes( get_current_screen() );
+ if ( ! in_array('commentsdiv', $hidden) ) {
+ ?>
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
id, true, $post->post_type ); // TODO: ROLE SYSTEM
- if ( $post->post_author && !in_array($post->post_author, $authors) )
- $authors[] = $post->post_author;
+ global $user_ID;
?>
- $authors, 'name' => 'post_author_override', 'selected' => empty($post->ID) ? $user_ID : $post->post_author) ); ?>
+
'authors',
+ 'name' => 'post_author_override',
+ 'selected' => empty($post->ID) ? $user_ID : $post->post_author,
+ 'include_selected' => true
+ ) );
}
-
/**
* Display list of revisions.
*
@@ -460,11 +620,10 @@ function post_author_meta_box($post) {
*
* @param object $post
*/
-function post_revisions_meta_box($post) {
- wp_list_post_revisions();
+function post_revisions_meta_box( $post ) {
+ wp_list_post_revisions( $post );
}
-
// -- Page related Meta Boxes
/**
@@ -474,29 +633,45 @@ function post_revisions_meta_box($post) {
*
* @param object $post
*/
-function page_attributes_meta_box($post){
+function page_attributes_meta_box($post) {
+ $post_type_object = get_post_type_object($post->post_type);
+ if ( $post_type_object->hierarchical ) {
+ $dropdown_args = array(
+ 'post_type' => $post->post_type,
+ 'exclude_tree' => $post->ID,
+ 'selected' => $post->post_parent,
+ 'name' => 'parent_id',
+ 'show_option_none' => __('(no parent)'),
+ 'sort_column' => 'menu_order, post_title',
+ 'echo' => 0,
+ );
+
+ $dropdown_args = apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post );
+ $pages = wp_dropdown_pages( $dropdown_args );
+ if ( ! empty($pages) ) {
?>
-
-
- $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('Main Page (no parent)'), 'sort_column'=> 'menu_order, post_title')); ?>
-
+
+
+
-
+ } // end empty pages check
+ } // end hierarchical check.
+ if ( 'page' == $post->post_type && 0 != count( get_page_templates() ) ) {
+ $template = !empty($post->page_template) ? $post->page_template : false;
+ ?>
+
-page_template); ?>
+
-
-
-
-
+
+
+post_type ) _e( 'Need help? Use the Help tab in the upper right of your screen.' ); ?>
-
+