Changeset 7527 for trunk/wp-admin/page.php
- Timestamp:
- 03/26/2008 06:55:24 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/page.php
r7438 r7527 6 6 7 7 wp_reset_vars(array('action')); 8 9 function redirect_page($page_ID) { 10 $referredby = ''; 11 if ( !empty($_POST['referredby']) ) 12 $referredby = preg_replace('|https?://[^/]+|i', '', $_POST['referredby']); 13 $referer = preg_replace('|https?://[^/]+|i', '', wp_get_referer()); 14 15 if ( 'post' == $_POST['originalaction'] && !empty($_POST['mode']) && 'bookmarklet' == $_POST['mode'] ) { 16 $location = $_POST['referredby']; 17 } elseif ( 'post' == $_POST['originalaction'] && !empty($_POST['mode']) && 'sidebar' == $_POST['mode'] ) { 18 $location = 'sidebar.php?a=b'; 19 } elseif ( isset($_POST['save']) && ( empty($referredby) || $referredby == $referer || 'redo' != $referredby ) ) { 20 if ( $_POST['_wp_original_http_referer'] && strpos( $_POST['_wp_original_http_referer'], '/wp-admin/post.php') === false ) 21 $location = add_query_arg( '_wp_original_http_referer', urlencode( stripslashes( $_POST['_wp_original_http_referer'] ) ), "page.php?action=edit&post=$page_ID&message=1" ); 22 else 23 $location = "page.php?action=edit&post=$page_ID"; 24 } elseif ($_POST['addmeta']) { 25 $location = add_query_arg( 'message', 2, wp_get_referer() ); 26 $location = explode('#', $location); 27 $location = $location[0] . '#postcustom'; 28 } elseif ($_POST['deletemeta']) { 29 $location = add_query_arg( 'message', 3, wp_get_referer() ); 30 $location = explode('#', $location); 31 $location = $location[0] . '#postcustom'; 32 } elseif (!empty($referredby) && $referredby != $referer) { 33 $location = $_POST['referredby']; 34 if ( $_POST['referredby'] == 'redo' ) 35 $location = get_permalink( $page_ID ); 36 elseif ( false !== strpos($location, 'edit-pages.php') ) 37 $location = add_query_arg('posted', $page_ID, $location); 38 elseif ( false !== strpos($location, 'wp-admin') ) 39 $location = "page-new.php?posted=$page_ID"; 40 } elseif ( isset($_POST['publish']) ) { 41 $location = "page-new.php?posted=$page_ID"; 42 } elseif ($action == 'editattachment') { 43 $location = 'attachments.php'; 44 } else { 45 $location = "page.php?action=edit&post=$page_ID&message=4"; 46 } 47 48 wp_redirect($location); 49 } 8 50 9 51 if (isset($_POST['deletepost'])) { … … 16 58 $page_ID = write_post(); 17 59 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 } 60 redirect_page($page_ID); 34 61 35 if ( isset($_POST['save']) )36 $location = "page.php?action=edit&post=$page_ID";37 38 wp_redirect($location);39 62 exit(); 40 63 break; … … 96 119 97 120 $page_ID = edit_post(); 98 $page = get_post($page_ID);99 121 100 if ( 'post' == $_POST['originalaction'] ) { 101 if (!empty($_POST['mode'])) { 102 switch($_POST['mode']) { 103 case 'bookmarklet': 104 $location = $_POST['referredby']; 105 break; 106 case 'sidebar': 107 $location = 'sidebar.php?a=b'; 108 break; 109 default: 110 $location = 'page-new.php'; 111 break; 112 } 113 } else { 114 $location = "page-new.php?posted=$page_ID"; 115 } 116 117 if ( isset($_POST['save']) ) 118 $location = "page.php?action=edit&post=$page_ID"; 119 } else { 120 $referredby = ''; 121 if ( !empty($_POST['referredby']) ) 122 $referredby = preg_replace('|https?://[^/]+|i', '', $_POST['referredby']); 123 $referer = preg_replace('|https?://[^/]+|i', '', wp_get_referer()); 124 125 if ( isset($_POST['save']) && ( empty($referredby) || $referredby == $referer || 'redo' != $referredby ) ) { 126 if ( $_POST['_wp_original_http_referer'] && strpos( $_POST['_wp_original_http_referer'], '/wp-admin/post.php') === false ) 127 $location = add_query_arg( '_wp_original_http_referer', urlencode( stripslashes( $_POST['_wp_original_http_referer'] ) ), "page.php?action=edit&post=$page_ID&message=1" ); 128 else 129 $location = "page.php?action=edit&post=$page_ID"; 130 } elseif ($_POST['addmeta']) { 131 $location = add_query_arg( 'message', 2, wp_get_referer() ); 132 $location = explode('#', $location); 133 $location = $location[0] . '#postcustom'; 134 } elseif ($_POST['deletemeta']) { 135 $location = add_query_arg( 'message', 3, wp_get_referer() ); 136 $location = explode('#', $location); 137 $location = $location[0] . '#postcustom'; 138 } elseif (!empty($referredby) && $referredby != $referer) { 139 $location = $_POST['referredby']; 140 if ( $_POST['referredby'] == 'redo' ) 141 $location = get_permalink( $page_ID ); 142 if ( false !== strpos($location, 'edit-pages.php') ) 143 $location = add_query_arg('posted', $page_ID, $location); 144 } elseif ( isset($_POST['publish']) ) { 145 $location = "page-new.php?posted=$page_ID"; 146 } elseif ($action == 'editattachment') { 147 $location = 'attachments.php'; 148 } else { 149 $location = 'page-new.php'; 150 } 151 } 152 wp_redirect($location); // Send user on their way while we keep working 122 redirect_page($page_ID); 153 123 154 124 exit();
Note: See TracChangeset
for help on using the changeset viewer.