X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3f5685912e89eb3b0534acd85aa0946b1ca2bbe3..cd3609994b39a094ff7528b93f55631bb213fd7f:/wp-admin/includes/meta-boxes.php diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php index d5e9cb7e..fde0af8c 100644 --- a/wp-admin/includes/meta-boxes.php +++ b/wp-admin/includes/meta-boxes.php @@ -13,7 +13,8 @@ function post_submit_meta_box($post) { 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,42 @@ function post_submit_meta_box($post) {
- +
-post_status && 'future' != $post->post_status && 'pending' != $post->post_status ) { ?> +post_status && 'future' != $post->post_status && 'pending' != $post->post_status ) { ?> post_status ) { ?>style="display:none" type="submit" name="save" id="save-post" value="" tabindex="4" class="button button-highlighted" /> post_status && $can_publish ) { ?> +
- +public ) : ?>
post_status ) { - $preview_link = esc_url(get_permalink($post->ID)); - $preview_button = __('Preview Changes'); + $preview_link = esc_url( get_permalink( $post->ID ) ); + $preview_button = __( 'Preview Changes' ); } else { - $preview_link = esc_url(apply_filters('preview_post_link', add_query_arg('preview', 'true', get_permalink($post->ID)))); - $preview_button = __('Preview'); + $preview_link = get_permalink( $post->ID ); + if ( is_ssl() ) + $preview_link = str_replace( 'http://', 'https://', $preview_link ); + $preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ) ); + $preview_button = __( 'Preview' ); } ?>
- +
-
+
post_status ) { @@ -69,6 +74,7 @@ switch ( $post->post_status ) { _e('Pending Review'); break; case 'draft': + case 'auto-draft': _e('Draft'); break; } @@ -78,7 +84,7 @@ switch ( $post->post_status ) { post_status ) { ?>style="display:none;" class="edit-post-status hide-if-no-js" tabindex='4'>
- + @@ -97,7 +107,7 @@ switch ( $post->post_status ) {
-
+
post_status ) { @@ -125,11 +135,9 @@ echo esc_html( $visibility_trans ); ?> ID)); ?> /> - - />
- -ID)); ?> tabindex="4" />
+ +ID ) ); ?> tabindex="4" />
/>

@@ -144,9 +152,8 @@ echo esc_html( $visibility_trans ); ?>
- ID ) { if ( 'future' == $post->post_status ) { // scheduled for publishing at a future date @@ -167,7 +174,7 @@ if ( 0 != $post->ID ) { } if ( $can_publish ) : // Contributors don't get to choose the date of publish ?> -
+
@@ -184,33 +191,31 @@ 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=""> +
- + post_status, array('publish', 'future', 'private') ) || 0 == $post->ID ) { if ( $can_publish ) : if ( !empty($post->post_date_gmt) && time() < strtotime( $post->post_date_gmt . ' +0000' ) ) : ?> - + '5', 'accesskey' => 'p' ) ); ?> - + '5', 'accesskey' => 'p' ) ); ?> - + '5', 'accesskey' => 'p' ) ); ?> @@ -226,6 +231,33 @@ if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0 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); + $disabled = !current_user_can($taxonomy->cap->assign_terms) ? 'disabled="disabled"' : ''; + $comma = _x( ',', 'tag delimiter' ); ?>
-

-
- +

labels->add_or_remove_items; ?>

+
+ cap->assign_terms) ) : ?>
-
- - -
-

+
labels->add_new_item; ?>
+

+

+
+

labels->separate_items_with_commas ); ?>

+ +
-

+cap->assign_terms) ) : ?> +

labels->choose_from_most_used; ?>

+ -
    -
  • -
  • -
- - - -
-
    -ID, false, false, $popular_ids) ?> -
-
- - -
-

-

- - 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category') ) ); ?> - - -

-
- '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. + ?> +
    + ID, array( 'taxonomy' => $taxonomy, 'popular_cats' => $popular_ids ) ) ?> +
+
+ cap->edit_terms) ) : ?> +
+

+ + labels->add_new_item ); + ?> + +

+

+ + + + $taxonomy, 'hide_empty' => 0, 'name' => 'new'.$taxonomy.'_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $tax->labels->parent_item . ' —', 'tab_index' => 3 ) ); ?> + + + +

+
+ +
+ - +

Learn more about manual excerpts.'); ?>


()

-

pingbacks, no other action necessary.'); ?>

+

pingbacks, no other action necessary.'); ?>

ID); -list_meta($metadata); +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(); ?>

use in your theme.'); ?>

-
- +
+ +

+

+ 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_list_table = _get_list_table('WP_Post_Comments_List_Table'); + $wp_list_table->display( true ); if ( 1 > $total ) { - echo '

' . __('No comments yet.') . '

'; - return; - } - - wp_nonce_field( 'get-comments', 'add_comment_nonce', false ); -?> + echo '

' . __('No comments yet.') . '

'; + } 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. * @@ -464,7 +542,6 @@ function post_revisions_meta_box($post) { wp_list_post_revisions(); } - // -- Page related Meta Boxes /** @@ -474,29 +551,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; + ?> +

-

-
-

-

+

+

+

post_type ) _e( 'Need help? Use the Help tab in the upper right of your screen.' ); ?>

- +
@@ -527,7 +620,7 @@ function link_submit_meta_box($link) {
-
+
@@ -539,7 +632,7 @@ function link_submit_meta_box($link) { @@ -558,7 +651,6 @@ if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('m -
    -
  • -
  • -
- -
-
    - link_id) ) - wp_link_category_checklist($link->link_id); - else - wp_link_category_checklist(); - ?> -
-
- -