WordPress.org

Make WordPress Core

Ticket #20164: 20164.3.diff

File 20164.3.diff, 10.9 KB (added by helenyhou, 18 months ago)
  • wp-admin/includes/ajax-actions.php

     
    14221422 
    14231423        check_ajax_referer( 'find-posts' ); 
    14241424 
    1425         if ( empty($_POST['ps']) ) 
    1426                 wp_die(); 
     1425        $post_types = get_post_types( array( 'public' => true ), 'objects' ); 
     1426        unset( $post_types['attachment'] ); 
    14271427 
    1428         if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) ) 
    1429                 $what = $_POST['post_type']; 
    1430         else 
    1431                 $what = 'post'; 
     1428        $what = array_keys( $post_types ); 
     1429        $what = "'" . implode( "', '", $what ) . "'"; 
    14321430 
    14331431        $s = stripslashes($_POST['ps']); 
    14341432        preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); 
     
    14441442        if ( count($search_terms) > 1 && $search_terms[0] != $s ) 
    14451443                $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')"; 
    14461444 
    1447         $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" ); 
     1445        if ( empty($_POST['ps']) ) 
     1446                $search = ''; 
     1447        else 
     1448                $search = 'AND (' . $search . ')'; 
    14481449 
     1450        $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" ); 
     1451 
    14491452        if ( ! $posts ) { 
    1450                 $posttype = get_post_type_object($what); 
    1451                 wp_die( $posttype->labels->not_found ); 
     1453                wp_die( __('No items found.') ); 
    14521454        } 
    14531455 
    1454         $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>'; 
     1456        $html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Type').'</th><th>'.__('Date').'</th><th>'.__('Status').'</th></tr></thead><tbody>'; 
    14551457        foreach ( $posts as $post ) { 
    14561458 
    14571459                switch ( $post->post_status ) { 
     
    14781480                } 
    14791481 
    14801482                $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>'; 
    1481                 $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"; 
     1483                $html .= '<td><label for="found-'.$post->ID.'">' . esc_html( $post->post_title ) . '</label></td><td>' . esc_html( $post_types[$post->post_type]->labels->singular_name ) . '</td><td>'.esc_html( $time ) . '</td><td>' . esc_html( $stat ). ' </td></tr>' . "\n\n"; 
    14821484        } 
     1485 
    14831486        $html .= '</tbody></table>'; 
    14841487 
    14851488        $x = new WP_Ajax_Response(); 
    14861489        $x->add( array( 
    1487                 'what' => $what, 
    14881490                'data' => $html 
    14891491        )); 
    14901492        $x->send(); 
    1491  
    14921493} 
    14931494 
    14941495function 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/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} 
     
    139143h3.dashboard-widget-title, 
    140144h3.dashboard-widget-title span, 
    141145h3.dashboard-widget-title small, 
    142 .find-box-head, 
    143146.sidebar-name, 
    144147#nav-menu-header, 
    145148#nav-menu-footer, 
     
    436439.widefat tfoot tr th, 
    437440h3.dashboard-widget-title, 
    438441h3.dashboard-widget-title span, 
    439 h3.dashboard-widget-title small, 
    440 .find-box-head { 
     442h3.dashboard-widget-title small { 
    441443        color: #333; 
    442444} 
    443445 
  • wp-admin/css/wp-admin-rtl.css

     
    10211021  14.1 - Media Uploader 
    10221022------------------------------------------------------------------------------*/ 
    10231023 
     1024#find-posts-input { 
     1025        float: right; 
     1026} 
     1027 
     1028#find-posts-search { 
     1029        float: right; 
     1030        margin-right: 3px; 
     1031        margin-left: 4px; 
     1032} 
     1033 
     1034.find-box-search .spinner { 
     1035        left: auto; 
     1036        right: 116px; 
     1037} 
     1038 
    10241039#find-posts-response .found-radio { 
    10251040        padding: 5px 8px 0 0; 
    10261041} 
  • wp-admin/css/wp-admin.css

     
    40044004------------------------------------------------------------------------------*/ 
    40054005 
    40064006.find-box { 
    4007         width: 500px; 
     4007        width: 600px; 
    40084008        height: 300px; 
    40094009        overflow: hidden; 
    4010         padding: 33px 5px 40px; 
     4010        padding: 33px 0 51px; 
    40114011        position: absolute; 
    40124012        z-index: 1000; 
    40134013} 
     
    40254025 
    40264026.find-box-inside { 
    40274027        overflow: auto; 
    4028         width: 100%; 
     4028        padding: 6px; 
    40294029        height: 100%; 
    40304030} 
    40314031 
    40324032.find-box-search { 
    4033         padding: 12px; 
    4034         border-width: 1px; 
    4035         border-style: none none solid; 
     4033        overflow: hidden; 
     4034        padding: 9px; 
     4035        position: relative; 
    40364036} 
    40374037 
     4038.find-box-search .spinner { 
     4039        float: none; 
     4040        left: 126px; 
     4041        position: absolute; 
     4042        top: 9px; 
     4043} 
     4044 
     4045#find-posts-input { 
     4046        float: left; 
     4047        height: 24px; 
     4048} 
     4049 
     4050#find-posts-search { 
     4051        float: left; 
     4052        margin: 1px 4px 0 3px; 
     4053} 
     4054 
    40384055#find-posts-response { 
    40394056        margin: 8px 0; 
    40404057        padding: 0 1px; 
     
    40454062} 
    40464063 
    40474064#find-posts-response .found-radio { 
    4048         padding: 5px 0 0 8px; 
     4065        padding: 3px 0 0 8px; 
    40494066        width: 15px; 
    40504067} 
    40514068 
    40524069.find-box-buttons { 
    4053         width: 480px; 
    4054         margin: 8px; 
     4070        padding: 8px; 
     4071        overflow: hidden; 
    40554072} 
    40564073 
    4057 .find-box-search label { 
    4058         padding-right: 6px; 
    4059 } 
    4060  
    40614074.find-box #resize-se { 
    40624075        position: absolute; 
    40634076        right: 1px; 
    40644077        bottom: 1px; 
    40654078} 
    40664079 
     4080.ui-find-overlay { 
     4081        position: absolute; 
     4082        top: 0; 
     4083        left: 0; 
     4084        background-color: #000; 
     4085        opacity: 0.6; 
     4086        filter: alpha(opacity=60); 
     4087} 
     4088 
    40674089ul#dismissed-updates { 
    40684090        display: none; 
    40694091} 
  • 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} 
     
    142146h3.dashboard-widget-title, 
    143147h3.dashboard-widget-title span, 
    144148h3.dashboard-widget-title small, 
    145 .find-box-head, 
    146149.sidebar-name, 
    147150#nav-menu-header, 
    148151#nav-menu-footer, 
     
    440443.widefat tfoot tr th, 
    441444h3.dashboard-widget-title, 
    442445h3.dashboard-widget-title span, 
    443 h3.dashboard-widget-title small, 
    444 .find-box-head { 
     446h3.dashboard-widget-title small { 
    445447        color: #333; 
    446448} 
    447449