Make WordPress Core

Changeset 6391


Ignore:
Timestamp:
12/16/2007 09:38:24 PM (19 years ago)
Author:
ryan
Message:

Suppress display of DB error messages by default. Props filosofo. see #5473

Location:
trunk/wp-includes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r6390 r6391  
    207207                if ( false === $value ) {
    208208                        if ( defined( 'WP_INSTALLING' ) )
    209                                 $wpdb->hide_errors();
     209                                $show = $wpdb->hide_errors();
    210210                        // expected_slashed ($setting)
    211211                        $row = $wpdb->get_row( "SELECT option_value FROM $wpdb->options WHERE option_name = '$setting' LIMIT 1" );
    212212                        if ( defined( 'WP_INSTALLING' ) )
    213                                 $wpdb->show_errors();
     213                                $wpdb->show_errors($show);
    214214
    215215                        if ( is_object( $row) ) { // Has to be get_row instead of get_var because of funkiness with 0, false, null values
     
    247247function get_alloptions() {
    248248        global $wpdb, $wp_queries;
    249         $wpdb->hide_errors();
     249        $show = $wpdb->hide_errors();
    250250        if ( !$options = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ) )
    251251                $options = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
    252         $wpdb->show_errors();
     252        $wpdb->show_errors($show);
    253253
    254254        foreach ( $options as $option ) {
     
    270270
    271271        if ( !$alloptions ) {
    272                 $wpdb->hide_errors();
     272                $show = $wpdb->hide_errors();
    273273                if ( !$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ) )
    274274                        $alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
    275                 $wpdb->show_errors();
     275                $wpdb->show_errors($show);
    276276                $alloptions = array();
    277277                foreach ( (array) $alloptions_db as $o )
     
    950950                return true;
    951951
    952         $wpdb->hide_errors();
     952        $show = $wpdb->hide_errors();
    953953        $installed = $wpdb->get_var( "SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'" );
    954         $wpdb->show_errors();
     954        $wpdb->show_errors($show);
    955955
    956956        $installed = !empty( $installed ) ? true : false;
  • trunk/wp-includes/user.php

    r6364 r6391  
    237237        global $wpdb;
    238238
    239         $wpdb->hide_errors();
     239        $show = $wpdb->hide_errors();
    240240        $metavalues = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user->ID));
    241         $wpdb->show_errors();
     241        $wpdb->show_errors($show);
    242242
    243243        if ( $metavalues ) {
  • trunk/wp-includes/wp-db.php

    r6366 r6391  
    1616class wpdb {
    1717
    18         var $show_errors = true;
     18        var $show_errors = false;
    1919        var $num_queries = 0;
    2020        var $last_query;
     
    171171                array ('query' => $this->last_query, 'error_str' => $str);
    172172
     173                $error_str = "WordPress database error $str for query $this->last_query";
     174                if ( $caller = $this->get_caller() )
     175                        $error_str .= " made by $caller";
     176                error_log($error_str, 0);
     177
     178                // Is error output turned on or not..
     179                if ( !$this->show_errors )
     180                        return false;
     181
    173182                $str = htmlspecialchars($str, ENT_QUOTES);
    174183                $query = htmlspecialchars($this->last_query, ENT_QUOTES);
    175                 // Is error output turned on or not..
    176                 if ( $this->show_errors ) {
    177                         // If there is an error then take note of it
    178                         print "<div id='error'>
    179                         <p class='wpdberror'><strong>WordPress database error:</strong> [$str]<br />
    180                         <code>$query</code></p>
    181                         </div>";
    182                 } else {
    183                         return false;
    184                 }
     184
     185                // If there is an error then take note of it
     186                print "<div id='error'>
     187                <p class='wpdberror'><strong>WordPress database error:</strong> [$str]<br />
     188                <code>$query</code></p>
     189                </div>";
    185190        }
    186191
     
    188193        //      Turn error handling on or off..
    189194
    190         function show_errors() {
    191                 $this->show_errors = true;
     195        function show_errors( $show = true ) {
     196                $errors = $this->show_errors;
     197                $this->show_errors = $show;
     198                return $errors;
    192199        }
    193200
    194201        function hide_errors() {
     202                $show = $this->show_errors;
    195203                $this->show_errors = false;
     204                return $show;
    196205        }
    197206
Note: See TracChangeset for help on using the changeset viewer.