Backport of the switch of the post|page being editing message from a create_function call to a normal function and reduce the duplicated code. See #10729 for 2.8 branch.
git-svn-id: http://svn.automattic.com/wordpress/branches/2.8@12068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
be00063619
commit
aeaafa32d2
|
@ -1059,6 +1059,32 @@ function wp_set_post_lock( $post_id ) {
|
||||||
update_post_meta( $post->ID, '_edit_last', $current_user->ID );
|
update_post_meta( $post->ID, '_edit_last', $current_user->ID );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Outputs the notice message to say that someone else is editing this post at the moment.
|
||||||
|
*
|
||||||
|
* @since 2.8.5
|
||||||
|
* @return none
|
||||||
|
*/
|
||||||
|
function _admin_notice_post_locked() {
|
||||||
|
global $post;
|
||||||
|
$last_user = get_userdata( get_post_meta( $post->ID, '_edit_last', true ) );
|
||||||
|
$last_user_name = $last_user ? $last_user->display_name : __('Somebody');
|
||||||
|
|
||||||
|
switch ($post->post_type) {
|
||||||
|
case 'post':
|
||||||
|
$message = __( 'Warning: %s is currently editing this post' );
|
||||||
|
break;
|
||||||
|
case 'page':
|
||||||
|
$message = __( 'Warning: %s is currently editing this page' );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$message = __( 'Warning: %s is currently editing this.' );
|
||||||
|
}
|
||||||
|
|
||||||
|
$message = sprintf( $message, esc_html( $last_user_name ) );
|
||||||
|
echo "<div class='error'><p>$message</p></div>";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates autosave data for the specified post from $_POST data.
|
* Creates autosave data for the specified post from $_POST data.
|
||||||
*
|
*
|
||||||
|
|
|
@ -98,11 +98,7 @@ case 'edit':
|
||||||
|
|
||||||
if ( current_user_can('edit_page', $page_ID) ) {
|
if ( current_user_can('edit_page', $page_ID) ) {
|
||||||
if ( $last = wp_check_post_lock( $post->ID ) ) {
|
if ( $last = wp_check_post_lock( $post->ID ) ) {
|
||||||
$last_user = get_userdata( $last );
|
add_action('admin_notices', '_admin_notice_post_locked' );
|
||||||
$last_user_name = $last_user ? $last_user->display_name : __('Somebody');
|
|
||||||
$message = sprintf( __( 'Warning: %s is currently editing this page' ), esc_html( $last_user_name ) );
|
|
||||||
$message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
|
|
||||||
add_action('admin_notices', create_function( '', "echo '$message';" ) );
|
|
||||||
} else {
|
} else {
|
||||||
wp_set_post_lock( $post->ID );
|
wp_set_post_lock( $post->ID );
|
||||||
wp_enqueue_script('autosave');
|
wp_enqueue_script('autosave');
|
||||||
|
|
|
@ -133,11 +133,7 @@ case 'edit':
|
||||||
|
|
||||||
if ( current_user_can('edit_post', $post_ID) ) {
|
if ( current_user_can('edit_post', $post_ID) ) {
|
||||||
if ( $last = wp_check_post_lock( $post->ID ) ) {
|
if ( $last = wp_check_post_lock( $post->ID ) ) {
|
||||||
$last_user = get_userdata( $last );
|
add_action('admin_notices', '_admin_notice_post_locked' );
|
||||||
$last_user_name = $last_user ? $last_user->display_name : __('Somebody');
|
|
||||||
$message = sprintf( __( 'Warning: %s is currently editing this post' ), esc_html( $last_user_name ) );
|
|
||||||
$message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
|
|
||||||
add_action('admin_notices', create_function( '', "echo '$message';" ) );
|
|
||||||
} else {
|
} else {
|
||||||
wp_set_post_lock( $post->ID );
|
wp_set_post_lock( $post->ID );
|
||||||
wp_enqueue_script('autosave');
|
wp_enqueue_script('autosave');
|
||||||
|
|
Loading…
Reference in New Issue