WordPress.org

Make WordPress Core

Ticket #20164: 20164.2.diff

File 20164.2.diff, 9.2 KB (added by lessbloat, 19 months ago)
  • wp-admin/includes/ajax-actions.php

     
    14201420        global $wpdb; 
    14211421 
    14221422        check_ajax_referer( 'find-posts' ); 
     1423         
     1424        $what = 'post'; 
    14231425 
    1424         if ( empty($_POST['ps']) ) 
    1425                 wp_die(); 
    1426  
    1427         if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) ) 
    1428                 $what = $_POST['post_type']; 
    1429         else 
    1430                 $what = 'post'; 
    1431  
    14321426        $s = stripslashes($_POST['ps']); 
    14331427        preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); 
    14341428        $search_terms = array_map('_search_terms_tidy', $matches[0]); 
     
    14421436        $term = esc_sql( like_escape( $s ) ); 
    14431437        if ( count($search_terms) > 1 && $search_terms[0] != $s ) 
    14441438                $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')"; 
     1439                 
     1440        if ( empty($_POST['ps']) ) 
     1441                $search = ''; 
     1442        else 
     1443                $search = 'AND (' . $search . ')'; 
    14451444 
    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" ); 
     1445        $posts = $wpdb->get_results( "SELECT ID, post_title, post_type, post_status, post_date FROM $wpdb->posts WHERE post_status IN ('draft', 'publish') $search ORDER BY post_date_gmt DESC LIMIT 50" ); 
    14471446 
    14481447        if ( ! $posts ) { 
    14491448                $posttype = get_post_type_object($what); 
    14501449                wp_die( $posttype->labels->not_found ); 
    14511450        } 
    14521451 
    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>'; 
     1452        $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>'; 
    14541453        foreach ( $posts as $post ) { 
    14551454 
    14561455                switch ( $post->post_status ) { 
     
    14771476                } 
    14781477 
    14791478                $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"; 
     1479                $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"; 
    14811480        } 
    14821481        $html .= '</tbody></table>'; 
    14831482 
  • 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' ); 
     8                         
     9                        if ( overlay.length == 0 ) { 
     10                                $( 'body' ).append( '<div class="ui-find-overlay"></div>' ); 
     11                                findPosts.overlay(); 
     12                        } 
     13                         
     14                        overlay.show() 
    715 
    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                        }); 
     26                         
     27                        // Pull some results up by default 
     28                        findPosts.send(); 
    1829 
    1930                        return false; 
    2031                }, 
     
    2233                close : function() { 
    2334                        $('#find-posts-response').html(''); 
    2435                        $('#find-posts').draggable('destroy').hide(); 
     36                        $( '.ui-find-overlay' ).hide(); 
    2537                }, 
     38                 
     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                }, 
    2646 
    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                                        post_type: $('input[name="find-posts-what"]:checked').val() 
     53                                }, 
     54                                spinner = $( '.find-box-search .spinner' ); 
     55                         
     56                        spinner.show(); 
    3457 
    3558                        $.ajax({ 
    3659                                type : 'POST', 
    3760                                url : ajaxurl, 
    3861                                data : post, 
    39                                 success : function(x) { findPosts.show(x); }, 
    40                                 error : function(r) { findPosts.error(r); } 
     62                                success : function(x) { findPosts.show(x); spinner.hide(); }, 
     63                                error : function(r) { findPosts.error(r); spinner.hide(); } 
    4164                        }); 
    4265                }, 
    4366 
     
    5578                        } 
    5679                        r = r.responses[0]; 
    5780                        $('#find-posts-response').html(r.data); 
     81                         
     82                        // Enable whole row to be clicked 
     83                        $( '.found-posts td' ).on( 'click', function () { 
     84                                $( this ).parent().find( '.found-radio input' ).prop( 'checked', true ); 
     85                        }); 
    5886                }, 
    5987 
    6088                error : function(r) { 
     
    91119                        }); 
    92120                }); 
    93121        }); 
     122        $(window).resize(function() { 
     123                findPosts.overlay(); 
     124        }); 
    94125})(jQuery); 
  • wp-admin/css/colors-fresh.css

     
    7676} 
    7777 
    7878.find-box-search { 
    79         border-color: #dfdfdf; 
    80         background-color: #f1f1f1; 
     79        background-color: #f7f7f7; 
    8180} 
    8281 
    8382.find-box { 
     83        background-color: #444; 
     84} 
     85 
     86.find-box-buttons { 
    8487        background-color: #f1f1f1; 
    8588} 
    8689 
     90.find-box-head { 
     91        color: #eee; 
     92} 
     93 
    8794.find-box-inside { 
    8895        background-color: #fff; 
    8996} 
     
    191198h3.dashboard-widget-title, 
    192199h3.dashboard-widget-title span, 
    193200h3.dashboard-widget-title small, 
    194 .find-box-head, 
    195201.sidebar-name, 
    196202#nav-menu-header, 
    197203#nav-menu-footer, 
     
    683689.widefat tfoot tr th, 
    684690h3.dashboard-widget-title, 
    685691h3.dashboard-widget-title span, 
    686 h3.dashboard-widget-title small, 
    687 .find-box-head { 
     692h3.dashboard-widget-title small { 
    688693        color: #333; 
    689694} 
    690695 
  • wp-admin/css/wp-admin.css

     
    38513851------------------------------------------------------------------------------*/ 
    38523852 
    38533853.find-box { 
    3854         width: 500px; 
     3854        width: 600px; 
    38553855        height: 300px; 
    38563856        overflow: hidden; 
    3857         padding: 33px 5px 40px; 
     3857        padding: 33px 0 51px; 
    38583858        position: absolute; 
    38593859        z-index: 1000; 
    38603860} 
     
    38723872 
    38733873.find-box-inside { 
    38743874        overflow: auto; 
    3875         width: 100%; 
     3875        padding: 6px; 
    38763876        height: 100%; 
    38773877} 
    38783878 
     3879.find-posts-options { 
     3880        margin-left: 9px; 
     3881        overflow: hidden; 
     3882} 
     3883 
     3884.find-posts-options input { 
     3885        float: left; 
     3886        margin: 7px 4px 0 7px; 
     3887} 
     3888 
     3889.find-posts-options label { 
     3890        float: left; 
     3891        margin-top: 6px; 
     3892} 
     3893 
    38793894.find-box-search { 
    3880         padding: 12px; 
    3881         border-width: 1px; 
    3882         border-style: none none solid; 
     3895        overflow: hidden; 
     3896        padding: 9px; 
     3897        position: relative; 
    38833898} 
    38843899 
     3900.find-box-search .spinner { 
     3901        float: none; 
     3902        left: 126px; 
     3903        position: absolute; 
     3904        top: 9px; 
     3905} 
     3906 
     3907#find-posts-input { 
     3908        float: left; 
     3909        height: 24px; 
     3910} 
     3911 
     3912#find-posts-search { 
     3913        float: left; 
     3914        margin: 1px 4px 0 3px; 
     3915} 
     3916 
    38853917#find-posts-response { 
    38863918        margin: 8px 0; 
    38873919        padding: 0 1px; 
     
    38923924} 
    38933925 
    38943926#find-posts-response .found-radio { 
    3895         padding: 5px 0 0 8px; 
     3927        padding: 3px 0 0 8px; 
    38963928        width: 15px; 
    38973929} 
    38983930 
    38993931.find-box-buttons { 
    3900         width: 480px; 
    3901         margin: 8px; 
     3932        padding: 8px; 
     3933        overflow: hidden; 
    39023934} 
    39033935 
    3904 .find-box-search label { 
    3905         padding-right: 6px; 
    3906 } 
    3907  
    39083936.find-box #resize-se { 
    39093937        position: absolute; 
    39103938        right: 1px; 
    39113939        bottom: 1px; 
    39123940} 
    39133941 
     3942.ui-find-overlay { 
     3943        position: absolute; 
     3944        top: 0; 
     3945        left: 0; 
     3946        background-color: #000; 
     3947        opacity: 0.6; 
     3948        filter: alpha(opacity=60); 
     3949} 
     3950 
    39143951ul#dismissed-updates { 
    39153952        display: none; 
    39163953}