Ticket #21283: 21283.12.2.diff

File 21283.12.2.diff, 13.1 KB (added by lessbloat, 6 months ago)
  • wp-admin/includes/ajax-actions.php

     
    14211421 
    14221422        check_ajax_referer( 'find-posts' ); 
    14231423 
    1424         if ( empty($_POST['ps']) ) 
    1425                 wp_die(); 
     1424        $post_types = get_post_types( array( 'public' => true ), 'objects' ); 
     1425        unset( $post_types['attachment'] ); 
    14261426 
    1427         if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) ) 
    1428                 $what = $_POST['post_type']; 
    1429         else 
    1430                 $what = 'post'; 
     1427        $what = array_keys( $post_types ); 
     1428        $what = "'" . implode( "', '", $what ) . "'"; 
    14311429 
    14321430        $s = stripslashes($_POST['ps']); 
    14331431        preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); 
     
    14431441        if ( count($search_terms) > 1 && $search_terms[0] != $s ) 
    14441442                $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')"; 
    14451443 
    1446         $posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" ); 
     1444        if ( empty($_POST['ps']) ) 
     1445                $search = ''; 
     1446        else 
     1447                $search = 'AND (' . $search . ')'; 
    14471448 
     1449        $posts = $wpdb->get_results( "SELECT ID, post_title, post_type, post_status, post_date FROM $wpdb->posts WHERE post_type IN ($what) AND post_status IN ('draft', 'publish') $search ORDER BY post_date_gmt DESC LIMIT 50" ); 
     1450 
    14481451        if ( ! $posts ) { 
    1449                 $posttype = get_post_type_object($what); 
    1450                 wp_die( $posttype->labels->not_found ); 
     1452                wp_die( __('No items found.') ); 
    14511453        } 
    14521454 
    1453         $html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Date').'</th><th>'.__('Status').'</th></tr></thead><tbody>'; 
     1455        $html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th class="no-break">'.__('Type').'</th><th class="no-break">'.__('Date').'</th><th class="no-break">'.__('Status').'</th></tr></thead><tbody>'; 
    14541456        foreach ( $posts as $post ) { 
    14551457 
    14561458                switch ( $post->post_status ) { 
     
    14771479                } 
    14781480 
    14791481                $html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>'; 
    1480                 $html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n"; 
     1482                $html .= '<td><label for="found-'.$post->ID.'">' . esc_html( $post->post_title ) . '</label></td><td class="no-break">' . esc_html( $post_types[$post->post_type]->labels->singular_name ) . '</td><td class="no-break">'.esc_html( $time ) . '</td><td class="no-break">' . esc_html( $stat ). ' </td></tr>' . "\n\n"; 
    14811483        } 
     1484 
    14821485        $html .= '</tbody></table>'; 
    14831486 
    14841487        $x = new WP_Ajax_Response(); 
    14851488        $x->add( array( 
    1486                 'what' => $what, 
    14871489                'data' => $html 
    14881490        )); 
    14891491        $x->send(); 
    1490  
    14911492} 
    14921493 
    14931494function wp_ajax_widgets_order() { 
  • wp-admin/includes/template.php

     
    12781278                                <?php wp_nonce_field( 'find-posts', '_ajax_nonce', false ); ?> 
    12791279                                <label class="screen-reader-text" for="find-posts-input"><?php _e( 'Search' ); ?></label> 
    12801280                                <input type="text" id="find-posts-input" name="ps" value="" /> 
    1281                                 <input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" /><br /> 
    1282  
    1283                                 <?php 
    1284                                 $post_types = get_post_types( array('public' => true), 'objects' ); 
    1285                                 foreach ( $post_types as $post ) { 
    1286                                         if ( 'attachment' == $post->name ) 
    1287                                                 continue; 
    1288                                 ?> 
    1289                                 <input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> /> 
    1290                                 <label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label> 
    1291                                 <?php 
    1292                                 } ?> 
     1281                                <span class="spinner"></span> 
     1282                                <input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" /> 
    12931283                        </div> 
    12941284                        <div id="find-posts-response"></div> 
    12951285                </div> 
  • wp-admin/js/media.js

     
    33(function($){ 
    44        findPosts = { 
    55                open : function(af_name, af_val) { 
    6                         var st = document.documentElement.scrollTop || $(document).scrollTop(); 
     6                        var st = document.documentElement.scrollTop || $(document).scrollTop(), 
     7                                overlay = $( '.ui-find-overlay' ); 
    78 
     9                        if ( overlay.length == 0 ) { 
     10                                $( 'body' ).append( '<div class="ui-find-overlay"></div>' ); 
     11                                findPosts.overlay(); 
     12                        } 
     13 
     14                        overlay.show(); 
     15 
    816                        if ( af_name && af_val ) { 
    917                                $('#affected').attr('name', af_name).val(af_val); 
    1018                        } 
    1119                        $('#find-posts').show().draggable({ 
    1220                                handle: '#find-posts-head' 
    13                         }).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-250px'}); 
     21                        }).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-328px'}); 
    1422 
    1523                        $('#find-posts-input').focus().keyup(function(e){ 
    1624                                if (e.which == 27) { findPosts.close(); } // close on Escape 
    1725                        }); 
    1826 
     27                        // Pull some results up by default 
     28                        findPosts.send(); 
     29 
    1930                        return false; 
    2031                }, 
    2132 
    2233                close : function() { 
    2334                        $('#find-posts-response').html(''); 
    2435                        $('#find-posts').draggable('destroy').hide(); 
     36                        $( '.ui-find-overlay' ).hide(); 
    2537                }, 
    2638 
     39                overlay : function() { 
     40                        $( '.ui-find-overlay' ).css( 
     41                                { 'z-index': '999', 'width': $( document ).width() + 'px', 'height': $( document ).height() + 'px' } 
     42                        ).on('click', function () { 
     43                                findPosts.close(); 
     44                        }); 
     45                }, 
     46 
    2747                send : function() { 
    2848                        var post = { 
    29                                 ps: $('#find-posts-input').val(), 
    30                                 action: 'find_posts', 
    31                                 _ajax_nonce: $('#_ajax_nonce').val(), 
    32                                 post_type: $('input[name="find-posts-what"]:checked').val() 
    33                         }; 
     49                                        ps: $('#find-posts-input').val(), 
     50                                        action: 'find_posts', 
     51                                        _ajax_nonce: $('#_ajax_nonce').val() 
     52                                }, 
     53                                spinner = $( '.find-box-search .spinner' ); 
    3454 
     55                        spinner.show(); 
     56 
    3557                        $.ajax({ 
    3658                                type : 'POST', 
    3759                                url : ajaxurl, 
    3860                                data : post, 
    39                                 success : function(x) { findPosts.show(x); }, 
    40                                 error : function(r) { findPosts.error(r); } 
     61                                success : function(x) { findPosts.show(x); spinner.hide(); }, 
     62                                error : function(r) { findPosts.error(r); spinner.hide(); } 
    4163                        }); 
    4264                }, 
    4365 
     
    5577                        } 
    5678                        r = r.responses[0]; 
    5779                        $('#find-posts-response').html(r.data); 
     80 
     81                        // Enable whole row to be clicked 
     82                        $( '.found-posts td' ).on( 'click', function () { 
     83                                $( this ).parent().find( '.found-radio input' ).prop( 'checked', true ); 
     84                        }); 
    5885                }, 
    5986 
    6087                error : function(r) { 
     
    91118                        }); 
    92119                }); 
    93120        }); 
     121        $(window).resize(function() { 
     122                findPosts.overlay(); 
     123        }); 
    94124})(jQuery); 
  • wp-admin/js/customize-controls.js

     
    9898                        var toggleFreeze = false; 
    9999 
    100100                        // Support the .dropdown class to open/close complex elements 
    101                         this.container.on( 'click focus', '.dropdown', function( event ) { 
     101                        this.container.on( 'click keydown', '.dropdown', function( event ) { 
     102                                 
     103                                if ( event.type === 'keydown' &&  13 !== event.which ) 
     104                                        return; 
     105                                 
    102106                                event.preventDefault(); 
    103107 
    104108                                if (!toggleFreeze) 
     
    168172                        this.uploader = new wp.Uploader( this.uploader ); 
    169173 
    170174                        this.remover = this.container.find('.remove'); 
    171                         this.remover.click( function( event ) { 
     175                        this.remover.on( 'click keydown', function( event ) { 
     176 
     177                                if ( event.type === 'keydown' &&  13 !== event.which ) 
     178                                        return; 
     179                                 
    172180                                control.setting.set( control.params.removed ); 
    173181                                event.preventDefault(); 
    174182                        }); 
     
    882890                        event.preventDefault(); 
    883891                }); 
    884892 
    885                 $('.collapse-sidebar').click( function( event ) { 
     893                $('.collapse-sidebar').on( 'click keydown', function( event ) { 
     894                        if ( event.type === 'keydown' &&  13 !== event.which ) 
     895                                return; 
     896                                 
    886897                        overlay.toggleClass( 'collapsed' ).toggleClass( 'expanded' ); 
    887898                        event.preventDefault(); 
    888899                }); 
  • wp-admin/css/colors-fresh.css

     
    2020  1.0 - Left to Right Styles 
    2121------------------------------------------------------------------------------*/ 
    2222 
    23 .find-box-search { 
    24         border-color: #dfdfdf; 
    25         background-color: #f1f1f1; 
     23.find-box-search, 
     24.find-box-buttons { 
     25        background-color: #f7f7f7; 
    2626} 
    2727 
    2828.find-box { 
    29         background-color: #f1f1f1; 
     29        background-color: #444; 
    3030} 
    3131 
     32.find-box-head { 
     33        color: #eee; 
     34} 
     35 
    3236.find-box-inside { 
    3337        background-color: #fff; 
    3438} 
     
    170174h3.dashboard-widget-title, 
    171175h3.dashboard-widget-title span, 
    172176h3.dashboard-widget-title small, 
    173 .find-box-head, 
    174177.sidebar-name, 
    175178#nav-menu-header, 
    176179#nav-menu-footer, 
     
    477480.widefat tfoot tr th, 
    478481h3.dashboard-widget-title, 
    479482h3.dashboard-widget-title span, 
    480 h3.dashboard-widget-title small, 
    481 .find-box-head { 
     483h3.dashboard-widget-title small { 
    482484        color: #333; 
    483485} 
    484486 
  • wp-admin/css/wp-admin-rtl.css

     
    10831083  14.1 - Media Uploader 
    10841084------------------------------------------------------------------------------*/ 
    10851085 
     1086#find-posts-input { 
     1087        float: right; 
     1088} 
     1089 
     1090#find-posts-search { 
     1091        float: right; 
     1092        margin-right: 3px; 
     1093        margin-left: 4px; 
     1094} 
     1095 
     1096.find-box-search .spinner { 
     1097        left: auto; 
     1098        right: 115px; 
     1099} 
     1100 
    10861101#find-posts-response .found-radio { 
    10871102        padding: 5px 8px 0 0; 
    10881103} 
  • wp-admin/css/wp-admin.css

     
    39553955------------------------------------------------------------------------------*/ 
    39563956 
    39573957.find-box { 
    3958         width: 500px; 
     3958        width: 600px; 
    39593959        height: 300px; 
    39603960        overflow: hidden; 
    3961         padding: 33px 5px 40px; 
     3961        padding: 33px 0 51px; 
    39623962        position: absolute; 
    39633963        z-index: 1000; 
    39643964} 
     
    39763976 
    39773977.find-box-inside { 
    39783978        overflow: auto; 
    3979         width: 100%; 
     3979        padding: 6px; 
    39803980        height: 100%; 
    39813981} 
    39823982 
    39833983.find-box-search { 
    3984         padding: 12px; 
    3985         border-width: 1px; 
    3986         border-style: none none solid; 
     3984        overflow: hidden; 
     3985        padding: 9px; 
     3986        position: relative; 
    39873987} 
    39883988 
     3989.find-box-search .spinner { 
     3990        float: none; 
     3991        left: 125px; 
     3992        position: absolute; 
     3993        top: 9px; 
     3994} 
     3995 
     3996#find-posts-input { 
     3997        float: left; 
     3998        width: 140px; 
     3999        height: 24px; 
     4000} 
     4001 
     4002#find-posts-search { 
     4003        float: left; 
     4004        margin: 1px 4px 0 3px; 
     4005} 
     4006 
    39894007#find-posts-response { 
    39904008        margin: 8px 0; 
    39914009        padding: 0 1px; 
     
    39964014} 
    39974015 
    39984016#find-posts-response .found-radio { 
    3999         padding: 5px 0 0 8px; 
     4017        padding: 3px 0 0 8px; 
    40004018        width: 15px; 
    40014019} 
    40024020 
    40034021.find-box-buttons { 
    4004         width: 480px; 
    4005         margin: 8px; 
     4022        padding: 8px; 
     4023        overflow: hidden; 
    40064024} 
    40074025 
    4008 .find-box-search label { 
    4009         padding-right: 6px; 
    4010 } 
    4011  
    40124026.find-box #resize-se { 
    40134027        position: absolute; 
    40144028        right: 1px; 
    40154029        bottom: 1px; 
    40164030} 
    40174031 
     4032.ui-find-overlay { 
     4033        position: absolute; 
     4034        top: 0; 
     4035        left: 0; 
     4036        background-color: #000; 
     4037        opacity: 0.6; 
     4038        filter: alpha(opacity=60); 
     4039} 
     4040 
    40184041ul#dismissed-updates { 
    40194042        display: none; 
    40204043} 
     
    54995522        margin: 0; 
    55005523} 
    55015524 
     5525.wp-full-overlay-sidebar .wp-full-overlay-header { 
     5526        border-top: 0;  
     5527        border-bottom: 1px solid #fff;  
     5528        box-shadow: inset 0 -1px 0 0px #dfdfdf;  
     5529}  
     5530 
    55025531.wp-full-overlay-sidebar .wp-full-overlay-footer { 
    55035532        bottom: 0; 
    55045533        border-bottom: 0; 
  • wp-admin/css/colors-classic.css

     
    2020  1.0 - Left to Right Styles 
    2121------------------------------------------------------------------------------*/ 
    2222 
    23 .find-box-search { 
    24         border-color: #dfdfdf; 
    25         background-color: #f1f1f1; 
     23.find-box-search, 
     24.find-box-buttons { 
     25        background-color: #eff8ff; 
    2626} 
    2727 
    2828.find-box { 
    29         background-color: #f1f1f1; 
     29        background-color: #5589aa; 
    3030} 
    3131 
     32.find-box-head { 
     33        color: #fff; 
     34} 
     35 
    3236.find-box-inside { 
    3337        background-color: #fff; 
    3438} 
     
    167171h3.dashboard-widget-title, 
    168172h3.dashboard-widget-title span, 
    169173h3.dashboard-widget-title small, 
    170 .find-box-head, 
    171174.sidebar-name, 
    172175#nav-menu-header, 
    173176#nav-menu-footer, 
     
    475478.widefat tfoot tr th, 
    476479h3.dashboard-widget-title, 
    477480h3.dashboard-widget-title span, 
    478 h3.dashboard-widget-title small, 
    479 .find-box-head { 
     481h3.dashboard-widget-title small { 
    480482        color: #333; 
    481483} 
    482484 
  • wp-admin/css/customize-controls.css

     
    255255        border-radius: 3px; 
    256256} 
    257257 
     258.customize-section .dropdown:focus { 
     259        outline: thin dotted; 
     260} 
     261 
    258262.customize-section .dropdown-content { 
    259263        overflow: hidden; 
    260264        float: left;