X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/cc7b1505cd9fafd87c3672f669e13e98b0c544f7..a5227bf01edbe6660486c9f5c0f0ed7b7fea3130:/wp-admin/post.php?action=edit;post=%24id
diff --git a/wp-admin/post.php b/wp-admin/post.php
index a427d321..548007f7 100644
--- a/wp-admin/post.php
+++ b/wp-admin/post.php
@@ -1,440 +1,278 @@
post_type);
+ if ( $post_type_object ) {
+ $post_type = $post->post_type;
+ $current_screen->post_type = $post->post_type;
+ $current_screen->id = $current_screen->post_type;
}
}
+} elseif ( isset($_POST['post_type']) ) {
+ $post_type_object = get_post_type_object($_POST['post_type']);
+ if ( $post_type_object ) {
+ $post_type = $post_type_object->name;
+ $current_screen->post_type = $post_type;
+ $current_screen->id = $current_screen->post_type;
+ }
}
-if (isset($_POST['deletepost'])) {
-$action = "delete";
-}
-
-// Fix submenu highlighting for pages.
-if ( isset($_REQUEST['post']) && 'static' == get_post_status($_REQUEST['post']) )
- $submenu_file = 'page-new.php';
-
-$editing = true;
-
-switch($action) {
-case 'post':
- check_admin_referer('add-post');
-
- $post_ID = write_post();
-
- // Redirect.
- if (!empty($_POST['mode'])) {
- switch($_POST['mode']) {
- case 'bookmarklet':
- $location = $_POST['referredby'];
- break;
- case 'sidebar':
+/**
+ * Redirect to previous page.
+ *
+ * @param int $post_id Optional. Post ID.
+ */
+function redirect_post($post_id = '') {
+ if ( !empty($_POST['mode']) && 'sidebar' == $_POST['mode'] ) {
+ if ( isset($_POST['saveasdraft']) )
+ $location = 'sidebar.php?a=c';
+ elseif ( isset($_POST['publish']) )
$location = 'sidebar.php?a=b';
- break;
- default:
- $location = 'post.php';
- break;
+ } elseif ( isset($_POST['save']) || isset($_POST['publish']) ) {
+ $status = get_post_status( $post_id );
+
+ if ( isset( $_POST['publish'] ) ) {
+ switch ( $status ) {
+ case 'pending':
+ $message = 8;
+ break;
+ case 'future':
+ $message = 9;
+ break;
+ default:
+ $message = 6;
+ }
+ } else {
+ $message = 'draft' == $status ? 10 : 1;
}
+
+ $location = add_query_arg( 'message', $message, get_edit_post_link( $post_id, 'url' ) );
+ } elseif ( isset($_POST['addmeta']) && $_POST['addmeta'] ) {
+ $location = add_query_arg( 'message', 2, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
+ } elseif ( isset($_POST['deletemeta']) && $_POST['deletemeta'] ) {
+ $location = add_query_arg( 'message', 3, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
+ } elseif ( 'post-quickpress-save-cont' == $_POST['action'] ) {
+ $location = "post.php?action=edit&post=$post_id&message=7";
} else {
- $location = 'post.php?posted=true';
+ $location = add_query_arg( 'message', 4, get_edit_post_link( $post_id, 'url' ) );
}
- if ( 'static' == $_POST['post_status'] )
- $location = "page-new.php?saved=true";
-
- if ( isset($_POST['save']) )
- $location = "post.php?action=edit&post=$post_ID";
-
- wp_redirect($location);
- exit();
- break;
-
-case 'edit':
- $title = __('Edit');
-
- require_once('admin-header.php');
-
- $post_ID = $p = (int) $_GET['post'];
-
- if ( !current_user_can('edit_post', $post_ID) )
- die ( __('You are not allowed to edit this post.') );
-
- $post = get_post_to_edit($post_ID);
-
- if ($post->post_status == 'static')
- include('edit-page-form.php');
- else
- include('edit-form-advanced.php');
+ wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) );
+}
- ?>
-
- post_status == 'attachment' ) {
- if ( ! wp_delete_attachment($post_id) )
- die( __('Error in deleting...') );
- } else {
- if ( !wp_delete_post($post_id) )
- die( __('Error in deleting...') );
+ if ( empty( $post_id ) ) {
+ wp_redirect("post.php");
+ exit();
}
- $sendback = wp_get_referer();
- if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post.php';
- elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php';
- $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
- wp_redirect($sendback);
- break;
-
-case 'editcomment':
- $title = __('Edit Comment');
- $parent_file = 'edit.php';
- require_once ('admin-header.php');
-
- get_currentuserinfo();
-
- $comment = (int) $_GET['comment'];
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'javascript:history.go(-1)'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post.') );
-
- $comment = get_comment_to_edit($comment);
+ $p = $post_id;
- include('edit-form-comment.php');
+ if ( empty($post->ID) )
+ wp_die( __('You attempted to edit an item that doesn’t exist. Perhaps it was deleted?') );
- break;
-
-case 'confirmdeletecomment':
-
- require_once('./admin-header.php');
-
- $comment = (int) $_GET['comment'];
- $p = (int) $_GET['p'];
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'edit.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to delete comments on this post.') );
-
- echo "\n";
- echo "
" . __('Caution: You are about to delete the following comment:') . "
\n";
- echo "
\n";
- echo "" . __('Author:') . " | $comment->comment_author |
\n";
- echo "" . __('E-mail:') . " | $comment->comment_author_email |
\n";
- echo "". __('URL:') . " | $comment->comment_author_url |
\n";
- echo "". __('Comment:') . " | $comment->comment_content |
\n";
- echo "
\n";
- echo "
" . __('Are you sure you want to do that?') . "
\n";
-
- echo "
\n";
- echo "
\n";
+ if ( !current_user_can($post_type_object->cap->edit_post, $post_id) )
+ wp_die( __('You are not allowed to edit this item.') );
- break;
+ if ( 'trash' == $post->post_status )
+ wp_die( __('You can’t edit this item because it is in the Trash. Please restore it and try again.') );
-case 'deletecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('delete-comment_' . $comment);
+ if ( null == $post_type_object )
+ wp_die( __('Unknown post type.') );
- $p = (int) $_GET['p'];
- if (isset($_GET['noredir'])) {
- $noredir = true;
+ $post_type = $post->post_type;
+ if ( 'post' == $post_type ) {
+ $parent_file = "edit.php";
+ $submenu_file = "edit.php";
} else {
- $noredir = false;
+ $parent_file = "edit.php?post_type=$post_type";
+ $submenu_file = "edit.php?post_type=$post_type";
}
- $postdata = get_post($p) or die(sprintf(__('Oops, no post with this ID. Go back!'), 'edit.php'));
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'post.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post.') );
-
- wp_set_comment_status($comment->comment_ID, "delete");
- do_action('delete_comment', $comment->comment_ID);
-
- if ((wp_get_referer() != "") && (false == $noredir)) {
- wp_redirect(wp_get_referer());
+ if ( $last = wp_check_post_lock( $post->ID ) ) {
+ add_action('admin_notices', '_admin_notice_post_locked' );
} else {
- wp_redirect(get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
+ wp_set_post_lock( $post->ID );
+ wp_enqueue_script('autosave');
}
- break;
-
-case 'unapprovecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('unapprove-comment_' . $comment);
+ $title = $post_type_object->labels->edit_item;
+ $post = get_post_to_edit($post_id);
- $p = (int) $_GET['p'];
- if (isset($_GET['noredir'])) {
- $noredir = true;
- } else {
- $noredir = false;
+ if ( post_type_supports($post_type, 'comments') ) {
+ wp_enqueue_script('admin-comments');
+ enqueue_comment_hotkeys_js();
}
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'edit.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
+ include('./edit-form-advanced.php');
- wp_set_comment_status($comment->comment_ID, "hold");
+ break;
- if ((wp_get_referer() != "") && (false == $noredir)) {
- wp_redirect(wp_get_referer());
- } else {
- wp_redirect(get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
- }
+case 'editattachment':
+ check_admin_referer('update-attachment_' . $post_id);
- break;
+ // Don't let these be changed
+ unset($_POST['guid']);
+ $_POST['post_type'] = 'attachment';
-case 'mailapprovecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('approve-comment_' . $comment);
+ // Update the thumbnail filename
+ $newmeta = wp_get_attachment_metadata( $post_id, true );
+ $newmeta['thumb'] = $_POST['thumb'];
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'edit.php'));
+ wp_update_attachment_metadata( $post_id, $newmeta );
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
+case 'editpost':
+ check_admin_referer('update-' . $post_type . '_' . $post_id);
- if ('1' != $comment->comment_approved) {
- wp_set_comment_status($comment->comment_ID, 'approve');
- if (true == get_option('comments_notify'))
- wp_notify_postauthor($comment->comment_ID);
- }
+ $post_id = edit_post();
- wp_redirect(get_option('siteurl') . '/wp-admin/moderation.php?approved=1');
+ redirect_post($post_id); // Send user on their way while we keep working
+ exit();
break;
-case 'approvecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('approve-comment_' . $comment);
-
- $p = (int) $_GET['p'];
- if (isset($_GET['noredir'])) {
- $noredir = true;
- } else {
- $noredir = false;
- }
+case 'trash':
+ check_admin_referer('trash-' . $post_type . '_' . $post_id);
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. Go back!'), 'edit.php'));
+ $post = & get_post($post_id);
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to move this item to the Trash.') );
- wp_set_comment_status($comment->comment_ID, "approve");
- if (get_settings("comments_notify") == true) {
- wp_notify_postauthor($comment->comment_ID);
- }
+ if ( ! wp_trash_post($post_id) )
+ wp_die( __('Error in moving to Trash.') );
+ wp_redirect( add_query_arg( array('trashed' => 1, 'ids' => $post_id), $sendback ) );
+ exit();
+ break;
- if ((wp_get_referer() != "") && (false == $noredir)) {
- wp_redirect(wp_get_referer());
- } else {
- wp_redirect(get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
- }
+case 'untrash':
+ check_admin_referer('untrash-' . $post_type . '_' . $post_id);
- break;
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to move this item out of the Trash.') );
-case 'editedcomment':
+ if ( ! wp_untrash_post($post_id) )
+ wp_die( __('Error in restoring from Trash.') );
- $comment_ID = (int) $_POST['comment_ID'];
- $comment_post_ID = (int) $_POST['comment_post_ID'];
+ wp_redirect( add_query_arg('untrashed', 1, $sendback) );
+ exit();
+ break;
- check_admin_referer('update-comment_' . $comment_ID);
+case 'delete':
+ check_admin_referer('delete-' . $post_type . '_' . $post_id);
- edit_comment();
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to delete this item.') );
- $referredby = $_POST['referredby'];
- if (!empty($referredby)) {
- wp_redirect($referredby);
+ $force = !EMPTY_TRASH_DAYS;
+ if ( $post->post_type == 'attachment' ) {
+ $force = ( $force || !MEDIA_TRASH );
+ if ( ! wp_delete_attachment($post_id, $force) )
+ wp_die( __('Error in deleting.') );
} else {
- wp_redirect("edit.php?p=$comment_post_ID&c=1#comments");
+ if ( !wp_delete_post($post_id, $force) )
+ wp_die( __('Error in deleting.') );
}
+ wp_redirect( add_query_arg('deleted', 1, $sendback) );
+ exit();
break;
-default:
- $title = __('Create New Post');
- require_once ('./admin-header.php');
-?>
-
-View site »'), get_bloginfo('home') . '/'); ?>
-
-
-
-
- 15 ) $num_drafts = 15;
- for ( $i = 0; $i < $num_drafts; $i++ ) {
- $draft = $drafts[$i];
- if ( 0 != $i )
- echo ', ';
- $draft->post_title = stripslashes($draft->post_title);
- if ( empty($draft->post_title) )
- $draft->post_title = sprintf(__('Post # %s'), $draft->ID);
- echo "$draft->post_title";
- }
- ?>
-
- , »
-
- .
-
-
-
-'.__('WordPress bookmarklet').'
-
'.__('Right click on the following link and choose "Add to favorites" to create a posting shortcut.').'
'; ?>
-
+ $url = post_preview();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-You can also e-mail the admin to ask for a promotion.
-When you’re promoted, just reload this page and you’ll be able to blog. :)'), get_settings('admin_email')); ?>
-
-
- */
-include('admin-footer.php');
+include('./admin-footer.php');
?>