WordPress.org

Make WordPress Core

Ticket #43620: 43620.5.diff

File 43620.5.diff, 8.5 KB (added by azaozz, 17 months ago)
  • src/wp-admin/css/edit.css

     
    648648
    649649/* Sugested text for privacy policy postbox */
    650650.privacy-text-box {
    651         margin: 10px 0 0;
     651        margin: -6px -12px -12px;
    652652}
    653653
    654654.privacy-text-box-head {
     
    662662}
    663663
    664664.privacy-text-box-head p {
    665         padding: 0 12px 14px;
     665        padding: 12px 12px 14px;
    666666        margin: 0;
    667667}
    668668
     
    671671        overflow: auto;
    672672}
    673673
    674 #privacy-text-box .inside {
    675         margin: 0;
    676 }
    677 
    678674.privacy-text-box h3 {
    679675        font-size: 1em;
    680         margin: 1em 0 0.5em;
     676        margin: 1em 0 0.1em;
    681677}
    682678
    683679.privacy-text-section .privacy-text-copy {
     
    686682
    687683.privacy-text-section {
    688684        position: relative;
    689         padding: 1px 14px 1px 12px;
     685        padding: 1px 12px;
    690686        border-top: 1px solid #e3e3e3;
    691687        border-left: 4px solid transparent;
    692688}
     
    707703        font-weight: 600;
    708704}
    709705
    710 .closed .privacy-text-box-body {
    711         display: none;
    712 }
    713 
    714 .privacy-text-section.folded {
    715         height: 150px;
     706.privacy-text-section.fold {
     707        height: 140px;
    716708        overflow: hidden;
    717709}
    718710
    719711.privacy-text-actions {
    720712        line-height: 32px;
    721         padding-bottom: 6px;
     713        padding-bottom: 8px;
     714        margin-top: -8px;
    722715}
    723716
    724 .folded .privacy-text-actions {
     717.fold .privacy-text-actions {
    725718        position: absolute;
    726719        bottom: 0;
    727720        background-color: white;
     
    740733}
    741734
    742735.policy-text-more,
    743 .folded .privacy-text-copy,
    744 .folded .policy-text-less {
     736.fold .privacy-text-copy,
     737.fold .policy-text-less {
    745738        display: none;
    746739}
    747740
    748 .folded .policy-text-more {
     741.fold .policy-text-more {
    749742        display: inline;
    750743}
    751744
  • src/wp-admin/edit-form-advanced.php

     
    3737
    3838wp_enqueue_script( 'post' );
    3939$_wp_editor_expand = $_content_editor_dfw = false;
     40$_wp_privacy_policy_page = ( 'page' === $post_type && $post_ID === (int) get_option( 'wp_page_for_privacy_policy' ) );
    4041
    4142/**
    4243 * Filters whether to enable the 'expand' functionality in the post editor.
     
    5657        $_wp_editor_expand   = ( get_user_setting( 'editor_expand', 'on' ) === 'on' );
    5758}
    5859
     60// No editor expand for the Privacy Policy page. Makes it harder to see/access the postbox under the editor.
     61if ( $_wp_privacy_policy_page ) {
     62        $_wp_editor_expand = false;
     63}
     64
    5965if ( wp_is_mobile() ) {
    6066        wp_enqueue_script( 'jquery-touch-punch' );
    6167}
     
    243249// All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action).
    244250require_once( ABSPATH . 'wp-admin/includes/meta-boxes.php' );
    245251
     252// Privacy policy metabox.
     253if ( $_wp_privacy_policy_page ) {
     254        add_meta_box( 'privacypolicy', __( 'Suggested Privacy Policy Content' ), array( 'WP_Privacy_Policy_Content', 'privacy_policy_postbox' ), 'page', 'normal', 'high' );
     255}
    246256
    247257$publish_callback_args = null;
    248258if ( post_type_supports( $post_type, 'revisions' ) && 'auto-draft' != $post->post_status ) {
  • src/wp-admin/includes/admin-filters.php

     
    136136// Privacy policy text changes check.
    137137add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'text_change_check' ), 20 );
    138138
    139 // Show a "postbox" with the text suggestions for a privacy policy.
    140 add_action( 'edit_form_after_title', array( 'WP_Privacy_Policy_Content', 'privacy_policy_postbox' ) );
    141 
    142139// Add the suggested policy text from WordPress.
    143140add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'add_suggested_content' ), 15 );
    144141
  • src/wp-admin/includes/misc.php

     
    15711571
    15721572                        $plugin_name = esc_html( $section['plugin_name'] );
    15731573
    1574                         $content .= '<div class="privacy-text-section folded' . $class . '">';
     1574                        $content .= '<div class="privacy-text-section fold' . $class . '">';
    15751575                        $content .= '<h3>' . $plugin_name . '</h3>';
    15761576
    15771577                        if ( ! empty( $meta ) ) {
     
    16031603                }
    16041604
    16051605                ?>
    1606                 <div id="privacy-text-box" class="privacy-text-box postbox <?php echo postbox_classes( 'privacy-text-box', 'page' ); ?>">
    1607                         <button type="button" class="handlediv" aria-expanded="true">
    1608                                 <span class="screen-reader-text"><?php _e( 'Toggle panel: Suggested privacy policy text' ); ?></span>
    1609                                 <span class="toggle-indicator" aria-hidden="true"></span>
    1610                         </button>
    1611                         <div class="privacy-text-box-head hndle">
    1612                                 <h2><?php _e( 'This suggested privacy policy text comes from plugins and themes you have installed.' ); ?></h2>
     1606                <div class="privacy-text-box">
     1607                        <div class="privacy-text-box-head">
    16131608                                <p>
    1614                                         <?php _e( 'We suggest reviewing this text then copying and pasting it into your privacy policy page.' ); ?>
     1609                                        <?php _e( 'This suggested content comes from plugins and themes you have installed.' ); ?>
     1610                                        <?php _e( 'We suggest reviewing it then copying and pasting it into your privacy policy page.' ); ?>
    16151611                                        <?php _e( 'Please remember you are responsible for the policies you choose to adopt, so review the content and make any necessary edits.' ); ?>
    16161612                                </p>
    16171613                        </div>
  • src/wp-admin/includes/screen.php

     
    118118                                if ( false == $box || ! $box['title'] ) {
    119119                                        continue;
    120120                                }
    121                                 // Submit box cannot be hidden
    122                                 if ( 'submitdiv' == $box['id'] || 'linksubmitdiv' == $box['id'] ) {
     121
     122                                // These cannot be hidden
     123                                $not_hidden = array(
     124                                        'submitdiv',
     125                                        'linksubmitdiv',
     126                                        'privacypolicy',
     127                                );
     128                                if ( in_array( $box['id'], $not_hidden, true ) ) {
    123129                                        continue;
    124130                                }
    125131
  • src/wp-admin/js/post.js

     
    12691269        } );
    12701270
    12711271} )( jQuery, new wp.utils.WordCounter() );
    1272 
    1273 ( function( $ ) {
    1274         // Privacy policy postbox, copy button.
    1275         $( document ).on( 'click', function( event ) {
    1276                 var $target = $( event.target );
    1277                 var node, range;
    1278 
    1279                 if ( $target.is( 'button.privacy-text-copy' ) ) {
    1280                         node = $target.parent().parent().find( 'div.policy-text' )[0];
    1281 
    1282                         if ( node ) {
    1283                                 try {
    1284                                         window.getSelection().removeAllRanges();
    1285                                         range = document.createRange();
    1286                                         range.selectNodeContents( node );
    1287                                         window.getSelection().addRange( range );
    1288 
    1289                                         document.execCommand( 'copy' );
    1290                                         window.getSelection().removeAllRanges();
    1291                                 } catch ( er ) {}
    1292                         }
    1293                 } else if ( $target.is( 'button.policy-text-more' ) ) {
    1294                         $target.parents( '.privacy-text-section' ).removeClass( 'folded' )
    1295                                 .find( '.policy-text' ).attr( 'aria-expanded', 'true' );
    1296                 } else if ( $target.is( 'button.policy-text-less' ) ) {
    1297                         $target.parents( '.privacy-text-section' ).addClass( 'folded' )
    1298                                 .find( '.policy-text' ).attr( 'aria-expanded', 'false' );
    1299                 }
    1300         });
    1301 
    1302 } )( jQuery );
  • src/wp-admin/js/postbox.js

     
    444444        };
    445445
    446446}(jQuery));
     447
     448( function( $ ) {
     449        // Privacy policy postbox, copy button.
     450        $( document ).on( 'click', function( event ) {
     451                var $target = $( event.target );
     452                var node, range;
     453
     454                if ( $target.is( 'button.privacy-text-copy' ) ) {
     455                        node = $target.parent().parent().find( 'div.policy-text' )[0];
     456
     457                        if ( node ) {
     458                                try {
     459                                        window.getSelection().removeAllRanges();
     460                                        range = document.createRange();
     461                                        range.selectNodeContents( node );
     462                                        window.getSelection().addRange( range );
     463
     464                                        document.execCommand( 'copy' );
     465                                        window.getSelection().removeAllRanges();
     466                                } catch ( er ) {}
     467                        }
     468                } else if ( $target.is( 'button.policy-text-more' ) ) {
     469                        $target.parents( '.privacy-text-section' ).removeClass( 'fold' )
     470                                .find( '.policy-text' ).attr( 'aria-expanded', 'true' );
     471                } else if ( $target.is( 'button.policy-text-less' ) ) {
     472                        $target.parents( '.privacy-text-section' ).addClass( 'fold' )
     473                                .find( '.policy-text' ).attr( 'aria-expanded', 'false' );
     474                }
     475        });
     476
     477} )( jQuery );