summaryrefslogtreecommitdiffstats
path: root/wp-admin/page.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
commitcf9f85dc8121a359d550ffa3b735fb48859eee88 (patch)
tree9f90be15fc46163f5656f019f2a2866414b7c9f2 /wp-admin/page.php
parentf10f9f5b05e23ce4c07479b094bd3ff4bbfd86d0 (diff)
downloadwordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.gz
wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.xz
wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.zip
Merged with WP 2.5, revision 7806
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1260 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/page.php')
-rw-r--r--wp-admin/page.php26
1 files changed, 16 insertions, 10 deletions
diff --git a/wp-admin/page.php b/wp-admin/page.php
index 6f755da..a314e5d 100644
--- a/wp-admin/page.php
+++ b/wp-admin/page.php
@@ -9,8 +9,10 @@ wp_reset_vars(array('action'));
function redirect_page($page_ID) {
$referredby = '';
- if ( !empty($_POST['referredby']) )
+ if ( !empty($_POST['referredby']) ) {
$referredby = preg_replace('|https?://[^/]+|i', '', $_POST['referredby']);
+ $referredby = remove_query_arg('_wp_original_http_referer', $referredby);
+ }
$referer = preg_replace('|https?://[^/]+|i', '', wp_get_referer());
if ( 'post' == $_POST['originalaction'] && !empty($_POST['mode']) && 'bookmarklet' == $_POST['mode'] ) {
@@ -32,6 +34,7 @@ function redirect_page($page_ID) {
$location = $location[0] . '#postcustom';
} elseif (!empty($referredby) && $referredby != $referer) {
$location = $_POST['referredby'];
+ $location = remove_query_arg('_wp_original_http_referer', $location);
if ( $_POST['referredby'] == 'redo' )
$location = get_permalink( $page_ID );
elseif ( false !== strpos($location, 'edit-pages.php') )
@@ -81,15 +84,18 @@ case 'edit':
wp_enqueue_script('editor');
wp_enqueue_script('thickbox');
wp_enqueue_script('media-upload');
- if ( $last = wp_check_post_lock( $post->ID ) ) {
- $last_user = get_userdata( $last );
- $last_user_name = $last_user ? $last_user->display_name : __('Somebody');
- $message = sprintf( __( 'Warning: %s is currently editing this page' ), wp_specialchars( $last_user_name ) );
- $message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
- add_action('admin_notices', create_function( '', "echo '$message';" ) );
- } else {
- wp_set_post_lock( $post->ID );
- wp_enqueue_script('autosave');
+
+ if ( current_user_can('edit_page', $page_ID) ) {
+ if ( $last = wp_check_post_lock( $post->ID ) ) {
+ $last_user = get_userdata( $last );
+ $last_user_name = $last_user ? $last_user->display_name : __('Somebody');
+ $message = sprintf( __( 'Warning: %s is currently editing this page' ), wp_specialchars( $last_user_name ) );
+ $message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
+ add_action('admin_notices', create_function( '', "echo '$message';" ) );
+ } else {
+ wp_set_post_lock( $post->ID );
+ wp_enqueue_script('autosave');
+ }
}
require_once('admin-header.php');