Changeset 23661 for trunk/wp-admin/includes/misc.php
- Timestamp:
- 03/12/2013 03:22:30 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/misc.php
r23584 r23661 587 587 } 588 588 add_filter( 'heartbeat_received', 'wp_check_locked_posts', 10, 2 ); 589 590 /** 591 * Check lock status on the New/Edit Post screen and refresh the lock 592 * 593 * @since 3.6 594 */ 595 function wp_refresh_post_lock( $response, $data, $screen_id ) { 596 if ( 'post' == $screen_id && array_key_exists( 'wp-refresh-post-lock', $data ) ) { 597 $received = $data['wp-refresh-post-lock']; 598 $send = array(); 599 600 if ( !$post_id = absint( $received['post_id'] ) ) 601 return $response; 602 603 if ( !current_user_can('edit_post', $post_id) ) 604 return $response; 605 606 if ( $user_id = wp_check_post_lock( $post_id ) ) { 607 $user = get_userdata( $user_id ); 608 609 $error = array( 610 'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name ) 611 ); 612 613 if ( $avatar = get_avatar( $user->ID, 64 ) ) { 614 if ( preg_match( "|src='([^']+)'|", $avatar, $matches ) ) 615 $error['avatar_src'] = $matches[1]; 616 } 617 618 $send['lock_error'] = $error; 619 } else { 620 if ( $new_lock = wp_set_post_lock( $post_id ) ) 621 $send['new_lock'] = implode( ':', $new_lock ); 622 } 623 624 $response['wp-refresh-post-lock'] = $send; 625 } 626 627 return $response; 628 } 629 add_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 );
Note: See TracChangeset
for help on using the changeset viewer.