Make WordPress Core

Ticket #6836: 6836.full.diff

File 6836.full.diff, 38.0 KB (added by DD32, 16 years ago)

also includes a logic inversion in the original patch for wp-includes/comment.php

  • wp-admin/import/wp-cat2tag.php

     
    300300                                        }
    301301
    302302                                        // Change the category to a tag.
    303                                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET taxonomy = 'post_tag' WHERE term_id = %d AND taxonomy = 'category'", $category->term_id) );
     303                                        $wpdb->update($wpdb->term_taxonomy, array('taxonomy' => 'post_tag'), array('term_id' => $category->term_id, 'taxonomy' => 'category') );
    304304
    305305                                        $terms = $wpdb->get_col( $wpdb->prepare("SELECT term_id FROM $wpdb->term_taxonomy WHERE parent = %d AND taxonomy = 'category'", $category->term_id) );
    306306                                        foreach ( (array) $terms as $term )
    307307                                                clean_category_cache($term);
    308308
    309309                                        // Set all parents to 0 (root-level) if their parent was the converted tag
    310                                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET parent = 0 WHERE parent = %d AND taxonomy = 'category'", $category->term_id) );
     310                                        $wpdb->update($wpdb->term_taxonomy, array('parent' => '0'), array('parent' => $category->term_id, 'taxonomy' => 'category') );
    311311                                }
    312312                                // Clean the cache
    313313                                clean_category_cache($category->term_id);
  • wp-admin/includes/bookmark.php

     
    119119        }
    120120
    121121        if ( $update ) {
    122                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_url = %s,
    123                         link_name = %s, link_image = %s, link_target = %s,
    124                         link_visible = %s, link_description = %s, link_rating = %s,
    125                         link_rel = %s, link_notes = %s, link_rss = %s
    126                         WHERE link_id = %s", $link_url, $link_name, $link_image, $link_target, $link_visible, $link_description, $link_rating, $link_rel, $link_notes, $link_rss, $link_id) );
     122                $wpdb->update( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_rating', 'link_rel', 'link_notes', 'link_rss'), compact('link_id') );
    127123        } else {
    128                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->links (link_url, link_name, link_image, link_target, link_description, link_visible, link_owner, link_rating, link_rel, link_notes, link_rss) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
    129                 $link_url,$link_name, $link_image, $link_target, $link_description, $link_visible, $link_owner, $link_rating, $link_rel, $link_notes, $link_rss) );
     124                $wpdb->insert( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss') );
    130125                $link_id = (int) $wpdb->insert_id;
    131126        }
    132127
  • wp-admin/includes/post.php

     
    326326
    327327        $protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' );
    328328
    329         $metakeyselect = $wpdb->escape( stripslashes( trim( $_POST['metakeyselect'] ) ) );
    330         $metakeyinput = $wpdb->escape( stripslashes( trim( $_POST['metakeyinput'] ) ) );
    331         $metavalue = maybe_serialize( stripslashes( (trim( $_POST['metavalue'] ) ) ));
    332         $metavalue = $wpdb->escape( $metavalue );
     329        $metakeyselect = stripslashes( trim( $_POST['metakeyselect'] ) );
     330        $metakeyinput = stripslashes( trim( $_POST['metakeyinput'] ) );
     331        $meta_value = maybe_serialize( stripslashes( trim( $_POST['metavalue'] ) ) );
    333332
    334         if ( ('0' === $metavalue || !empty ( $metavalue ) ) && ((('#NONE#' != $metakeyselect) && !empty ( $metakeyselect) ) || !empty ( $metakeyinput) ) ) {
     333        if ( ('0' === $meta_value || !empty ( $meta_value ) ) && ((('#NONE#' != $metakeyselect) && !empty ( $metakeyselect) ) || !empty ( $metakeyinput) ) ) {
    335334                // We have a key/value pair. If both the select and the
    336335                // input for the key have data, the input takes precedence:
    337336
    338337                if ('#NONE#' != $metakeyselect)
    339                         $metakey = $metakeyselect;
     338                        $meta_key = $metakeyselect;
    340339
    341340                if ( $metakeyinput)
    342                         $metakey = $metakeyinput; // default
     341                        $meta_key = $metakeyinput; // default
    343342
    344                 if ( in_array($metakey, $protected) )
     343                if ( in_array($meta_key, $protected) )
    345344                        return false;
    346345
    347346                wp_cache_delete($post_ID, 'post_meta');
    348347
    349                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta
    350                         (post_id,meta_key,meta_value ) VALUES (%s, %s, %s)",
    351                         $post_ID, $metakey, $metavalue) );
     348                $wpdb->insert( $wpdb->postmeta, compact('post_ID', 'meta_key', 'meta_value'));
     349
    352350                return $wpdb->insert_id;
    353351        }
    354352        return false;
     
    467465        global $wpdb;
    468466        $old_ID = (int) $old_ID;
    469467        $new_ID = (int) $new_ID;
    470         return $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = %d WHERE post_parent = %d", $new_ID, $old_ID) );
     468        return $wpdb->update($wpdb->posts, array('post_parent' => $new_ID), array('post_parent' => $old_ID) );
    471469}
    472470
    473471function get_available_post_statuses($type = 'post') {
  • wp-admin/includes/schema.php

     
    264264
    265265        // Set up a few options not to load by default
    266266        $fatoptions = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' );
    267         foreach ($fatoptions as $fatoption) :
    268                 $wpdb->query("UPDATE $wpdb->options SET `autoload` = 'no' WHERE option_name = '$fatoption'");
    269         endforeach;
     267        foreach ($fatoptions as $fatoption)
     268                $wpdb->update( $wpdb->options, array('autoload' => 'no'), array('option_name' => $fatoption) );
    270269}
    271270
    272271function populate_roles() {
  • wp-admin/includes/template.php

     
    520520                // catch and repair bad pages
    521521                if ( $page->post_parent == $page->ID ) {
    522522                        $page->post_parent = 0;
    523                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = '0' WHERE ID = %d", $page->ID) );
     523                        $wpdb->update($wpdb->posts, array('post_parent' => '0'), array('ID' => $page->ID) );
    524524                        clean_page_cache( $page->ID );
    525525                }
    526526
  • wp-admin/includes/upgrade.php

     
    6161        global $wpdb;
    6262
    6363        // Default category
    64         $cat_name = $wpdb->escape(__('Uncategorized'));
     64        $cat_name = __('Uncategorized');
    6565        $cat_slug = sanitize_title(_c('Uncategorized|Default category slug'));
    66         $wpdb->query("INSERT INTO $wpdb->terms (name, slug, term_group) VALUES ('$cat_name', '$cat_slug', '0')");
    67         $wpdb->query("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ('1', 'category', '', '0', '1')");
     66       
     67        $wpdb->insert( $wpdb->terms, array('name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0) );
     68        $wpdb->insert( $wpdb->term_taxonomy, array('term_id' => '1', 'taxonomy' => 'category', 'description' => '', 'parent' => 0, 'count' => 1));
    6869
    6970        // Default link category
    70         $cat_name = $wpdb->escape(__('Blogroll'));
     71        $cat_name = __('Blogroll');
    7172        $cat_slug = sanitize_title(_c('Blogroll|Default link category slug'));
    72         $wpdb->query("INSERT INTO $wpdb->terms (name, slug, term_group) VALUES ('$cat_name', '$cat_slug', '0')");
    73         $wpdb->query("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ('2', 'link_category', '', '0', '7')");
     73       
     74        $wpdb->insert( $wpdb->terms, array('name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0) );
     75        $wpdb->insert( $wpdb->term_taxonomy, array('term_id' => '2', 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 7));
    7476
    7577        // Now drop in some default links
    76         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://codex.wordpress.org/', 'Documentation', 0, '', '');");
    77         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (1, 2)" );
     78        $default_links = array();
     79        $default_links[] = array(       'link_url' => 'http://codex.wordpress.org/',
     80                                                                'link_name' => 'Documentation',
     81                                                                'link_category' => 0,
     82                                                                'link_rss' => '',
     83                                                                'link_notes' => '');
    7884
    79         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://wordpress.org/development/', 'Development Blog', 0, 'http://wordpress.org/development/feed/', '');");
    80         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (2, 2)" );
     85        $default_links[] = array(       'link_url' => 'http://wordpress.org/development/',
     86                                                                'link_name' => 'Development Blog',
     87                                                                'link_category' => 0,
     88                                                                'link_rss' => 'http://wordpress.org/development/feed/',
     89                                                                'link_notes' => '');
    8190
    82         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://wordpress.org/extend/ideas/', 'Suggest Ideas', 0, '', '');");
    83         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (3, 2)" );
     91        $default_links[] = array(       'link_url' => 'http://wordpress.org/extend/ideas/',
     92                                                                'link_name' => 'Suggest Ideas',
     93                                                                'link_category' => 0,
     94                                                                'link_rss' => '',
     95                                                                'link_notes' =>'');
    8496
    85         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://wordpress.org/support/', 'Support Forum', 0, '', '');");
    86         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (4, 2)" );
     97        $default_links[] = array(       'link_url' => 'http://wordpress.org/support/',
     98                                                                'link_name' => 'Support Forum',
     99                                                                'link_category' => 0,
     100                                                                'link_rss' => '',
     101                                                                'link_notes' =>'');
    87102
    88         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://wordpress.org/extend/plugins/', 'Plugins', 0, '', '');");
    89         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (5, 2)" );
     103        $default_links[] = array(       'link_url' => 'http://wordpress.org/extend/plugins/',
     104                                                                'link_name' => 'Plugins',
     105                                                                'link_category' => 0,
     106                                                                'link_rss' => '',
     107                                                                'link_notes' =>'');
    90108
    91         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://wordpress.org/extend/themes/', 'Themes', 0, '', '');");
    92         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (6, 2)" );
     109        $default_links[] = array(       'link_url' => 'http://wordpress.org/extend/themes/',
     110                                                                'link_name' => 'Themes',
     111                                                                'link_category' => 0,
     112                                                                'link_rss' => '',
     113                                                                'link_notes' =>'');
    93114
    94         $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://planet.wordpress.org/', 'WordPress Planet', 0, '', '');");
    95         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (7, 2)" );
     115        $default_links[] = array(       'link_url' => 'http://planet.wordpress.org/',
     116                                                                'link_name' => 'WordPress Planet',
     117                                                                'link_category' => 0,
     118                                                                'link_rss' => '',
     119                                                                'link_notes' =>'');
     120        foreach($default_links as $link){
     121                $wpdb->insert( $wpdb->links, $link);
     122                $wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => 2, 'object_id' => $wpdb->insert_id) );
     123        }
    96124
    97125        // First post
    98126        $now = date('Y-m-d H:i:s');
    99127        $now_gmt = gmdate('Y-m-d H:i:s');
    100128        $first_post_guid = get_option('home') . '/?p=1';
    101         $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_excerpt, post_title, post_category, post_name, post_modified, post_modified_gmt, guid, comment_count, to_ping, pinged, post_content_filtered) VALUES ($user_id, '$now', '$now_gmt', '".$wpdb->escape(__('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!'))."', '', '".$wpdb->escape(__('Hello world!'))."', '0', '".$wpdb->escape(_c('hello-world|Default post slug'))."', '$now', '$now_gmt', '$first_post_guid', '1', '', '', '')");
    102         $wpdb->query( "INSERT INTO $wpdb->term_relationships (`object_id`, `term_taxonomy_id`) VALUES (1, 1)" );
     129       
     130        $wpdb->insert( $wpdb->posts, array(
     131                                                                'post_author' => $user_id,
     132                                                                'post_date' => $now,
     133                                                                'post_date_gmt' => $now_gmt,
     134                                                                'post_content' => __('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!'),
     135                                                                'post_excerpt' => '',
     136                                                                'post_title' => __('Hello world!'),
     137                                                                'post_category' => 0,
     138                                                                'post_name' => _c('hello-world|Default post slug'),
     139                                                                'post_modified' => $now,
     140                                                                'post_modified_gmt' => $now_gmt,
     141                                                                'guid' => $first_post_guid,
     142                                                                'comment_count' => 1,
     143                                                                'to_ping' => '',
     144                                                                'pinged' => '',
     145                                                                'post_content_filtered' => ''
     146                                                                ));
     147        $wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => 1, 'object_id' => 1) );
    103148
    104149        // Default comment
    105         $wpdb->query("INSERT INTO $wpdb->comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_date, comment_date_gmt, comment_content) VALUES ('1', '".$wpdb->escape(__('Mr WordPress'))."', '', 'http://wordpress.org/', '$now', '$now_gmt', '".$wpdb->escape(__('Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.'))."')");
    106 
     150        $wpdb->insert( $wpdb->comments, array(
     151                                                                'comment_post_ID' => 1,
     152                                                                'comment_author' => __('Mr WordPress'),
     153                                                                'comment_author_email' => '',
     154                                                                'comment_author_url' => 'http://wordpress.org/',
     155                                                                'comment_date' => $now,
     156                                                                'comment_date_gmt' => $now_gmt,
     157                                                                'comment_content' => __('Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.')
     158                                                                ));
    107159        // First Page
    108160        $first_post_guid = get_option('home') . '/?page_id=2';
    109         $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_excerpt, post_title, post_category, post_name, post_modified, post_modified_gmt, guid, post_status, post_type, to_ping, pinged, post_content_filtered) VALUES ($user_id, '$now', '$now_gmt', '".$wpdb->escape(__('This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from. You can create as many pages like this one or sub-pages as you like and manage all of your content inside of WordPress.'))."', '', '".$wpdb->escape(__('About'))."', '0', '".$wpdb->escape(_c('about|Default page slug'))."', '$now', '$now_gmt','$first_post_guid', 'publish', 'page', '', '', '')");
     161        $wpdb->insert( $wpdb->posts, array(
     162                                                                'post_author' => $user_id,
     163                                                                'post_date' => $now,
     164                                                                'post_date_gmt' => $now_gmt,
     165                                                                'post_content' => __('This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from. You can create as many pages like this one or sub-pages as you like and manage all of your content inside of WordPress.'),
     166                                                                'post_excerpt' => '',
     167                                                                'post_title' => __('About'),
     168                                                                'post_category' => '',
     169                                                                'post_name' => _c('about|Default page slug'),
     170                                                                'post_modified' => $now,
     171                                                                'post_modified_gmt' => $now_gmt,
     172                                                                'guid' => $first_post_guid,
     173                                                                'post_type' => 'page',
     174                                                                'to_ping' => '',
     175                                                                'pinged' => '',
     176                                                                'post_content_filtered' => ''
     177                                                                ));
    110178}
    111179endif;
    112180
     
    236304        foreach ($categories as $category) {
    237305                if ('' == $category->category_nicename) {
    238306                        $newtitle = sanitize_title($category->cat_name);
    239                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->categories SET category_nicename = %s WHERE cat_ID = %d", $newtitle, $category->cat_ID) );
     307                        $wpdb>update( $wpdb->categories, array('category_nicename' => $newtitle), array('cat_ID' => $category->cat_ID) );
    240308                }
    241309        }
    242310
     
    261329                        // Check to see if it's already been imported
    262330                        $cat = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->post2cat WHERE post_id = %d AND category_id = %d", $post->ID, $post->post_category) );
    263331                        if (!$cat && 0 != $post->post_category) { // If there's no result
    264                                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->post2cat
    265                                         (post_id, category_id)
    266                                         VALUES (%s, %s)
    267                                         ", $post->ID, $post->post_category) );
     332                                $wpdb->insert( $wpdb->post2cat, array('post_id' => $post->ID, 'category_id' => $post->post_category) );
    268333                        }
    269334                }
    270335        endif;
     
    292357        foreach ($users as $user) {
    293358                if ('' == $user->user_nicename) {
    294359                        $newname = sanitize_title($user->user_nickname);
    295                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->users SET user_nicename = %s WHERE ID = %d", $newname, $user->ID) );
     360                        $wpdb->update( $wpdb->users, array('user_nicename' => $newname), array('ID' => $user->ID) );
    296361                }
    297362        }
    298363
    299364        $users = $wpdb->get_results("SELECT ID, user_pass from $wpdb->users");
    300365        foreach ($users as $row) {
    301366                if (!preg_match('/^[A-Fa-f0-9]{32}$/', $row->user_pass)) {
    302                         $wpdb->query('UPDATE '.$wpdb->users.' SET user_pass = MD5(\''.$row->user_pass.'\') WHERE ID = \''.$row->ID.'\'');
     367                        $wpdb->update( $wpdb->users, array('user_pass' => md5($row->user_pass)), array('ID' => $row->ID) );
    303368                }
    304369        }
    305370
     
    355420                        else
    356421                                $guid = $post->guid;
    357422
    358                         $wpdb->query("UPDATE $wpdb->posts SET post_title = '$post_title', post_content = '$post_content', post_excerpt = '$post_excerpt', guid = '$guid' WHERE ID = '$post->ID'");
     423                        $wpdb->update( $wpdb->posts, compact('post_title', 'post_content', 'post_excerpt', 'guid'), array('ID' => $post->ID) );
     424
    359425                }
    360426        }
    361427
     
    363429        $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_content FROM $wpdb->comments");
    364430        if ($comments) {
    365431                foreach($comments as $comment) {
    366                         $comment_content = addslashes(deslash($comment->comment_content));
    367                         $comment_author = addslashes(deslash($comment->comment_author));
    368                         $wpdb->query("UPDATE $wpdb->comments SET comment_content = '$comment_content', comment_author = '$comment_author' WHERE comment_ID = '$comment->comment_ID'");
     432                        $comment_content = deslash($comment->comment_content);
     433                        $comment_author = deslash($comment->comment_author);
     434                       
     435                        $wpdb->update($wpdb->comments, compact('comment_content', 'comment_author'), array('comment_ID' => $comment->comment_ID) );
    369436                }
    370437        }
    371438
     
    373440        $links = $wpdb->get_results("SELECT link_id, link_name, link_description FROM $wpdb->links");
    374441        if ($links) {
    375442                foreach($links as $link) {
    376                         $link_name = addslashes(deslash($link->link_name));
    377                         $link_description = addslashes(deslash($link->link_description));
    378                         $wpdb->query("UPDATE $wpdb->links SET link_name = '$link_name', link_description = '$link_description' WHERE link_id = '$link->link_id'");
     443                        $link_name = deslash($link->link_name);
     444                        $link_description = deslash($link->link_description);
     445                       
     446                        $wpdb->update( $wpdb->links, compact('link_name', 'link_description'), array('link_id' => $link->link_id) );
    379447                }
    380448        }
    381449
    382450        // The "paged" option for what_to_show is no more.
    383         if ($wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'what_to_show'") == 'paged') {
    384                 $wpdb->query("UPDATE $wpdb->options SET option_value = 'posts' WHERE option_name = 'what_to_show'");
    385         }
     451        if ($wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'what_to_show'") == 'paged')
     452                $wpdb->update( $wpdb->options, array('option_value' => 'posts'), array('option_name' => 'what_to_show') );
    386453
    387454        $active_plugins = __get_option('active_plugins');
    388455
     
    452519                        if ($idmode == 'namefl') $id = $user->user_firstname.' '.$user->user_lastname;
    453520                        if ($idmode == 'namelf') $id = $user->user_lastname.' '.$user->user_firstname;
    454521                        if (!$idmode) $id = $user->user_nickname;
    455                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->users SET display_name = %s WHERE ID = %d", $id, $user->ID) );
     522                        $wpdb->update( $wpdb->users, array('display_name' => $id), array('ID' => $user->ID) );
    456523                endif;
    457524
    458525                // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set.
     
    472539
    473540        // populate comment_count field of posts table
    474541        $comments = $wpdb->get_results( "SELECT comment_post_ID, COUNT(*) as c FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID" );
    475         if( is_array( $comments ) ) {
    476                 foreach ($comments as $comment) {
    477                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET comment_count = %d WHERE ID = %d", $comment->c, $comment->comment_post_ID) );
    478                 }
    479         }
     542        if( is_array( $comments ) )
     543                foreach ($comments as $comment)
     544                        $wpdb->update( $wpdb->posts, array('comment_count' => $comment->c), array('ID' => $comment->comment_post_ID) );
    480545
    481546        // Some alpha versions used a post status of object instead of attachment and put
    482547        // the mime type in post_type instead of post_mime_type.
    483548        if ( $wp_current_db_version > 2541 && $wp_current_db_version <= 3091 ) {
    484549                $objects = $wpdb->get_results("SELECT ID, post_type FROM $wpdb->posts WHERE post_status = 'object'");
    485550                foreach ($objects as $object) {
    486                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_status = 'attachment',
    487                         post_mime_type = %s,
    488                         post_type = ''
    489                         WHERE ID = %d", $object->post_type, $object->ID) );
     551                        $wpdb->update( $wpdb->posts, array(     'post_status' => 'attachment',
     552                                                                                                'post_mime_type' => $object->post_type,
     553                                                                                                'post_type' => ''),
     554                                                                                 array( 'ID' => $object->ID ) );
    490555
    491556                        $meta = get_post_meta($object->ID, 'imagedata', true);
    492557                        if ( ! empty($meta['file']) )
     
    564629
    565630                        if ( empty( $term_group ) ) {
    566631                                $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms GROUP BY term_group") + 1;
    567                                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->terms SET term_group = %d WHERE term_id = %d", $term_group, $id) );
     632                                $wpdb->update( $wpdb->terms, compact('term_group'), array('term_id' => $id) );
    568633                        }
    569634                }
    570635
    571                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->terms (term_id, name, slug, term_group) VALUES
    572                 (%d, %s, %s, %d)", $term_id, $name, $slug, $term_group) );
     636                $wpdb->insert( $wpdb->terms, compact('term_id', 'name', 'slug', 'term_group') );
    573637
    574638                $count = 0;
    575639                if ( !empty($category->category_count) ) {
    576640                        $count = (int) $category->category_count;
    577641                        $taxonomy = 'category';
    578                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) );
     642                        $wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') );
    579643                        $tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id;
    580644                }
    581645
    582646                if ( !empty($category->link_count) ) {
    583647                        $count = (int) $category->link_count;
    584648                        $taxonomy = 'link_category';
    585                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) );
     649                        $wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') );
    586650                        $tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id;
    587651                }
    588652
     
    590654                        $have_tags = true;
    591655                        $count = (int) $category->tag_count;
    592656                        $taxonomy = 'post_tag';
    593                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) );
     657                        $wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') );
    594658                        $tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id;
    595659                }
    596660
    597661                if ( empty($count) ) {
    598662                        $count = 0;
    599663                        $taxonomy = 'category';
    600                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) );
     664                        $wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') );
    601665                        $tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id;
    602666                }
    603667        }
     
    617681                if ( empty($tt_id) )
    618682                        continue;
    619683
    620                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES ( %d, %d)", $post_id, $tt_id) );
     684                $wpdb->insert( $wpdb->term_relationships, array('object_id' => $post_id, 'term_taxonomy_id' => $tt_id) );
    621685        }
    622686
    623687        // < 3570 we used linkcategories.  >= 3570 we used categories and link2cat.
     
    642706                        }
    643707
    644708                        if ( empty($term_id) ) {
    645                                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->terms (name, slug, term_group) VALUES (%s, %s, %d)", $name, $slug, $term_group) );
     709                                $wpdb->insert( $wpdb->terms, compact('name', 'slug', 'term_group') );
    646710                                $term_id = (int) $wpdb->insert_id;
    647711                        }
    648712
    649713                        $link_cat_id_map[$cat_id] = $term_id;
    650714                        $default_link_cat = $term_id;
    651715
    652                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES (%d, 'link_category', '', '0', '0')", $term_id) );
     716                        $wpdb->insert( $wpdb->term_taxonomy, array('term_id' => $term_id, 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 0) );
    653717                        $tt_ids[$term_id] = (int) $wpdb->insert_id;
    654718                }
    655719
     
    665729                        if ( empty($tt_id) )
    666730                                continue;
    667731
    668                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES ( %d, %d)", $link->link_id, $tt_id) );
     732                        $wpdb->insert( $wpdb->term_relationships, array('object_id' => $link->link_id, 'term_taxonomy_id' => $tt_id) );
    669733                }
    670734
    671735                // Set default to the last category we grabbed during the upgrade loop.
     
    679743                        $tt_id = $tt_ids[$term_id][$taxonomy];
    680744                        if ( empty($tt_id) )
    681745                                continue;
    682 
    683                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES ( %d, %d)", $link_id, $tt_id) );
     746                        $wpdb->insert( $wpdb->term_relationships, array('object_id' => $link_id, 'term_taxonomy_id' => $tt_id) );
    684747                }
    685748        }
    686749
     
    696759                        $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type = 'post' AND term_taxonomy_id = %d", $term->term_taxonomy_id) );
    697760                else
    698761                        $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $term->term_taxonomy_id) );
    699                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET count = %d WHERE term_taxonomy_id = %d", $count, $term->term_taxonomy_id) );
     762                $wpdb->update( $wpdb->term_taxonomy, array('count' => $count), array('term_taxonomy_id' => $term->term_taxonomy_id) );
    700763        }
    701764}
    702765
     
    719782function upgrade_old_slugs() {
    720783        // upgrade people who were using the Redirect Old Slugs plugin
    721784        global $wpdb;
    722         $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_wp_old_slug' WHERE meta_key = 'old_slug'");
     785        $wpdb->update( $wpdb->postmeta, array('meta_key' => '_wp_old_slug'), array('meta_key' => 'old_slug') );
    723786}
    724787
    725788
    726789function upgrade_250() {
    727790        global $wp_current_db_version;
    728791
    729         if ( $wp_current_db_version < 6689 ) {
     792        if ( $wp_current_db_version < 6689 )
    730793                populate_roles_250();
    731         }
    732        
    733794}
    734795
    735796function upgrade_251() {
  • wp-admin/includes/user.php

     
    258258                $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->links WHERE link_owner = %d", $id) );
    259259        } else {
    260260                $reassign = (int) $reassign;
    261                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d", $reassign, $id) );
    262                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d}", $reassign, $id) );
     261                $wpdb->update( $wpdb->posts, array('post_author' => $reassign), array('post_author' => $id) );
     262                $wpdb->update( $wpdb->links, array('link_owner' => $reassign), array('link_owner' => $id) );
    263263        }
    264264
    265265        // FINALLY, delete user
  • wp-admin/update-links.php

     
    3636        $returns = explode("\n", $body);
    3737
    3838        foreach ($returns as $return) :
    39                 $time = substr($return, 0, 19);
    40                 $uri = preg_replace('/(.*?) | (.*?)/', '$2', $return);
    41                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_updated = %s WHERE link_url = %s", $time, $uri) );
     39                $link_updated = substr($return, 0, 19);
     40                $link_url = preg_replace('/(.*?) | (.*?)/', '$2', $return);
     41
     42                $wpdb->update( $wpdb->links, compact('link_updated'), compact('link_url') );
    4243        endforeach;
    4344}
    4445?>
  • wp-includes/comment.php

     
    602602        if ( ! isset($user_id) )
    603603                $user_id = 0;
    604604
    605         $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->comments
    606         (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_approved, comment_agent, comment_type, comment_parent, user_id)
    607         VALUES (%d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %d)",
    608         $comment_post_ID, $comment_author, $comment_author_email, $comment_author_url, $comment_author_IP, $comment_date, $comment_date_gmt, $comment_content, $comment_approved, $comment_agent, $comment_type, $comment_parent, $user_id) );
     605        $wpdb->insert($wpdb->comments, compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id'));
    609606
    610607        $id = (int) $wpdb->insert_id;
    611608
     
    728725function wp_set_comment_status($comment_id, $comment_status) {
    729726        global $wpdb;
    730727
     728        $update = false;
    731729        switch ( $comment_status ) {
    732730                case 'hold':
    733                         $query = $wpdb->prepare("UPDATE $wpdb->comments SET comment_approved='0' WHERE comment_ID = %d LIMIT 1", $comment_id);
     731                        $update = array('comment_approved' => '0');
    734732                        break;
    735733                case 'approve':
    736                         $query = $wpdb->prepare("UPDATE $wpdb->comments SET comment_approved='1' WHERE comment_ID = %d LIMIT 1", $comment_id);
     734                        $update = array('comment_approved' => '1');
    737735                        if ( get_option('comments_notify') ) {
    738736                                $comment = get_comment($comment_id);
    739737                                wp_notify_postauthor($comment_id, $comment->comment_type);
    740738                        }
    741739                        break;
    742740                case 'spam':
    743                         $query = $wpdb->prepare("UPDATE $wpdb->comments SET comment_approved='spam' WHERE comment_ID = %d LIMIT 1", $comment_id);
     741                        $update = array('comment_approved' => 'spam');
    744742                        break;
    745743                case 'delete':
    746744                        return wp_delete_comment($comment_id);
     
    749747                        return false;
    750748        }
    751749
    752         if ( !$wpdb->query($query) )
     750        if ( ! $update || ! $wpdb->update($wpdb->comments, $update, array('comment_ID' => $comment_id)) )
    753751                return false;
    754752
    755753        clean_comment_cache($comment_id);
     
    794792
    795793        $comment_date_gmt = get_gmt_from_date($comment_date);
    796794
    797         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->comments SET
    798                         comment_content      = %s,
    799                         comment_author       = %s,
    800                         comment_author_email = %s,
    801                         comment_approved     = %s,
    802                         comment_author_url   = %s,
    803                         comment_date         = %s,
    804                         comment_date_gmt     = %s
    805                 WHERE comment_ID = %d",
    806                         $comment_content,
    807                         $comment_author,
    808                         $comment_author_email,
    809                         $comment_approved,
    810                         $comment_author_url,
    811                         $comment_date,
    812                         $comment_date_gmt,
    813                         $comment_ID) );
     795        $wpdb->update($wpdb->comments, compact('comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_author_url', 'comment_date', 'comment_date_gmt'), compact('comment_ID') );
    814796
    815797        $rval = $wpdb->rows_affected;
    816798
     
    10701052        $to_ping = get_to_ping($post_id);
    10711053        $pinged  = get_pung($post_id);
    10721054        if ( empty($to_ping) ) {
    1073                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = '' WHERE ID = %d", $post_id) );
     1055                $wpdb->update($wpdb->posts, array('to_ping' => ''), array('ID' => $post_id) );
    10741056                return;
    10751057        }
    10761058
  • wp-includes/functions.php

     
    328328                wp_cache_set( $option_name, $newvalue, 'options' );
    329329        }
    330330
    331         $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->options SET option_value = %s WHERE option_name = %s", $newvalue, $option_name ) );
     331        $wpdb->update($wpdb->options, array('option_value' => $newvalue), array('option_name' => $option_name) );
     332
    332333        if ( $wpdb->rows_affected == 1 ) {
    333334                do_action( "update_option_{$option_name}", $oldvalue, $_newvalue );
    334335                return true;
     
    370371                wp_cache_set( 'notoptions', $notoptions, 'options' );
    371372        }
    372373
    373         $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES (%s, %s, %s)", $name, $value, $autoload ) );
     374        $wpdb->insert($wpdb->options, array('option_name' => $name, 'option_value' => $value, 'autoload' => $autoload) );
    374375
    375376        do_action( "add_option_{$name}", $name, $value );
    376377        return;
     
    524525                if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, $url . '%' ) ) ) {
    525526                        if ( $headers = wp_get_http_headers( $url) ) {
    526527                                $len = (int) $headers['content-length'];
    527                                 $type = $wpdb->escape( $headers['content-type'] );
     528                                $type = $headers['content-type'];
    528529                                $allowed_types = array( 'video', 'audio' );
    529530                                if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) {
    530531                                        $meta_value = "$url\n$len\n$type\n";
    531                                         $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->postmeta` ( `post_id` , `meta_key` , `meta_value` )
    532                                         VALUES ( %d, 'enclosure' , %s)", $post_ID, $meta_value ) );
     532                                        $wpdb->insert($wpdb->postmeta, array('post_id' => $post_ID, 'meta_key' => 'enclosure', 'meta_value' => $meta_value) );
    533533                                }
    534534                        }
    535535                }
  • wp-includes/pluggable.php

     
    12341234        global $wpdb;
    12351235
    12361236        $hash = wp_hash_password($password);
    1237         $query = $wpdb->prepare("UPDATE $wpdb->users SET user_pass = %s, user_activation_key = '' WHERE ID = %d", $hash, $user_id);
    1238         $wpdb->query($query);
     1237        $wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activation_key' => ''), array('ID' => $user_id) );
     1238
    12391239        wp_cache_delete($user_id, 'users');
    12401240}
    12411241endif;
  • wp-includes/post.php

     
    371371        global $wpdb;
    372372
    373373        $post_type = sanitize_post_field('post_type', $post_type, $post_id, 'db');
    374         $return = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_type = %s WHERE ID = %d", $post_type, $post_id) );
     374        $return = $wpdb->update($wpdb->posts, array('post_type' => $post_type), array('ID' => $post_id) );
    375375
    376376        if ( 'page' == $post_type )
    377377                clean_page_cache($post_id);
  • wp-includes/taxonomy.php

     
    11911191                } else {
    11921192                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
    11931193                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
    1194                         $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->terms SET term_group = %d WHERE term_id = %d", $term_group, $alias->term_id ) );
     1194                        $wpdb->update($wpdb->terms, compact('term_group'), array('term_id' => $alias->term_id) );
    11951195                }
    11961196        }
    11971197
  • wp-includes/user.php

     
    189189        }
    190190
    191191        $cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
    192         if ( !$cur ) {
    193                 $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->usermeta ( user_id, meta_key, meta_value )
    194                 VALUES
    195                 ( %d, %s, %s )", $user_id, $meta_key, $meta_value) );
    196         } else if ( $cur->meta_value != $meta_value ) {
    197                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->usermeta SET meta_value = %s WHERE user_id = %d AND meta_key = %s", $meta_value, $user_id, $meta_key) );
    198         } else {
     192        if ( !$cur )
     193                $wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') );
     194        else if ( $cur->meta_value != $meta_value )
     195                $wpdb->update($wpdb->usermeta, compact('meta_value'), compact('user_id', 'meta_key') );
     196        else
    199197                return false;
    200         }
    201198
    202199        wp_cache_delete($user_id, 'users');
    203200
  • wp-login.php

     
    131131                $key = wp_generate_password(20, false);
    132132                do_action('retrieve_password_key', $user_login, $key);
    133133                // Now insert the new md5 key into the db
    134                 $wpdb->query($wpdb->prepare("UPDATE $wpdb->users SET user_activation_key = %s WHERE user_login = %s", $key, $user_login));
     134                $wpdb->update($wpdb->users, array('user_activation_key' => $key), array('user_login' => $user_login));
    135135        }
    136136        $message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n";
    137137        $message .= get_option('siteurl') . "\r\n\r\n";
  • xmlrpc.php

     
    14361436                if( is_array( $attachments ) ) {
    14371437                        foreach( $attachments as $file ) {
    14381438                                if( strpos( $post_content, $file->guid ) !== false ) {
    1439                                         $wpdb->query( $wpdb->prepare("UPDATE {$wpdb->posts} SET post_parent = %d WHERE ID = %d", $post_ID, $file->ID) );
     1439                                        $wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID) );
    14401440                                }
    14411441                        }
    14421442                }