Make WordPress Core

Changeset 38768


Ignore:
Timestamp:
10/10/2016 06:37:02 AM (10 years ago)
Author:
pento
Message:

General: Restore usage of $wpdb, instead of $this->db.

Hiding the $wpdb global behind a property decreases the readability of the code, as well as causing irrelevant output when dumping an object.

Reverts [38275], [38278], [38279], [38280], [38387].
See #37699.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-comment-query.php

    r38639 r38768  
    141141                return false;
    142142        }
    143 
    144         /**
    145          * @since 4.7.0
    146          * @access protected
    147          * @var wpdb
    148          */
    149         protected $db;
    150143
    151144        /**
     
    268261         */
    269262        public function __construct( $query = '' ) {
    270                 $this->db = $GLOBALS['wpdb'];
    271 
    272263                $this->query_var_defaults = array(
    273264                        'author_email' => '',
     
    373364         * @access public
    374365         *
     366         * @global wpdb $wpdb WordPress database abstraction object.
     367         *
    375368         * @return int|array List of comments or number of found comments if `$count` argument is true.
    376369         */
    377370        public function get_comments() {
     371                global $wpdb;
     372
    378373                $this->parse_query();
    379374
     
    394389                $this->meta_query->parse_query_vars( $this->query_vars );
    395390                if ( ! empty( $this->meta_query->queries ) ) {
    396                         $this->meta_query_clauses = $this->meta_query->get_sql( 'comment', $this->db->comments, 'comment_ID', $this );
     391                        $this->meta_query_clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
    397392                }
    398393
     
    486481         * @since 4.4.0
    487482         * @access protected
     483         *
     484         * @global wpdb $wpdb WordPress database abstraction object.
    488485         */
    489486        protected function get_comment_ids() {
     487                global $wpdb;
     488
    490489                // Assemble clauses related to 'comment_approved'.
    491490                $approved_clauses = array();
     
    516515
    517516                                        default :
    518                                                 $status_clauses[] = $this->db->prepare( "comment_approved = %s", $status );
     517                                                $status_clauses[] = $wpdb->prepare( "comment_approved = %s", $status );
    519518                                                break;
    520519                                }
     
    539538                                // Numeric values are assumed to be user ids.
    540539                                if ( is_numeric( $unapproved_identifier ) ) {
    541                                         $approved_clauses[] = $this->db->prepare( "( user_id = %d AND comment_approved = '0' )", $unapproved_identifier );
     540                                        $approved_clauses[] = $wpdb->prepare( "( user_id = %d AND comment_approved = '0' )", $unapproved_identifier );
    542541
    543542                                // Otherwise we match against email addresses.
    544543                                } else {
    545                                         $approved_clauses[] = $this->db->prepare( "( comment_author_email = %s AND comment_approved = '0' )", $unapproved_identifier );
     544                                        $approved_clauses[] = $wpdb->prepare( "( comment_author_email = %s AND comment_approved = '0' )", $unapproved_identifier );
    546545                                }
    547546                        }
     
    602601                        // If no valid clauses were found, order by comment_date_gmt.
    603602                        if ( empty( $orderby_array ) ) {
    604                                 $orderby_array[] = "{$this->db->comments}.comment_date_gmt $order";
     603                                $orderby_array[] = "$wpdb->comments.comment_date_gmt $order";
    605604                        }
    606605
     
    635634                                }
    636635
    637                                 $orderby_array[] = "{$this->db->comments}.comment_ID $comment_ID_order";
     636                                $orderby_array[] = "$wpdb->comments.comment_ID $comment_ID_order";
    638637                        }
    639638
    640639                        $orderby = implode( ', ', $orderby_array );
    641640                } else {
    642                         $orderby = "{$this->db->comments}.comment_date_gmt $order";
     641                        $orderby = "$wpdb->comments.comment_date_gmt $order";
    643642                }
    644643
     
    657656                        $fields = 'COUNT(*)';
    658657                } else {
    659                         $fields = "{$this->db->comments}.comment_ID";
     658                        $fields = "$wpdb->comments.comment_ID";
    660659                }
    661660
    662661                $post_id = absint( $this->query_vars['post_id'] );
    663662                if ( ! empty( $post_id ) ) {
    664                         $this->sql_clauses['where']['post_id'] = $this->db->prepare( 'comment_post_ID = %d', $post_id );
     663                        $this->sql_clauses['where']['post_id'] = $wpdb->prepare( 'comment_post_ID = %d', $post_id );
    665664                }
    666665
    667666                // Parse comment IDs for an IN clause.
    668667                if ( ! empty( $this->query_vars['comment__in'] ) ) {
    669                         $this->sql_clauses['where']['comment__in'] = "{$this->db->comments}.comment_ID IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
     668                        $this->sql_clauses['where']['comment__in'] = "$wpdb->comments.comment_ID IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
    670669                }
    671670
    672671                // Parse comment IDs for a NOT IN clause.
    673672                if ( ! empty( $this->query_vars['comment__not_in'] ) ) {
    674                         $this->sql_clauses['where']['comment__not_in'] = "{$this->db->comments}.comment_ID NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
     673                        $this->sql_clauses['where']['comment__not_in'] = "$wpdb->comments.comment_ID NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
    675674                }
    676675
     
    696695
    697696                if ( '' !== $this->query_vars['author_email'] ) {
    698                         $this->sql_clauses['where']['author_email'] = $this->db->prepare( 'comment_author_email = %s', $this->query_vars['author_email'] );
     697                        $this->sql_clauses['where']['author_email'] = $wpdb->prepare( 'comment_author_email = %s', $this->query_vars['author_email'] );
    699698                }
    700699
    701700                if ( '' !== $this->query_vars['author_url'] ) {
    702                         $this->sql_clauses['where']['author_url'] = $this->db->prepare( 'comment_author_url = %s', $this->query_vars['author_url'] );
     701                        $this->sql_clauses['where']['author_url'] = $wpdb->prepare( 'comment_author_url = %s', $this->query_vars['author_url'] );
    703702                }
    704703
    705704                if ( '' !== $this->query_vars['karma'] ) {
    706                         $this->sql_clauses['where']['karma'] = $this->db->prepare( 'comment_karma = %d', $this->query_vars['karma'] );
     705                        $this->sql_clauses['where']['karma'] = $wpdb->prepare( 'comment_karma = %d', $this->query_vars['karma'] );
    707706                }
    708707
     
    735734
    736735                                        default:
    737                                                 $comment_types[ $operator ][] = $this->db->prepare( '%s', $type );
     736                                                $comment_types[ $operator ][] = $wpdb->prepare( '%s', $type );
    738737                                                break;
    739738                                }
     
    752751
    753752                if ( '' !== $parent ) {
    754                         $this->sql_clauses['where']['parent'] = $this->db->prepare( 'comment_parent = %d', $parent );
     753                        $this->sql_clauses['where']['parent'] = $wpdb->prepare( 'comment_parent = %d', $parent );
    755754                }
    756755
     
    758757                        $this->sql_clauses['where']['user_id'] = 'user_id IN (' . implode( ',', array_map( 'absint', $this->query_vars['user_id'] ) ) . ')';
    759758                } elseif ( '' !== $this->query_vars['user_id'] ) {
    760                         $this->sql_clauses['where']['user_id'] = $this->db->prepare( 'user_id = %d', $this->query_vars['user_id'] );
     759                        $this->sql_clauses['where']['user_id'] = $wpdb->prepare( 'user_id = %d', $this->query_vars['user_id'] );
    761760                }
    762761
     
    782781                                // $field_value may be an array.
    783782                                $esses = array_fill( 0, count( (array) $field_value ), '%s' );
    784                                 $this->sql_clauses['where'][ $field_name ] = $this->db->prepare( " {$this->db->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value );
     783                                $this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value );
    785784                        }
    786785                }
     
    803802
    804803                                $esses = array_fill( 0, count( $q_values ), '%s' );
    805                                 $this->sql_clauses['where'][ $field_name ] = $this->db->prepare( " {$this->db->posts}.{$field_name} IN (" . implode( ',', $esses ) . ")", $q_values );
     804                                $this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ")", $q_values );
    806805                        }
    807806                }
     
    832831
    833832                if ( $join_posts_table ) {
    834                         $join .= "JOIN {$this->db->posts} ON {$this->db->posts}.ID = {$this->db->comments}.comment_post_ID";
     833                        $join .= "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
    835834                }
    836835
     
    842841
    843842                        if ( ! $this->query_vars['count'] ) {
    844                                 $groupby = "{$this->db->comments}.comment_ID";
     843                                $groupby = "{$wpdb->comments}.comment_ID";
    845844                        }
    846845                }
     
    891890
    892891                $this->sql_clauses['select']  = "SELECT $found_rows $fields";
    893                 $this->sql_clauses['from']    = "FROM {$this->db->comments} $join";
     892                $this->sql_clauses['from']    = "FROM $wpdb->comments $join";
    894893                $this->sql_clauses['groupby'] = $groupby;
    895894                $this->sql_clauses['orderby'] = $orderby;
     
    899898
    900899                if ( $this->query_vars['count'] ) {
    901                         return intval( $this->db->get_var( $this->request ) );
     900                        return intval( $wpdb->get_var( $this->request ) );
    902901                } else {
    903                         $comment_ids = $this->db->get_col( $this->request );
     902                        $comment_ids = $wpdb->get_col( $this->request );
    904903                        return array_map( 'intval', $comment_ids );
    905904                }
     
    912911         * @since 4.6.0
    913912         * @access private
     913         *
     914         * @global wpdb $wpdb WordPress database abstraction object.
    914915         */
    915916        private function set_found_comments() {
     917                global $wpdb;
     918
    916919                if ( $this->query_vars['number'] && ! $this->query_vars['no_found_rows'] ) {
    917920                        /**
     
    925928                        $found_comments_query = apply_filters( 'found_comments_query', 'SELECT FOUND_ROWS()', $this );
    926929
    927                         $this->found_comments = (int) $this->db->get_var( $found_comments_query );
     930                        $this->found_comments = (int) $wpdb->get_var( $found_comments_query );
    928931                }
    929932        }
     
    941944         */
    942945        protected function fill_descendants( $comments ) {
     946                global $wpdb;
     947
    943948                $levels = array(
    944949                        0 => wp_list_pluck( $comments, 'comment_ID' ),
     
    10711076         * @access protected
    10721077         *
     1078         * @global wpdb $wpdb WordPress database abstraction object.
     1079         *
    10731080         * @param string $string
    10741081         * @param array $cols
     
    10761083         */
    10771084        protected function get_search_sql( $string, $cols ) {
    1078                 $like = '%' . $this->db->esc_like( $string ) . '%';
     1085                global $wpdb;
     1086
     1087                $like = '%' . $wpdb->esc_like( $string ) . '%';
    10791088
    10801089                $searches = array();
    10811090                foreach ( $cols as $col ) {
    1082                         $searches[] = $this->db->prepare( "$col LIKE %s", $like );
     1091                        $searches[] = $wpdb->prepare( "$col LIKE %s", $like );
    10831092                }
    10841093
     
    10921101         * @access protected
    10931102         *
     1103         * @global wpdb $wpdb WordPress database abstraction object.
     1104         *
    10941105         * @param string $orderby Alias for the field to order by.
    10951106         * @return string|false Value to used in the ORDER clause. False otherwise.
    10961107         */
    10971108        protected function parse_orderby( $orderby ) {
     1109                global $wpdb;
     1110
    10981111                $allowed_keys = array(
    10991112                        'comment_agent',
     
    11271140                $parsed = false;
    11281141                if ( $orderby == $this->query_vars['meta_key'] || $orderby == 'meta_value' ) {
    1129                         $parsed = "{$this->db->commentmeta}.meta_value";
     1142                        $parsed = "$wpdb->commentmeta.meta_value";
    11301143                } elseif ( $orderby == 'meta_value_num' ) {
    1131                         $parsed = "{$this->db->commentmeta}.meta_value+0";
     1144                        $parsed = "$wpdb->commentmeta.meta_value+0";
    11321145                } elseif ( $orderby == 'comment__in' ) {
    11331146                        $comment__in = implode( ',', array_map( 'absint', $this->query_vars['comment__in'] ) );
    1134                         $parsed = "FIELD( {$this->db->comments}.comment_ID, $comment__in )";
     1147                        $parsed = "FIELD( {$wpdb->comments}.comment_ID, $comment__in )";
    11351148                } elseif ( in_array( $orderby, $allowed_keys ) ) {
    11361149
     
    11391152                                $parsed = sprintf( "CAST(%s.meta_value AS %s)", esc_sql( $meta_clause['alias'] ), esc_sql( $meta_clause['cast'] ) );
    11401153                        } else {
    1141                                 $parsed = "{$this->db->comments}.$orderby";
     1154                                $parsed = "$wpdb->comments.$orderby";
    11421155                        }
    11431156                }
  • trunk/src/wp-includes/class-wp-meta-query.php

    r38275 r38768  
    107107
    108108        /**
    109          * @since 4.7.0
    110          * @access protected
    111          * @var wpdb
    112          */
    113         protected $db;
    114 
    115         /**
    116109         * Constructor.
    117110         *
     
    145138         */
    146139        public function __construct( $meta_query = false ) {
    147                 $this->db = $GLOBALS['wpdb'];
    148 
    149                 if ( ! $meta_query ) {
     140                if ( !$meta_query )
    150141                        return;
    151                 }
    152142
    153143                if ( isset( $meta_query['relation'] ) && strtoupper( $meta_query['relation'] ) == 'OR' ) {
     
    495485         * @access public
    496486         *
     487         * @global wpdb $wpdb WordPress database abstraction object.
     488         *
    497489         * @param array  $clause       Query clause, passed by reference.
    498490         * @param array  $parent_query Parent query array.
     
    507499         */
    508500        public function get_sql_for_clause( &$clause, $parent_query, $clause_key = '' ) {
     501                global $wpdb;
     502
    509503                $sql_chunks = array(
    510504                        'where' => array(),
     
    544538                                $join .= " LEFT JOIN $this->meta_table";
    545539                                $join .= $i ? " AS $alias" : '';
    546                                 $join .= $this->db->prepare( " ON ($this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column AND $alias.meta_key = %s )", $clause['key'] );
     540                                $join .= $wpdb->prepare( " ON ($this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column AND $alias.meta_key = %s )", $clause['key'] );
    547541
    548542                        // All other JOIN clauses.
     
    588582                                $sql_chunks['where'][] = $alias . '.' . $this->meta_id_column . ' IS NULL';
    589583                        } else {
    590                                 $sql_chunks['where'][] = $this->db->prepare( "$alias.meta_key = %s", trim( $clause['key'] ) );
     584                                $sql_chunks['where'][] = $wpdb->prepare( "$alias.meta_key = %s", trim( $clause['key'] ) );
    591585                        }
    592586                }
     
    608602                                case 'NOT IN' :
    609603                                        $meta_compare_string = '(' . substr( str_repeat( ',%s', count( $meta_value ) ), 1 ) . ')';
    610                                         $where = $this->db->prepare( $meta_compare_string, $meta_value );
     604                                        $where = $wpdb->prepare( $meta_compare_string, $meta_value );
    611605                                        break;
    612606
     
    614608                                case 'NOT BETWEEN' :
    615609                                        $meta_value = array_slice( $meta_value, 0, 2 );
    616                                         $where = $this->db->prepare( '%s AND %s', $meta_value );
     610                                        $where = $wpdb->prepare( '%s AND %s', $meta_value );
    617611                                        break;
    618612
    619613                                case 'LIKE' :
    620614                                case 'NOT LIKE' :
    621                                         $meta_value = '%' . $this->db->esc_like( $meta_value ) . '%';
    622                                         $where = $this->db->prepare( '%s', $meta_value );
     615                                        $meta_value = '%' . $wpdb->esc_like( $meta_value ) . '%';
     616                                        $where = $wpdb->prepare( '%s', $meta_value );
    623617                                        break;
    624618
     
    626620                                case 'EXISTS' :
    627621                                        $meta_compare = '=';
    628                                         $where = $this->db->prepare( '%s', $meta_value );
     622                                        $where = $wpdb->prepare( '%s', $meta_value );
    629623                                        break;
    630624
     
    635629
    636630                                default :
    637                                         $where = $this->db->prepare( '%s', $meta_value );
     631                                        $where = $wpdb->prepare( '%s', $meta_value );
    638632                                        break;
    639633
  • trunk/src/wp-includes/class-wp-network-query.php

    r38595 r38768  
    8686         */
    8787        public $max_num_pages = 0;
    88 
    89         /**
    90          * @since 4.7.0
    91          * @access protected
    92          * @var wpdb
    93          */
    94         protected $db;
    9588
    9689        /**
     
    130123         */
    131124        public function __construct( $query = '' ) {
    132                 $this->db = $GLOBALS['wpdb'];
    133 
    134125                $this->query_var_defaults = array(
    135126                        'network__in'          => '',
     
    298289         */
    299290        protected function get_network_ids() {
     291                global $wpdb;
     292
    300293                $order = $this->parse_order( $this->query_vars['order'] );
    301294
     
    338331                        $orderby = implode( ', ', $orderby_array );
    339332                } else {
    340                         $orderby = "{$this->db->site}.id $order";
     333                        $orderby = "$wpdb->site.id $order";
    341334                }
    342335
     
    355348                        $fields = 'COUNT(*)';
    356349                } else {
    357                         $fields = "{$this->db->site}.id";
     350                        $fields = "$wpdb->site.id";
    358351                }
    359352
    360353                // Parse network IDs for an IN clause.
    361354                if ( ! empty( $this->query_vars['network__in'] ) ) {
    362                         $this->sql_clauses['where']['network__in'] = "{$this->db->site}.id IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__in'] ) ) . ' )';
     355                        $this->sql_clauses['where']['network__in'] = "$wpdb->site.id IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__in'] ) ) . ' )';
    363356                }
    364357
    365358                // Parse network IDs for a NOT IN clause.
    366359                if ( ! empty( $this->query_vars['network__not_in'] ) ) {
    367                         $this->sql_clauses['where']['network__not_in'] = "{$this->db->site}.id NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__not_in'] ) ) . ' )';
     360                        $this->sql_clauses['where']['network__not_in'] = "$wpdb->site.id NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__not_in'] ) ) . ' )';
    368361                }
    369362
    370363                if ( ! empty( $this->query_vars['domain'] ) ) {
    371                         $this->sql_clauses['where']['domain'] = $this->db->prepare( "{$this->db->site}.domain = %s", $this->query_vars['domain'] );
     364                        $this->sql_clauses['where']['domain'] = $wpdb->prepare( "$wpdb->site.domain = %s", $this->query_vars['domain'] );
    372365                }
    373366
    374367                // Parse network domain for an IN clause.
    375368                if ( is_array( $this->query_vars['domain__in'] ) ) {
    376                         $this->sql_clauses['where']['domain__in'] = "{$this->db->site}.domain IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['domain__in'] ) ) . "' )";
     369                        $this->sql_clauses['where']['domain__in'] = "$wpdb->site.domain IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__in'] ) ) . "' )";
    377370                }
    378371
    379372                // Parse network domain for a NOT IN clause.
    380373                if ( is_array( $this->query_vars['domain__not_in'] ) ) {
    381                         $this->sql_clauses['where']['domain__not_in'] = "{$this->db->site}.domain NOT IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['domain__not_in'] ) ) . "' )";
     374                        $this->sql_clauses['where']['domain__not_in'] = "$wpdb->site.domain NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__not_in'] ) ) . "' )";
    382375                }
    383376
    384377                if ( ! empty( $this->query_vars['path'] ) ) {
    385                         $this->sql_clauses['where']['path'] = $this->db->prepare( "{$this->db->site}.path = %s", $this->query_vars['path'] );
     378                        $this->sql_clauses['where']['path'] = $wpdb->prepare( "$wpdb->site.path = %s", $this->query_vars['path'] );
    386379                }
    387380
    388381                // Parse network path for an IN clause.
    389382                if ( is_array( $this->query_vars['path__in'] ) ) {
    390                         $this->sql_clauses['where']['path__in'] = "{$this->db->site}.path IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['path__in'] ) ) . "' )";
     383                        $this->sql_clauses['where']['path__in'] = "$wpdb->site.path IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__in'] ) ) . "' )";
    391384                }
    392385
    393386                // Parse network path for a NOT IN clause.
    394387                if ( is_array( $this->query_vars['path__not_in'] ) ) {
    395                         $this->sql_clauses['where']['path__not_in'] = "{$this->db->site}.path NOT IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['path__not_in'] ) ) . "' )";
     388                        $this->sql_clauses['where']['path__not_in'] = "$wpdb->site.path NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__not_in'] ) ) . "' )";
    396389                }
    397390
     
    400393                        $this->sql_clauses['where']['search'] = $this->get_search_sql(
    401394                                $this->query_vars['search'],
    402                                 array( "{$this->db->site}.domain", "{$this->db->site}.path" )
     395                                array( "$wpdb->site.domain", "$wpdb->site.path" )
    403396                        );
    404397                }
     
    445438
    446439                $this->sql_clauses['select']  = "SELECT $found_rows $fields";
    447                 $this->sql_clauses['from']    = "FROM {$this->db->site} $join";
     440                $this->sql_clauses['from']    = "FROM $wpdb->site $join";
    448441                $this->sql_clauses['groupby'] = $groupby;
    449442                $this->sql_clauses['orderby'] = $orderby;
     
    453446
    454447                if ( $this->query_vars['count'] ) {
    455                         return intval( $this->db->get_var( $this->request ) );
    456                 }
    457 
    458                 $network_ids = $this->db->get_col( $this->request );
     448                        return intval( $wpdb->get_var( $this->request ) );
     449                }
     450
     451                $network_ids = $wpdb->get_col( $this->request );
    459452
    460453                return array_map( 'intval', $network_ids );
     
    467460         * @since 4.6.0
    468461         * @access private
     462         *
     463         * @global wpdb $wpdb WordPress database abstraction object.
    469464         */
    470465        private function set_found_networks() {
     466                global $wpdb;
     467
    471468                if ( $this->query_vars['number'] && ! $this->query_vars['no_found_rows'] ) {
    472469                        /**
     
    480477                        $found_networks_query = apply_filters( 'found_networks_query', 'SELECT FOUND_ROWS()', $this );
    481478
    482                         $this->found_networks = (int) $this->db->get_var( $found_networks_query );
     479                        $this->found_networks = (int) $wpdb->get_var( $found_networks_query );
    483480                }
    484481        }
     
    489486         * @since 4.6.0
    490487         * @access protected
     488         *
     489         * @global wpdb  $wpdb WordPress database abstraction object.
    491490         *
    492491         * @param string $string  Search string.
     
    496495         */
    497496        protected function get_search_sql( $string, $columns ) {
    498                 $like = '%' . $this->db->esc_like( $string ) . '%';
     497                global $wpdb;
     498
     499                $like = '%' . $wpdb->esc_like( $string ) . '%';
    499500
    500501                $searches = array();
    501502                foreach ( $columns as $column ) {
    502                         $searches[] = $this->db->prepare( "$column LIKE %s", $like );
     503                        $searches[] = $wpdb->prepare( "$column LIKE %s", $like );
    503504                }
    504505
     
    511512         * @since 4.6.0
    512513         * @access protected
     514         *
     515         * @global wpdb $wpdb WordPress database abstraction object.
    513516         *
    514517         * @param string $orderby Alias for the field to order by.
     
    516519         */
    517520        protected function parse_orderby( $orderby ) {
     521                global $wpdb;
     522
    518523                $allowed_keys = array(
    519524                        'id',
     
    525530                if ( $orderby == 'network__in' ) {
    526531                        $network__in = implode( ',', array_map( 'absint', $this->query_vars['network__in'] ) );
    527                         $parsed = "FIELD( {$this->db->site}.id, $network__in )";
     532                        $parsed = "FIELD( {$wpdb->site}.id, $network__in )";
    528533                } elseif ( $orderby == 'domain_length' || $orderby == 'path_length' ) {
    529534                        $field = substr( $orderby, 0, -7 );
    530                         $parsed = "CHAR_LENGTH({$this->db->site}.$field)";
     535                        $parsed = "CHAR_LENGTH($wpdb->site.$field)";
    531536                } elseif ( in_array( $orderby, $allowed_keys ) ) {
    532                         $parsed = "{$this->db->site}.$orderby";
     537                        $parsed = "$wpdb->site.$orderby";
    533538                }
    534539
  • trunk/src/wp-includes/class-wp-query.php

    r38586 r38768  
    486486
    487487        private $compat_methods = array( 'init_query_flags', 'parse_tax_query' );
    488 
    489         /**
    490          * @since 4.7.0
    491          * @access protected
    492          * @var wpdb
    493          */
    494         protected $db;
    495488
    496489        /**
     
    12981291         */
    12991292        protected function parse_search( &$q ) {
     1293                global $wpdb;
     1294
    13001295                $search = '';
    13011296
     
    13371332
    13381333                        if ( $n && $include ) {
    1339                                 $like = '%' . $this->db->esc_like( $term ) . '%';
    1340                                 $q['search_orderby_title'][] = $this->db->prepare( "{$this->db->posts}.post_title LIKE %s", $like );
    1341                         }
    1342 
    1343                         $like = $n . $this->db->esc_like( $term ) . $n;
    1344                         $search .= $this->db->prepare( "{$searchand}(({$this->db->posts}.post_title $like_op %s) $andor_op ({$this->db->posts}.post_excerpt $like_op %s) $andor_op ({$this->db->posts}.post_content $like_op %s))", $like, $like, $like );
     1334                                $like = '%' . $wpdb->esc_like( $term ) . '%';
     1335                                $q['search_orderby_title'][] = $wpdb->prepare( "{$wpdb->posts}.post_title LIKE %s", $like );
     1336                        }
     1337
     1338                        $like = $n . $wpdb->esc_like( $term ) . $n;
     1339                        $search .= $wpdb->prepare( "{$searchand}(({$wpdb->posts}.post_title $like_op %s) $andor_op ({$wpdb->posts}.post_excerpt $like_op %s) $andor_op ({$wpdb->posts}.post_content $like_op %s))", $like, $like, $like );
    13451340                        $searchand = ' AND ';
    13461341                }
     
    13491344                        $search = " AND ({$search}) ";
    13501345                        if ( ! is_user_logged_in() ) {
    1351                                 $search .= " AND ({$this->db->posts}.post_password = '') ";
     1346                                $search .= " AND ({$wpdb->posts}.post_password = '') ";
    13521347                        }
    13531348                }
     
    14371432         */
    14381433        protected function parse_search_order( &$q ) {
     1434                global $wpdb;
     1435
    14391436                if ( $q['search_terms_count'] > 1 ) {
    14401437                        $num_terms = count( $q['search_orderby_title'] );
     
    14431440                        $like = '';
    14441441                        if ( ! preg_match( '/(?:\s|^)\-/', $q['s'] ) ) {
    1445                                 $like = '%' . $this->db->esc_like( $q['s'] ) . '%';
     1442                                $like = '%' . $wpdb->esc_like( $q['s'] ) . '%';
    14461443                        }
    14471444
     
    14501447                        // sentence match in 'post_title'
    14511448                        if ( $like ) {
    1452                                 $search_orderby .= $this->db->prepare( "WHEN {$this->db->posts}.post_title LIKE %s THEN 1 ", $like );
     1449                                $search_orderby .= $wpdb->prepare( "WHEN {$wpdb->posts}.post_title LIKE %s THEN 1 ", $like );
    14531450                        }
    14541451
     
    14651462                        // Sentence match in 'post_content' and 'post_excerpt'.
    14661463                        if ( $like ) {
    1467                                 $search_orderby .= $this->db->prepare( "WHEN {$this->db->posts}.post_excerpt LIKE %s THEN 4 ", $like );
    1468                                 $search_orderby .= $this->db->prepare( "WHEN {$this->db->posts}.post_content LIKE %s THEN 5 ", $like );
     1464                                $search_orderby .= $wpdb->prepare( "WHEN {$wpdb->posts}.post_excerpt LIKE %s THEN 4 ", $like );
     1465                                $search_orderby .= $wpdb->prepare( "WHEN {$wpdb->posts}.post_content LIKE %s THEN 5 ", $like );
    14691466                        }
    14701467
     
    14911488         */
    14921489        protected function parse_orderby( $orderby ) {
     1490                global $wpdb;
     1491
    14931492                // Used to filter values.
    14941493                $allowed_keys = array(
     
    15371536                        case 'menu_order':
    15381537                        case 'comment_count':
    1539                                 $orderby_clause = "{$this->db->posts}.{$orderby}";
     1538                                $orderby_clause = "{$wpdb->posts}.{$orderby}";
    15401539                                break;
    15411540                        case 'rand':
     
    15621561                                } else {
    15631562                                        // Default: order by post field.
    1564                                         $orderby_clause = "{$this->db->posts}.post_" . sanitize_key( $orderby );
     1563                                        $orderby_clause = "{$wpdb->posts}.post_" . sanitize_key( $orderby );
    15651564                                }
    15661565
     
    16521651         */
    16531652        public function get_posts() {
     1653                global $wpdb;
     1654
    16541655                $this->parse_query();
    16551656
     
    17871788                switch ( $q['fields'] ) {
    17881789                        case 'ids':
    1789                                 $fields = "{$this->db->posts}.ID";
     1790                                $fields = "{$wpdb->posts}.ID";
    17901791                                break;
    17911792                        case 'id=>parent':
    1792                                 $fields = "{$this->db->posts}.ID, {$this->db->posts}.post_parent";
     1793                                $fields = "{$wpdb->posts}.ID, {$wpdb->posts}.post_parent";
    17931794                                break;
    17941795                        default:
    1795                                 $fields = "{$this->db->posts}.*";
     1796                                $fields = "{$wpdb->posts}.*";
    17961797                }
    17971798
    17981799                if ( '' !== $q['menu_order'] ) {
    1799                         $where .= " AND {$this->db->posts}.menu_order = " . $q['menu_order'];
     1800                        $where .= " AND {$wpdb->posts}.menu_order = " . $q['menu_order'];
    18001801                }
    18011802                // The "m" parameter is meant for months but accepts datetimes of varying specificity
    18021803                if ( $q['m'] ) {
    1803                         $where .= " AND YEAR({$this->db->posts}.post_date)=" . substr($q['m'], 0, 4);
     1804                        $where .= " AND YEAR({$wpdb->posts}.post_date)=" . substr($q['m'], 0, 4);
    18041805                        if ( strlen($q['m']) > 5 ) {
    1805                                 $where .= " AND MONTH({$this->db->posts}.post_date)=" . substr($q['m'], 4, 2);
     1806                                $where .= " AND MONTH({$wpdb->posts}.post_date)=" . substr($q['m'], 4, 2);
    18061807                        }
    18071808                        if ( strlen($q['m']) > 7 ) {
    1808                                 $where .= " AND DAYOFMONTH({$this->db->posts}.post_date)=" . substr($q['m'], 6, 2);
     1809                                $where .= " AND DAYOFMONTH({$wpdb->posts}.post_date)=" . substr($q['m'], 6, 2);
    18091810                        }
    18101811                        if ( strlen($q['m']) > 9 ) {
    1811                                 $where .= " AND HOUR({$this->db->posts}.post_date)=" . substr($q['m'], 8, 2);
     1812                                $where .= " AND HOUR({$wpdb->posts}.post_date)=" . substr($q['m'], 8, 2);
    18121813                        }
    18131814                        if ( strlen($q['m']) > 11 ) {
    1814                                 $where .= " AND MINUTE({$this->db->posts}.post_date)=" . substr($q['m'], 10, 2);
     1815                                $where .= " AND MINUTE({$wpdb->posts}.post_date)=" . substr($q['m'], 10, 2);
    18151816                        }
    18161817                        if ( strlen($q['m']) > 13 ) {
    1817                                 $where .= " AND SECOND({$this->db->posts}.post_date)=" . substr($q['m'], 12, 2);
     1818                                $where .= " AND SECOND({$wpdb->posts}.post_date)=" . substr($q['m'], 12, 2);
    18181819                        }
    18191820                }
     
    18791880
    18801881                if ( '' !== $q['title'] ) {
    1881                         $where .= $this->db->prepare( " AND {$this->db->posts}.post_title = %s", stripslashes( $q['title'] ) );
     1882                        $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_title = %s", stripslashes( $q['title'] ) );
    18821883                }
    18831884
     
    18851886                if ( '' != $q['name'] ) {
    18861887                        $q['name'] = sanitize_title_for_query( $q['name'] );
    1887                         $where .= " AND {$this->db->posts}.post_name = '" . $q['name'] . "'";
     1888                        $where .= " AND {$wpdb->posts}.post_name = '" . $q['name'] . "'";
    18881889                } elseif ( '' != $q['pagename'] ) {
    18891890                        if ( isset($this->queried_object_id) ) {
     
    19141915                                $q['pagename'] = sanitize_title_for_query( wp_basename( $q['pagename'] ) );
    19151916                                $q['name'] = $q['pagename'];
    1916                                 $where .= " AND ({$this->db->posts}.ID = '$reqpage')";
     1917                                $where .= " AND ({$wpdb->posts}.ID = '$reqpage')";
    19171918                                $reqpage_obj = get_post( $reqpage );
    19181919                                if ( is_object($reqpage_obj) && 'attachment' == $reqpage_obj->post_type ) {
     
    19261927                        $q['attachment'] = sanitize_title_for_query( wp_basename( $q['attachment'] ) );
    19271928                        $q['name'] = $q['attachment'];
    1928                         $where .= " AND {$this->db->posts}.post_name = '" . $q['attachment'] . "'";
     1929                        $where .= " AND {$wpdb->posts}.post_name = '" . $q['attachment'] . "'";
    19291930                } elseif ( is_array( $q['post_name__in'] ) && ! empty( $q['post_name__in'] ) ) {
    19301931                        $q['post_name__in'] = array_map( 'sanitize_title_for_query', $q['post_name__in'] );
    19311932                        $post_name__in = "'" . implode( "','", $q['post_name__in'] ) . "'";
    1932                         $where .= " AND {$this->db->posts}.post_name IN ($post_name__in)";
     1933                        $where .= " AND {$wpdb->posts}.post_name IN ($post_name__in)";
    19331934                }
    19341935
     
    19391940                // If a post number is specified, load that post
    19401941                if ( $q['p'] ) {
    1941                         $where .= " AND {$this->db->posts}.ID = " . $q['p'];
     1942                        $where .= " AND {$wpdb->posts}.ID = " . $q['p'];
    19421943                } elseif ( $q['post__in'] ) {
    19431944                        $post__in = implode(',', array_map( 'absint', $q['post__in'] ));
    1944                         $where .= " AND {$this->db->posts}.ID IN ($post__in)";
     1945                        $where .= " AND {$wpdb->posts}.ID IN ($post__in)";
    19451946                } elseif ( $q['post__not_in'] ) {
    19461947                        $post__not_in = implode(',',  array_map( 'absint', $q['post__not_in'] ));
    1947                         $where .= " AND {$this->db->posts}.ID NOT IN ($post__not_in)";
     1948                        $where .= " AND {$wpdb->posts}.ID NOT IN ($post__not_in)";
    19481949                }
    19491950
    19501951                if ( is_numeric( $q['post_parent'] ) ) {
    1951                         $where .= $this->db->prepare( " AND {$this->db->posts}.post_parent = %d ", $q['post_parent'] );
     1952                        $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_parent = %d ", $q['post_parent'] );
    19521953                } elseif ( $q['post_parent__in'] ) {
    19531954                        $post_parent__in = implode( ',', array_map( 'absint', $q['post_parent__in'] ) );
    1954                         $where .= " AND {$this->db->posts}.post_parent IN ($post_parent__in)";
     1955                        $where .= " AND {$wpdb->posts}.post_parent IN ($post_parent__in)";
    19551956                } elseif ( $q['post_parent__not_in'] ) {
    19561957                        $post_parent__not_in = implode( ',',  array_map( 'absint', $q['post_parent__not_in'] ) );
    1957                         $where .= " AND {$this->db->posts}.post_parent NOT IN ($post_parent__not_in)";
     1958                        $where .= " AND {$wpdb->posts}.post_parent NOT IN ($post_parent__not_in)";
    19581959                }
    19591960
     
    19611962                        if  ( ('page' != get_option('show_on_front') ) || ( $q['page_id'] != get_option('page_for_posts') ) ) {
    19621963                                $q['p'] = $q['page_id'];
    1963                                 $where = " AND {$this->db->posts}.ID = " . $q['page_id'];
     1964                                $where = " AND {$wpdb->posts}.ID = " . $q['page_id'];
    19641965                        }
    19651966                }
     
    19861987                        $this->parse_tax_query( $q );
    19871988
    1988                         $clauses = $this->tax_query->get_sql( $this->db->posts, 'ID' );
     1989                        $clauses = $this->tax_query->get_sql( $wpdb->posts, 'ID' );
    19891990
    19901991                        $join .= $clauses['join'];
     
    20702071
    20712072                if ( !empty( $this->tax_query->queries ) || !empty( $this->meta_query->queries ) ) {
    2072                         $groupby = "{$this->db->posts}.ID";
     2073                        $groupby = "{$wpdb->posts}.ID";
    20732074                }
    20742075
     
    20872088                if ( ! empty( $q['author__not_in'] ) ) {
    20882089                        $author__not_in = implode( ',', array_map( 'absint', array_unique( (array) $q['author__not_in'] ) ) );
    2089                         $where .= " AND {$this->db->posts}.post_author NOT IN ($author__not_in) ";
     2090                        $where .= " AND {$wpdb->posts}.post_author NOT IN ($author__not_in) ";
    20902091                } elseif ( ! empty( $q['author__in'] ) ) {
    20912092                        $author__in = implode( ',', array_map( 'absint', array_unique( (array) $q['author__in'] ) ) );
    2092                         $where .= " AND {$this->db->posts}.post_author IN ($author__in) ";
     2093                        $where .= " AND {$wpdb->posts}.post_author IN ($author__in) ";
    20932094                }
    20942095
     
    21082109                        if ( $q['author'] )
    21092110                                $q['author'] = $q['author']->ID;
    2110                         $whichauthor .= " AND ({$this->db->posts}.post_author = " . absint($q['author']) . ')';
     2111                        $whichauthor .= " AND ({$wpdb->posts}.post_author = " . absint($q['author']) . ')';
    21112112                }
    21122113
     
    21142115
    21152116                if ( isset( $q['post_mime_type'] ) && '' != $q['post_mime_type'] ) {
    2116                         $whichmimetype = wp_post_mime_type_where( $q['post_mime_type'], $this->db->posts );
     2117                        $whichmimetype = wp_post_mime_type_where( $q['post_mime_type'], $wpdb->posts );
    21172118                }
    21182119                $where .= $search . $whichauthor . $whichmimetype;
    21192120
    21202121                if ( ! empty( $this->meta_query->queries ) ) {
    2121                         $clauses = $this->meta_query->get_sql( 'post', $this->db->posts, 'ID', $this );
     2122                        $clauses = $this->meta_query->get_sql( 'post', $wpdb->posts, 'ID', $this );
    21222123                        $join   .= $clauses['join'];
    21232124                        $where  .= $clauses['where'];
     
    21402141                                $orderby = '';
    21412142                        } else {
    2142                                 $orderby = "{$this->db->posts}.post_date " . $q['order'];
     2143                                $orderby = "{$wpdb->posts}.post_date " . $q['order'];
    21432144                        }
    21442145                } elseif ( 'none' == $q['orderby'] ) {
    21452146                        $orderby = '';
    21462147                } elseif ( $q['orderby'] == 'post__in' && ! empty( $post__in ) ) {
    2147                         $orderby = "FIELD( {$this->db->posts}.ID, $post__in )";
     2148                        $orderby = "FIELD( {$wpdb->posts}.ID, $post__in )";
    21482149                } elseif ( $q['orderby'] == 'post_parent__in' && ! empty( $post_parent__in ) ) {
    2149                         $orderby = "FIELD( {$this->db->posts}.post_parent, $post_parent__in )";
     2150                        $orderby = "FIELD( {$wpdb->posts}.post_parent, $post_parent__in )";
    21502151                } elseif ( $q['orderby'] == 'post_name__in' && ! empty( $post_name__in ) ) {
    2151                         $orderby = "FIELD( {$this->db->posts}.post_name, $post_name__in )";
     2152                        $orderby = "FIELD( {$wpdb->posts}.post_name, $post_name__in )";
    21522153                } else {
    21532154                        $orderby_array = array();
     
    21812182
    21822183                                if ( empty( $orderby ) ) {
    2183                                         $orderby = "{$this->db->posts}.post_date " . $q['order'];
     2184                                        $orderby = "{$wpdb->posts}.post_date " . $q['order'];
    21842185                                } elseif ( ! empty( $q['order'] ) ) {
    21852186                                        $orderby .= " {$q['order']}";
     
    22212222
    22222223                if ( isset( $q['post_password'] ) ) {
    2223                         $where .= $this->db->prepare( " AND {$this->db->posts}.post_password = %s", $q['post_password'] );
     2224                        $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_password = %s", $q['post_password'] );
    22242225                        if ( empty( $q['perm'] ) ) {
    22252226                                $q['perm'] = 'readable';
    22262227                        }
    22272228                } elseif ( isset( $q['has_password'] ) ) {
    2228                         $where .= sprintf( " AND {$this->db->posts}.post_password %s ''", $q['has_password'] ? '!=' : '=' );
     2229                        $where .= sprintf( " AND {$wpdb->posts}.post_password %s ''", $q['has_password'] ? '!=' : '=' );
    22292230                }
    22302231
    22312232                if ( ! empty( $q['comment_status'] ) ) {
    2232                         $where .= $this->db->prepare( " AND {$this->db->posts}.comment_status = %s ", $q['comment_status'] );
     2233                        $where .= $wpdb->prepare( " AND {$wpdb->posts}.comment_status = %s ", $q['comment_status'] );
    22332234                }
    22342235
    22352236                if ( ! empty( $q['ping_status'] ) )  {
    2236                         $where .= $this->db->prepare( " AND {$this->db->posts}.ping_status = %s ", $q['ping_status'] );
     2237                        $where .= $wpdb->prepare( " AND {$wpdb->posts}.ping_status = %s ", $q['ping_status'] );
    22372238                }
    22382239
     
    22422243                                $where .= ' AND 1=0 ';
    22432244                        } else {
    2244                                 $where .= " AND {$this->db->posts}.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
     2245                                $where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
    22452246                        }
    22462247                } elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
    2247                         $where .= " AND {$this->db->posts}.post_type IN ('" . join("', '", $post_type) . "')";
     2248                        $where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", $post_type) . "')";
    22482249                } elseif ( ! empty( $post_type ) ) {
    2249                         $where .= " AND {$this->db->posts}.post_type = '$post_type'";
     2250                        $where .= " AND {$wpdb->posts}.post_type = '$post_type'";
    22502251                        $post_type_object = get_post_type_object ( $post_type );
    22512252                } elseif ( $this->is_attachment ) {
    2252                         $where .= " AND {$this->db->posts}.post_type = 'attachment'";
     2253                        $where .= " AND {$wpdb->posts}.post_type = 'attachment'";
    22532254                        $post_type_object = get_post_type_object ( 'attachment' );
    22542255                } elseif ( $this->is_page ) {
    2255                         $where .= " AND {$this->db->posts}.post_type = 'page'";
     2256                        $where .= " AND {$wpdb->posts}.post_type = 'page'";
    22562257                        $post_type_object = get_post_type_object ( 'page' );
    22572258                } else {
    2258                         $where .= " AND {$this->db->posts}.post_type = 'post'";
     2259                        $where .= " AND {$wpdb->posts}.post_type = 'post'";
    22592260                        $post_type_object = get_post_type_object ( 'post' );
    22602261                }
     
    22852286                                foreach ( get_post_stati( array( 'exclude_from_search' => true ) ) as $status ) {
    22862287                                        if ( ! in_array( $status, $q_status ) ) {
    2287                                                 $e_status[] = "{$this->db->posts}.post_status <> '$status'";
     2288                                                $e_status[] = "{$wpdb->posts}.post_status <> '$status'";
    22882289                                        }
    22892290                                }
     
    22922293                                        if ( in_array( $status, $q_status ) ) {
    22932294                                                if ( 'private' == $status ) {
    2294                                                         $p_status[] = "{$this->db->posts}.post_status = '$status'";
     2295                                                        $p_status[] = "{$wpdb->posts}.post_status = '$status'";
    22952296                                                } else {
    2296                                                         $r_status[] = "{$this->db->posts}.post_status = '$status'";
     2297                                                        $r_status[] = "{$wpdb->posts}.post_status = '$status'";
    22972298                                                }
    22982299                                        }
     
    23102311                        if ( !empty($r_status) ) {
    23112312                                if ( !empty($q['perm'] ) && 'editable' == $q['perm'] && !current_user_can($edit_others_cap) ) {
    2312                                         $statuswheres[] = "({$this->db->posts}.post_author = $user_id " . "AND (" . join( ' OR ', $r_status ) . "))";
     2313                                        $statuswheres[] = "({$wpdb->posts}.post_author = $user_id " . "AND (" . join( ' OR ', $r_status ) . "))";
    23132314                                } else {
    23142315                                        $statuswheres[] = "(" . join( ' OR ', $r_status ) . ")";
     
    23172318                        if ( !empty($p_status) ) {
    23182319                                if ( !empty($q['perm'] ) && 'readable' == $q['perm'] && !current_user_can($read_private_cap) ) {
    2319                                         $statuswheres[] = "({$this->db->posts}.post_author = $user_id " . "AND (" . join( ' OR ', $p_status ) . "))";
     2320                                        $statuswheres[] = "({$wpdb->posts}.post_author = $user_id " . "AND (" . join( ' OR ', $p_status ) . "))";
    23202321                                } else {
    23212322                                        $statuswheres[] = "(" . join( ' OR ', $p_status ) . ")";
     
    23232324                        }
    23242325                        if ( $post_status_join ) {
    2325                                 $join .= " LEFT JOIN {$this->db->posts} AS p2 ON ({$this->db->posts}.post_parent = p2.ID) ";
     2326                                $join .= " LEFT JOIN {$wpdb->posts} AS p2 ON ({$wpdb->posts}.post_parent = p2.ID) ";
    23262327                                foreach ( $statuswheres as $index => $statuswhere ) {
    2327                                         $statuswheres[$index] = "($statuswhere OR ({$this->db->posts}.post_status = 'inherit' AND " . str_replace( $this->db->posts, 'p2', $statuswhere ) . "))";
     2328                                        $statuswheres[$index] = "($statuswhere OR ({$wpdb->posts}.post_status = 'inherit' AND " . str_replace( $wpdb->posts, 'p2', $statuswhere ) . "))";
    23282329                                }
    23292330                        }
     
    23332334                        }
    23342335                } elseif ( !$this->is_singular ) {
    2335                         $where .= " AND ({$this->db->posts}.post_status = 'publish'";
     2336                        $where .= " AND ({$wpdb->posts}.post_status = 'publish'";
    23362337
    23372338                        // Add public states.
     
    23402341                                if ( 'publish' == $state ) // Publish is hard-coded above.
    23412342                                        continue;
    2342                                 $where .= " OR {$this->db->posts}.post_status = '$state'";
     2343                                $where .= " OR {$wpdb->posts}.post_status = '$state'";
    23432344                        }
    23442345
     
    23472348                                $admin_all_states = get_post_stati( array('protected' => true, 'show_in_admin_all_list' => true) );
    23482349                                foreach ( (array) $admin_all_states as $state ) {
    2349                                         $where .= " OR {$this->db->posts}.post_status = '$state'";
     2350                                        $where .= " OR {$wpdb->posts}.post_status = '$state'";
    23502351                                }
    23512352                        }
     
    23552356                                $private_states = get_post_stati( array('private' => true) );
    23562357                                foreach ( (array) $private_states as $state ) {
    2357                                         $where .= current_user_can( $read_private_cap ) ? " OR {$this->db->posts}.post_status = '$state'" : " OR {$this->db->posts}.post_author = $user_id AND {$this->db->posts}.post_status = '$state'";
     2358                                        $where .= current_user_can( $read_private_cap ) ? " OR {$wpdb->posts}.post_status = '$state'" : " OR {$wpdb->posts}.post_author = $user_id AND {$wpdb->posts}.post_status = '$state'";
    23582359                                }
    23592360                        }
     
    24072408                if ( $this->is_comment_feed && ! $this->is_singular ) {
    24082409                        if ( $this->is_archive || $this->is_search ) {
    2409                                 $cjoin = "JOIN {$this->db->posts} ON ({$this->db->comments}.comment_post_ID = {$this->db->posts}.ID) $join ";
     2410                                $cjoin = "JOIN {$wpdb->posts} ON ({$wpdb->comments}.comment_post_ID = {$wpdb->posts}.ID) $join ";
    24102411                                $cwhere = "WHERE comment_approved = '1' $where";
    2411                                 $cgroupby = "{$this->db->comments}.comment_id";
     2412                                $cgroupby = "{$wpdb->comments}.comment_id";
    24122413                        } else { // Other non singular e.g. front
    2413                                 $cjoin = "JOIN {$this->db->posts} ON ( {$this->db->comments}.comment_post_ID = {$this->db->posts}.ID )";
     2414                                $cjoin = "JOIN {$wpdb->posts} ON ( {$wpdb->comments}.comment_post_ID = {$wpdb->posts}.ID )";
    24142415                                $cwhere = "WHERE ( post_status = 'publish' OR ( post_status = 'inherit' AND post_type = 'attachment' ) ) AND comment_approved = '1'";
    24152416                                $cgroupby = '';
     
    24702471                        $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
    24712472
    2472                         $comments = (array) $this->db->get_results("SELECT $distinct {$this->db->comments}.* FROM {$this->db->comments} $cjoin $cwhere $cgroupby $corderby $climits");
     2473                        $comments = (array) $wpdb->get_results("SELECT $distinct {$wpdb->comments}.* FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits");
    24732474                        // Convert to WP_Comment
    24742475                        $this->comments = array_map( 'get_comment', $comments );
     
    24832484                        $join = '';
    24842485                        if ( $post_ids ) {
    2485                                 $where = "AND {$this->db->posts}.ID IN ($post_ids) ";
     2486                                $where = "AND {$wpdb->posts}.ID IN ($post_ids) ";
    24862487                        } else {
    24872488                                $where = "AND 0";
     
    27252726                        $found_rows = 'SQL_CALC_FOUND_ROWS';
    27262727
    2727                 $this->request = $old_request = "SELECT $found_rows $distinct $fields FROM {$this->db->posts} $join WHERE 1=1 $where $groupby $orderby $limits";
     2728                $this->request = $old_request = "SELECT $found_rows $distinct $fields FROM {$wpdb->posts} $join WHERE 1=1 $where $groupby $orderby $limits";
    27282729
    27292730                if ( !$q['suppress_filters'] ) {
     
    27592760                if ( 'ids' == $q['fields'] ) {
    27602761                        if ( null === $this->posts ) {
    2761                                 $this->posts = $this->db->get_col( $this->request );
     2762                                $this->posts = $wpdb->get_col( $this->request );
    27622763                        }
    27632764
     
    27712772                if ( 'id=>parent' == $q['fields'] ) {
    27722773                        if ( null === $this->posts ) {
    2773                                 $this->posts = $this->db->get_results( $this->request );
     2774                                $this->posts = $wpdb->get_results( $this->request );
    27742775                        }
    27752776
     
    27892790
    27902791                if ( null === $this->posts ) {
    2791                         $split_the_query = ( $old_request == $this->request && "{$this->db->posts}.*" == $fields && !empty( $limits ) && $q['posts_per_page'] < 500 );
     2792                        $split_the_query = ( $old_request == $this->request && "{$wpdb->posts}.*" == $fields && !empty( $limits ) && $q['posts_per_page'] < 500 );
    27922793
    27932794                        /**
     
    28082809                                // First get the IDs and then fill in the objects
    28092810
    2810                                 $this->request = "SELECT $found_rows $distinct {$this->db->posts}.ID FROM {$this->db->posts} $join WHERE 1=1 $where $groupby $orderby $limits";
     2811                                $this->request = "SELECT $found_rows $distinct {$wpdb->posts}.ID FROM {$wpdb->posts} $join WHERE 1=1 $where $groupby $orderby $limits";
    28112812
    28122813                                /**
     
    28202821                                $this->request = apply_filters( 'posts_request_ids', $this->request, $this );
    28212822
    2822                                 $ids = $this->db->get_col( $this->request );
     2823                                $ids = $wpdb->get_col( $this->request );
    28232824
    28242825                                if ( $ids ) {
     
    28302831                                }
    28312832                        } else {
    2832                                 $this->posts = $this->db->get_results( $this->request );
     2833                                $this->posts = $wpdb->get_results( $this->request );
    28332834                                $this->set_found_posts( $q, $limits );
    28342835                        }
     
    28702871                        $climits = apply_filters_ref_array( 'comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
    28712872
    2872                         $comments_request = "SELECT {$this->db->comments}.* FROM {$this->db->comments} $cjoin $cwhere $cgroupby $corderby $climits";
    2873                         $comments = $this->db->get_results($comments_request);
     2873                        $comments_request = "SELECT {$wpdb->comments}.* FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits";
     2874                        $comments = $wpdb->get_results($comments_request);
    28742875                        // Convert to WP_Comment
    28752876                        $this->comments = array_map( 'get_comment', $comments );
     
    30183019         */
    30193020        private function set_found_posts( $q, $limits ) {
     3021                global $wpdb;
    30203022                // Bail if posts is an empty array. Continue if posts is an empty string,
    30213023                // null, or false to accommodate caching plugins that fill posts later.
     
    30323034                         * @param WP_Query &$this       The WP_Query instance (passed by reference).
    30333035                         */
    3034                         $this->found_posts = $this->db->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
     3036                        $this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
    30353037                } else {
    30363038                        $this->found_posts = count( $this->posts );
     
    33293331         */
    33303332        public function __construct( $query = '' ) {
    3331                 $this->db = $GLOBALS['wpdb'];
    3332 
    33333333                if ( ! empty( $query ) ) {
    33343334                        $this->query( $query );
  • trunk/src/wp-includes/class-wp-roles.php

    r38387 r38768  
    7171
    7272        /**
    73          * @since 4.7.0
    74          * @access protected
    75          * @var wpdb
    76          */
    77         protected $db;
    78 
    79         /**
    8073         * Constructor
    8174         *
     
    8376         */
    8477        public function __construct() {
    85                 $this->db = $GLOBALS['wpdb'];
    86 
    8778                $this->_init();
    8879        }
     
    118109         */
    119110        protected function _init() {
    120                 global $wp_user_roles;
    121                 $this->role_key = $this->db->get_blog_prefix() . 'user_roles';
     111                global $wp_user_roles, $wpdb;
     112
     113                $this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
    122114                if ( ! empty( $wp_user_roles ) ) {
    123115                        $this->roles = $wp_user_roles;
     
    148140         */
    149141        public function reinit() {
     142                global $wpdb;
     143
    150144                // There is no need to reinit if using the wp_user_roles global.
    151145                if ( ! $this->use_db ) {
     
    154148
    155149                // Duplicated from _init() to avoid an extra function call.
    156                 $this->role_key = $this->db->get_blog_prefix() . 'user_roles';
     150                $this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
    157151                $this->roles = get_option( $this->role_key );
    158152                if ( empty( $this->roles ) )
  • trunk/src/wp-includes/class-wp-site-query.php

    r38631 r38768  
    9595         */
    9696        public $max_num_pages = 0;
    97 
    98         /**
    99          * @since 4.7.0
    100          * @access protected
    101          * @var wpdb
    102          */
    103         protected $db;
    10497
    10598        /**
     
    153146         */
    154147        public function __construct( $query = '' ) {
    155                 $this->db = $GLOBALS['wpdb'];
    156 
    157148                $this->query_var_defaults = array(
    158149                        'fields'            => '',
     
    333324         * @access protected
    334325         *
     326         * @global wpdb $wpdb WordPress database abstraction object.
     327         *
    335328         * @return int|array A single count of site IDs if a count query. An array of site IDs if a full query.
    336329         */
    337330        protected function get_site_ids() {
     331                global $wpdb;
     332
    338333                $order = $this->parse_order( $this->query_vars['order'] );
    339334
     
    399394                $site_id = absint( $this->query_vars['ID'] );
    400395                if ( ! empty( $site_id ) ) {
    401                         $this->sql_clauses['where']['ID'] = $this->db->prepare( 'blog_id = %d', $site_id );
     396                        $this->sql_clauses['where']['ID'] = $wpdb->prepare( 'blog_id = %d', $site_id );
    402397                }
    403398
     
    415410
    416411                if ( ! empty( $network_id ) ) {
    417                         $this->sql_clauses['where']['network_id'] = $this->db->prepare( 'site_id = %d', $network_id );
     412                        $this->sql_clauses['where']['network_id'] = $wpdb->prepare( 'site_id = %d', $network_id );
    418413                }
    419414
     
    429424
    430425                if ( ! empty( $this->query_vars['domain'] ) ) {
    431                         $this->sql_clauses['where']['domain'] = $this->db->prepare( 'domain = %s', $this->query_vars['domain'] );
     426                        $this->sql_clauses['where']['domain'] = $wpdb->prepare( 'domain = %s', $this->query_vars['domain'] );
    432427                }
    433428
    434429                // Parse site domain for an IN clause.
    435430                if ( is_array( $this->query_vars['domain__in'] ) ) {
    436                         $this->sql_clauses['where']['domain__in'] = "domain IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['domain__in'] ) ) . "' )";
     431                        $this->sql_clauses['where']['domain__in'] = "domain IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__in'] ) ) . "' )";
    437432                }
    438433
    439434                // Parse site domain for a NOT IN clause.
    440435                if ( is_array( $this->query_vars['domain__not_in'] ) ) {
    441                         $this->sql_clauses['where']['domain__not_in'] = "domain NOT IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['domain__not_in'] ) ) . "' )";
     436                        $this->sql_clauses['where']['domain__not_in'] = "domain NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__not_in'] ) ) . "' )";
    442437                }
    443438
    444439                if ( ! empty( $this->query_vars['path'] ) ) {
    445                         $this->sql_clauses['where']['path'] = $this->db->prepare( 'path = %s', $this->query_vars['path'] );
     440                        $this->sql_clauses['where']['path'] = $wpdb->prepare( 'path = %s', $this->query_vars['path'] );
    446441                }
    447442
    448443                // Parse site path for an IN clause.
    449444                if ( is_array( $this->query_vars['path__in'] ) ) {
    450                         $this->sql_clauses['where']['path__in'] = "path IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['path__in'] ) ) . "' )";
     445                        $this->sql_clauses['where']['path__in'] = "path IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__in'] ) ) . "' )";
    451446                }
    452447
    453448                // Parse site path for a NOT IN clause.
    454449                if ( is_array( $this->query_vars['path__not_in'] ) ) {
    455                         $this->sql_clauses['where']['path__not_in'] = "path NOT IN ( '" . implode( "', '", $this->db->_escape( $this->query_vars['path__not_in'] ) ) . "' )";
     450                        $this->sql_clauses['where']['path__not_in'] = "path NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__not_in'] ) ) . "' )";
    456451                }
    457452
    458453                if ( is_numeric( $this->query_vars['archived'] ) ) {
    459454                        $archived = absint( $this->query_vars['archived'] );
    460                         $this->sql_clauses['where']['archived'] = $this->db->prepare( "archived = %d ", $archived );
     455                        $this->sql_clauses['where']['archived'] = $wpdb->prepare( "archived = %d ", $archived );
    461456                }
    462457
    463458                if ( is_numeric( $this->query_vars['mature'] ) ) {
    464459                        $mature = absint( $this->query_vars['mature'] );
    465                         $this->sql_clauses['where']['mature'] = $this->db->prepare( "mature = %d ", $mature );
     460                        $this->sql_clauses['where']['mature'] = $wpdb->prepare( "mature = %d ", $mature );
    466461                }
    467462
    468463                if ( is_numeric( $this->query_vars['spam'] ) ) {
    469464                        $spam = absint( $this->query_vars['spam'] );
    470                         $this->sql_clauses['where']['spam'] = $this->db->prepare( "spam = %d ", $spam );
     465                        $this->sql_clauses['where']['spam'] = $wpdb->prepare( "spam = %d ", $spam );
    471466                }
    472467
    473468                if ( is_numeric( $this->query_vars['deleted'] ) ) {
    474469                        $deleted = absint( $this->query_vars['deleted'] );
    475                         $this->sql_clauses['where']['deleted'] = $this->db->prepare( "deleted = %d ", $deleted );
     470                        $this->sql_clauses['where']['deleted'] = $wpdb->prepare( "deleted = %d ", $deleted );
    476471                }
    477472
    478473                if ( is_numeric( $this->query_vars['public'] ) ) {
    479474                        $public = absint( $this->query_vars['public'] );
    480                         $this->sql_clauses['where']['public'] = $this->db->prepare( "public = %d ", $public );
     475                        $this->sql_clauses['where']['public'] = $wpdb->prepare( "public = %d ", $public );
    481476                }
    482477
     
    556551
    557552                $this->sql_clauses['select']  = "SELECT $found_rows $fields";
    558                 $this->sql_clauses['from']    = "FROM {$this->db->blogs} $join";
     553                $this->sql_clauses['from']    = "FROM $wpdb->blogs $join";
    559554                $this->sql_clauses['groupby'] = $groupby;
    560555                $this->sql_clauses['orderby'] = $orderby;
     
    564559
    565560                if ( $this->query_vars['count'] ) {
    566                         return intval( $this->db->get_var( $this->request ) );
    567                 }
    568 
    569                 $site_ids = $this->db->get_col( $this->request );
     561                        return intval( $wpdb->get_var( $this->request ) );
     562                }
     563
     564                $site_ids = $wpdb->get_col( $this->request );
    570565
    571566                return array_map( 'intval', $site_ids );
     
    578573         * @since 4.6.0
    579574         * @access private
     575         *
     576         * @global wpdb $wpdb WordPress database abstraction object.
    580577         */
    581578        private function set_found_sites() {
     579                global $wpdb;
     580
    582581                if ( $this->query_vars['number'] && ! $this->query_vars['no_found_rows'] ) {
    583582                        /**
     
    591590                        $found_sites_query = apply_filters( 'found_sites_query', 'SELECT FOUND_ROWS()', $this );
    592591
    593                         $this->found_sites = (int) $this->db->get_var( $found_sites_query );
     592                        $this->found_sites = (int) $wpdb->get_var( $found_sites_query );
    594593                }
    595594        }
     
    600599         * @since 4.6.0
    601600         * @access protected
     601         *
     602         * @global wpdb  $wpdb WordPress database abstraction object.
    602603         *
    603604         * @param string $string  Search string.
     
    606607         */
    607608        protected function get_search_sql( $string, $columns ) {
     609                global $wpdb;
     610
    608611                if ( false !== strpos( $string, '*' ) ) {
    609                         $like = '%' . implode( '%', array_map( array( $this->db, 'esc_like' ), explode( '*', $string ) ) ) . '%';
     612                        $like = '%' . implode( '%', array_map( array( $wpdb, 'esc_like' ), explode( '*', $string ) ) ) . '%';
    610613                } else {
    611                         $like = '%' . $this->db->esc_like( $string ) . '%';
     614                        $like = '%' . $wpdb->esc_like( $string ) . '%';
    612615                }
    613616
    614617                $searches = array();
    615618                foreach ( $columns as $column ) {
    616                         $searches[] = $this->db->prepare( "$column LIKE %s", $like );
     619                        $searches[] = $wpdb->prepare( "$column LIKE %s", $like );
    617620                }
    618621
     
    625628         * @since 4.6.0
    626629         * @access protected
     630         *
     631         * @global wpdb $wpdb WordPress database abstraction object.
    627632         *
    628633         * @param string $orderby Alias for the field to order by.
     
    630635         */
    631636        protected function parse_orderby( $orderby ) {
     637                global $wpdb;
     638
    632639                $parsed = false;
    633640
     
    635642                        case 'site__in':
    636643                                $site__in = implode( ',', array_map( 'absint', $this->query_vars['site__in'] ) );
    637                                 $parsed = "FIELD( {$this->db->blogs}.blog_id, $site__in )";
     644                                $parsed = "FIELD( {$wpdb->blogs}.blog_id, $site__in )";
    638645                                break;
    639646                        case 'network__in':
    640647                                $network__in = implode( ',', array_map( 'absint', $this->query_vars['network__in'] ) );
    641                                 $parsed = "FIELD( {$this->db->blogs}.site_id, $network__in )";
     648                                $parsed = "FIELD( {$wpdb->blogs}.site_id, $network__in )";
    642649                                break;
    643650                        case 'domain':
  • trunk/src/wp-includes/class-wp-tax-query.php

    r38275 r38768  
    9393
    9494        /**
    95          * @since 4.7.0
    96          * @access protected
    97          * @var wpdb
    98          */
    99         protected $db;
    100 
    101         /**
    10295         * Constructor.
    10396         *
     
    127120         */
    128121        public function __construct( $tax_query ) {
    129                 $this->db = $GLOBALS['wpdb'];
    130 
    131122                if ( isset( $tax_query['relation'] ) ) {
    132123                        $this->relation = $this->sanitize_relation( $tax_query['relation'] );
     
    397388         * @access public
    398389         *
     390         * @global wpdb $wpdb The WordPress database abstraction object.
     391         *
    399392         * @param array $clause       Query clause, passed by reference.
    400393         * @param array $parent_query Parent query array.
     
    407400         */
    408401        public function get_sql_for_clause( &$clause, $parent_query ) {
     402                global $wpdb;
     403
    409404                $sql = array(
    410405                        'where' => array(),
     
    438433                        if ( false === $alias ) {
    439434                                $i = count( $this->table_aliases );
    440                                 $alias = $i ? 'tt' . $i : $this->db->term_relationships;
     435                                $alias = $i ? 'tt' . $i : $wpdb->term_relationships;
    441436
    442437                                // Store the alias as part of a flat array to build future iterators.
     
    446441                                $clause['alias'] = $alias;
    447442
    448                                 $join .= " LEFT JOIN {$this->db->term_relationships}";
     443                                $join .= " LEFT JOIN $wpdb->term_relationships";
    449444                                $join .= $i ? " AS $alias" : '';
    450445                                $join .= " ON ($this->primary_table.$this->primary_id_column = $alias.object_id)";
     
    464459                        $where = "$this->primary_table.$this->primary_id_column NOT IN (
    465460                                SELECT object_id
    466                                 FROM {$this->db->term_relationships}
     461                                FROM $wpdb->term_relationships
    467462                                WHERE term_taxonomy_id IN ($terms)
    468463                        )";
     
    480475                        $where = "(
    481476                                SELECT COUNT(1)
    482                                 FROM {$this->db->term_relationships}
     477                                FROM $wpdb->term_relationships
    483478                                WHERE term_taxonomy_id IN ($terms)
    484479                                AND object_id = $this->primary_table.$this->primary_id_column
     
    487482                } elseif ( 'NOT EXISTS' === $operator || 'EXISTS' === $operator ) {
    488483
    489                         $where = $this->db->prepare( "$operator (
     484                        $where = $wpdb->prepare( "$operator (
    490485                                SELECT 1
    491                                 FROM {$this->db->term_relationships}
    492                                 INNER JOIN {$this->db->term_taxonomy}
    493                                 ON {$this->db->term_taxonomy}.term_taxonomy_id = {$this->db->term_relationships}.term_taxonomy_id
    494                                 WHERE {$this->db->term_taxonomy}.taxonomy = %s
    495                                 AND {$this->db->term_relationships}.object_id = $this->primary_table.$this->primary_id_column
     486                                FROM $wpdb->term_relationships
     487                                INNER JOIN $wpdb->term_taxonomy
     488                                ON $wpdb->term_taxonomy.term_taxonomy_id = $wpdb->term_relationships.term_taxonomy_id
     489                                WHERE $wpdb->term_taxonomy.taxonomy = %s
     490                                AND $wpdb->term_relationships.object_id = $this->primary_table.$this->primary_id_column
    496491                        )", $clause['taxonomy'] );
    497492
     
    603598         * @since 3.2.0
    604599         *
     600         * @global wpdb $wpdb The WordPress database abstraction object.
     601         *
    605602         * @param array  $query           The single query. Passed by reference.
    606603         * @param string $resulting_field The resulting field. Accepts 'slug', 'name', 'term_taxonomy_id',
     
    608605         */
    609606        public function transform_query( &$query, $resulting_field ) {
     607                global $wpdb;
     608
    610609                if ( empty( $query['terms'] ) )
    611610                        return;
     
    630629                                $terms = implode( ",", $query['terms'] );
    631630
    632                                 $terms = $this->db->get_col( "
    633                                         SELECT {$this->db->term_taxonomy}.$resulting_field
    634                                         FROM {$this->db->term_taxonomy}
    635                                         INNER JOIN {$this->db->terms} USING (term_id)
     631                                $terms = $wpdb->get_col( "
     632                                        SELECT $wpdb->term_taxonomy.$resulting_field
     633                                        FROM $wpdb->term_taxonomy
     634                                        INNER JOIN $wpdb->terms USING (term_id)
    636635                                        WHERE taxonomy = '{$query['taxonomy']}'
    637                                         AND {$this->db->terms}.{$query['field']} IN ($terms)
     636                                        AND $wpdb->terms.{$query['field']} IN ($terms)
    638637                                " );
    639638                                break;
    640639                        case 'term_taxonomy_id':
    641640                                $terms = implode( ',', array_map( 'intval', $query['terms'] ) );
    642                                 $terms = $this->db->get_col( "
     641                                $terms = $wpdb->get_col( "
    643642                                        SELECT $resulting_field
    644                                         FROM {$this->db->term_taxonomy}
     643                                        FROM $wpdb->term_taxonomy
    645644                                        WHERE term_taxonomy_id IN ($terms)
    646645                                " );
     
    648647                        default:
    649648                                $terms = implode( ',', array_map( 'intval', $query['terms'] ) );
    650                                 $terms = $this->db->get_col( "
     649                                $terms = $wpdb->get_col( "
    651650                                        SELECT $resulting_field
    652                                         FROM {$this->db->term_taxonomy}
     651                                        FROM $wpdb->term_taxonomy
    653652                                        WHERE taxonomy = '{$query['taxonomy']}'
    654653                                        AND term_id IN ($terms)
  • trunk/src/wp-includes/class-wp-term-query.php

    r38667 r38768  
    8686         */
    8787        public $terms;
    88 
    89         /**
    90          * @since 4.7.0
    91          * @access protected
    92          * @var wpdb
    93          */
    94         protected $db;
    9588
    9689        /**
     
    187180         */
    188181        public function __construct( $query = '' ) {
    189                 $this->db = $GLOBALS['wpdb'];
    190 
    191182                $this->query_var_defaults = array(
    192183                        'taxonomy'               => null,
     
    315306         * @access public
    316307         *
     308         * @global wpdb $wpdb WordPress database abstraction object.
     309         *
    317310         * @return array
    318311         */
    319312        public function get_terms() {
     313                global $wpdb;
     314
    320315                $this->parse_query( $this->query_vars );
    321316                $args = $this->query_vars;
     
    510505                                $this->sql_clauses['where']['term_taxonomy_id'] = "tt.term_taxonomy_id IN ({$tt_ids})";
    511506                        } else {
    512                                 $this->sql_clauses['where']['term_taxonomy_id'] = $this->db->prepare( "tt.term_taxonomy_id = %d", $args['term_taxonomy_id'] );
     507                                $this->sql_clauses['where']['term_taxonomy_id'] = $wpdb->prepare( "tt.term_taxonomy_id = %d", $args['term_taxonomy_id'] );
    513508                        }
    514509                }
    515510
    516511                if ( ! empty( $args['name__like'] ) ) {
    517                         $this->sql_clauses['where']['name__like'] = $this->db->prepare( "t.name LIKE %s", '%' . $this->db->esc_like( $args['name__like'] ) . '%' );
     512                        $this->sql_clauses['where']['name__like'] = $wpdb->prepare( "t.name LIKE %s", '%' . $wpdb->esc_like( $args['name__like'] ) . '%' );
    518513                }
    519514
    520515                if ( ! empty( $args['description__like'] ) ) {
    521                         $this->sql_clauses['where']['description__like'] = $this->db->prepare( "tt.description LIKE %s", '%' . $this->db->esc_like( $args['description__like'] ) . '%' );
     516                        $this->sql_clauses['where']['description__like'] = $wpdb->prepare( "tt.description LIKE %s", '%' . $wpdb->esc_like( $args['description__like'] ) . '%' );
    522517                }
    523518
     
    639634                $fields = implode( ', ', apply_filters( 'get_terms_fields', $selects, $args, $taxonomies ) );
    640635
    641                 $join .= " INNER JOIN {$this->db->term_taxonomy} AS tt ON t.term_id = tt.term_id";
     636                $join .= " INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id";
    642637
    643638                if ( ! empty( $this->query_vars['object_ids'] ) ) {
    644                         $join .= " INNER JOIN {$this->db->term_relationships} AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id";
     639                        $join .= " INNER JOIN {$wpdb->term_relationships} AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id";
    645640                }
    646641
     
    671666
    672667                $this->sql_clauses['select']  = "SELECT $distinct $fields";
    673                 $this->sql_clauses['from']    = "FROM {$this->db->terms} AS t $join";
     668                $this->sql_clauses['from']    = "FROM $wpdb->terms AS t $join";
    674669                $this->sql_clauses['orderby'] = $orderby ? "$orderby $order" : '';
    675670                $this->sql_clauses['limits']  = $limits;
     
    696691
    697692                if ( 'count' == $_fields ) {
    698                         return $this->db->get_var( $this->request );
    699                 }
    700 
    701                 $terms = $this->db->get_results( $this->request );
     693                        return $wpdb->get_var( $this->request );
     694                }
     695
     696                $terms = $wpdb->get_results( $this->request );
    702697                if ( 'all' == $_fields || 'all_with_object_id' === $_fields ) {
    703698                        update_term_cache( $terms );
     
    830825         * @since 4.6.0
    831826         * @access protected
     827         *
     828         * @global wpdb $wpdb WordPress database abstraction object.
    832829         *
    833830         * @param string $orderby_raw Alias for the field to order by.
     
    967964         * @access protected
    968965         *
     966         * @global wpdb $wpdb WordPress database abstraction object.
     967         *
    969968         * @param string $string
    970969         * @return string
    971970         */
    972971        protected function get_search_sql( $string ) {
    973                 $like = '%' . $this->db->esc_like( $string ) . '%';
    974 
    975                 return $this->db->prepare( '((t.name LIKE %s) OR (t.slug LIKE %s))', $like, $like );
     972                global $wpdb;
     973
     974                $like = '%' . $wpdb->esc_like( $string ) . '%';
     975
     976                return $wpdb->prepare( '((t.name LIKE %s) OR (t.slug LIKE %s))', $like, $like );
    976977        }
    977978}
  • trunk/src/wp-includes/class-wp-user-query.php

    r38715 r38768  
    7272
    7373        /**
    74          * @since 4.7.0
    75          * @access protected
    76          * @var wpdb
    77          */
    78         protected $db;
    79 
    80         /**
    8174         * PHP5 constructor.
    8275         *
     
    8679         */
    8780        public function __construct( $query = null ) {
    88                 $this->db = $GLOBALS['wpdb'];
    89 
    9081                if ( ! empty( $query ) ) {
    9182                        $this->prepare_query( $query );
     
    152143         * @access public
    153144         *
     145         * @global wpdb $wpdb WordPress database abstraction object.
    154146         * @global int  $blog_id
    155147         *
     
    225217         */
    226218        public function prepare_query( $query = array() ) {
     219                global $wpdb;
     220
    227221                if ( empty( $this->query_vars ) || ! empty( $query ) ) {
    228222                        $this->query_limit = null;
     
    253247                        foreach ( $qv['fields'] as $field ) {
    254248                                $field = 'ID' === $field ? 'ID' : sanitize_key( $field );
    255                                 $this->query_fields[] = "{$this->db->users}.$field";
     249                                $this->query_fields[] = "$wpdb->users.$field";
    256250                        }
    257251                        $this->query_fields = implode( ',', $this->query_fields );
    258252                } elseif ( 'all' == $qv['fields'] ) {
    259                         $this->query_fields = "{$this->db->users}.*";
     253                        $this->query_fields = "$wpdb->users.*";
    260254                } else {
    261                         $this->query_fields = "{$this->db->users}.ID";
     255                        $this->query_fields = "$wpdb->users.ID";
    262256                }
    263257
     
    265259                        $this->query_fields = 'SQL_CALC_FOUND_ROWS ' . $this->query_fields;
    266260
    267                 $this->query_from = "FROM {$this->db->users}";
     261                $this->query_from = "FROM $wpdb->users";
    268262                $this->query_where = "WHERE 1=1";
    269263
     
    288282
    289283                        foreach ( $post_types as &$post_type ) {
    290                                 $post_type = $this->db->prepare( '%s', $post_type );
    291                         }
    292 
    293                         $posts_table = $this->db->get_blog_prefix( $blog_id ) . 'posts';
    294                         $this->query_where .= " AND {$this->db->users}.ID IN ( SELECT DISTINCT $posts_table.post_author FROM $posts_table WHERE $posts_table.post_status = 'publish' AND $posts_table.post_type IN ( " . join( ", ", $post_types ) . " ) )";
     284                                $post_type = $wpdb->prepare( '%s', $post_type );
     285                        }
     286
     287                        $posts_table = $wpdb->get_blog_prefix( $blog_id ) . 'posts';
     288                        $this->query_where .= " AND $wpdb->users.ID IN ( SELECT DISTINCT $posts_table.post_author FROM $posts_table WHERE $posts_table.post_status = 'publish' AND $posts_table.post_type IN ( " . join( ", ", $post_types ) . " ) )";
    295289                }
    296290
    297291                // nicename
    298292                if ( '' !== $qv['nicename']) {
    299                         $this->query_where .= $this->db->prepare( ' AND user_nicename = %s', $qv['nicename'] );
     293                        $this->query_where .= $wpdb->prepare( ' AND user_nicename = %s', $qv['nicename'] );
    300294                }
    301295
     
    314308                // login
    315309                if ( '' !== $qv['login']) {
    316                         $this->query_where .= $this->db->prepare( ' AND user_login = %s', $qv['login'] );
     310                        $this->query_where .= $wpdb->prepare( ' AND user_login = %s', $qv['login'] );
    317311                }
    318312
     
    335329                if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) {
    336330                        $who_query = array(
    337                                 'key' => $this->db->get_blog_prefix( $blog_id ) . 'user_level',
     331                                'key' => $wpdb->get_blog_prefix( $blog_id ) . 'user_level',
    338332                                'value' => 0,
    339333                                'compare' => '!=',
     
    382376                                foreach ( $roles as $role ) {
    383377                                        $roles_clauses[] = array(
    384                                                 'key'     => $this->db->get_blog_prefix( $blog_id ) . 'capabilities',
     378                                                'key'     => $wpdb->get_blog_prefix( $blog_id ) . 'capabilities',
    385379                                                'value'   => '"' . $role . '"',
    386380                                                'compare' => 'LIKE',
     
    395389                                foreach ( $role__in as $role ) {
    396390                                        $role__in_clauses[] = array(
    397                                                 'key'     => $this->db->get_blog_prefix( $blog_id ) . 'capabilities',
     391                                                'key'     => $wpdb->get_blog_prefix( $blog_id ) . 'capabilities',
    398392                                                'value'   => '"' . $role . '"',
    399393                                                'compare' => 'LIKE',
     
    408402                                foreach ( $role__not_in as $role ) {
    409403                                        $role__not_in_clauses[] = array(
    410                                                 'key'     => $this->db->get_blog_prefix( $blog_id ) . 'capabilities',
     404                                                'key'     => $wpdb->get_blog_prefix( $blog_id ) . 'capabilities',
    411405                                                'value'   => '"' . $role . '"',
    412406                                                'compare' => 'NOT LIKE',
     
    420414                        if ( empty( $role_queries ) ) {
    421415                                $role_queries[] = array(
    422                                         'key' => $this->db->get_blog_prefix( $blog_id ) . 'capabilities',
     416                                        'key' => $wpdb->get_blog_prefix( $blog_id ) . 'capabilities',
    423417                                        'compare' => 'EXISTS',
    424418                                );
     
    442436
    443437                if ( ! empty( $this->meta_query->queries ) ) {
    444                         $clauses = $this->meta_query->get_sql( 'user', $this->db->users, 'ID', $this );
     438                        $clauses = $this->meta_query->get_sql( 'user', $wpdb->users, 'ID', $this );
    445439                        $this->query_from .= $clauses['join'];
    446440                        $this->query_where .= $clauses['where'];
     
    504498                if ( isset( $qv['number'] ) && $qv['number'] > 0 ) {
    505499                        if ( $qv['offset'] ) {
    506                                 $this->query_limit = $this->db->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']);
     500                                $this->query_limit = $wpdb->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']);
    507501                        } else {
    508                                 $this->query_limit = $this->db->prepare( "LIMIT %d, %d", $qv['number'] * ( $qv['paged'] - 1 ), $qv['number'] );
     502                                $this->query_limit = $wpdb->prepare( "LIMIT %d, %d", $qv['number'] * ( $qv['paged'] - 1 ), $qv['number'] );
    509503                        }
    510504                }
     
    562556                        // Sanitized earlier.
    563557                        $ids = implode( ',', $include );
    564                         $this->query_where .= " AND {$this->db->users}.ID IN ($ids)";
     558                        $this->query_where .= " AND $wpdb->users.ID IN ($ids)";
    565559                } elseif ( ! empty( $qv['exclude'] ) ) {
    566560                        $ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
    567                         $this->query_where .= " AND {$this->db->users}.ID NOT IN ($ids)";
     561                        $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
    568562                }
    569563
     
    593587         *
    594588         * @since 3.1.0
     589         *
     590         * @global wpdb $wpdb WordPress database abstraction object.
    595591         */
    596592        public function query() {
     593                global $wpdb;
     594
    597595                $qv =& $this->query_vars;
    598596
     
    600598
    601599                if ( is_array( $qv['fields'] ) || 'all' == $qv['fields'] ) {
    602                         $this->results = $this->db->get_results( $this->request );
     600                        $this->results = $wpdb->get_results( $this->request );
    603601                } else {
    604                         $this->results = $this->db->get_col( $this->request );
     602                        $this->results = $wpdb->get_col( $this->request );
    605603                }
    606604
     
    610608                 * @since 3.2.0
    611609                 *
     610                 * @global wpdb $wpdb WordPress database abstraction object.
     611                 *
    612612                 * @param string $sql The SELECT FOUND_ROWS() query for the current WP_User_Query.
    613613                 */
    614                 if ( isset( $qv['count_total'] ) && $qv['count_total'] ) {
    615                         $this->total_users = $this->db->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
    616                 }
    617 
    618                 if ( ! $this->results ) {
     614                if ( isset( $qv['count_total'] ) && $qv['count_total'] )
     615                        $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
     616
     617                if ( !$this->results )
    619618                        return;
    620                 }
    621619
    622620                if ( 'all_with_meta' == $qv['fields'] ) {
     
    669667         * @access protected
    670668         * @since 3.1.0
     669         *
     670         * @global wpdb $wpdb WordPress database abstraction object.
    671671         *
    672672         * @param string $string
     
    677677         */
    678678        protected function get_search_sql( $string, $cols, $wild = false ) {
     679                global $wpdb;
     680
    679681                $searches = array();
    680682                $leading_wild = ( 'leading' == $wild || 'both' == $wild ) ? '%' : '';
    681683                $trailing_wild = ( 'trailing' == $wild || 'both' == $wild ) ? '%' : '';
    682                 $like = $leading_wild . $this->db->esc_like( $string ) . $trailing_wild;
     684                $like = $leading_wild . $wpdb->esc_like( $string ) . $trailing_wild;
    683685
    684686                foreach ( $cols as $col ) {
    685687                        if ( 'ID' == $col ) {
    686                                 $searches[] = $this->db->prepare( "$col = %s", $string );
     688                                $searches[] = $wpdb->prepare( "$col = %s", $string );
    687689                        } else {
    688                                 $searches[] = $this->db->prepare( "$col LIKE %s", $like );
     690                                $searches[] = $wpdb->prepare( "$col LIKE %s", $like );
    689691                        }
    690692                }
     
    723725         * @access protected
    724726         *
     727         * @global wpdb $wpdb WordPress database abstraction object.
     728         *
    725729         * @param string $orderby Alias for the field to order by.
    726730         * @return string Value to used in the ORDER clause, if `$orderby` is valid.
    727731         */
    728732        protected function parse_orderby( $orderby ) {
     733                global $wpdb;
     734
    729735                $meta_query_clauses = $this->meta_query->get_clauses();
    730736
     
    741747                        $this->query_from .= " LEFT OUTER JOIN (
    742748                                SELECT post_author, COUNT(*) as post_count
    743                                 FROM {$this->db->posts}
     749                                FROM $wpdb->posts
    744750                                $where
    745751                                GROUP BY post_author
    746                         ) p ON ({$this->db->users}.ID = p.post_author)
     752                        ) p ON ({$wpdb->users}.ID = p.post_author)
    747753                        ";
    748754                        $_orderby = 'post_count';
     
    750756                        $_orderby = 'ID';
    751757                } elseif ( 'meta_value' == $orderby || $this->get( 'meta_key' ) == $orderby ) {
    752                         $_orderby = "{$this->db->usermeta}.meta_value";
     758                        $_orderby = "$wpdb->usermeta.meta_value";
    753759                } elseif ( 'meta_value_num' == $orderby ) {
    754                         $_orderby = "{$this->db->usermeta}.meta_value+0";
     760                        $_orderby = "$wpdb->usermeta.meta_value+0";
    755761                } elseif ( 'include' === $orderby && ! empty( $this->query_vars['include'] ) ) {
    756762                        $include = wp_parse_id_list( $this->query_vars['include'] );
    757763                        $include_sql = implode( ',', $include );
    758                         $_orderby = "FIELD( {$this->db->users}.ID, $include_sql )";
     764                        $_orderby = "FIELD( $wpdb->users.ID, $include_sql )";
    759765                } elseif ( 'nicename__in' === $orderby ) {
    760766                        $sanitized_nicename__in = array_map( 'esc_sql', $this->query_vars['nicename__in'] );
  • trunk/src/wp-includes/class-wp-user.php

    r38705 r38768  
    105105
    106106        /**
    107          * @since 4.7.0
    108          * @access protected
    109          * @var wpdb
    110          */
    111         protected $db;
    112 
    113         /**
    114107         * Constructor.
    115108         *
     
    118111         * @since 2.0.0
    119112         * @access public
     113         *
     114         * @global wpdb $wpdb WordPress database abstraction object.
    120115         *
    121116         * @param int|string|stdClass|WP_User $id User's ID, a WP_User object, or a user object from the DB.
     
    124119         */
    125120        public function __construct( $id = 0, $name = '', $blog_id = '' ) {
    126                 $this->db = $GLOBALS['wpdb'];
    127 
    128121                if ( ! isset( self::$back_compat_keys ) ) {
    129                         $prefix = $this->db->prefix;
     122                        $prefix = $GLOBALS['wpdb']->prefix;
    130123                        self::$back_compat_keys = array(
    131124                                'user_firstname' => 'first_name',
     
    242235
    243236                if ( !$user = $wpdb->get_row( $wpdb->prepare(
    244                         "SELECT * FROM {$wpdb->users} WHERE $db_field = %s", $value
    245                 ) ) ) {
     237                        "SELECT * FROM $wpdb->users WHERE $db_field = %s", $value
     238                ) ) )
    246239                        return false;
    247                 }
     240
    248241                update_user_caches( $user );
    249242
     
    452445         * @since 2.1.0
    453446         *
     447         * @global wpdb $wpdb WordPress database abstraction object.
     448         *
    454449         * @param string $cap_key Optional capability key
    455450         */
    456451        protected function _init_caps( $cap_key = '' ) {
    457                 if ( empty( $cap_key ) ) {
    458                         $this->cap_key = $this->db->get_blog_prefix() . 'capabilities';
    459                 } else {
     452                global $wpdb;
     453
     454                if ( empty($cap_key) )
     455                        $this->cap_key = $wpdb->get_blog_prefix() . 'capabilities';
     456                else
    460457                        $this->cap_key = $cap_key;
    461                 }
     458
    462459                $this->caps = get_user_meta( $this->ID, $this->cap_key, true );
    463460
     
    637634         * @since 2.0.0
    638635         * @access public
     636         *
     637         * @global wpdb $wpdb WordPress database abstraction object.
    639638         */
    640639        public function update_user_level_from_caps() {
     640                global $wpdb;
    641641                $this->user_level = array_reduce( array_keys( $this->allcaps ), array( $this, 'level_reduction' ), 0 );
    642                 update_user_meta( $this->ID, $this->db->get_blog_prefix() . 'user_level', $this->user_level );
     642                update_user_meta( $this->ID, $wpdb->get_blog_prefix() . 'user_level', $this->user_level );
    643643        }
    644644
     
    682682         * @since 2.1.0
    683683         * @access public
     684         *
     685         * @global wpdb $wpdb WordPress database abstraction object.
    684686         */
    685687        public function remove_all_caps() {
     688                global $wpdb;
    686689                $this->caps = array();
    687690                delete_user_meta( $this->ID, $this->cap_key );
    688                 delete_user_meta( $this->ID, $this->db->get_blog_prefix() . 'user_level' );
     691                delete_user_meta( $this->ID, $wpdb->get_blog_prefix() . 'user_level' );
    689692                $this->get_role_caps();
    690693        }
     
    772775         * @since 3.0.0
    773776         *
     777         * @global wpdb $wpdb WordPress database abstraction object.
     778         *
    774779         * @param int $blog_id Optional. Site ID, defaults to current site.
    775780         */
    776781        public function for_blog( $blog_id = '' ) {
    777                 if ( ! empty( $blog_id ) ) {
    778                         $cap_key = $this->db->get_blog_prefix( $blog_id ) . 'capabilities';
    779                 } else {
     782                global $wpdb;
     783                if ( ! empty( $blog_id ) )
     784                        $cap_key = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
     785                else
    780786                        $cap_key = '';
    781                 }
    782787                $this->_init_caps( $cap_key );
    783788        }
  • trunk/src/wp-includes/class-wp-xmlrpc-server.php

    r38747 r38768  
    5555
    5656        /**
    57          * @since 4.7.0
    58          * @access protected
    59          * @var wpdb
    60          */
    61         protected $db;
    62 
    63         /**
    6457         * Registers all of the XMLRPC methods that XMLRPC server understands.
    6558         *
     
    7164         */
    7265        public function __construct() {
    73                 $this->db = $GLOBALS['wpdb'];
    74 
    7566                $this->methods = array(
    7667                        // WordPress API
     
    28952886         * @since 2.2.0
    28962887         *
     2888         * @global wpdb $wpdb WordPress database abstraction object.
     2889         *
    28972890         * @param array  $args {
    28982891         *     Method arguments. Note: arguments must be ordered as documented.
     
    29052898         */
    29062899        public function wp_getPageList( $args ) {
     2900                global $wpdb;
     2901
    29072902                $this->escape( $args );
    29082903
     
    29202915
    29212916                // Get list of pages ids and titles
    2922                 $page_list = $this->db->get_results("
     2917                $page_list = $wpdb->get_results("
    29232918                        SELECT ID page_id,
    29242919                                post_title page_title,
     
    29272922                                post_date,
    29282923                                post_status
    2929                         FROM {$this->db->posts}
     2924                        FROM {$wpdb->posts}
    29302925                        WHERE post_type = 'page'
    29312926                        ORDER BY ID
     
    51445139         * @since 2.1.0
    51455140         *
     5141         * @global wpdb $wpdb WordPress database abstraction object.
     5142         *
    51465143         * @param int $post_ID Post ID.
    51475144         * @param string $post_content Post Content for attachment.
    51485145         */
    51495146        public function attach_uploads( $post_ID, $post_content ) {
     5147                global $wpdb;
     5148
    51505149                // find any unattached files
    5151                 $attachments = $this->db->get_results( "SELECT ID, guid FROM {$this->db->posts} WHERE post_parent = '0' AND post_type = 'attachment'" );
     5150                $attachments = $wpdb->get_results( "SELECT ID, guid FROM {$wpdb->posts} WHERE post_parent = '0' AND post_type = 'attachment'" );
    51525151                if ( is_array( $attachments ) ) {
    51535152                        foreach ( $attachments as $file ) {
    5154                                 if ( ! empty( $file->guid ) && strpos( $post_content, $file->guid ) !== false ) {
    5155                                         $this->db->update( $this->db->posts, array( 'post_parent' => $post_ID ), array( 'ID' => $file->ID ) );
    5156                                 }
     5153                                if ( ! empty( $file->guid ) && strpos( $post_content, $file->guid ) !== false )
     5154                                        $wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID) );
    51575155                        }
    51585156                }
     
    57745772         * @since 1.5.0
    57755773         *
     5774         * @global wpdb $wpdb WordPress database abstraction object.
     5775         *
    57765776         * @param array  $args {
    57775777         *     Method arguments. Note: arguments must be ordered as documented.
     
    57855785         */
    57865786        public function mw_newMediaObject( $args ) {
     5787                global $wpdb;
     5788
    57875789                $username = $this->escape( $args[1] );
    57885790                $password = $this->escape( $args[2] );
     
    61106112         * @since 1.5.0
    61116113         *
     6114         * @global wpdb $wpdb WordPress database abstraction object.
     6115         *
    61126116         * @param int $post_ID
    61136117         * @return array|IXR_Error
    61146118         */
    61156119        public function mt_getTrackbackPings( $post_ID ) {
     6120                global $wpdb;
     6121
    61166122                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
    61176123                do_action( 'xmlrpc_call', 'mt.getTrackbackPings' );
     
    61226128                        return new IXR_Error(404, __('Sorry, no such post.'));
    61236129
    6124                 $comments = $this->db->get_results( $this->db->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM {$this->db->comments} WHERE comment_post_ID = %d", $post_ID) );
     6130                $comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) );
    61256131
    61266132                if ( !$comments )
     
    62576263                                // ...or a string #title, a little more complicated
    62586264                                $title = preg_replace('/[^a-z0-9]/i', '.', $urltest['fragment']);
    6259                                 $sql = $this->db->prepare("SELECT ID FROM {$this->db->posts} WHERE post_title RLIKE %s", $title );
    6260                                 if (! ($post_ID = $this->db->get_var($sql)) ) {
     6265                                $sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", $title );
     6266                                if (! ($post_ID = $wpdb->get_var($sql)) ) {
    62616267                                        // returning unknown error '0' is better than die()ing
    62626268                                        return $this->pingback_error( 0, '' );
     
    62826288
    62836289                // Let's check that the remote site didn't already pingback this entry
    6284                 if ( $this->db->get_results( $this->db->prepare("SELECT * FROM {$this->db->comments} WHERE comment_post_ID = %d AND comment_author_url = %s", $post_ID, $pagelinkedfrom) ) )
     6290                if ( $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_author_url = %s", $post_ID, $pagelinkedfrom) ) )
    62856291                        return $this->pingback_error( 48, __( 'The pingback has already been registered.' ) );
    62866292
     
    64096415         * @since 1.5.0
    64106416         *
     6417         * @global wpdb $wpdb WordPress database abstraction object.
     6418         *
    64116419         * @param string $url
    64126420         * @return array|IXR_Error
    64136421         */
    64146422        public function pingback_extensions_getPingbacks( $url ) {
     6423                global $wpdb;
     6424
    64156425                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
    64166426                do_action( 'xmlrpc_call', 'pingback.extensions.getPingbacks' );
     
    64316441                }
    64326442
    6433                 $comments = $this->db->get_results( $this->db->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM {$this->db->comments} WHERE comment_post_ID = %d", $post_ID) );
     6443                $comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) );
    64346444
    64356445                if ( !$comments )
  • trunk/src/wp-includes/date.php

    r38280 r38768  
    6262         */
    6363        public $time_keys = array( 'after', 'before', 'year', 'month', 'monthnum', 'week', 'w', 'dayofyear', 'day', 'dayofweek', 'dayofweek_iso', 'hour', 'minute', 'second' );
    64 
    65         /**
    66          * @since 4.7.0
    67          * @access protected
    68          * @var wpdb
    69          */
    70         protected $db;
    7164
    7265        /**
     
    159152         */
    160153        public function __construct( $date_query, $default_column = 'post_date' ) {
    161                 $this->db = $GLOBALS['wpdb'];
    162 
    163154                if ( isset( $date_query['relation'] ) && 'OR' === strtoupper( $date_query['relation'] ) ) {
    164155                        $this->relation = 'OR';
     
    495486         */
    496487        public function validate_column( $column ) {
     488                global $wpdb;
     489
    497490                $valid_columns = array(
    498491                        'post_date', 'post_date_gmt', 'post_modified',
     
    519512
    520513                        $known_columns = array(
    521                                 $this->db->posts => array(
     514                                $wpdb->posts => array(
    522515                                        'post_date',
    523516                                        'post_date_gmt',
     
    525518                                        'post_modified_gmt',
    526519                                ),
    527                                 $this->db->comments => array(
     520                                $wpdb->comments => array(
    528521                                        'comment_date',
    529522                                        'comment_date_gmt',
    530523                                ),
    531                                 $this->db->users => array(
     524                                $wpdb->users => array(
    532525                                        'user_registered',
    533526                                ),
    534                                 $this->db->blogs => array(
     527                                $wpdb->blogs => array(
    535528                                        'registered',
    536529                                        'last_updated',
     
    724717         */
    725718        protected function get_sql_for_clause( $query, $parent_query ) {
     719                global $wpdb;
     720
    726721                // The sub-parts of a $where part.
    727722                $where_parts = array();
     
    746741                // Range queries.
    747742                if ( ! empty( $query['after'] ) ) {
    748                         $where_parts[] = $this->db->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) );
     743                        $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) );
    749744                }
    750745                if ( ! empty( $query['before'] ) ) {
    751                         $where_parts[] = $this->db->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) );
     746                        $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) );
    752747                }
    753748                // Specific value queries.
     
    963958         */
    964959        public function build_time_query( $column, $compare, $hour = null, $minute = null, $second = null ) {
     960                global $wpdb;
     961
    965962                // Have to have at least one
    966963                if ( ! isset( $hour ) && ! isset( $minute ) && ! isset( $second ) )
     
    10161013                }
    10171014
    1018                 return $this->db->prepare( "DATE_FORMAT( $column, %s ) $compare %f", $format, $time );
     1015                return $wpdb->prepare( "DATE_FORMAT( $column, %s ) $compare %f", $format, $time );
    10191016        }
    10201017}
  • trunk/tests/phpunit/tests/user.php

    r38398 r38768  
    182182
    183183                foreach ( (array) $user as $key => $value ) {
    184                         if ( $value instanceof wpdb ) {
    185                                 continue;
    186                         }
    187184                        $this->assertEquals( $value, $user->$key );
    188185                }
Note: See TracChangeset for help on using the changeset viewer.