Make WordPress Core

Ticket #27703: 27703.diff

File 27703.diff, 4.4 KB (added by pento, 10 years ago)
  • src/wp-includes/wp-db.php

     
    579579                        $this->show_errors();
    580580
    581581                /* Use ext/mysqli if it exists and:
    582                  *  - WP_USE_EXT_MYSQL is defined as false, or
     582                 *  - USE_EXT_MYSQL is defined as false, or
    583583                 *  - We are a development version of WordPress, or
    584584                 *  - We are running PHP 5.5 or greater, or
    585585                 *  - ext/mysql is not loaded.
    586586                 */
    587587                if ( function_exists( 'mysqli_connect' ) ) {
    588                         if ( defined( 'WP_USE_EXT_MYSQL' ) ) {
    589                                 $this->use_mysqli = ! WP_USE_EXT_MYSQL;
     588                        if ( defined( 'USE_EXT_MYSQL' ) ) {
     589                                $this->use_mysqli = ! USE_EXT_MYSQL;
    590590                        } elseif ( version_compare( phpversion(), '5.5', '>=' ) || ! function_exists( 'mysql_connect' ) ) {
    591591                                $this->use_mysqli = true;
    592592                        } elseif ( false !== strpos( $GLOBALS['wp_version'], '-' ) ) {
     
    12991299        /**
    13001300         * Connect to and select database.
    13011301         *
    1302          * If $allow_bail is false, the lack of database connection will need
    1303          * to be handled manually.
    1304          *
    13051302         * @since 3.0.0
    1306          * @since 3.9.0 $allow_bail parameter added.
    13071303         *
    1308          * @param bool $allow_bail Optional. Allows the function to bail. Default true.
     1304         * @param bool $allow_bail Optional. Allows the function to bail, default true. If this is set
     1305         *                         to false, you will need to handle the lack of database connection
     1306         *                         manually. Available since 3.9.0.
     1307         *
    13091308         * @return bool True with a successful connection, false on failure.
    13101309         */
    13111310        function db_connect( $allow_bail = true ) {
     
    13491348
    13501349                                /* It's possible ext/mysqli is misconfigured. Fall back to ext/mysql if:
    13511350                                 *  - We haven't previously connected, and
    1352                                  *  - WP_USE_EXT_MYSQL isn't set to false, and
     1351                                 *  - USE_EXT_MYSQL isn't set to false, and
    13531352                                 *  - ext/mysql is loaded.
    13541353                                 */
    13551354                                $attempt_fallback = true;
    13561355
    13571356                                if ( $this->has_connected ) {
    13581357                                        $attempt_fallback = false;
    1359                                 } else if ( defined( 'WP_USE_EXT_MYSQL' ) && ! WP_USE_EXT_MYSQL ) {
     1358                                } else if ( defined( 'USE_EXT_MYSQL' ) && ! USE_EXT_MYSQL ) {
    13601359                                        $attempt_fallback = false;
    13611360                                } else if ( ! function_exists( 'mysql_connect' ) ) {
    13621361                                        $attempt_fallback = false;
     
    14151414         * If this function is unable to reconnect, it will forcibly die, or if after the
    14161415         * the template_redirect hook has been fired, return false instead.
    14171416         *
    1418          * If $allow_bail is false, the lack of database connection will need
    1419          * to be handled manually.
    1420          *
    14211417         * @since 3.9.0
    14221418         *
    1423          * @param bool $allow_bail Optional. Allows the function to bail. Default true.
     1419         * @param bool $allow_bail Optional. Allows the function to bail, default true. If this is set
     1420         *                         to false, you will need to handle the lack of database connection
     1421         *                         manually.
     1422         *
    14241423         * @return bool True if the connection is up.
    14251424         */
    14261425        function check_connection( $allow_bail = true ) {
     
    15991598        }
    16001599
    16011600        /**
    1602          * Internal function to perform the mysql_query() call.
     1601         * Internal function to perform the mysql_query call
    16031602         *
    16041603         * @since 3.9.0
    16051604         *
    16061605         * @access private
    16071606         * @see wpdb::query()
    16081607         *
    1609          * @param string $query The query to run.
     1608         * @param string $query The query to run
    16101609         */
    16111610        private function _do_query( $query ) {
    16121611                if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES ) {
     
    19631962
    19641963                if ( $this->use_mysqli ) {
    19651964                        for ( $i = 0; $i < @mysqli_num_fields( $this->result ); $i++ ) {
    1966                                 $this->col_info[ $i ] = @mysqli_fetch_field( $this->result );
     1965                                $this->col_info[ $i ] = @mysqli_fetch_field( $this->result, $i );
    19671966                        }
    19681967                } else {
    19691968                        for ( $i = 0; $i < @mysql_num_fields( $this->result ); $i++ ) {
     
    21372136         *
    21382137         * @since 2.7.0
    21392138         *
     2139         * @param bool $full Optional. Flag to provide the full version string, default false. Available since 3.9.0.
     2140         *
    21402141         * @return false|string false on failure, version number on success
    21412142         */
    2142         function db_version() {
     2143        function db_version( $full = false ) {
    21432144                if ( $this->use_mysqli ) {
    21442145                        $server_info = mysqli_get_server_info( $this->dbh );
    21452146                } else {
    21462147                        $server_info = mysql_get_server_info( $this->dbh );
    21472148                }
    2148                 return preg_replace( '/[^0-9.].*/', '', $server_info );
     2149
     2150                if ( $full ) {
     2151                        return $server_info;
     2152                } else {
     2153                        return preg_replace( '/[^0-9.].*/', '', $server_info );
     2154                }
    21492155        }
    21502156}