diff --git a/wp-admin/edit-form-advanced.php b/wp-admin/edit-form-advanced.php index fae04faa5f..70e55d9f9e 100644 --- a/wp-admin/edit-form-advanced.php +++ b/wp-admin/edit-form-advanced.php @@ -16,57 +16,57 @@ if ( !defined('ABSPATH') ) * @var int */ $post_ID = isset($post_ID) ? (int) $post_ID : 0; - +$temp_ID = isset($temp_ID) ? (int) $temp_ID : 0; +$user_ID = isset($user_ID) ? (int) $user_ID : 0; $action = isset($action) ? $action : ''; +$messages = array(); +$messages['post'] = array( + '', + sprintf( __('Post updated. View post'), get_permalink($post_ID) ), + __('Custom field updated.'), + __('Custom field deleted.'), + __('Post updated.'), + isset($_GET['revision']) ? sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, + sprintf( __('Post published. View post'), get_permalink($post_ID) ), + __('Post saved.'), + sprintf( __('Post submitted. Preview post'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ), + // translators: Publish box date format, see http://php.net/date - Same as in meta-boxes.php + sprintf( __('Post scheduled for: %1$s. Preview post'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) ), + sprintf( __('Post draft updated. Preview post'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) +); +$messages['page'] = array( + '', + sprintf( __('Page updated. View page'), get_permalink($post_ID) ), + __('Custom field updated.'), + __('Custom field deleted.'), + sprintf( __('Page published. View page'), get_permalink($post_ID) ), + isset($_GET['revision']) ? sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, + sprintf( __('Page submitted. Preview page'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ), + // translators: Publish box date format, see http://php.net/date - Same as in meta-boxes.php + sprintf( __('Page scheduled for: %1$s. Preview page'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) ), + sprintf( __('Page draft updated. Preview page'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) +); + $message = false; if ( isset($_GET['message']) ) { $_GET['message'] = absint( $_GET['message'] ); - - switch ( $_GET['message'] ) { - case 1: - $message = sprintf( __('Post updated. View post'), get_permalink($post_ID) ); - break; - case 2: - $message = __('Custom field updated.'); - break; - case 3: - $message = __('Custom field deleted.'); - break; - case 4: - $message = __('Post updated.'); - break; - case 5: - if ( isset($_GET['revision']) ) - $message = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ); - break; - case 6: - $message = sprintf( __('Post published. View post'), get_permalink($post_ID) ); - break; - case 7: - $message = __('Post saved.'); - break; - case 8: - $message = sprintf( __('Post submitted. Preview post'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ); - break; - case 9: - // translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php - $message = sprintf( __('Post scheduled for: %1$s. Preview post'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) ); - break; - case 10: - $message = sprintf( __('Post draft updated. Preview post'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ); - break; - } + if ( isset($messages[$post_type][$_GET['message']]) ) + $message = $messages[$post_type][$_GET['message']]; + elseif ( !isset($messages[$post_type]) && isset($messages['post'][$_GET['message']]) ) + $message = $messages['post'][$_GET['message']]; } $notice = false; if ( 0 == $post_ID ) { $form_action = 'post'; + $nonce_action = 'add-' . $post_type; $temp_ID = -1 * time(); // don't change this formula without looking at wp_write_post() $form_extra = ""; $autosave = false; } else { $form_action = 'editpost'; + $nonce_action = 'update-' . $post_type . '_' . $post_ID; $form_extra = ""; $autosave = wp_get_post_autosave( $post_ID ); @@ -82,12 +82,18 @@ if ( 0 == $post_ID ) { } } +$post_type_object = get_post_type_object($post_type); +$post_type_cap = $post_type_object->capability_type; +$form_post = 'post.php'; +if ( 'page' == $post_type ) + $form_post = 'page.php'; + // All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action). require_once('includes/meta-boxes.php'); add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', $post_type, 'side', 'core'); -// all tag-style post taxonomies +// all tag-style taxonomies foreach ( get_object_taxonomies($post_type) as $tax_name ) { if ( !is_taxonomy_hierarchical($tax_name) ) { $taxonomy = get_taxonomy($tax_name); @@ -99,14 +105,22 @@ foreach ( get_object_taxonomies($post_type) as $tax_name ) { if ( is_object_in_taxonomy($post_type, 'category') ) add_meta_box('categorydiv', __('Categories'), 'post_categories_meta_box', $post_type, 'side', 'core'); + +if ( post_type_supports($post_type, 'page-attributes') ) + add_meta_box('pageparentdiv', __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core'); + if ( current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports($post_type, 'post-thumbnails') ) add_meta_box('postimagediv', __('Post Thumbnail'), 'post_thumbnail_meta_box', $post_type, 'side', 'low'); + if ( post_type_supports($post_type, 'excerpts') ) add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', $post_type, 'normal', 'core'); + if ( post_type_supports($post_type, 'trackbacks') ) add_meta_box('trackbacksdiv', __('Send Trackbacks'), 'post_trackback_meta_box', $post_type, 'normal', 'core'); + if ( post_type_supports($post_type, 'custom-fields') ) add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core'); + do_action('dbx_post_advanced'); if ( post_type_supports($post_type, 'comments') ) add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', $post_type, 'normal', 'core'); @@ -115,23 +129,22 @@ if ( ('publish' == $post->post_status || 'private' == $post->post_status) && pos add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core'); if ( !( 'pending' == $post->post_status && !current_user_can( 'publish_posts' ) ) ) - add_meta_box('slugdiv', __('Post Slug'), 'post_slug_meta_box', $post_type, 'normal', 'core'); + add_meta_box('slugdiv', __('Slug'), 'post_slug_meta_box', $post_type, 'normal', 'core'); $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 ) - add_meta_box('authordiv', __('Post Author'), 'post_author_meta_box', $post_type, 'normal', 'core'); + add_meta_box('authordiv', __('Author'), 'post_author_meta_box', $post_type, 'normal', 'core'); if ( 0 < $post_ID && wp_get_post_revisions( $post_ID ) ) - add_meta_box('revisionsdiv', __('Post Revisions'), 'post_revisions_meta_box', $post_type, 'normal', 'core'); + add_meta_box('revisionsdiv', __('Revisions'), 'post_revisions_meta_box', $post_type, 'normal', 'core'); do_action('do_meta_boxes', $post_type, 'normal', $post); do_action('do_meta_boxes', $post_type, 'advanced', $post); do_action('do_meta_boxes', $post_type, 'side', $post); require_once('admin-header.php'); - ?>