Make WordPress Core

Ticket #5418: 5418.wp-includes.root.diff

File 5418.wp-includes.root.diff, 61.2 KB (added by DD32, 19 years ago)

/wp-includes/*.php + /*.php variable cleanup + indenting + typos

  • wp-app.php

     
    215215         * Create Post (No arguments)
    216216         */
    217217        function create_post() {
    218                 global $blog_id, $wpdb;
     218                global $blog_id, $user_ID;
    219219                $this->get_accepted_content_type($this->atom_content_types);
    220220
    221221                $parser = new AtomParser();
     
    249249
    250250                $blog_ID = (int ) $blog_id;
    251251                $post_status = ($publish) ? 'publish' : 'draft';
    252                 $post_author = (int) $user->ID;
     252                $post_author = (int) $user_ID;
    253253                $post_title = $entry->title[1];
    254254                $post_content = $entry->content[1];
    255255                $post_excerpt = $entry->summary[1];
     
    269269                if ( is_wp_error( $postID ) )
    270270                        $this->internal_error($postID->get_error_message());
    271271
    272                 if (!$postID) {
     272                if (!$postID)
    273273                        $this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
    274                 }
    275274
    276275                // getting warning here about unable to set headers
    277276                // because something in the cache is printing to the buffer
     
    296295        }
    297296
    298297        function put_post($postID) {
    299                 global $wpdb;
    300 
    301298                // checked for valid content-types (atom+xml)
    302299                // quick check and exit
    303300                $this->get_accepted_content_type($this->atom_content_types);
     
    313310
    314311                // check for not found
    315312                global $entry;
    316                 $entry = $GLOBALS['entry'];
    317313                $this->set_current_entry($postID);
    318314
    319315                if(!current_user_can('edit_post', $entry['ID']))
     
    376372        }
    377373
    378374        function get_attachment($postID = NULL) {
    379 
    380                 global $entry;
    381375                if (!isset($postID)) {
    382376                        $this->get_attachments();
    383377                } else {
     
    389383        }
    390384
    391385        function create_attachment() {
    392                 global $wp, $wpdb, $wp_query, $blog_id;
    393386
    394387                $type = $this->get_accepted_content_type();
    395388
     
    418411
    419412                $url = $file['url'];
    420413                $file = $file['file'];
    421                 $filename = basename($file);
    422414
    423                 $header = apply_filters('wp_create_file_in_uploads', $file); // replicate
     415                apply_filters('wp_create_file_in_uploads', $file); // replicate
    424416
    425417                // Construct the attachment array
    426418                $attachment = array(
     
    433425                        );
    434426
    435427                // Save the data
    436                 $postID = wp_insert_attachment($attachment, $file, $post);
     428                $postID = wp_insert_attachment($attachment, $file);
    437429
    438                 if (!$postID) {
     430                if (!$postID)
    439431                        $this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
    440                 }
    441432
    442433                $output = $this->get_entry($postID, 'attachment');
    443434
     
    446437        }
    447438
    448439        function put_attachment($postID) {
    449                 global $wpdb;
    450 
    451440                // checked for valid content-types (atom+xml)
    452441                // quick check and exit
    453442                $this->get_accepted_content_type($this->atom_content_types);
     
    466455                if(!current_user_can('edit_post', $entry['ID']))
    467456                        $this->auth_required(__('Sorry, you do not have the right to edit this post.'));
    468457
    469                 $publish = (isset($parsed->draft) && trim($parsed->draft) == 'yes') ? false : true;
    470 
    471458                extract($entry);
    472459
    473460                $post_title = $parsed->title[1];
     
    546533
    547534        function put_file($postID) {
    548535
    549                 $type = $this->get_accepted_content_type();
    550 
    551536                // first check if user can upload
    552537                if(!current_user_can('upload_files'))
    553538                        $this->auth_required(__('You do not have permission to upload files.'));
     
    605590        }
    606591
    607592        function the_entries_url($page = NULL) {
    608                 $url = $this->get_entries_url($page);
    609                 echo $url;
     593                echo $this->get_entries_url($page);
    610594        }
    611595
    612         function get_categories_url($page = NULL) {
     596        function get_categories_url($deprecated = '') {
    613597                return $this->app_base . $this->CATEGORIES_PATH;
    614598        }
    615599
    616600        function the_categories_url() {
    617                 $url = $this->get_categories_url();
    618                 echo $url;
     601                echo $this->get_categories_url();
    619602        }
    620603
    621604        function get_attachments_url($page = NULL) {
     
    627610        }
    628611
    629612        function the_attachments_url($page = NULL) {
    630                 $url = $this->get_attachments_url($page);
    631                 echo $url;
     613                echo $this->get_attachments_url($page);
    632614        }
    633615
    634616        function get_service_url() {
     
    638620        function get_entry_url($postID = NULL) {
    639621                if(!isset($postID)) {
    640622                        global $post;
    641                         $postID = (int) $GLOBALS['post']->ID;
     623                        $postID = (int) $post->ID;
    642624                }
    643625
    644626                $url = $this->app_base . $this->ENTRY_PATH . "/$postID";
     
    648630        }
    649631
    650632        function the_entry_url($postID = NULL) {
    651                 $url = $this->get_entry_url($postID);
    652                 echo $url;
     633                echo $this->get_entry_url($postID);
    653634        }
    654635
    655636        function get_media_url($postID = NULL) {
    656637                if(!isset($postID)) {
    657638                        global $post;
    658                         $postID = (int) $GLOBALS['post']->ID;
     639                        $postID = (int) $post->ID;
    659640                }
    660641
    661642                $url = $this->app_base . $this->MEDIA_SINGLE_PATH ."/file/$postID";
     
    665646        }
    666647
    667648        function the_media_url($postID = NULL) {
    668                 $url = $this->get_media_url($postID);
    669                 echo $url;
     649                echo $this->get_media_url($postID);
    670650        }
    671651
    672652        function set_current_entry($postID) {
     
    759739        function get_entry($postID, $post_type = 'post') {
    760740                log_app('function',"get_entry($postID, '$post_type')");
    761741                ob_start();
    762                 global $posts, $post, $wp_query, $wp, $wpdb, $blog_id;
    763742                switch($post_type) {
    764743                        case 'post':
    765744                                $varname = 'p';
  • wp-includes/author-template.php

     
    316316 * @return string The URL to the author's page.
    317317 */
    318318function get_author_posts_url($author_id, $author_nicename = '') {
    319         global $wpdb, $wp_rewrite, $post;
     319        global $wp_rewrite;
    320320        $auth_ID = (int) $author_id;
    321321        $link = $wp_rewrite->get_author_permastruct();
    322322
  • wp-includes/canonical.php

     
    22// Based on "Permalink Redirect" from Scott Yang and "Enforce www. Preference" by Mark Jaquith
    33
    44function redirect_canonical($requested_url=NULL, $do_redirect=true) {
    5         global $wp_rewrite, $posts, $is_IIS;
     5        global $wp_rewrite, $is_IIS;
    66
    77        if ( is_feed() || is_trackback() || is_search() || is_comments_popup() || is_admin() || $is_IIS || ( isset($_POST) && count($_POST) ) || is_preview() )
    88                return;
     
    176176}
    177177
    178178function redirect_guess_404_permalink() {
    179         global $wp_query, $wpdb;
     179        global $wpdb;
    180180        if ( !get_query_var('name') )
    181181                return false;
    182182
  • wp-includes/capabilities.php

     
    138138        var $allcaps = array();
    139139
    140140        function WP_User($id, $name = '') {
    141                 global $wpdb;
    142141
    143142                if ( empty($id) && empty($name) )
    144143                        return;
  • wp-includes/category-template.php

     
    6666}
    6767
    6868function get_the_category($id = false) {
    69         global $post, $term_cache, $blog_id;
     69        global $post, $term_cache;
    7070
    7171        $id = (int) $id;
    7272        if ( !$id )
     
    168168}
    169169
    170170function in_category( $category ) { // Check if the current post is in the given category
    171         global $post, $blog_id;
     171        global $post;
    172172
    173173        $categories = get_object_term_cache($post->ID, 'category');
    174174        if ( false === $categories )
  • wp-includes/category.php

     
    11<?php
    22
    33function get_all_category_ids() {
    4         global $wpdb;
    5 
    64        if ( ! $cat_ids = wp_cache_get('all_category_ids', 'category') ) {
    75                $cat_ids = get_terms('category', 'fields=ids&get=all');
    86                wp_cache_add('all_category_ids', $cat_ids, 'category');
     
    3937}
    4038
    4139function get_category_by_path($category_path, $full_match = true, $output = OBJECT) {
    42         global $wpdb;
    4340        $category_path = rawurlencode(urldecode($category_path));
    4441        $category_path = str_replace('%2F', '/', $category_path);
    4542        $category_path = str_replace('%20', ' ', $category_path);
     
    8683
    8784// Get the ID of a category from its name
    8885function get_cat_ID($cat_name='General') {
    89         global $wpdb;
    90 
    9186        $cat = get_term_by('name', $cat_name, 'category');
    9287        if ($cat)
    9388                return $cat->term_id;
     
    132127// Tags
    133128
    134129function &get_tags($args = '') {
    135         global $wpdb, $category_links;
    136 
    137130        $key = md5( serialize( $args ) );
    138131        if ( $cache = wp_cache_get( 'get_tags', 'category' ) )
    139132                if ( isset( $cache[ $key ] ) )
  • wp-includes/comment-template.php

     
    3838}
    3939
    4040function get_comment_author_link() {
    41         global $comment;
    4241        $url    = get_comment_author_url();
    4342        $author = get_comment_author();
    4443
     
    7271}
    7372
    7473function get_comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
    75         global $comment;
    7674        $url = get_comment_author_url();
    7775        $display = ($linktext != '') ? $linktext : $url;
    7876        $display = str_replace( 'http://www.', '', $display );
     
    146144}
    147145
    148146function get_comments_number( $post_id = 0 ) {
    149         global $wpdb, $id;
    150147        $post_id = (int) $post_id;
    151148
    152149        if ( !$post_id )
     
    237234}
    238235
    239236function trackback_rdf($timezone = 0) {
    240         global $id;
    241237        if (stripos($_SERVER['HTTP_USER_AGENT'], 'W3C_Validator') === false) {
    242238                echo '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    243239                                xmlns:dc="http://purl.org/dc/elements/1.1/"
     
    309305}
    310306
    311307function comments_popup_script($width=400, $height=400, $file='') {
    312                 global $wpcommentspopupfile, $wptrackbackpopupfile, $wppingbackpopupfile, $wpcommentsjavascript;
     308                global $wpcommentspopupfile, $wpcommentsjavascript;
    313309
    314310                if (empty ($file)) {
    315311                        $wpcommentspopupfile = '';  // Use the index.
     
    323319}
    324320
    325321function comments_popup_link($zero='No Comments', $one='1 Comment', $more='% Comments', $CSSclass='', $none='Comments Off') {
    326         global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post, $wpdb;
     322        global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post;
    327323
    328324        if ( is_single() || is_page() )
    329325                return;
  • wp-includes/comment.php

     
    105105
    106106// Deprecate in favor of get_comment()?
    107107function get_commentdata( $comment_ID, $no_cache = 0, $include_unapproved = false ) { // less flexible, but saves DB queries
    108         global $postc, $id, $commentdata, $wpdb;
     108        global $postc, $id, $wpdb;
    109109        if ( $no_cache ) {
    110110                $query = $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d", $comment_ID);
    111111                if ( false == $include_unapproved )
     
    129129
    130130
    131131function get_lastcommentmodified($timezone = 'server') {
    132         global $cache_lastcommentmodified, $pagenow, $wpdb;
     132        global $cache_lastcommentmodified, $wpdb;
    133133        $add_seconds_blog = get_option('gmt_offset') * 3600;
    134134        $add_seconds_server = date('Z');
    135135        $now = current_time('mysql', 1);
     
    228228}
    229229
    230230function wp_blacklist_check($author, $email, $url, $comment, $user_ip, $user_agent) {
    231         global $wpdb;
    232 
    233231        do_action('wp_blacklist_check', $author, $email, $url, $comment, $user_ip, $user_agent);
    234232
    235233        if ( preg_match_all('/&#(\d+);/', $comment . $author . $url, $chars) ) {
     
    293291
    294292
    295293function wp_get_comment_status($comment_id) {
    296         global $wpdb;
    297 
    298294        $comment = get_comment($comment_id);
    299295        if ( !$comment )
    300296                return false;
     
    686682
    687683
    688684function pingback($content, $post_ID) {
    689         global $wp_version, $wpdb;
     685        global $wp_version;
    690686        include_once(ABSPATH . WPINC . '/class-IXR.php');
    691687
    692688        // original code by Mort (http://mort.mine.nu:8080)
  • wp-includes/feed.php

     
    9898}
    9999
    100100
    101 function comments_rss_link($link_text = 'Comments RSS', $commentsrssfilename = 'nolongerused') {
     101function comments_rss_link($link_text = 'Comments RSS', $deprecated = '') {
    102102        $url = get_post_comments_feed_link();
    103103        echo "<a href='$url'>$link_text</a>";
    104104}
    105105
    106106
    107 function comments_rss($commentsrssfilename = 'nolongerused') {
     107function comments_rss($deprecated = '') {
    108108        return get_post_comments_feed_link();
    109109}
    110110
    111111
    112112function get_author_rss_link($echo = false, $author_id, $author_nicename) {
    113         $auth_ID = (int) $author_id;
     113        $author_id = (int) $author_id;
    114114        $permalink_structure = get_option('permalink_structure');
    115115
    116116        if ( '' == $permalink_structure ) {
     
    168168}
    169169
    170170
    171 function get_category_rss_link($echo = false, $cat_ID, $category_nicename) {
    172         $link = get_category_feed_link($cat_ID, $feed = 'rss2');
     171function get_category_rss_link($echo = false, $cat_ID, $deprecated = '') {
     172        $link = get_category_feed_link($cat_ID, 'rss2');
    173173
    174174        if ( $echo )
    175175                echo $link;
     
    180180function get_the_category_rss($type = 'rss') {
    181181        $categories = get_the_category();
    182182        $tags = get_the_tags();
    183         $home = get_bloginfo_rss('home');
    184183        $the_list = '';
    185184        $cat_names = array();
    186185
     
    252251
    253252
    254253function rss_enclosure() {
    255         global $id, $post;
     254        global $post;
    256255        if ( !empty($post->post_password) && ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password) )
    257256                return;
    258257
     
    267266}
    268267
    269268function atom_enclosure() {
    270         global $id, $post;
     269        global $post;
    271270        if ( !empty($post->post_password) && ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password) )
    272271                return;
    273272
  • wp-includes/formatting.php

     
    363363        return $title;
    364364}
    365365
    366 function convert_chars($content, $flag = 'obsolete') {
     366function convert_chars($content, $deprecated = '') {
    367367        // Translation of invalid Unicode references range to valid range
    368368        $wp_htmltranswinuni = array(
    369369        '&#128;' => '&#8364;', // the Euro sign
     
    560560}
    561561
    562562function format_to_post($content) {
    563         global $wpdb;
    564563        $content = apply_filters('format_to_post', $content);
    565564        return $content;
    566565}
     
    783782        } else if (($diff <= 86400) && ($diff > 3600)) {
    784783                $hours = round($diff / 3600);
    785784                if ($hours <= 1) {
    786                         $hour = 1;
     785                        $hours = 1;
    787786                }
    788787                $since = sprintf(__ngettext('%s hour', '%s hours', $hours), $hours);
    789788        } elseif ($diff >= 86400) {
     
    797796}
    798797
    799798function wp_trim_excerpt($text) { // Fakes an excerpt if needed
    800         global $post;
    801799        if ( '' == $text ) {
    802800                $text = get_the_content('');
    803801                $text = apply_filters('the_content', $text);
  • wp-includes/functions.php

     
    108108}
    109109
    110110
    111 function get_weekstartend( $mysqlstring, $start_of_week ) {
     111function get_weekstartend( $mysqlstring, $start_of_week = '' ) {
    112112        $my = substr( $mysqlstring, 0, 4 );
    113113        $mm = substr( $mysqlstring, 8, 2 );
    114114        $md = substr( $mysqlstring, 5, 2 );
    115115        $day = mktime( 0, 0, 0, $md, $mm, $my );
    116116        $weekday = date( 'w', $day );
    117117        $i = 86400;
     118        if( !is_numeric($a) )
     119                $start_of_week = get_option( 'start_of_week' );
    118120
    119         if ( $weekday < get_option( 'start_of_week' ) )
    120                 $weekday = 7 - ( get_option( 'start_of_week' ) - $weekday );
     121        if ( $weekday < $start_of_week )
     122                $weekday = 7 - $start_of_week - $weekday;
    121123
    122         while ( $weekday > get_option( 'start_of_week' ) ) {
     124        while ( $weekday > $start_of_week ) {
    123125                $weekday = date( 'w', $day );
    124                 if ( $weekday < get_option( 'start_of_week' ) )
    125                         $weekday = 7 - ( get_option( 'start_of_week' ) - $weekday );
     126                if ( $weekday < $start_of_week )
     127                        $weekday = 7 - $start_of_week - $weekday;
    126128
    127                 $day = $day - 86400;
     129                $day -= 86400;
    128130                $i = 0;
    129131        }
    130132        $week['start'] = $day + 86400 - $i;
     
    488490}
    489491
    490492function do_enclose( $content, $post_ID ) {
    491         global $wp_version, $wpdb;
     493        global $wpdb;
    492494        include_once( ABSPATH . WPINC . '/class-IXR.php' );
    493495
    494496        $log = debug_fopen( ABSPATH . 'enclosures.log', 'a' );
     
    10281030        return apply_filters( 'upload_dir', $uploads );
    10291031}
    10301032
    1031 function wp_upload_bits( $name, $type, $bits ) {
     1033function wp_upload_bits( $name, $deprecated, $bits ) {
    10321034        if ( empty( $name ) )
    10331035                return array( 'error' => __( "Empty filename" ) );
    10341036
     
    10661068        if ( ! $ifp )
    10671069                return array( 'error' => sprintf( __( 'Could not write file %s' ), $new_file ) );
    10681070
    1069         $success = @fwrite( $ifp, $bits );
     1071        @fwrite( $ifp, $bits );
    10701072        fclose( $ifp );
    10711073        // Set correct file permissions
    10721074        $stat = @ stat( dirname( $new_file ) );
     
    12111213
    12121214
    12131215function wp_nonce_ays( $action ) {
    1214         global $pagenow, $menu, $submenu, $parent_file, $submenu_file;
     1216        global $pagenow;
    12151217
    12161218        $adminurl = get_option( 'siteurl' ) . '/wp-admin';
    12171219        if ( wp_get_referer() )
     
    14991501                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    15001502                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    15011503
    1502                  $data = curl_exec ($ch);
     1504                 curl_exec($ch);
    15031505
    15041506                 $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    15051507                 curl_close ($ch);
  • wp-includes/general-template.php

     
    164164
    165165        $cat = get_query_var('cat');
    166166        $tag = get_query_var('tag_id');
    167         $p = get_query_var('p');
    168         $name = get_query_var('name');
    169167        $category_name = get_query_var('category_name');
    170168        $author = get_query_var('author');
    171169        $author_name = get_query_var('author_name');
     
    386384                $archive_week_end_date_format = get_option('date_format');
    387385        }
    388386
    389         $add_hours = intval(get_option('gmt_offset'));
    390         $add_minutes = intval(60 * (get_option('gmt_offset') - $add_hours));
    391 
    392387        //filters
    393388        $where = apply_filters('getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r );
    394389        $join = apply_filters('getarchives_join', "", $r);
     
    524519
    525520
    526521function get_calendar($initial = true) {
    527         global $wpdb, $m, $monthnum, $year, $timedifference, $wp_locale, $posts;
     522        global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;
    528523
    529524        $key = md5( $m . $monthnum . $year );
    530525        if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) {
     
    547542
    548543        // week_begins = 0 stands for Sunday
    549544        $week_begins = intval(get_option('start_of_week'));
    550         $add_hours = intval(get_option('gmt_offset'));
    551         $add_minutes = intval(60 * (get_option('gmt_offset') - $add_hours));
    552545
    553546        // Let's figure out when we are
    554547        if ( !empty($monthnum) && !empty($year) ) {
     
    560553                $d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's
    561554                $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('${thisyear}0101', INTERVAL $d DAY) ), '%m')");
    562555        } elseif ( !empty($m) ) {
    563                 $calendar = substr($m, 0, 6);
    564556                $thisyear = ''.intval(substr($m, 0, 4));
    565557                if ( strlen($m) < 6 )
    566558                                $thismonth = '01';
     
    755747
    756748
    757749function the_date($d='', $before='', $after='', $echo = true) {
    758         global $id, $post, $day, $previousday;
     750        global $post, $day, $previousday;
    759751        $the_date = '';
    760752        if ( $day != $previousday ) {
    761753                $the_date .= $before;
     
    842834
    843835
    844836function the_weekday() {
    845         global $wp_locale, $id, $post;
     837        global $wp_locale, $post;
    846838        $the_weekday = $wp_locale->get_weekday(mysql2date('w', $post->post_date));
    847839        $the_weekday = apply_filters('the_weekday', $the_weekday);
    848840        echo $the_weekday;
     
    850842
    851843
    852844function the_weekday_date($before='',$after='') {
    853         global $wp_locale, $id, $post, $day, $previousweekday;
     845        global $wp_locale, $post, $day, $previousweekday;
    854846        $the_weekday_date = '';
    855847        if ( $day != $previousweekday ) {
    856848                $the_weekday_date .= $before;
  • wp-includes/l10n.php

     
    7575}
    7676
    7777function load_default_textdomain() {
    78         global $l10n;
    79 
    8078        $locale = get_locale();
    8179        if ( empty($locale) )
    8280                $locale = 'en_US';
  • wp-includes/link-template.php

     
    232232
    233233function get_feed_link($feed='rss2') {
    234234        global $wp_rewrite;
    235         $do_perma = 0;
    236         $feed_url = get_option('siteurl');
    237         $comment_feed_url = $feed_url;
    238235
    239236        $permalink = $wp_rewrite->get_feed_permastruct();
    240237        if ( '' != $permalink ) {
     
    494491}
    495492
    496493function get_next_posts_page_link($max_page = 0) {
    497         global $paged, $pagenow;
     494        global $paged;
    498495
    499496        if ( !is_single() ) {
    500497                if ( !$paged )
     
    510507}
    511508
    512509function next_posts_link($label='Next Page &raquo;', $max_page=0) {
    513         global $paged, $wpdb, $wp_query;
     510        global $paged, $wp_query;
    514511        if ( !$max_page ) {
    515512                $max_page = $wp_query->max_num_pages;
    516513        }
     
    525522}
    526523
    527524function get_previous_posts_page_link() {
    528         global $paged, $pagenow;
     525        global $paged;
    529526
    530527        if ( !is_single() ) {
    531528                $nextpage = intval($paged) - 1;
  • wp-includes/pluggable.php

     
    528528
    529529if ( ! function_exists('wp_notify_postauthor') ) :
    530530function wp_notify_postauthor($comment_id, $comment_type='') {
    531         global $wpdb;
    532 
    533531        $comment = get_comment($comment_id);
    534532        $post    = get_post($comment->comment_post_ID);
    535533        $user    = get_userdata( $post->post_author );
  • wp-includes/post-template.php

     
    8181
    8282
    8383function get_the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
    84         global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages;
    85         global $preview;
    86         global $pagenow;
     84        global $id, $post, $more, $page, $pages, $multipage, $preview, $pagenow;
     85
    8786        $output = '';
    8887
    8988        if ( !empty($post->post_password) ) { // if there's a password
     
    137136}
    138137
    139138
    140 function get_the_excerpt($deprecated = true) {
    141         global $id, $post;
     139function get_the_excerpt($deprecated = '') {
     140        global $post;
    142141        $output = '';
    143142        $output = $post->post_excerpt;
    144143        if ( !empty($post->post_password) ) { // if there's a password
     
    167166        $r = wp_parse_args( $args, $defaults );
    168167        extract( $r, EXTR_SKIP );
    169168
    170         global $post, $id, $page, $numpages, $multipage, $more, $pagenow;
     169        global $post, $page, $numpages, $multipage, $more, $pagenow;
    171170        if ( $more_file != '' )
    172171                $file = $more_file;
    173172        else
     
    249248
    250249// this will probably change at some point...
    251250function the_meta() {
    252         global $id;
    253 
    254251        if ( $keys = get_post_custom_keys() ) {
    255252                echo "<ul class='post-meta'>\n";
    256253                foreach ( $keys as $key ) {
     
    386383        if ( !$post = & get_post($id) )
    387384                return false;
    388385
    389         $imagedata = wp_get_attachment_metadata( $post->ID );
    390 
    391386        $file = get_attached_file( $post->ID );
    392387
    393388        if ( !$fullsize && $thumbfile = wp_get_attachment_thumb_file( $post->ID ) ) {
  • wp-includes/post.php

     
    2626}
    2727
    2828function &get_children($args = '', $output = OBJECT) {
    29         global $wpdb;
    30 
    3129        if ( empty( $args ) ) {
    3230                if ( isset( $GLOBALS['post'] ) ) {
    3331                        $args = 'post_parent=' . (int) $GLOBALS['post']->post_parent;
     
    163161}
    164162
    165163function get_post_type($post = false) {
    166         global $wpdb, $posts;
     164        global $posts;
    167165
    168166        if ( false === $post )
    169167                $post = $posts[0];
     
    310308}
    311309
    312310function get_post_meta($post_id, $key, $single = false) {
    313         global $wpdb;
    314 
    315311        $post_id = (int) $post_id;
    316312
    317313        $meta_cache = wp_cache_get($post_id, 'post_meta');
     
    342338function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
    343339        global $wpdb;
    344340
    345         $original_value = $meta_value;
    346341        $meta_value = maybe_serialize($meta_value);
    347 
    348         $original_prev = $prev_value;
    349342        $prev_value = maybe_serialize($prev_value);
    350343
    351344        // expected_slashed ($meta_key)
     
    378371
    379372
    380373function get_post_custom($post_id = 0) {
    381         global $id, $wpdb;
     374        global $id;
    382375
    383376        if ( !$post_id )
    384377                $post_id = (int) $id;
     
    577570}
    578571
    579572function wp_get_single_post($postid = 0, $mode = OBJECT) {
    580         global $wpdb;
    581 
    582573        $postid = (int) $postid;
    583574
    584575        $post = get_post($postid, $mode);
     
    597588}
    598589
    599590function wp_insert_post($postarr = array()) {
    600         global $wpdb, $wp_rewrite, $allowedtags, $user_ID;
     591        global $wpdb, $wp_rewrite, $user_ID;
    601592
    602593        $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID,
    603594                'ping_status' => get_option('default_ping_status'), 'post_parent' => 0,
     
    768759}
    769760
    770761function wp_update_post($postarr = array()) {
    771         global $wpdb;
    772 
    773762        if ( is_object($postarr) )
    774763                $postarr = get_object_vars($postarr);
    775764
     
    835824
    836825function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
    837826        /* $append - true = don't delete existing tags, just add on, false = replace the tags with the new tags */
    838         global $wpdb;
    839827
    840828        $post_id = (int) $post_id;
    841829
     
    849837}
    850838
    851839function wp_set_post_categories($post_ID = 0, $post_categories = array()) {
    852         global $wpdb;
    853 
    854840        $post_ID = (int) $post_ID;
    855841        // If $post_categories isn't already an array, make it one:
    856842        if (!is_array($post_categories) || 0 == count($post_categories) || empty($post_categories))
     
    890876}
    891877
    892878function get_enclosed($post_id) { // Get enclosures already enclosed for a post
    893         global $wpdb;
    894879        $custom_fields = get_post_custom( $post_id );
    895880        $pung = array();
    896881        if ( !is_array( $custom_fields ) )
     
    12261211                $post_name = sanitize_title($post_name);
    12271212
    12281213        // expected_slashed ($post_name)
    1229         $post_name_check =
    1230                 $wpdb->get_var( $wpdb->prepare( "SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_status = 'inherit' AND ID != %d LIMIT 1", $post_ID));
     1214        $post_name_check = $wpdb->get_var( $wpdb->prepare( "SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_status = 'inherit' AND ID != %d LIMIT 1", $post_ID));
    12311215
    12321216        if ($post_name_check) {
    12331217                $suffix = 2;
     
    15471531}
    15481532
    15491533function get_lastpostdate($timezone = 'server') {
    1550         global $cache_lastpostdate, $pagenow, $wpdb, $blog_id;
    1551         $add_seconds_blog = get_option('gmt_offset') * 3600;
     1534        global $cache_lastpostdate, $wpdb, $blog_id;
    15521535        $add_seconds_server = date('Z');
    15531536        if ( !isset($cache_lastpostdate[$blog_id][$timezone]) ) {
    15541537                switch(strtolower($timezone)) {
     
    15701553}
    15711554
    15721555function get_lastpostmodified($timezone = 'server') {
    1573         global $cache_lastpostmodified, $pagenow, $wpdb, $blog_id;
    1574         $add_seconds_blog = get_option('gmt_offset') * 3600;
     1556        global $cache_lastpostmodified, $wpdb, $blog_id;
    15751557        $add_seconds_server = date('Z');
    15761558        if ( !isset($cache_lastpostmodified[$blog_id][$timezone]) ) {
    15771559                switch(strtolower($timezone)) {
     
    16331615}
    16341616
    16351617function update_post_caches(&$posts) {
    1636         global $wpdb;
    1637 
    16381618        // No point in doing all this work if we didn't match any posts.
    16391619        if ( !$posts )
    16401620                return;
     
    17381718        if ( defined('WP_IMPORTING') )
    17391719                return;
    17401720
    1741         $post = get_post($post_id);
    1742 
    17431721        $data = array( 'post_id' => $post_id, 'meta_value' => '1' );
    17441722        if ( get_option('default_pingback_flag') )
    17451723                $wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) );
  • wp-includes/query.php

     
    728728        }
    729729
    730730        function &get_posts() {
    731                 global $wpdb, $pagenow, $user_ID;
     731                global $wpdb, $user_ID;
    732732
    733733                do_action_ref_array('pre_get_posts', array(&$this));
    734734
     
    741741                $distinct = '';
    742742                $whichcat = '';
    743743                $whichauthor = '';
    744                 $whichpage = '';
    745                 $result = '';
    746744                $where = '';
    747745                $limits = '';
    748746                $join = '';
     
    789787                        $q['page'] = abs($q['page']);
    790788                }
    791789
    792                 $add_hours = intval(get_option('gmt_offset'));
    793                 $add_minutes = intval(60 * (get_option('gmt_offset') - $add_hours));
    794                 $wp_posts_post_date_field = "post_date"; // "DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)";
    795 
    796790                // If a month is specified in the querystring, load that month
    797791                if ( $q['m'] ) {
    798792                        $q['m'] = '' . preg_replace('|[^0-9]|', '', $q['m']);
     
    14951489
    14961490// Setup global post data.
    14971491function setup_postdata($post) {
    1498         global $id, $postdata, $authordata, $day, $currentmonth, $page, $pages, $multipage, $more, $numpages, $wp_query;
    1499         global $pagenow;
     1492        global $id, $authordata, $day, $currentmonth, $page, $pages, $multipage, $more, $numpages;
    15001493
    15011494        $id = (int) $post->ID;
    15021495
  • wp-includes/rewrite.php

     
    311311        }
    312312
    313313        function page_rewrite_rules() {
    314                 global $wpdb;
    315 
    316314                $rewrite_rules = array();
    317315                $page_structure = $this->get_page_permastruct();
    318316
  • wp-includes/taxonomy.php

     
    773773 * @return mixed sanitized field
    774774 */
    775775function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
    776         if ( 'parent' == $field  || 'term_id' == $field || 'count' == $field
    777                 || 'term_group' == $field )
     776        if ( 'parent' == $field  || 'term_id' == $field || 'count' == $field || 'term_group' == $field )
    778777                $value = (int) $value;
    779778
    780779        if ( 'raw' == $context )
     
    12091208        if ( !empty($args['term_id']) )
    12101209                $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d", $slug, $args['term_id'] );
    12111210        else
    1212                 $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s $where", $slug );
     1211                $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $slug );
    12131212
    12141213        if ( $wpdb->get_var( $query ) ) {
    12151214                $num = 2;
     
    14711470 * @return null|array Null value is given with empty $object_ids.
    14721471 */
    14731472function update_object_term_cache($object_ids, $object_type) {
    1474         global $wpdb;
    1475 
    14761473        if ( empty($object_ids) )
    14771474                return;
    14781475
  • wp-includes/theme.php

     
    436436}
    437437
    438438function load_template($_template_file) {
    439         global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query,
    440                 $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
     439        global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
    441440
    442441        if ( is_array($wp_query->query_vars) )
    443442                extract($wp_query->query_vars, EXTR_SKIP);
  • wp-includes/user.php

     
    7575        else
    7676                $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
    7777
    78         $user = get_userdata($user_id);
    7978        wp_cache_delete($user_id, 'users');
    8079
    8180        return true;
     
    138137                return false;
    139138        }
    140139
    141         $user = get_userdata($user_id);
    142140        wp_cache_delete($user_id, 'users');
    143141
    144142        return true;
  • wp-includes/widgets.php

     
    227227
    228228        $sidebars_widgets = wp_get_sidebars_widgets(false);
    229229
    230         if ( is_array($sidebars_widgets) ) foreach ( $sidebars_widgets as $sidebar => $widgets )
     230        if ( is_array($sidebars_widgets) ) foreach ( $sidebars_widgets as $widgets )
    231231                if ( is_array($widgets) ) foreach ( $widgets as $widget )
    232232                        if ( $wp_registered_widgets[$widget]['callback'] == $callback )
    233233                                return true;
     
    572572}
    573573
    574574function wp_widget_text_page() {
    575         $options = $newoptions = get_option('widget_text');
     575        $options = get_option('widget_text');
    576576?>
    577577        <div class="wrap">
    578578                <form method="POST">
     
    10051005                        } else {
    10061006                                $newoptions[$number]['error'] = true;
    10071007                                $newoptions[$number]['url'] = wp_specialchars(__('Error: could not find an RSS or ATOM feed at that URL.'), 1);
    1008                                 $error = sprintf(__('Error in RSS %1$d: %2$s'), $number, $newoptions[$number]['error']);
    10091008                        }
    10101009                }
    10111010        }
     
    10231022                        <p style="text-align:center;"><?php _e('Give the feed a title (optional):'); ?></p>
    10241023                        <input style="width: 400px;" id="rss-title-<?php echo "$number"; ?>" name="rss-title-<?php echo "$number"; ?>" type="text" value="<?php echo $title; ?>" />
    10251024                        <p style="text-align:center; line-height: 30px;"><?php _e('How many items would you like to display?'); ?> <select id="rss-items-<?php echo $number; ?>" name="rss-items-<?php echo $number; ?>"><?php for ( $i = 1; $i <= 10; ++$i ) echo "<option value='$i' ".($items==$i ? "selected='selected'" : '').">$i</option>"; ?></select></p>
    1026                         <input type="hidden" id="rss-submit-<?php echo "$number"; ?>" name="rss-submit-<?php echo "$number"; ?>" value="1" />
     1025                        <input type="hidden" id="rss-submit-<?php echo "$number"; ?>" name="rss-submit-<?php echo $number; ?>" value="1" />
    10271026<?php
    10281027}
    10291028
     
    10431042}
    10441043
    10451044function wp_widget_rss_page() {
    1046         $options = $newoptions = get_option('widget_rss');
     1045        $options = get_option('widget_rss');
    10471046?>
    10481047        <div class="wrap">
    10491048                <form method="POST">
  • wp-login.php

     
    2727
    2828// Rather than duplicating this HTML all over the place, we'll stick it in function
    2929function login_header($title = 'Login', $message = '') {
    30         global $errors, $error, $wp_locale;
     30        global $errors, $error;
    3131
    3232        ?>
    3333<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • xmlrpc.php

     
    459459         * wp_getAuthors
    460460         */
    461461        function wp_getAuthors($args) {
    462                 global $wpdb;
    463462
    464463                $this->escape($args);
    465464
     
    533532         * wp_suggestCategories
    534533         */
    535534        function wp_suggestCategories($args) {
    536                 global $wpdb;
    537 
    538535                $this->escape($args);
    539536
    540537                $blog_id                                = (int) $args[0];
     
    625622                        return $this->error;
    626623                }
    627624
    628                 $user_data = get_userdatabylogin($user_login);
    629625                $post_data = wp_get_single_post($post_ID, ARRAY_A);
    630626
    631627                $categories = implode(',', wp_get_post_categories($post_ID));
     
    648644        /* blogger.getRecentPosts ...gets recent posts */
    649645        function blogger_getRecentPosts($args) {
    650646
    651                 global $wpdb;
    652 
    653647                $this->escape($args);
    654648
    655649                $blog_ID    = (int) $args[1]; /* though we don't use it yet */
     
    767761        /* blogger.newPost ...creates a new post */
    768762        function blogger_newPost($args) {
    769763
    770           global $wpdb;
    771 
    772764                $this->escape($args);
    773765
    774           $blog_ID    = (int) $args[1]; /* though we don't use it yet */
    775           $user_login = $args[2];
    776           $user_pass  = $args[3];
    777           $content    = $args[4];
    778           $publish    = $args[5];
     766                $blog_ID    = (int) $args[1]; /* though we don't use it yet */
     767                $user_login = $args[2];
     768                $user_pass  = $args[3];
     769                $content    = $args[4];
     770                $publish    = $args[5];
     771               
     772                if (!$this->login_pass_ok($user_login, $user_pass)) {
     773                        return $this->error;
     774                }
     775               
     776                $cap = ($publish) ? 'publish_posts' : 'edit_posts';
     777                $user = set_current_user(0, $user_login);
     778                if ( !current_user_can($cap) )
     779                        return new IXR_Error(401, __('Sorry, you are not allowed to post on this blog.'));
     780               
     781                $post_status = ($publish) ? 'publish' : 'draft';
     782               
     783                $post_author = $user->ID;
     784               
     785                $post_title = xmlrpc_getposttitle($content);
     786                $post_category = xmlrpc_getpostcategory($content);
     787                $post_content = xmlrpc_removepostdata($content);
     788               
     789                $post_date = current_time('mysql');
     790                $post_date_gmt = current_time('mysql', 1);
     791               
     792                $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status');
     793               
     794                $post_ID = wp_insert_post($post_data);
     795                if ( is_wp_error( $post_ID ) )
     796                        return new IXR_Error(500, $post_ID->get_error_message());
    779797
    780           if (!$this->login_pass_ok($user_login, $user_pass)) {
    781             return $this->error;
    782           }
     798                if (!$post_ID)
     799                        return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
    783800
    784           $cap = ($publish) ? 'publish_posts' : 'edit_posts';
    785           $user = set_current_user(0, $user_login);
    786           if ( !current_user_can($cap) )
    787             return new IXR_Error(401, __('Sorry, you are not allowed to post on this blog.'));
     801                $this->attach_uploads( $post_ID, $post_content );
    788802
    789           $post_status = ($publish) ? 'publish' : 'draft';
     803                logIO('O', "Posted ! ID: $post_ID");
    790804
    791           $post_author = $user->ID;
    792 
    793           $post_title = xmlrpc_getposttitle($content);
    794           $post_category = xmlrpc_getpostcategory($content);
    795           $post_content = xmlrpc_removepostdata($content);
    796 
    797           $post_date = current_time('mysql');
    798           $post_date_gmt = current_time('mysql', 1);
    799 
    800           $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status');
    801 
    802           $post_ID = wp_insert_post($post_data);
    803           if ( is_wp_error( $post_ID ) )
    804                 return new IXR_Error(500, $post_ID->get_error_message());
    805 
    806           if (!$post_ID) {
    807             return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
    808           }
    809           $this->attach_uploads( $post_ID, $post_content );
    810 
    811           logIO('O', "Posted ! ID: $post_ID");
    812 
    813           return $post_ID;
     805                return $post_ID;
    814806        }
    815807
    816 
    817808        /* blogger.editPost ...edits a post */
    818809        function blogger_editPost($args) {
    819810
    820           global $wpdb;
    821 
    822811                $this->escape($args);
    823 
    824           $post_ID     = (int) $args[1];
    825           $user_login  = $args[2];
    826           $user_pass   = $args[3];
    827           $content     = $args[4];
    828           $publish     = $args[5];
    829 
    830           if (!$this->login_pass_ok($user_login, $user_pass)) {
    831             return $this->error;
    832           }
    833 
    834           $actual_post = wp_get_single_post($post_ID,ARRAY_A);
    835 
    836           if (!$actual_post) {
    837                 return new IXR_Error(404, __('Sorry, no such post.'));
    838           }
    839 
     812               
     813                $post_ID     = (int) $args[1];
     814                $user_login  = $args[2];
     815                $user_pass   = $args[3];
     816                $content     = $args[4];
     817                $publish     = $args[5];
     818               
     819                if (!$this->login_pass_ok($user_login, $user_pass)) {
     820                        return $this->error;
     821                }
     822               
     823                $actual_post = wp_get_single_post($post_ID,ARRAY_A);
     824               
     825                if (!$actual_post) {
     826                        return new IXR_Error(404, __('Sorry, no such post.'));
     827                }
     828               
    840829                $this->escape($actual_post);
    841 
    842           set_current_user(0, $user_login);
    843           if ( !current_user_can('edit_post', $post_ID) )
    844             return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
    845 
    846           extract($actual_post, EXTR_SKIP);
    847 
    848           if ( ('publish' == $post_status) && !current_user_can('publish_posts') )
    849                 return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
    850 
    851           $post_title = xmlrpc_getposttitle($content);
    852           $post_category = xmlrpc_getpostcategory($content);
    853           $post_content = xmlrpc_removepostdata($content);
    854 
    855           $postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
    856 
    857           $result = wp_update_post($postdata);
    858 
    859           if (!$result) {
    860                 return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
    861           }
    862           $this->attach_uploads( $ID, $post_content );
    863 
    864           return true;
     830               
     831                set_current_user(0, $user_login);
     832                if ( !current_user_can('edit_post', $post_ID) )
     833                        return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
     834               
     835                extract($actual_post, EXTR_SKIP);
     836               
     837                if ( ('publish' == $post_status) && !current_user_can('publish_posts') )
     838                        return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
     839               
     840                $post_title = xmlrpc_getposttitle($content);
     841                $post_category = xmlrpc_getpostcategory($content);
     842                $post_content = xmlrpc_removepostdata($content);
     843               
     844                $postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
     845               
     846                $result = wp_update_post($postdata);
     847               
     848                if (!$result) {
     849                        return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
     850                }
     851                $this->attach_uploads( $ID, $post_content );
     852               
     853                return true;
    865854        }
    866855
    867856
    868857        /* blogger.deletePost ...deletes a post */
    869858        function blogger_deletePost($args) {
    870 
    871           global $wpdb;
    872 
    873859                $this->escape($args);
    874 
    875           $post_ID     = (int) $args[1];
    876           $user_login  = $args[2];
    877           $user_pass   = $args[3];
    878           $publish     = $args[4];
    879 
    880           if (!$this->login_pass_ok($user_login, $user_pass)) {
    881             return $this->error;
    882           }
    883 
    884           $actual_post = wp_get_single_post($post_ID,ARRAY_A);
    885 
    886           if (!$actual_post) {
    887                 return new IXR_Error(404, __('Sorry, no such post.'));
    888           }
    889 
    890           set_current_user(0, $user_login);
    891           if ( !current_user_can('edit_post', $post_ID) )
    892             return new IXR_Error(401, __('Sorry, you do not have the right to delete this post.'));
    893 
    894           $result = wp_delete_post($post_ID);
    895 
    896           if (!$result) {
    897                 return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be deleted.'));
    898           }
    899 
    900           return true;
     860               
     861                $post_ID     = (int) $args[1];
     862                $user_login  = $args[2];
     863                $user_pass   = $args[3];
     864                $publish     = $args[4];
     865               
     866                if (!$this->login_pass_ok($user_login, $user_pass)) {
     867                        return $this->error;
     868                }
     869               
     870                $actual_post = wp_get_single_post($post_ID,ARRAY_A);
     871               
     872                if (!$actual_post) {
     873                        return new IXR_Error(404, __('Sorry, no such post.'));
     874                }
     875               
     876                set_current_user(0, $user_login);
     877                if ( !current_user_can('edit_post', $post_ID) )
     878                        return new IXR_Error(401, __('Sorry, you do not have the right to delete this post.'));
     879               
     880                $result = wp_delete_post($post_ID);
     881               
     882                if (!$result) {
     883                        return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be deleted.'));
     884                }
     885               
     886                return true;
    901887        }
    902888
    903889
     
    908894
    909895        /* metaweblog.newPost creates a post */
    910896        function mw_newPost($args) {
    911 
    912           global $wpdb, $post_default_category;
    913 
    914897                $this->escape($args);
    915898
    916           $blog_ID     = (int) $args[0]; // we will support this in the near future
    917           $user_login  = $args[1];
    918           $user_pass   = $args[2];
    919           $content_struct = $args[3];
    920           $publish     = $args[4];
     899                $blog_ID     = (int) $args[0]; // we will support this in the near future
     900                $user_login  = $args[1];
     901                $user_pass   = $args[2];
     902                $content_struct = $args[3];
     903                $publish     = $args[4];
     904               
     905                if (!$this->login_pass_ok($user_login, $user_pass)) {
     906                        return $this->error;
     907                }
     908               
     909                $cap = ($publish) ? 'publish_posts' : 'edit_posts';
     910                $user = set_current_user(0, $user_login);
     911                if ( !current_user_can($cap) )
     912                        return new IXR_Error(401, __('Sorry, you are not allowed to post on this blog.'));
    921913
    922           if (!$this->login_pass_ok($user_login, $user_pass)) {
    923             return $this->error;
    924           }
    925 
    926       $cap = ($publish) ? 'publish_posts' : 'edit_posts';
    927           $user = set_current_user(0, $user_login);
    928           if ( !current_user_can($cap) )
    929             return new IXR_Error(401, __('Sorry, you are not allowed to post on this blog.'));
    930 
    931914                // The post_type defaults to post, but could also be page.
    932915                $post_type = "post";
    933916                if(
     
    959942                        $menu_order = $content_struct["wp_page_order"];
    960943                }
    961944
    962           $post_author = $user->ID;
     945                $post_author = $user->ID;
    963946
    964947                // If an author id was provided then use it instead.
    965948                if(
     
    984967                        $post_author = $content_struct["wp_author_id"];
    985968                }
    986969
    987           $post_title = $content_struct['title'];
    988           $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
    989           $post_status = $publish ? 'publish' : 'draft';
     970                $post_title = $content_struct['title'];
     971                $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
     972                $post_status = $publish ? 'publish' : 'draft';
     973               
     974                $post_excerpt = $content_struct['mt_excerpt'];
     975                $post_more = $content_struct['mt_text_more'];
    990976
    991           $post_excerpt = $content_struct['mt_excerpt'];
    992           $post_more = $content_struct['mt_text_more'];
    993 
    994977                $tags_input = $content_struct['mt_keywords'];
    995978
    996979                if(isset($content_struct["mt_allow_comments"])) {
     
    10581041                        $ping_status = get_option("default_ping_status");
    10591042                }
    10601043
    1061           if ($post_more) {
    1062             $post_content = $post_content . "\n<!--more-->\n" . $post_more;
    1063           }
     1044                if ($post_more) {
     1045                        $post_content = $post_content . "\n<!--more-->\n" . $post_more;
     1046                }
     1047               
     1048                $to_ping = $content_struct['mt_tb_ping_urls'];
     1049                if ( is_array($to_ping) )
     1050                        $to_ping = implode(' ', $to_ping);
    10641051
    1065           $to_ping = $content_struct['mt_tb_ping_urls'];
    1066           if ( is_array($to_ping) )
    1067                 $to_ping = implode(' ', $to_ping);
    1068 
    10691052                // Do some timestamp voodoo
    10701053                $dateCreatedd = $content_struct['dateCreated'];
    10711054                if (!empty($dateCreatedd)) {
     
    10771060                        $post_date_gmt = current_time('mysql', 1);
    10781061                }
    10791062
    1080           $catnames = $content_struct['categories'];
    1081           logIO('O', 'Post cats: ' . printr($catnames,true));
    1082           $post_category = array();
     1063                $catnames = $content_struct['categories'];
     1064                logIO('O', 'Post cats: ' . printr($catnames,true));
     1065                $post_category = array();
     1066               
     1067                if (is_array($catnames)) {
     1068                        foreach ($catnames as $cat) {
     1069                                $post_category[] = get_cat_ID($cat);
     1070                        }
     1071                }
    10831072
    1084           if (is_array($catnames)) {
    1085             foreach ($catnames as $cat) {
    1086               $post_category[] = get_cat_ID($cat);
    1087             }
    1088           }
    1089 
    1090           // We've got all the data -- post it:
    1091           $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'to_ping', 'post_type', 'post_name', 'post_password', 'post_parent', 'menu_order', 'tags_input');
    1092 
    1093           $post_ID = wp_insert_post($postdata);
    1094           if ( is_wp_error( $post_ID ) )
    1095                 return new IXR_Error(500, $post_ID->get_error_message());
    1096 
    1097           if (!$post_ID) {
    1098             return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
    1099           }
    1100 
    1101           $this->attach_uploads( $post_ID, $post_content );
    1102 
    1103           logIO('O', "Posted ! ID: $post_ID");
    1104 
    1105           return strval($post_ID);
     1073                // We've got all the data -- post it:
     1074                $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'to_ping', 'post_type', 'post_name', 'post_password', 'post_parent', 'menu_order', 'tags_input');
     1075               
     1076                $post_ID = wp_insert_post($postdata);
     1077                if ( is_wp_error( $post_ID ) )
     1078                        return new IXR_Error(500, $post_ID->get_error_message());
     1079               
     1080                if (!$post_ID) {
     1081                        return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
     1082                }
     1083               
     1084                $this->attach_uploads( $post_ID, $post_content );
     1085               
     1086                logIO('O', "Posted ! ID: $post_ID");
     1087               
     1088                return strval($post_ID);
    11061089        }
    11071090
    11081091        function attach_uploads( $post_ID, $post_content ) {
     
    11221105        /* metaweblog.editPost ...edits a post */
    11231106        function mw_editPost($args) {
    11241107
    1125           global $wpdb, $post_default_category;
    1126 
    11271108                $this->escape($args);
    11281109
    1129           $post_ID     = (int) $args[0];
    1130           $user_login  = $args[1];
    1131           $user_pass   = $args[2];
    1132           $content_struct = $args[3];
    1133           $publish     = $args[4];
     1110                $post_ID     = (int) $args[0];
     1111                $user_login  = $args[1];
     1112                $user_pass   = $args[2];
     1113                $content_struct = $args[3];
     1114                $publish     = $args[4];
     1115               
     1116                if (!$this->login_pass_ok($user_login, $user_pass)) {
     1117                return $this->error;
     1118                }
    11341119
    1135           if (!$this->login_pass_ok($user_login, $user_pass)) {
    1136             return $this->error;
    1137           }
    1138 
    11391120                $user = set_current_user(0, $user_login);
    11401121
    11411122                // The post_type defaults to post, but could also be page.
     
    11471128                        $post_type = "page";
    11481129                }
    11491130
    1150           // Edit page caps are checked in editPage.  Just check post here.
    1151           if ( ( 'post' == $post_type ) && !current_user_can('edit_post', $post_ID) )
    1152             return new IXR_Error(401, __('Sorry, you can not edit this post.'));
     1131                // Edit page caps are checked in editPage.  Just check post here.
     1132                if ( ( 'post' == $post_type ) && !current_user_can('edit_post', $post_ID) )
     1133                        return new IXR_Error(401, __('Sorry, you can not edit this post.'));
    11531134
    1154           $postdata = wp_get_single_post($post_ID, ARRAY_A);
     1135                $postdata = wp_get_single_post($post_ID, ARRAY_A);
    11551136
    11561137                // If there is no post data for the give post id, stop
    11571138                // now and return an error.  Other wise a new post will be
     
    12681249                        }
    12691250                }
    12701251
    1271           $post_title = $content_struct['title'];
    1272           $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
    1273           $catnames = $content_struct['categories'];
     1252                $post_title = $content_struct['title'];
     1253                $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
     1254                $catnames = $content_struct['categories'];
     1255               
     1256                $post_category = array();
     1257               
     1258                if (is_array($catnames)) {
     1259                        foreach ($catnames as $cat) {
     1260                                $post_category[] = get_cat_ID($cat);
     1261                        }
     1262                }
     1263               
     1264                $post_excerpt = $content_struct['mt_excerpt'];
     1265                $post_more = $content_struct['mt_text_more'];
     1266                $post_status = $publish ? 'publish' : 'draft';
     1267               
     1268                $tags_input = $content_struct['mt_keywords'];
    12741269
    1275           $post_category = array();
     1270                if ( ('publish' == $post_status) ) {
     1271                        if ( ( 'page' == $post_type ) && !current_user_can('publish_pages') )
     1272                                return new IXR_Error(401, __('Sorry, you do not have the right to publish this page.'));
     1273                        else if ( !current_user_can('publish_posts') )
     1274                                return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
     1275                }
     1276               
     1277                if ($post_more) {
     1278                        $post_content = $post_content . "\n<!--more-->\n" . $post_more;
     1279                }
    12761280
    1277           if (is_array($catnames)) {
    1278             foreach ($catnames as $cat) {
    1279               $post_category[] = get_cat_ID($cat);
    1280             }
    1281           }
     1281                $to_ping = $content_struct['mt_tb_ping_urls'];
     1282                if ( is_array($to_ping) )
     1283                        $to_ping = implode(' ', $to_ping);
     1284               
     1285                // Do some timestamp voodoo
     1286                $dateCreatedd = $content_struct['dateCreated'];
     1287                if (!empty($dateCreatedd)) {
     1288                        $dateCreated = $dateCreatedd->getIso();
     1289                        $post_date     = get_date_from_gmt(iso8601_to_datetime($dateCreated));
     1290                        $post_date_gmt = iso8601_to_datetime($dateCreated . "Z", GMT);
     1291                } else {
     1292                        $post_date     = $postdata['post_date'];
     1293                        $post_date_gmt = $postdata['post_date_gmt'];
     1294                }
    12821295
    1283           $post_excerpt = $content_struct['mt_excerpt'];
    1284           $post_more = $content_struct['mt_text_more'];
    1285           $post_status = $publish ? 'publish' : 'draft';
    1286 
    1287           $tags_input = $content_struct['mt_keywords'];
    1288 
    1289           if ( ('publish' == $post_status) ) {
    1290                 if ( ( 'page' == $post_type ) && !current_user_can('publish_pages') )
    1291                         return new IXR_Error(401, __('Sorry, you do not have the right to publish this page.'));
    1292                 else if ( !current_user_can('publish_posts') )
    1293                         return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
    1294           }
    1295 
    1296           if ($post_more) {
    1297             $post_content = $post_content . "\n<!--more-->\n" . $post_more;
    1298           }
    1299 
    1300           $to_ping = $content_struct['mt_tb_ping_urls'];
    1301           if ( is_array($to_ping) )
    1302                 $to_ping = implode(' ', $to_ping);
    1303 
    1304           // Do some timestamp voodoo
    1305           $dateCreatedd = $content_struct['dateCreated'];
    1306           if (!empty($dateCreatedd)) {
    1307             $dateCreated = $dateCreatedd->getIso();
    1308             $post_date     = get_date_from_gmt(iso8601_to_datetime($dateCreated));
    1309             $post_date_gmt = iso8601_to_datetime($dateCreated . "Z", GMT);
    1310           } else {
    1311             $post_date     = $postdata['post_date'];
    1312             $post_date_gmt = $postdata['post_date_gmt'];
    1313           }
    1314 
    1315           // We've got all the data -- post it:
    1316           $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping', 'post_name', 'post_password', 'post_parent', 'menu_order', 'post_author', 'tags_input');
    1317 
    1318           $result = wp_update_post($newpost);
    1319           if (!$result) {
    1320             return new IXR_Error(500, __('Sorry, your entry could not be edited. Something wrong happened.'));
    1321           }
    1322           $this->attach_uploads( $ID, $post_content );
    1323 
    1324           logIO('O',"(MW) Edited ! ID: $post_ID");
    1325 
    1326           return true;
     1296                // We've got all the data -- post it:
     1297                $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping', 'post_name', 'post_password', 'post_parent', 'menu_order', 'post_author', 'tags_input');
     1298               
     1299                $result = wp_update_post($newpost);
     1300                if (!$result) {
     1301                        return new IXR_Error(500, __('Sorry, your entry could not be edited. Something wrong happened.'));
     1302                }
     1303                $this->attach_uploads( $ID, $post_content );
     1304               
     1305                logIO('O',"(MW) Edited ! ID: $post_ID");
     1306               
     1307                return true;
    13271308        }
    13281309
    13291310
    13301311        /* metaweblog.getPost ...returns a post */
    13311312        function mw_getPost($args) {
    13321313
    1333           global $wpdb;
    1334 
    13351314                $this->escape($args);
    1336 
    1337           $post_ID     = (int) $args[0];
    1338           $user_login  = $args[1];
    1339           $user_pass   = $args[2];
    1340 
    1341           if (!$this->login_pass_ok($user_login, $user_pass)) {
    1342             return $this->error;
    1343           }
    1344 
    1345           $postdata = wp_get_single_post($post_ID, ARRAY_A);
    1346 
    1347           if ($postdata['post_date'] != '') {
    1348 
    1349             $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date']);
    1350             $post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt']);
    1351 
    1352             $categories = array();
    1353             $catids = wp_get_post_categories($post_ID);
    1354             foreach($catids as $catid) {
    1355               $categories[] = get_cat_name($catid);
    1356             }
    1357 
    1358                 $tagnames = array();
    1359                 $tags = wp_get_post_tags( $post_ID );
    1360                 if ( !empty( $tags ) ) {
    1361                         foreach ( $tags as $tag ) {
    1362                                 $tagnames[] = $tag->name;
     1315               
     1316                $post_ID     = (int) $args[0];
     1317                $user_login  = $args[1];
     1318                $user_pass   = $args[2];
     1319               
     1320                if (!$this->login_pass_ok($user_login, $user_pass)) {
     1321                        return $this->error;
     1322                }
     1323               
     1324                $postdata = wp_get_single_post($post_ID, ARRAY_A);
     1325               
     1326                if ($postdata['post_date'] != '') {
     1327                        $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date']);
     1328                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt']);
     1329               
     1330                        $categories = array();
     1331                        $catids = wp_get_post_categories($post_ID);
     1332                        foreach($catids as $catid)
     1333                                $categories[] = get_cat_name($catid);
     1334                       
     1335                        $tagnames = array();
     1336                        $tags = wp_get_post_tags( $post_ID );
     1337                        if ( !empty( $tags ) ) {
     1338                                foreach ( $tags as $tag )
     1339                                        $tagnames[] = $tag->name;
     1340                                $tagnames = implode( ', ', $tagnames );
     1341                        } else {
     1342                                $tagnames = '';
    13631343                        }
    1364                         $tagnames = implode( ', ', $tagnames );
     1344                       
     1345                        $post = get_extended($postdata['post_content']);
     1346                        $link = post_permalink($postdata['ID']);
     1347                       
     1348                        // Get the author info.
     1349                        $author = get_userdata($postdata['post_author']);
     1350                       
     1351                        $allow_comments = ('open' == $postdata['comment_status']) ? 1 : 0;
     1352                        $allow_pings = ('open' == $postdata['ping_status']) ? 1 : 0;
     1353                       
     1354                        $resp = array(
     1355                                'dateCreated' => new IXR_Date($post_date),
     1356                                'userid' => $postdata['post_author'],
     1357                                'postid' => $postdata['ID'],
     1358                                'description' => $post['main'],
     1359                                'title' => $postdata['post_title'],
     1360                                'link' => $link,
     1361                                'permaLink' => $link,
     1362                                // commented out because no other tool seems to use this
     1363                                //            'content' => $entry['post_content'],
     1364                                'categories' => $categories,
     1365                                'mt_excerpt' => $postdata['post_excerpt'],
     1366                                'mt_text_more' => $post['extended'],
     1367                                'mt_allow_comments' => $allow_comments,
     1368                                'mt_allow_pings' => $allow_pings,
     1369                                'mt_keywords' => $tagnames,
     1370                                'wp_slug' => $postdata['post_name'],
     1371                                'wp_password' => $postdata['post_password'],
     1372                                'wp_author_id' => $author->ID,
     1373                                'wp_author_display_name'        => $author->display_name,
     1374                                'date_created_gmt' => new IXR_Date($post_date_gmt),
     1375                                'post_status' => $postdata['post_status']
     1376                        );
     1377                       
     1378                        return $resp;
    13651379                } else {
    1366                         $tagnames = '';
     1380                        return new IXR_Error(404, __('Sorry, no such post.'));
    13671381                }
    1368 
    1369             $post = get_extended($postdata['post_content']);
    1370             $link = post_permalink($postdata['ID']);
    1371 
    1372                 // Get the author info.
    1373                 $author = get_userdata($postdata['post_author']);
    1374 
    1375             $allow_comments = ('open' == $postdata['comment_status']) ? 1 : 0;
    1376             $allow_pings = ('open' == $postdata['ping_status']) ? 1 : 0;
    1377 
    1378             $resp = array(
    1379               'dateCreated' => new IXR_Date($post_date),
    1380               'userid' => $postdata['post_author'],
    1381               'postid' => $postdata['ID'],
    1382               'description' => $post['main'],
    1383               'title' => $postdata['post_title'],
    1384               'link' => $link,
    1385               'permaLink' => $link,
    1386 // commented out because no other tool seems to use this
    1387 //            'content' => $entry['post_content'],
    1388               'categories' => $categories,
    1389               'mt_excerpt' => $postdata['post_excerpt'],
    1390               'mt_text_more' => $post['extended'],
    1391               'mt_allow_comments' => $allow_comments,
    1392               'mt_allow_pings' => $allow_pings,
    1393                   'mt_keywords' => $tagnames,
    1394           'wp_slug' => $postdata['post_name'],
    1395           'wp_password' => $postdata['post_password'],
    1396           'wp_author_id' => $author->ID,
    1397           'wp_author_display_name'      => $author->display_name,
    1398           'date_created_gmt' => new IXR_Date($post_date_gmt),
    1399                   'post_status' => $postdata['post_status']
    1400             );
    1401 
    1402             return $resp;
    1403           } else {
    1404                 return new IXR_Error(404, __('Sorry, no such post.'));
    1405           }
    14061382        }
    14071383
    14081384
     
    14961472        /* metaweblog.getCategories ...returns the list of categories on a given blog */
    14971473        function mw_getCategories($args) {
    14981474
    1499                 global $wpdb;
    1500 
    15011475                $this->escape($args);
    15021476
    15031477                $blog_ID     = (int) $args[0];
     
    15761550                        $name = "wpid{$old_file->ID}-{$filename}";
    15771551                }
    15781552
    1579                 $upload = wp_upload_bits($name, $type, $bits, $overwrite);
     1553                $upload = wp_upload_bits($name, $type, $bits);
    15801554                if ( ! empty($upload['error']) ) {
    15811555                        $errorString = sprintf(__('Could not write file %1$s (%2$s)'), $name, $upload['error']);
    15821556                        logIO('O', '(MW) ' . $errorString);
     
    16541628        /* mt.getCategoryList ...returns the list of categories on a given blog */
    16551629        function mt_getCategoryList($args) {
    16561630
    1657                 global $wpdb;
    1658 
    16591631                $this->escape($args);
    16601632
    16611633                $blog_ID     = (int) $args[0];
     
    18341806
    18351807        /* pingback.ping gets a pingback and registers it */
    18361808        function pingback_ping($args) {
    1837                 global $wpdb, $wp_version;
     1809                global $wpdb;
    18381810
    18391811                $this->escape($args);
    18401812
     
    18471819                $pagelinkedto = str_replace('&amp;', '&', $pagelinkedto);
    18481820                $pagelinkedto = str_replace('&', '&amp;', $pagelinkedto);
    18491821
    1850                 $error_code = -1;
    1851 
    18521822                // Check if the page linked to is in our site
    18531823                $pos1 = strpos($pagelinkedto, str_replace(array('http://www.','http://','https://www.','https://'), '', get_option('home')));
    18541824                if( !$pos1 )
    1855                                 return new IXR_Error(0, __('Is there no link to us?'));
     1825                        return new IXR_Error(0, __('Is there no link to us?'));
    18561826
    18571827                // let's find which post is linked to
    18581828                // FIXME: does url_to_postid() cover all these cases already?
     
    19121882                        return new IXR_Error(33, __('The specified target URL cannot be used as a target. It either doesn\'t exist, or it is not a pingback-enabled resource.'));
    19131883
    19141884                // Let's check that the remote site didn't already pingback this entry
    1915                 $result = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post_ID' AND comment_author_url = '$pagelinkedfrom'");
     1885                $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post_ID' AND comment_author_url = '$pagelinkedfrom'");
    19161886
    19171887                if ( $wpdb->num_rows ) // We already have a Pingback from this URL
    19181888                        return new IXR_Error(48, __('The pingback has already been registered.'));
     
    19741944                $pagelinkedfrom = str_replace('&', '&amp;', $pagelinkedfrom);
    19751945
    19761946                $context = '[...] ' . wp_specialchars( $excerpt ) . ' [...]';
    1977                 $original_pagelinkedfrom = $pagelinkedfrom;
    19781947                $pagelinkedfrom = $wpdb->escape( $pagelinkedfrom );
    1979                 $original_title = $title;
    19801948
    19811949                $comment_post_ID = (int) $post_ID;
    19821950                $comment_author = $title;