Make WordPress Core


Ignore:
Timestamp:
07/24/2013 06:08:14 AM (11 years ago)
Author:
nacin
Message:

Revisions changes.

  • Eliminates the bloated Revisions meta box in favor of 'Revisions: #' in the publish box.
  • Adds ability to compare autosave to current post, when revisions are disabled.
  • Makes autosaves stand out visually, including "Restore This Autosave".

Also:

  • Adds missing capability check for restoring a revision.
  • When no revision matches the post's current modified time, avoid marking an autosave as 'current'.
  • Fixes wp_get_post_autosave() to return an autosave even when revisions are disabled.
  • Add 'check_enabled' arg to wp_get_post_revisions(); false avoids the wp_revisions_enabled() check.
  • Adds a responsive slider that is narrower for fewer versions. props markjaquith.

see #24804.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/revision.php

    r24763 r24790  
    3232        break;
    3333
    34     // Revisions disabled (previously checked autosavegs && ! wp_is_post_autosave( $revision ))
     34    // Revisions disabled (previously checked autosaves && ! wp_is_post_autosave( $revision ))
    3535    if ( ! wp_revisions_enabled( $post ) ) {
    3636        $redirect = 'edit.php?post_type=' . $post->post_type;
     
    134134    <div class="author-card">
    135135    <# if ( 'undefined' !== typeof data && 'undefined' !== typeof data.author ) { #>
    136         {{{ data.author.avatar }}}
    137         <div class="author-info">
    138                
    139             <span class="byline"><?php printf( __( 'Revision by %s' ),
    140                 '<span class="author-name">{{ data.author.name }}</span>' ); ?></span>
    141             <span class="time-ago">{{ data.timeAgo }}</span>
    142             <span class="date">({{ data.dateShort }})</span>
    143         </div>
     136            <div class="author-card<# if ( data.autosave ) { #> autosave<# } #>">
     137                {{{ data.author.avatar }}}
     138                <div class="author-info">
     139                <# if ( data.autosave ) { #>
     140                    <span class="byline"><?php printf( __( 'Autosave by %s' ),
     141                        '<span class="author-name">{{ data.author.name }}</span>' ); ?></span>
     142                <# } else if ( data.current ) { #>
     143                    <span class="byline"><?php printf( __( 'Current Revision by %s' ),
     144                        '<span class="author-name">{{ data.author.name }}</span>' ); ?></span>
     145                <# } else { #>
     146                    <span class="byline"><?php printf( __( 'Revision by %s' ),
     147                        '<span class="author-name">{{ data.author.name }}</span>' ); ?></span>
     148                <# } #>
     149                    <span class="time-ago">{{ data.timeAgo }}</span>
     150                    <span class="date">({{ data.dateShort }})</span>
     151                </div>
     152            </div>
    144153    <# } #>
    145154    </div>
     
    167176            <strong><?php _ex( 'From:', 'Followed by post revision info' ); ?></strong>
    168177        <# if ( 'undefined' !== typeof data.from ) { #>
    169             <div class="author-card">
     178            <div class="author-card<# if ( data.from.attributes.autosave ) { #> autosave<# } #>">
    170179                {{{ data.from.attributes.author.avatar }}}
    171180                <div class="author-info">
     181                <# if ( data.from.attributes.autosave ) { #>
     182                    <span class="byline"><?php printf( __( 'Autosave by %s' ),
     183                        '<span class="author-name">{{ data.from.attributes.author.name }}</span>' ); ?></span>
     184                <# } else if ( data.from.attributes.current ) { #>
     185                    <span class="byline"><?php printf( __( 'Current Revision by %s' ),
     186                        '<span class="author-name">{{ data.from.attributes.author.name }}</span>' ); ?></span>
     187                <# } else { #>
    172188                    <span class="byline"><?php printf( __( 'Revision by %s' ),
    173189                        '<span class="author-name">{{ data.from.attributes.author.name }}</span>' ); ?></span>
     190                <# } #>
    174191                    <span class="time-ago">{{ data.from.attributes.timeAgo }}</span>
    175192                    <span class="date">({{ data.from.attributes.dateShort }})</span>
     
    184201            <strong><?php _ex( 'To:', 'Followed by post revision info' ); ?></strong>
    185202        <# if ( 'undefined' !== typeof data.to ) { #>
    186             <div class="author-card">
     203            <div class="author-card<# if ( data.to.attributes.autosave ) { #> autosave<# } #>">
    187204                {{{ data.to.attributes.author.avatar }}}
    188205                <div class="author-info">
     206                <# if ( data.to.attributes.autosave ) { #>
     207                    <span class="byline"><?php printf( __( 'Autosave by %s' ),
     208                        '<span class="author-name">{{ data.to.attributes.author.name }}</span>' ); ?></span>
     209                <# } else if ( data.to.attributes.current ) { #>
     210                    <span class="byline"><?php printf( __( 'Current Revision by %s' ),
     211                        '<span class="author-name">{{ data.to.attributes.author.name }}</span>' ); ?></span>
     212                <# } else { #>
    189213                    <span class="byline"><?php printf( __( 'Revision by %s' ),
    190214                        '<span class="author-name">{{ data.to.attributes.author.name }}</span>' ); ?></span>
     215                <# } #>
    191216                    <span class="time-ago">{{ data.to.attributes.timeAgo }}</span>
    192217                    <span class="date">({{ data.to.attributes.dateShort }})</span>
    193218                </div>
    194219        <# } #>
     220        <# if ( data.to.attributes.restoreUrl ) { #>
    195221            <input
    196222            <# if ( data.to.attributes.current ) { #>
    197223                disabled="disabled"
    198224            <# } #>
    199             type="button" class="restore-revision button button-primary" data-restore-link="{{{ data.restoreLink }}}" value="<?php esc_attr_e( 'Restore This Revision' ); ?>" />
     225            <# if ( data.to.attributes.autosave ) { #>
     226                type="button" class="restore-revision button button-primary" value="<?php esc_attr_e( 'Restore This Autosave' ); ?>" />
     227            <# } else { #>
     228                type="button" class="restore-revision button button-primary" value="<?php esc_attr_e( 'Restore This Revision' ); ?>" />
     229            <# } #>
     230        <# } #>
    200231        </div>
    201232    </div>
Note: See TracChangeset for help on using the changeset viewer.