WordPress.org

Make WordPress Core

Ticket #20164: 20164.diff

File 20164.diff, 9.4 KB (added by helenyhou, 20 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        $what = get_post_types( array( 'public' => true ) ); 
     1426        unset( $what['attachment'] ); 
     1427        $what = "'" . implode( "', '", $what ) . "'"; 
    14271428 
    1428         if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) ) 
    1429                 $what = $_POST['post_type']; 
    1430         else 
    1431                 $what = 'post'; 
    1432  
    14331429        $s = stripslashes($_POST['ps']); 
    14341430        preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); 
    14351431        $search_terms = array_map('_search_terms_tidy', $matches[0]); 
     
    14441440        if ( count($search_terms) > 1 && $search_terms[0] != $s ) 
    14451441                $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')"; 
    14461442 
    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" ); 
     1443        if ( empty($_POST['ps']) ) 
     1444                $search = ''; 
     1445        else 
     1446                $search = 'AND (' . $search . ')'; 
    14481447 
     1448        $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" ); 
     1449 
    14491450        if ( ! $posts ) { 
    1450                 $posttype = get_post_type_object($what); 
    1451                 wp_die( $posttype->labels->not_found ); 
     1451                wp_die( __('No items found.') ); 
    14521452        } 
    14531453 
    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>'; 
     1454        $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>'; 
    14551455        foreach ( $posts as $post ) { 
    14561456 
    14571457                switch ( $post->post_status ) { 
     
    14781478                } 
    14791479 
    14801480                $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"; 
     1481                $html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( ucfirst( $post->post_type ) ).'</td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n"; 
    14821482        } 
    14831483        $html .= '</tbody></table>'; 
    14841484 
    14851485        $x = new WP_Ajax_Response(); 
    14861486        $x->add( array( 
    1487                 'what' => $what, 
    14881487                'data' => $html 
    14891488        )); 
    14901489        $x->send(); 
  • 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

     
    2121------------------------------------------------------------------------------*/ 
    2222 
    2323.find-box-search { 
    24         border-color: #dfdfdf; 
    25         background-color: #f1f1f1; 
     24        background-color: #f7f7f7; 
    2625} 
    2726 
    2827.find-box { 
     28        background-color: #444; 
     29} 
     30 
     31.find-box-buttons { 
    2932        background-color: #f1f1f1; 
    3033} 
    3134 
     35.find-box-head { 
     36        color: #eee; 
     37} 
     38 
    3239.find-box-inside { 
    3340        background-color: #fff; 
    3441} 
     
    139146h3.dashboard-widget-title, 
    140147h3.dashboard-widget-title span, 
    141148h3.dashboard-widget-title small, 
    142 .find-box-head, 
    143149.sidebar-name, 
    144150#nav-menu-header, 
    145151#nav-menu-footer, 
     
    436442.widefat tfoot tr th, 
    437443h3.dashboard-widget-title, 
    438444h3.dashboard-widget-title span, 
    439 h3.dashboard-widget-title small, 
    440 .find-box-head { 
     445h3.dashboard-widget-title small { 
    441446        color: #333; 
    442447} 
    443448 
  • 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 
     4032.find-posts-options { 
     4033        margin-left: 9px; 
     4034        overflow: hidden; 
     4035} 
     4036 
     4037.find-posts-options input { 
     4038        float: left; 
     4039        margin: 7px 4px 0 7px; 
     4040} 
     4041 
     4042.find-posts-options label { 
     4043        float: left; 
     4044        margin-top: 6px; 
     4045} 
     4046 
    40324047.find-box-search { 
    4033         padding: 12px; 
    4034         border-width: 1px; 
    4035         border-style: none none solid; 
     4048        overflow: hidden; 
     4049        padding: 9px; 
     4050        position: relative; 
    40364051} 
    40374052 
     4053.find-box-search .spinner { 
     4054        float: none; 
     4055        left: 126px; 
     4056        position: absolute; 
     4057        top: 9px; 
     4058} 
     4059 
     4060#find-posts-input { 
     4061        float: left; 
     4062        height: 24px; 
     4063} 
     4064 
     4065#find-posts-search { 
     4066        float: left; 
     4067        margin: 1px 4px 0 3px; 
     4068} 
     4069 
    40384070#find-posts-response { 
    40394071        margin: 8px 0; 
    40404072        padding: 0 1px; 
     
    40454077} 
    40464078 
    40474079#find-posts-response .found-radio { 
    4048         padding: 5px 0 0 8px; 
     4080        padding: 3px 0 0 8px; 
    40494081        width: 15px; 
    40504082} 
    40514083 
    40524084.find-box-buttons { 
    4053         width: 480px; 
    4054         margin: 8px; 
     4085        padding: 8px; 
     4086        overflow: hidden; 
    40554087} 
    40564088 
    4057 .find-box-search label { 
    4058         padding-right: 6px; 
    4059 } 
    4060  
    40614089.find-box #resize-se { 
    40624090        position: absolute; 
    40634091        right: 1px; 
    40644092        bottom: 1px; 
    40654093} 
    40664094 
     4095.ui-find-overlay { 
     4096        position: absolute; 
     4097        top: 0; 
     4098        left: 0; 
     4099        background-color: #000; 
     4100        opacity: 0.6; 
     4101        filter: alpha(opacity=60); 
     4102} 
     4103 
    40674104ul#dismissed-updates { 
    40684105        display: none; 
    40694106}