diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
| commit | d48e85e0ac5e675ca33fac173f30c75403d1033f (patch) | |
| tree | 1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-admin/post.php | |
| parent | 086dcde66603301531efc6d8087bd06d0546f148 (diff) | |
| download | wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.gz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.xz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.zip | |
Moved everything in wp-inst down a directory.
Uses's Ryan Boren's htaccess rules and mods
If you're upgrading, try this on a test server first!
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/post.php')
| -rw-r--r-- | wp-admin/post.php | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/wp-admin/post.php b/wp-admin/post.php new file mode 100644 index 0000000..aad14e9 --- /dev/null +++ b/wp-admin/post.php @@ -0,0 +1,161 @@ +<?php +require_once('admin.php'); + +$parent_file = 'edit.php'; +$submenu_file = 'edit.php'; +$wpvarstoreset = array('action', 'safe_mode', 'withcomments', 'posts', 'content', 'edited_post_title', 'comment_error', 'profile', 'trackback_url', 'excerpt', 'showcomments', 'commentstart', 'commentend', 'commentorder' ); + +for ($i=0; $i<count($wpvarstoreset); $i += 1) { + $wpvar = $wpvarstoreset[$i]; + if (!isset($$wpvar)) { + if (empty($_POST["$wpvar"])) { + if (empty($_GET["$wpvar"])) { + $$wpvar = ''; + } else { + $$wpvar = $_GET["$wpvar"]; + } + } else { + $$wpvar = $_POST["$wpvar"]; + } + } +} + +if ( isset( $_POST['deletepost'] ) ) + $action = 'delete'; + +switch($action) { +case 'postajaxpost': +case 'post': + $parent_file = 'post-new.php'; + $submenu_file = 'post-new.php'; + check_admin_referer('add-post'); + + $post_ID = 'post' == $action ? write_post() : edit_post(); + + // Redirect. + if (!empty($_POST['mode'])) { + switch($_POST['mode']) { + case 'bookmarklet': + $location = $_POST['referredby']; + break; + case 'sidebar': + $location = 'sidebar.php?a=b'; + break; + default: + $location = 'post-new.php'; + break; + } + } else { + $location = 'post-new.php?posted=true'; + } + + if ( isset($_POST['save']) ) + $location = "post.php?action=edit&post=$post_ID"; + + header("Location: $location"); + exit(); + break; + +case 'edit': + $title = __('Edit'); + $editing = true; + + $post_ID = $p = (int) $_GET['post']; + + $post = get_post($post_ID); + if( $post->post_type == 'page' ) { + header( "Location: " . str_replace( "post.php", "page.php", $_SERVER[ 'REQUEST_URI' ] ) ); + die(); + } + require_once('admin-header.php'); + if ( !current_user_can('edit_post', $post_ID) ) + die ( __('You are not allowed to edit this post.') ); + + $post = get_post_to_edit($post_ID); + + include('edit-form-advanced.php'); + + ?> + <div id='preview' class='wrap'> + <h2 id="preview-post"><?php _e('Post Preview (updated when post is saved)'); ?> <small class="quickjump"><a href="#write-post"><?php _e('edit ↑'); ?></a></small></h2> + <iframe src="<?php echo add_query_arg('preview', 'true', get_permalink($post->ID)); ?>" width="100%" height="600" ></iframe> + </div> + <?php + break; + +case 'editattachment': + $post_id = (int) $_POST['post_ID']; + + check_admin_referer('update-attachment_' . $post_id); + + // Don't let these be changed + unset($_POST['guid']); + $_POST['post_type'] = 'attachment'; + + // Update the thumbnail filename + $oldmeta = $newmeta = get_post_meta($post_id, '_wp_attachment_metadata', true); + $newmeta['thumb'] = $_POST['thumb']; + + if ( '' !== $oldmeta ) + update_post_meta($post_id, '_wp_attachment_metadata', $newmeta, $oldmeta); + else + add_post_meta($post_id, '_wp_attachment_metadata', $newmeta); + +case 'editpost': + $post_ID = (int) $_POST['post_ID']; + check_admin_referer('update-post_' . $post_ID); + + $post_ID = edit_post(); + + if ($_POST['save']) { + $location = $_SERVER['HTTP_REFERER']; + } elseif ($_POST['updatemeta']) { + $location = $_SERVER['HTTP_REFERER'] . '&message=2#postcustom'; + } elseif ($_POST['deletemeta']) { + $location = $_SERVER['HTTP_REFERER'] . '&message=3#postcustom'; + } elseif (isset($_POST['referredby']) && $_POST['referredby'] != $_SERVER['HTTP_REFERER']) { + $location = $_POST['referredby']; + if ( $_POST['referredby'] == 'redo' ) + $location = get_permalink( $post_ID ); + } elseif ($action == 'editattachment') { + $location = 'attachments.php'; + } else { + $location = 'post-new.php'; + } + header ('Location: ' . $location); // Send user on their way while we keep working + + exit(); + break; + +case 'delete': + $post_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']); + check_admin_referer('delete-post_' . $post_id); + + $post = & get_post($post_id); + + if ( !current_user_can('delete_post', $post_id) ) + die( __('You are not allowed to delete this post.') ); + + if ( $post->post_type == 'attachment' ) { + if ( ! wp_delete_attachment($post_id) ) + die( __('Error in deleting...') ); + } else { + if ( !wp_delete_post($post_id) ) + die( __('Error in deleting...') ); + } + + $sendback = $_SERVER['HTTP_REFERER']; + if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post-new.php'; + elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php'; + $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback); + header ('Location: ' . $sendback); + exit(); + break; + +default: + header('Location: edit.php'); + exit(); + break; +} // end switch +include('admin-footer.php'); +?> |
