WordPress.org

Make WordPress Core

Ticket #23396: meta-options-comments.diff

File meta-options-comments.diff, 14.3 KB (added by adamsilverstein, 5 years ago)

comments in meta box (mockup), table layout

  • wp-includes/post-template.php

     
    13011301                return false;
    13021302
    13031303        /* translators: revision date format, see http://php.net/date */
    1304         $datef = _x( 'j F, Y @ G:i', 'revision date format');
     1304        $datef = _x( 'D, M jS, Y @ G:i a', 'revision date format');
    13051305        /* translators: 1: date */
    13061306        $autosavef = __( '%1$s [Autosave]' );
    13071307        /* translators: 1: date */
     
    13711371        }
    13721372
    13731373        /* translators: post revision: 1: when, 2: author name */
    1374         $titlef = _x( '%1$s by %2$s', 'post revision' );
     1374        $titlef = _x( '<strong>%1$s</strong></td><td>%2$s', 'post revision' );
    13751375
    13761376        if ( $parent )
    13771377                array_unshift( $revisions, $post );
    13781378
    13791379        $rows = $right_checked = '';
    13801380        $class = false;
     1381        $i=0;
    13811382        $can_edit_post = current_user_can( 'edit_post', $post->ID );
    13821383        foreach ( $revisions as $revision ) {
    13831384                if ( !current_user_can( 'read_post', $revision->ID ) )
     
    13851386                if ( 'revision' === $type && wp_is_post_autosave( $revision ) )
    13861387                        continue;
    13871388
    1388                 $date = wp_post_revision_title( $revision );
     1389                $date = wp_post_revision_title( $revision, false );
    13891390                $name = get_the_author_meta( 'display_name', $revision->post_author );
    1390 
     1391                $editlink = '<a href="' . get_edit_post_link( $revision->ID ) . '">' . __( 'View' ) . '</a>';
     1392                if (1>$i++) {
     1393                        $revision_comment_field = '<table><tr><td><textarea type="textarea" class="revsion-comment-imput" cols="50" rows="1" placeholder="' . __('Revision comments') . '" name="revision-comment-' . $revision->ID . '" ></textarea></td>';
     1394                        $revision_comment_field.='<td><input type="button" value="Save" class="button saverevisioncomment"></td></tr></table>';
     1395                } else {
     1396                        $revision_comment_field='<a href="javascript:;">' . __( 'Edit Comment' ) . '</a>';
     1397                }
    13911398                if ( 'form-table' == $format ) {
    13921399                        if ( $left )
    13931400                                $left_checked = $left == $revision->ID ? ' checked="checked"' : '';
     
    13981405                        $class = $class ? '' : " class='alternate'";
    13991406
    14001407                        if ( $post->ID != $revision->ID && $can_edit_post )
    1401                                 $actions = '<a href="' . wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'action' => 'restore' ) ), "restore-post_$post->ID|$revision->ID" ) . '">' . __( 'Restore' ) . '</a>';
     1408                                $actions =      '<a href="' . wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'action' => 'restore' ) ), "restore-post_$post->ID|$revision->ID" ) . '">' . __( 'Restore' ) . '</a>'.
     1409                                        ' &middot ' . $editlink .
     1410                                        ' &middot; <a href="' . 'revision.php?action=diff&right=' . $post->ID .'&left=' . $revision->ID . '">' . __( 'Compare to' ) . '</a>';
     1411                                 
     1412
    14021413                        else
    14031414                                $actions = '';
    14041415
     1416                        $avatar = get_avatar( $revision->post_author, 24 );
    14051417                        $rows .= "<tr$class>\n";
    1406                         $rows .= "\t<th style='white-space: nowrap' scope='row'><input type='radio' name='left' value='$revision->ID'$left_checked /></th>\n";
    1407                         $rows .= "\t<th style='white-space: nowrap' scope='row'><input type='radio' name='right' value='$revision->ID'$right_checked /></th>\n";
    1408                         $rows .= "\t<td>$date</td>\n";
    1409                         $rows .= "\t<td>$name</td>\n";
    1410                         $rows .= "\t<td class='action-links'>$actions</td>\n";
     1418                        $rows .= "\t<td class='revision-details'>$avatar <strong>$name</strong></td>\n";
     1419                        $rows .= "\t<td class='revision-details'>$date<br />$actions</td>\n";
    14111420                        $rows .= "</tr>\n";
    14121421                } else {
    1413                         $title = sprintf( $titlef, $date, $name );
    1414                         $rows .= "\t<li>$title</li>\n";
     1422                        $avatar = get_avatar( $revision->post_author, 18 );
     1423                        $title = sprintf( $titlef, $name, $date );
     1424                        $rows .= "\t<tr><td>$avatar $title</td><td>$revision_comment_field</td><td>$editlink</td></tr>\n";
    14151425                }
    14161426        }
    14171427
     
    14321442<table class="widefat post-revisions" cellspacing="0" id="post-revisions">
    14331443        <col />
    14341444        <col />
    1435         <col style="width: 33%" />
    1436         <col style="width: 33%" />
    1437         <col style="width: 33%" />
    14381445<thead>
    14391446<tr>
    1440         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Old', 'revisions column name' ); ?></th>
    1441         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'New', 'revisions column name' ); ?></th>
    1442         <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Date Created', 'revisions column name' ); ?></th>
    1443         <th scope="col"><?php _e( 'Author' ); ?></th>
    1444         <th scope="col" class="action-links"><?php _e( 'Actions' ); ?></th>
     1447        <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Author', 'author column name' ); ?></th>
     1448        <th scope="col"><?php /* translators: column name in revisions */ _ex( 'Revisions', 'revisions column name' ); ?></th>
    14451449</tr>
    14461450</thead>
    14471451<tbody>
     
    14551459
    14561460<?php
    14571461        else :
    1458                 echo "<ul class='post-revisions'>\n";
     1462                echo '<table id="post-revisions">';
     1463
     1464                echo '<tr class="post-revisions">';
     1465                echo '<td class="post-revision-header">' . __( 'Author' ) . '</td><td>'.__( 'Date/Time' ).'</td><td>' . __('Comment' ) .'</td><td>' . __('Action' ) . '</td></tr>';
    14591466                echo $rows;
    1460                 echo "</ul>";
     1467                echo "</table>";
    14611468        endif;
    14621469
    14631470}
  • wp-includes/wp-diff.php

     
    9898         * @return string
    9999         */
    100100        function addedLine( $line ) {
    101                 return "<td>+</td><td class='diff-addedline'>{$line}</td>";
     101                return "<td><div class='diff-addedline-leftcol'>{$line}</div></td><td class='ltype'><div class='diff-addedline'>" . __("Added") . "</div></td>";
    102102        }
    103103
    104104        /**
     
    108108         * @return string
    109109         */
    110110        function deletedLine( $line ) {
    111                 return "<td>-</td><td class='diff-deletedline'>{$line}</td>";
     111                return "<td><div class='diff-deletedline-leftcol'>{$line}</div></td><td class='ltype'><div class='diff-deletedline'>" . __( "Removed" ) . "</div></td>";
    112112        }
    113113
    114114        /**
     
    118118         * @return string
    119119         */
    120120        function contextLine( $line ) {
    121                 return "<td> </td><td class='diff-context'>{$line}</td>";
     121                return "<td><div class='diff-context'>{$line}</div></td>";
    122122        }
    123123
    124124        /**
     
    127127         * @return string
    128128         */
    129129        function emptyLine() {
    130                 return '<td colspan="2">&nbsp;</td>';
     130                return '<td class="ltype">&nbsp;</td>';
    131131        }
    132132
    133133        /**
     
    142142                $r = '';
    143143                foreach ($lines as $line) {
    144144                        if ( $encode )
    145                                 $line = htmlspecialchars( $line );
    146                         $r .= '<tr>' . $this->emptyLine() . $this->addedLine( $line ) . "</tr>\n";
     145                                $line =  wp_kses_post( $line );
     146                        $r .= '<tr>' . $this->addedLine( $line ) . "</tr>\n";
    147147                }
    148148                return $r;
    149149        }
     
    160160                $r = '';
    161161                foreach ($lines as $line) {
    162162                        if ( $encode )
    163                                 $line = htmlspecialchars( $line );
    164                         $r .= '<tr>' . $this->deletedLine( $line ) . $this->emptyLine() . "</tr>\n";
     163                                $line = wp_kses_post( $line );
     164                        $r .= '<tr>' . $this->deletedLine( $line ) . "</tr>\n";
    165165                }
    166166                return $r;
    167167        }
     
    178178                $r = '';
    179179                foreach ($lines as $line) {
    180180                        if ( $encode )
    181                                 $line = htmlspecialchars( $line );
     181                                $line = wp_kses_post( $line );
    182182                        $r .= '<tr>' .
    183                                 $this->contextLine( $line ) . $this->contextLine( $line ) . "</tr>\n";
     183                                $this->contextLine( $line ) . $this->emptyLine() . "</tr>\n";
    184184                }
    185185                return $r;
    186186        }
     
    248248                        if ( isset( $orig_diffs[$orig_rows[$row]] ) )
    249249                                $orig_line = $orig_diffs[$orig_rows[$row]];
    250250                        elseif ( isset( $orig[$orig_rows[$row]] ) )
    251                                 $orig_line = htmlspecialchars($orig[$orig_rows[$row]]);
     251                                $orig_line = wp_kses_post($orig[$orig_rows[$row]]);
    252252                        else
    253253                                $orig_line = '';
    254254
    255255                        if ( isset( $final_diffs[$final_rows[$row]] ) )
    256256                                $final_line = $final_diffs[$final_rows[$row]];
    257257                        elseif ( isset( $final[$final_rows[$row]] ) )
    258                                 $final_line = htmlspecialchars($final[$final_rows[$row]]);
     258                                $final_line = wp_kses_post($final[$final_rows[$row]]);
    259259                        else
    260260                                $final_line = '';
    261261
     
    264264                        } elseif ( $final_rows[$row] < 0 ) { // Final is blank. This is really a deleted row.
    265265                                $r .= $this->_deleted( array($orig_line), false );
    266266                        } else { // A true changed row.
    267                                 $r .= '<tr>' . $this->deletedLine( $orig_line ) . $this->addedLine( $final_line ) . "</tr>\n";
     267                                $r .= '<tr>' . $this->deletedLine( $orig_line ) . '</tr><tr>' . $this->addedLine( $final_line ) . "</tr>\n";
    268268                        }
    269269                }
    270270
  • wp-includes/Text/Diff/Renderer/inline.php

     
    200200
    201201    function _encode(&$string)
    202202    {
    203         $string = htmlspecialchars($string);
     203        $string = wp_kses_post($string);
    204204    }
    205205
    206206}
  • wp-includes/pluggable.php

     
    17221722                return '';
    17231723
    17241724        $r  = "<table class='diff'>\n";
    1725         $r .= "<col class='ltype' /><col class='content' /><col class='ltype' /><col class='content' />";
     1725        $r .= "<col class='content' /><col class='ltype' />";
    17261726
    17271727        if ( $args['title'] || $args['title_left'] || $args['title_right'] )
    17281728                $r .= "<thead>";
    17291729        if ( $args['title'] )
    1730                 $r .= "<tr class='diff-title'><th colspan='4'>$args[title]</th></tr>\n";
     1730                $r .= "<tr class='diff-title'><th colspan='3'>$args[title]</th></tr>\n";
    17311731        if ( $args['title_left'] || $args['title_right'] ) {
    17321732                $r .= "<tr class='diff-sub-title'>\n";
    1733                 $r .= "\t<td></td><th>$args[title_left]</th>\n";
    1734                 $r .= "\t<td></td><th>$args[title_right]</th>\n";
     1733                $r .= "\t<th>$args[title_left]</th>\n";
     1734                $r .= "\t<th>$args[title_right]</th>\n";
    17351735                $r .= "</tr>\n";
    17361736        }
    17371737        if ( $args['title'] || $args['title_left'] || $args['title_right'] )
  • wp-admin/revision.php

     
    153153
    154154<h2 class="long-header"><?php echo $h2; ?></h2>
    155155
    156 <table class="form-table ie-fixed">
     156<table class="form-table ie-fixed revision-compare">
    157157        <col class="th" />
    158158<?php if ( 'diff' == $action ) : ?>
    159159<tr id="revision">
    160         <th scope="row"></th>
    161160        <th scope="col" class="th-full">
    162                 <span class="alignleft"><?php printf( __('Older: %s'), wp_post_revision_title( $left_revision ) ); ?></span>
    163                 <span class="alignright"><?php printf( __('Newer: %s'), wp_post_revision_title( $right_revision ) ); ?></span>
     161                <span  class="revision-details"><?php
     162                 _e('<strong>Comparing from the current version of the post.</strong><br />');
     163        ?>
     164                <span class="revision-details" ><?php
     165                printf( __('<strong>Comparing to revision dated </strong> %s, created by: '), wp_post_revision_title( $left_revision ) );
     166                echo get_avatar( $left_revision->post_author, 18 ) . get_the_author_meta( 'display_name', $left_revision->post_author );
     167        ?>
     168        </span> <br />
     169               
    164170        </th>
    165171</tr>
    166172<?php endif;
     
    175181                        continue; // There is no difference between left and right
    176182                $identical = false;
    177183        } else {
    178                 add_filter( "_wp_post_revision_field_$field", 'htmlspecialchars' );
     184                add_filter( "_wp_post_revision_field_$field", 'wp_kses_post' );
    179185                $content = apply_filters( "_wp_post_revision_field_$field", $revision->$field, $field );
    180186        }
    181187        ?>
    182188
    183189        <tr id="revision-field-<?php echo $field; ?>">
    184                 <th scope="row"><?php echo esc_html( $field_title ); ?></th>
    185190                <td><div class="pre"><?php echo $content; ?></div></td>
    186191        </tr>
    187192
     
    203208
    204209</table>
    205210
    206 <br class="clear" />
    207 
     211<div id="revisions-detail-list">
    208212<h3><?php echo $title; ?></h3>
    209213
    210214<?php
     
    216220wp_list_post_revisions( $post, $args );
    217221
    218222?>
    219 
    220223</div>
     224</div>
    221225
    222226<?php
    223227require_once( './admin-footer.php' );
  • wp-admin/css/colors-fresh.css

     
    13501350
    13511351/* Diff */
    13521352table.diff .diff-deletedline {
    1353         background-color: #fdd;
     1353        background-color: #c33;
     1354        padding:10px;
     1355        margin:2px;
     1356        -webkit-border-radius: 5px;
     1357        border-radius: 5px;
     1358        color: #fff;
     1359        text-align: center;
    13541360}
     1361table.diff .diff-deletedline-leftcol {
     1362        border: #c33 dotted 2px;
     1363        padding:10px;
     1364        margin:2px;
     1365        -webkit-border-radius: 5px;
     1366        border-radius: 5px;
     1367        text-decoration: line-through;
     1368}
    13551369
     1370table.diff .diff-context {
     1371        padding:10px;
     1372        margin:2px;
     1373        -webkit-border-radius: 5px;
     1374        border-radius: 5px;
     1375}
     1376
     1377table.diff .diff-context:hover {
     1378        background-color: #FFE;
     1379}
     1380
    13561381table.diff .diff-deletedline del {
    1357         background-color: #f99;
     1382        background-color: #f33;
    13581383}
    13591384
    13601385table.diff .diff-addedline {
    1361         background-color: #dfd;
     1386        background-color: #3a3;
     1387        padding:10px;
     1388        margin:2px;
     1389        -webkit-border-radius: 5px;
     1390        border-radius: 5px;
     1391        color: #fff;
     1392        text-align: center;
    13621393}
    13631394
     1395table.diff .diff-addedline-leftcol {
     1396        border: #3a3 dotted 2px;
     1397        padding:10px;
     1398        margin:2px;
     1399        -webkit-border-radius: 5px;
     1400        border-radius: 5px;
     1401}
     1402
    13641403table.diff .diff-addedline ins {
    1365         background-color: #9f9;
     1404        background-color: #3f3;
    13661405}
    13671406
    13681407#att-info {
  • wp-admin/css/wp-admin.css

     
    34363436}
    34373437
    34383438table.diff col.content {
    3439         width: 50%;
     3439        width: auto;
    34403440}
    34413441
    34423442table.diff tr {
     
    85858585.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap {
    85868586        margin-left: 8em;
    85878587}
     8588ul.post-revisions img {
     8589        float: left;
     8590        margin: 2px;
     8591}
     8592ul.post-revisions li {
     8593        border-bottom: 1px solid #FFF;
     8594}
     8595ul.post-revisions li  a {
     8596        line-height: 24px;
     8597}
     8598table#post-revisions tr td.revision-details, span.revision-details {
     8599        line-height: 16px;
     8600        padding: 0;
     8601        height: 30px;
     8602        vertical-align: middle;;
     8603}
     8604.form-table #revision  th{
     8605        padding-left: 28px;
     8606}
     8607table#post-revisions tr td img {
     8608        float: left;
     8609        margin: 4px;
     8610}
     8611 span.revision-details img {
     8612        margin: 1px;
     8613        vertical-align: middle;
     8614 }
     8615.diff .ltype {
     8616        width: 100px;
     8617}
     8618tr#revision-field-post_title td div {
     8619        font-size: 150%;
     8620        font-weight: bold;
     8621}
     8622.revsion-comment-imput {
     8623        min-width: 300px;
     8624        height: 24px;
     8625}
     8626tr.post-revisions td, table#post-revisions tbody tr td
     8627{
     8628        padding: 5px;
     8629}
     8630table#post-revisions tbody tr td table tr td {
     8631        padding: 0;
     8632}
     8633tr.post-revisions {
     8634        font-weight: bold;
     8635}
     8636@media screen and (min-width: 1200px) {
     8637        .revision-compare {
     8638                float: right;
     8639                width: 70%;
     8640        }
     8641        #revisions-detail-list {
     8642                float: left;
     8643                width: 30%;
     8644        }
     8645}
     8646 No newline at end of file