Code is Poetry.

WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast
2017-11-30 23:09:33 +00:00
parent ec6a089f98
commit 8f95800d52
1103 changed files with 105978 additions and 78184 deletions
+74 -57
View File
@@ -25,67 +25,81 @@ wp_reset_vars( array( 'revision', 'action', 'from', 'to' ) );
$revision_id = absint( $revision );
$from = is_numeric( $from ) ? absint( $from ) : null;
if ( ! $revision_id )
if ( ! $revision_id ) {
$revision_id = absint( $to );
}
$redirect = 'edit.php';
switch ( $action ) {
case 'restore' :
if ( ! $revision = wp_get_post_revision( $revision_id ) )
case 'restore':
if ( ! $revision = wp_get_post_revision( $revision_id ) ) {
break;
}
if ( ! current_user_can( 'edit_post', $revision->post_parent ) ) {
break;
}
if ( ! $post = get_post( $revision->post_parent ) ) {
break;
}
// Restore if revisions are enabled or this is an autosave.
if ( ! wp_revisions_enabled( $post ) && ! wp_is_post_autosave( $revision ) ) {
$redirect = 'edit.php?post_type=' . $post->post_type;
break;
}
// Don't allow revision restore when post is locked
if ( wp_check_post_lock( $post->ID ) ) {
break;
}
check_admin_referer( "restore-post_{$revision->ID}" );
wp_restore_post_revision( $revision->ID );
$redirect = add_query_arg(
array(
'message' => 5,
'revision' => $revision->ID,
), get_edit_post_link( $post->ID, 'url' )
);
break;
case 'view':
case 'edit':
default:
if ( ! $revision = wp_get_post_revision( $revision_id ) ) {
break;
}
if ( ! $post = get_post( $revision->post_parent ) ) {
break;
}
if ( ! current_user_can( 'edit_post', $revision->post_parent ) )
if ( ! current_user_can( 'read_post', $revision->ID ) || ! current_user_can( 'edit_post', $revision->post_parent ) ) {
break;
}
// Revisions disabled and we're not looking at an autosave
if ( ! wp_revisions_enabled( $post ) && ! wp_is_post_autosave( $revision ) ) {
$redirect = 'edit.php?post_type=' . $post->post_type;
break;
}
$post_edit_link = get_edit_post_link();
$post_title = '<a href="' . $post_edit_link . '">' . _draft_or_post_title() . '</a>';
/* translators: 1: Post title */
$h1 = sprintf( __( 'Compare Revisions of &#8220;%1$s&#8221;' ), $post_title );
$return_to_post = '<a href="' . $post_edit_link . '">' . __( '&larr; Return to editor' ) . '</a>';
$title = __( 'Revisions' );
$redirect = false;
break;
if ( ! $post = get_post( $revision->post_parent ) )
break;
// Restore if revisions are enabled or this is an autosave.
if ( ! wp_revisions_enabled( $post ) && ! wp_is_post_autosave( $revision ) ) {
$redirect = 'edit.php?post_type=' . $post->post_type;
break;
}
// Don't allow revision restore when post is locked
if ( wp_check_post_lock( $post->ID ) )
break;
check_admin_referer( "restore-post_{$revision->ID}" );
wp_restore_post_revision( $revision->ID );
$redirect = add_query_arg( array( 'message' => 5, 'revision' => $revision->ID ), get_edit_post_link( $post->ID, 'url' ) );
break;
case 'view' :
case 'edit' :
default :
if ( ! $revision = wp_get_post_revision( $revision_id ) )
break;
if ( ! $post = get_post( $revision->post_parent ) )
break;
if ( ! current_user_can( 'read_post', $revision->ID ) || ! current_user_can( 'edit_post', $revision->post_parent ) )
break;
// Revisions disabled and we're not looking at an autosave
if ( ! wp_revisions_enabled( $post ) && ! wp_is_post_autosave( $revision ) ) {
$redirect = 'edit.php?post_type=' . $post->post_type;
break;
}
$post_edit_link = get_edit_post_link();
$post_title = '<a href="' . $post_edit_link . '">' . _draft_or_post_title() . '</a>';
/* translators: 1: Post title */
$h1 = sprintf( __( 'Compare Revisions of &#8220;%1$s&#8221;' ), $post_title );
$return_to_post = '<a href="' . $post_edit_link . '">' . __( '&larr; Return to editor' ) . '</a>';
$title = __( 'Revisions' );
$redirect = false;
break;
}
// Empty post_type means either malformed object found, or no valid parent was found.
if ( ! $redirect && empty( $post->post_type ) )
if ( ! $redirect && empty( $post->post_type ) ) {
$redirect = 'edit.php';
}
if ( ! empty( $redirect ) ) {
wp_redirect( $redirect );
@@ -93,10 +107,11 @@ if ( ! empty( $redirect ) ) {
}
// This is so that the correct "Edit" menu item is selected.
if ( ! empty( $post->post_type ) && 'post' != $post->post_type )
if ( ! empty( $post->post_type ) && 'post' != $post->post_type ) {
$parent_file = $submenu_file = 'edit.php?post_type=' . $post->post_type;
else
} else {
$parent_file = $submenu_file = 'edit.php';
}
wp_enqueue_script( 'revisions' );
wp_localize_script( 'revisions', '_wpRevisionsSettings', wp_prepare_revisions_for_js( $post, $revision_id, $from ) );
@@ -110,11 +125,13 @@ $revisions_overview .= '<ul><li>' . __( 'To navigate between revisions, <strong>
$revisions_overview .= '<li>' . __( 'Compare two different revisions by <strong>selecting the &#8220;Compare any two revisions&#8221; box</strong> to the side.' ) . '</li>';
$revisions_overview .= '<li>' . __( 'To restore a revision, <strong>click Restore This Revision</strong>.' ) . '</li></ul>';
get_current_screen()->add_help_tab( array(
'id' => 'revisions-overview',
'title' => __( 'Overview' ),
'content' => $revisions_overview
) );
get_current_screen()->add_help_tab(
array(
'id' => 'revisions-overview',
'title' => __( 'Overview' ),
'content' => $revisions_overview,
)
);
$revisions_sidebar = '<p><strong>' . __( 'For more information:' ) . '</strong></p>';
$revisions_sidebar .= '<p>' . __( '<a href="https://codex.wordpress.org/Revision_Management">Revisions Management</a>' ) . '</p>';