WordPress.org

Make WordPress Core

Ticket #24213: 24213.patch

File 24213.patch, 5.5 KB (added by ocean90, 5 years ago)
  • wp-includes/post-template.php

     
    13851385 * restore action links.
    13861386 *
    13871387 * Second argument controls parameters:
    1388  *   (bool)   parent : include the parent (the "Current Revision") in the list.
    1389  *                     Deprecated (ignored), since 3.6 the revisions always include
    1390  *                     a copy of the current post.
    1391  *   (string) format : 'list' or 'form-table'. 'list' outputs UL, 'form-table'
    1392  *                     outputs TABLE with UI.
    1393  *   (int)    right  : what revision is currently being viewed - used in
    1394  *                     form-table format.
    1395  *   (int)    left   : what revision is currently being diffed against right -
    1396  *                     used in form-table format.
     1388 *   (string) type : 'all' (default), 'revision' or 'autosave'. 'revision' only revisions, 'autosave'
     1389 *                     only autosaves, 'all' revisions and autosaves.
    13971390 *
    13981391 * @package WordPress
    13991392 * @subpackage Post_Revisions
     
    14041397 * @uses get_edit_post_link()
    14051398 * @uses get_the_author_meta()
    14061399 *
    1407  * @todo split into two functions (list, form-table) ?
    1408  *
    14091400 * @param int|object $post_id Post ID or post object.
    14101401 * @param string|array $args See description {@link wp_parse_args()}.
    14111402 * @return null
    14121403 */
    14131404function wp_list_post_revisions( $post_id = 0, $args = null ) {
    1414         if ( !$post = get_post( $post_id ) )
     1405        if ( ! $post = get_post( $post_id ) )
    14151406                return;
    14161407
    1417         $defaults = array( 'right' => false, 'left' => false, 'format' => 'list', 'type' => 'all' );
     1408        $defaults = array( 'parent' => null, 'right' => null, 'left' => null, 'format' => null, 'type' => 'all' );
    14181409        extract( wp_parse_args( $args, $defaults ), EXTR_SKIP );
    14191410
    1420         if ( !$revisions = wp_get_post_revisions( $post->ID ) )
     1411        if ( ! empty( $parent ) || ! empty( $right ) || ! empty( $left ) || ! empty( $format ) )
     1412                _deprecated_argument( __FUNCTION__, '3.6' );
     1413
     1414        if ( ! $revisions = wp_get_post_revisions( $post->ID ) )
    14211415                return;
    14221416
    14231417        $rows = '';
    14241418        foreach ( $revisions as $revision ) {
    1425                 if ( !current_user_can( 'read_post', $revision->ID ) )
     1419                if ( ! current_user_can( 'read_post', $revision->ID ) )
    14261420                        continue;
    14271421
    14281422                $is_autosave = wp_is_post_autosave( $revision );
     
    14321426                $rows .= "\t<li>" . wp_post_revision_title_expanded( $revision ) . "</li>\n";
    14331427        }
    14341428
    1435         if ( 'form-table' == $format ) : ?>
     1429        echo "<ul class='post-revisions'>\n";
     1430        echo $rows;
    14361431
    1437 <form action="revision.php" method="get">
    1438 
    1439 <div class="tablenav">
    1440         <div class="alignleft">
    1441                 <input type="submit" class="button-secondary" value="<?php esc_attr_e( 'Compare Revisions' ); ?>" />
    1442                 <input type="hidden" name="action" value="diff" />
    1443                 <input type="hidden" name="post_type" value="<?php echo esc_attr($post->post_type); ?>" />
    1444         </div>
    1445 </div>
    1446 
    1447 <br class="clear" />
    1448 
    1449 <table class="widefat post-revisions" cellspacing="0" id="post-revisions">
    1450         <col />
    1451         <col />
    1452         <col style="width: 33%" />
    1453         <col style="width: 33%" />
    1454         <col style="width: 33%" />
    1455 <thead>
    1456 <tr>
    1457         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Old', 'revisions column name' ); ?></th>
    1458         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'New', 'revisions column name' ); ?></th>
    1459         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Date Created', 'revisions column name' ); ?></th>
    1460         <th scope="col"><?php _e( 'Author' ); ?></th>
    1461         <th scope="col" class="action-links"><?php _e( 'Actions' ); ?></th>
    1462 </tr>
    1463 </thead>
    1464 <tbody>
    1465 
    1466 <?php echo $rows; ?>
    1467 
    1468 </tbody>
    1469 </table>
    1470 
    1471 </form>
    1472 
    1473 <?php
    1474         else :
    1475                 echo "<ul class='post-revisions'>\n";
    1476                 echo $rows;
    1477 
    1478                 // if the post was previously restored from a revision
    1479                 // show the restore event details
    1480                 if ( $restored_from_meta = get_post_meta( $post->ID, '_post_restored_from', true ) ) {
    1481                         $author = get_user_by( 'id', $restored_from_meta[ 'restored_by_user' ] );
    1482                         /* translators: revision date format, see http://php.net/date */
    1483                         $datef = _x( 'j F, Y @ G:i:s', 'revision date format');
    1484                         $date = date_i18n( $datef, strtotime( $restored_from_meta[ 'restored_time' ] ) );
    1485                         $time_diff = human_time_diff( $restored_from_meta[ 'restored_time' ] ) ;
     1432        // if the post was previously restored from a revision
     1433        // show the restore event details
     1434        if ( $restored_from_meta = get_post_meta( $post->ID, '_post_restored_from', true ) ) {
     1435                $author = get_user_by( 'id', $restored_from_meta[ 'restored_by_user' ] );
     1436                /* translators: revision date format, see http://php.net/date */
     1437                $datef = _x( 'j F, Y @ G:i:s', 'revision date format');
     1438                $date = date_i18n( $datef, strtotime( $restored_from_meta[ 'restored_time' ] ) );
     1439                $time_diff = human_time_diff( $restored_from_meta[ 'restored_time' ] ) ;
     1440                ?>
     1441                <hr />
     1442                <div id="revisions-meta-restored">
     1443                        <?php
     1444                        printf(
     1445                                /* translators: restored revision details: 1: gravatar image, 2: author name, 3: time ago, 4: date */
     1446                                __( 'Previously restored by %1$s %2$s, %3$s ago (%4$s)' ),
     1447                                get_avatar( $author->ID, 24 ),
     1448                                $author->display_name,
     1449                                $time_diff,
     1450                                $date
     1451                        );
    14861452                        ?>
    1487                         <hr />
    1488                         <div id="revisions-meta-restored">
    1489                                 <?php
    1490                                 printf(
    1491                                         /* translators: restored revision details: 1: gravatar image, 2: author name, 3: time ago, 4: date */
    1492                                         __( 'Previously restored by %1$s %2$s, %3$s ago (%4$s)' ),
    1493                                         get_avatar( $author->ID, 24 ),
    1494                                         $author->display_name,
    1495                                         $time_diff,
    1496                                         $date
    1497                                 );
    1498                                 ?>
    1499                         </div>
    1500                         <?php
     1453                </div>
     1454                <?php
    15011455                echo "</ul>";
    1502                 }
     1456        }
    15031457
    1504         endif;
    15051458}