]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/page.php
Wordpress 2.3.2
[autoinstalls/wordpress.git] / wp-admin / page.php
diff --git a/wp-admin/page.php b/wp-admin/page.php
new file mode 100644 (file)
index 0000000..c6baadd
--- /dev/null
@@ -0,0 +1,160 @@
+<?php
+require_once('admin.php');
+
+$parent_file = 'edit.php';
+$submenu_file = 'edit-pages.php';
+
+wp_reset_vars(array('action'));
+
+if (isset($_POST['deletepost'])) {
+$action = "delete";
+}
+
+switch($action) {
+case 'post':
+       check_admin_referer('add-page');
+       $page_ID = write_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 = 'page-new.php';
+                       break;
+               }
+       } else {
+               $location = "page-new.php?posted=$page_ID";
+       }
+
+       if ( isset($_POST['save']) )
+               $location = "page.php?action=edit&post=$page_ID";
+
+       wp_redirect($location);
+       exit();
+       break;
+
+case 'edit':
+       $title = __('Edit');
+       $editing = true;
+       $page_ID = $post_ID = $p = (int) $_GET['post'];
+       $post = get_post_to_edit($page_ID);
+
+       if ( empty($post->ID) ) wp_die( __("You attempted to edit a page that doesn't exist. Perhaps it was deleted?") );
+
+       if ( 'post' == $post->post_type ) {
+               wp_redirect("post.php?action=edit&post=$post_ID");
+               exit();
+       }
+
+       if($post->post_status == 'draft') {
+               wp_enqueue_script('prototype');
+               wp_enqueue_script('interface');
+               wp_enqueue_script('autosave');
+       }
+       require_once('admin-header.php');
+
+       if ( !current_user_can('edit_page', $page_ID) )
+               die ( __('You are not allowed to edit this page.') );
+
+       include('edit-page-form.php');
+       break;
+
+case 'editattachment':
+       $page_id = $post_ID = (int) $_POST['post_ID'];
+       check_admin_referer('update-attachment_' . $page_id);
+
+       // Don't let these be changed
+       unset($_POST['guid']);
+       $_POST['post_type'] = 'attachment';
+
+       // Update the thumbnail filename
+       $newmeta = wp_get_attachment_metadata( $page_id, true );
+       $newmeta['thumb'] = $_POST['thumb'];
+
+       wp_update_attachment_metadata( $newmeta );
+
+case 'editpost':
+       $page_ID = (int) $_POST['post_ID'];
+       check_admin_referer('update-page_' . $page_ID);
+
+       $page_ID = edit_post();
+
+       if ( 'post' == $_POST['originalaction'] ) {
+               if (!empty($_POST['mode'])) {
+               switch($_POST['mode']) {
+                       case 'bookmarklet':
+                               $location = $_POST['referredby'];
+                               break;
+                       case 'sidebar':
+                               $location = 'sidebar.php?a=b';
+                               break;
+                       default:
+                               $location = 'page-new.php';
+                               break;
+                       }
+               } else {
+                       $location = "page-new.php?posted=$page_ID";
+               }
+
+               if ( isset($_POST['save']) )
+                       $location = "page.php?action=edit&post=$page_ID";
+       } else {
+               if ($_POST['save']) {
+                       $location = "page.php?action=edit&post=$page_ID";
+               } elseif ($_POST['updatemeta']) {
+                       $location = wp_get_referer() . '&message=2#postcustom';
+               } elseif ($_POST['deletemeta']) {
+                       $location = wp_get_referer() . '&message=3#postcustom';
+               } elseif (!empty($_POST['referredby']) && $_POST['referredby'] != wp_get_referer()) {
+                       $location = $_POST['referredby'];
+                       if ( $_POST['referredby'] == 'redo' )
+                               $location = get_permalink( $page_ID );
+               } elseif ($action == 'editattachment') {
+                       $location = 'attachments.php';
+               } else {
+                       $location = 'page-new.php';
+               }
+       }
+       wp_redirect($location); // Send user on their way while we keep working
+
+       exit();
+       break;
+
+case 'delete':
+       $page_id = (isset($_GET['post']))  ? intval($_GET['post']) : intval($_POST['post_ID']);
+       check_admin_referer('delete-page_' .  $page_id);
+
+       $page = & get_post($page_id);
+
+       if ( !current_user_can('delete_page', $page_id) )
+               wp_die( __('You are not allowed to delete this page.') );
+
+       if ( $page->post_type == 'attachment' ) {
+               if ( ! wp_delete_attachment($page_id) )
+                       wp_die( __('Error in deleting...') );
+       } else {
+               if ( !wp_delete_post($page_id) )
+                       wp_die( __('Error in deleting...') );
+       }
+
+       $sendback = wp_get_referer();
+       if (strpos($sendback, 'page.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/page.php';
+       elseif (strpos($sendback, 'attachments.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/attachments.php';
+       $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
+       wp_redirect($sendback);
+       exit();
+       break;
+
+default:
+       wp_redirect('edit-pages.php');
+       exit();
+       break;
+} // end switch
+include('admin-footer.php');
+?>