PHP Cross Reference of WordPress Subversion HEAD

[ Index ]     [ Classes ]     [ Functions ]     [ Variables ]     [ Constants ]

title

Body

[close]

/wp-admin/ -> page.php (source)

   1  <?php
   2  require_once ('admin.php');
   3  
   4  $parent_file = 'edit.php';
   5  $submenu_file = 'edit-pages.php';
   6  
   7  wp_reset_vars(array('action'));
   8  
   9  if (isset($_POST['deletepost'])) {
  10  $action = "delete";
  11  }
  12  
  13  switch($action) {
  14  case 'post':
  15      check_admin_referer('add-page');
  16      $page_ID = write_post();
  17  
  18      // Redirect.
  19      if (!empty($_POST['mode'])) {
  20      switch($_POST['mode']) {
  21          case 'bookmarklet':
  22              $location = $_POST['referredby'];
  23              break;
  24          case 'sidebar':
  25              $location = 'sidebar.php?a=b';
  26              break;
  27          default:
  28              $location = 'page-new.php';
  29              break;
  30          }
  31      } else {
  32          $location = "page-new.php?posted=$page_ID";
  33      }
  34  
  35      if ( isset($_POST['save']) )
  36          $location = "page.php?action=edit&post=$page_ID";
  37  
  38      wp_redirect($location);
  39      exit();
  40      break;
  41  
  42  case 'edit':
  43      $title = __('Edit');
  44      $editing = true;
  45      $page_ID = $post_ID = $p = (int) $_GET['post'];
  46      $post = get_post_to_edit($page_ID);
  47  
  48      if ( empty($post->ID) ) wp_die( __("You attempted to edit a page that doesn't exist. Perhaps it was deleted?") );
  49  
  50      if ( 'post' == $post->post_type ) {
  51          wp_redirect("post.php?action=edit&post=$post_ID");
  52          exit();
  53      }
  54  
  55      if($post->post_status == 'draft') {
  56          wp_enqueue_script('prototype');
  57          wp_enqueue_script('interface');
  58          wp_enqueue_script('autosave');
  59      }
  60      require_once ('admin-header.php');
  61  
  62      if ( !current_user_can('edit_page', $page_ID) )
  63          die ( __('You are not allowed to edit this page.') );
  64  
  65      include ('edit-page-form.php');
  66      break;
  67  
  68  case 'editattachment':
  69      $page_id = $post_ID = (int) $_POST['post_ID'];
  70      check_admin_referer('update-attachment_' . $page_id);
  71  
  72      // Don't let these be changed
  73      unset($_POST['guid']);
  74      $_POST['post_type'] = 'attachment';
  75  
  76      // Update the thumbnail filename
  77      $newmeta = wp_get_attachment_metadata( $page_id, true );
  78      $newmeta['thumb'] = $_POST['thumb'];
  79  
  80      wp_update_attachment_metadata( $newmeta );
  81  
  82  case 'editpost':
  83      $page_ID = (int) $_POST['post_ID'];
  84      check_admin_referer('update-page_' . $page_ID);
  85  
  86      $page_ID = edit_post();
  87  
  88      if ( 'post' == $_POST['originalaction'] ) {
  89          if (!empty($_POST['mode'])) {
  90          switch($_POST['mode']) {
  91              case 'bookmarklet':
  92                  $location = $_POST['referredby'];
  93                  break;
  94              case 'sidebar':
  95                  $location = 'sidebar.php?a=b';
  96                  break;
  97              default:
  98                  $location = 'page-new.php';
  99                  break;
 100              }
 101          } else {
 102              $location = "page-new.php?posted=$page_ID";
 103          }
 104  
 105          if ( isset($_POST['save']) )
 106              $location = "page.php?action=edit&post=$page_ID";
 107      } else {
 108          if ($_POST['save']) {
 109              $location = "page.php?action=edit&post=$page_ID";
 110          } elseif ($_POST['addemeta']) {
 111              $location = add_query_arg( 'message', 2, wp_get_referer() );
 112              $location = explode('#', $location);
 113              $location = $location[0] . '#postcustom';
 114          } elseif ($_POST['deletemeta']) {
 115              $location = add_query_arg( 'message', 3, wp_get_referer() );
 116              $location = explode('#', $location);
 117              $location = $location[0] . '#postcustom';
 118          } elseif (!empty($_POST['referredby']) && $_POST['referredby'] != wp_get_referer()) {
 119              $location = $_POST['referredby'];
 120              if ( $_POST['referredby'] == 'redo' )
 121                  $location = get_permalink( $page_ID );
 122          } elseif ($action == 'editattachment') {
 123              $location = 'attachments.php';
 124          } else {
 125              $location = 'page-new.php';
 126          }
 127      }
 128      wp_redirect($location); // Send user on their way while we keep working
 129  
 130      exit();
 131      break;
 132  
 133  case 'delete':
 134      $page_id = (isset($_GET['post']))  ? intval($_GET['post']) : intval($_POST['post_ID']);
 135      check_admin_referer('delete-page_' .  $page_id);
 136  
 137      $page = & get_post($page_id);
 138  
 139      if ( !current_user_can('delete_page', $page_id) )
 140          wp_die( __('You are not allowed to delete this page.') );
 141  
 142      if ( $page->post_type == 'attachment' ) {
 143          if ( ! wp_delete_attachment($page_id) )
 144              wp_die( __('Error in deleting...') );
 145      } else {
 146          if ( !wp_delete_post($page_id) )
 147              wp_die( __('Error in deleting...') );
 148      }
 149  
 150      $sendback = wp_get_referer();
 151      if (strpos($sendback, 'page.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/page.php';
 152      elseif (strpos($sendback, 'attachments.php') !== false) $sendback = get_option('siteurl') .'/wp-admin/attachments.php';
 153      $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
 154      wp_redirect($sendback);
 155      exit();
 156      break;
 157  
 158  default:
 159      wp_redirect('edit-pages.php');
 160      exit();
 161      break;
 162  } // end switch
 163  include ('admin-footer.php');
 164  ?>


Generated Thu Dec 6 06:47:08 2007 for RedAlt XRefs Cross-referenced by PHPXref 0.6 and RedAlt