WordPress.org

Make WordPress Core

Ticket #22099: 22099.diff

File 22099.diff, 8.4 KB (added by lessbloat, 6 years ago)
  • wp-admin/includes/ajax-actions.php

     
    14211421
    14221422        check_ajax_referer( 'find-posts' );
    14231423
    1424         if ( empty($_POST['ps']) )
    1425                 wp_die();
    1426 
    14271424        if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
    14281425                $what = $_POST['post_type'];
    14291426        else
     
    14421439        $term = esc_sql( like_escape( $s ) );
    14431440        if ( count($search_terms) > 1 && $search_terms[0] != $s )
    14441441                $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')";
     1442               
     1443        if ( empty($_POST['ps']) )
     1444                $search = '';
     1445        else
     1446                $search = 'AND (' . $search . ')';
    14451447
    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" );
     1448        $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') $search ORDER BY post_date_gmt DESC LIMIT 50" );
    14471449
    14481450        if ( ! $posts ) {
    14491451                $posttype = get_post_type_object($what);
  • 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" />
     1283                                <span class="find-posts-options">
     1284                                        <?php
     1285                                        $post_types = get_post_types( array('public' => true), 'objects' );
     1286                                        foreach ( $post_types as $post ) {
     1287                                                if ( 'attachment' == $post->name )
     1288                                                        continue;
     1289                                        ?>
     1290                                        <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'); ?> />
     1291                                        <label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label>
     1292                                        <?php
     1293                                        } ?>
     1294                                </span>
    12931295                        </div>
    12941296                        <div id="find-posts-response"></div>
    12951297                </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}