Make WordPress Core

Ticket #16525: app.php-r4794-reverse.patch

File app.php-r4794-reverse.patch, 19.6 KB (added by hakre, 14 years ago)

Reverse Patch against r4794

  • app.php

    ### Eclipse Workspace Patch 1.0
    #P wordpress-trunk bare
     
    11<?php
    2 /*
    3  * app.php - Atom Publishing Protocol support for WordPress
    4  * Original code by: Elias Torres, http://torrez.us/archives/2006/08/31/491/
    5  * Modified by: Dougal Campbell, http://dougal.gunters.org/
    6  *
    7  * Version: 1.0.0-dc
    8  */
    9        
    10 define('APP_REQUEST', true);
     2// vim:sw=2:sts=2:ts=2:noet:sta:tw=200
     3/*
     4An Atom Publishing Protocol implementation for WordPress.
     5Author: Elias Torres <elias@torrez.us>
     6*/
    117
    12 require_once('wp-config.php');
     8/*
    139
    14 $use_querystring = 1;
     10  Copyright 2006 Elias Torres <elias@torrez.us>
    1511
    16 // If using querystring, we need to put the path together manually:
    17 if ($use_querystring) {
    18         $_GLOBALS['use_querystring'] = $use_querystring;
    19         $action = $_GET['action'];
    20         $eid = (int) $_GET['eid'];
     12  This program is free software; you can redistribute it and/or modify
     13  it under the terms of the GNU General Public License as published by
     14  the Free Software Foundation; either version 2 of the License, or
     15  (at your option) any later version.
    2116
    22         $_SERVER['PATH_INFO'] = $action;
     17  This program is distributed in the hope that it will be useful,
     18  but WITHOUT ANY WARRANTY; without even the implied warranty of
     19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     20  GNU General Public License for more details.
     21
     22  You should have received a copy of the GNU General Public License
     23  along with this program; if not, write to the Free Software
     24  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     25
     26*/
    2327       
    24         if ($eid) {
    25                 $_SERVER['PATH_INFO'] .= "/$eid";
    26         }
    27 } else {
    28         $_SERVER['PATH_INFO'] = str_replace( '/app.php', '', $_SERVER['REQUEST_URI'] );
     28define('APP_REQUEST', true);
     29
     30require_once('wp-config.php');
     31
     32if (!isset($PATH_INFO)) {
     33        $PATH_INFO = substr($_SERVER['REQUEST_URI'],strlen($_SERVER['SCRIPT_NAME']),
     34                strlen($_SERVER['REQUEST_URI']));
    2935}
    3036
    3137$app_logging = 1;
     
    9197                global $app_logging;
    9298                array_unshift($this->ns_contexts, array());
    9399
    94                 $parser = xml_parser_create_ns();
     100                $parser = xml_parser_create_ns("UTF-8");
    95101                xml_set_object($parser, $this);
    96102                xml_set_element_handler($parser, "start_element", "end_element");
    97103                xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
     
    109115                 
    110116                        if($app_logging) $contents .= $line;
    111117
    112                         if(!xml_parse($parser, $line)) {
     118                        if(!xml_parse($parser, $line, feof($fp))) {
    113119                                log_app("xml_parse_error", "line: $line");
    114                                 $this->error = sprintf("XML error: %s at line %d\n",
    115                                         xml_error_string(xml_get_error_code($xml_parser)),
    116                                         xml_get_current_line_number($xml_parser));
    117                                 log_app("xml_parse_error", $this->error);
     120                                xml_parser_free($parser);
    118121                                return false;
    119122                        }
    120123                }
     
    290293                                array('GET' => 'get_posts',
    291294                                                'POST' => 'create_post'),
    292295                        '@/attachments/?(\d+)?@' =>
    293                                 array('GET' => 'get_attachment',
     296                                array('GET' => 'get_attachments',
    294297                                                'POST' => 'create_attachment'),
    295298                        '@/attachment/file/(\d+)@' =>
    296299                                array('GET' => 'get_file',
     
    308311                $path = $_SERVER['PATH_INFO'];
    309312                $method = $_SERVER['REQUEST_METHOD'];
    310313
    311                 log_app('REQUEST',"$method $path\n================");
     314                $this->process_conditionals();
    312315
    313                 //$this->process_conditionals();
    314 
    315316                // exception case for HEAD (treat exactly as GET, but don't output)
    316317                if($method == 'HEAD') {
    317318                        $this->do_output = false;
     
    319320                }
    320321
    321322                // lame.
    322                 if(strlen($path) == 0 || $path == '/') {
     323                if(strlen($path) == 0) {
    323324                        $path = '/service';
    324325                }
    325326
     
    346347        }
    347348
    348349        function get_service() {
    349                 log_app('function','get_service()');
    350350                $entries_url = $this->get_entries_url();
    351351                $media_url = $this->get_attachments_url();
    352352                $accepted_content_types = join(',',$this->media_content_types);
    353353                $introspection = <<<EOD
    354354<service xmlns="http://purl.org/atom/app#" xmlns:atom="http://www.w3.org/2005/Atom">
    355355        <workspace title="WordPress Experimental Workspace">
    356                 <collection href="$entries_url" title="WordPress Posts">
     356                <collection href="$entries_url">
    357357                        <accept>entry</accept>
    358358                        <atom:title>WordPress Posts</atom:title>
    359359                </collection>
    360                 <collection href="$media_url" title="WordPress Media">
     360                <collection href="$media_url">
    361361                        <accept>$accepted_content_types</accept>
    362362                        <atom:title>WordPress Media</atom:title>
    363363                </collection>
     
    394394                $post_author = $user->ID;
    395395                $post_title = $entry->title;
    396396                $post_content = $entry->content;
    397                 $post_excerpt = $entry->summary;
    398397                $post_date = current_time('mysql');
    399398                $post_date_gmt = current_time('mysql', 1);
    400399
    401                 $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
     400                $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status');
    402401
    403402                $postID = wp_insert_post($post_data);
    404403
     
    408407
    409408                $output = $this->get_entry($postID);
    410409
    411                 log_app('function',"create_post($postID)");
    412410                $this->created($postID, $output);
    413411        }
    414412
     
    417415                global $entry;
    418416                $this->set_current_entry($postID);
    419417                $output = $this->get_entry($postID);
    420                 log_app('function',"get_post($postID)");
    421418                $this->output($output);
    422419
    423420        }
     
    449446
    450447                $post_title = $parsed->title;
    451448                $post_content = $parsed->content;
    452                 $post_excerpt = $parsed->summary;
    453449
    454450                // let's not go backwards and make something draft again.
    455451                if(!$publish && $post_status == 'draft') {
     
    464460                        $this->internal_error('For some strange yet very annoying reason, this post could not be edited.');
    465461                }
    466462
    467                 log_app('function',"put_post($postID)");
    468463                $this->ok();
    469464        }
    470465
     
    477472                if(!current_user_can('edit_post', $postID)) {
    478473                        $this->auth_required('Sorry, you do not have the right to delete this post.');
    479474                }
    480                
    481                 if ($entry['post_type'] == 'attachment') {
    482                         $this->delete_attachment($postID);             
    483                 } else {
    484                         $result = wp_delete_post($postID);
    485475
     476                $result = wp_delete_post($postID);
     477
    486478                        if (!$result) {
    487479                                $this->internal_error('For some strange yet very annoying reason, this post could not be deleted.');
    488480                        }
    489481
    490                         log_app('function',"delete_post($postID)");
    491482                        $this->ok();
    492                 }
    493 
    494483        }
    495        
    496         function get_attachment($postID = NULL) {
    497484
    498                 global $entry;
    499                 if (!isset($postID)) {
    500                         $this->get_attachments();
    501                 } else {
    502                         $this->set_current_entry($postID);
    503                         $output = $this->get_entry($postID, 'attachment');
    504                         log_app('function',"get_attachment($postID)");
    505                         $this->output($output);
    506                 }
    507         }
    508 
    509485        function create_attachment() {
    510486
    511487                $type = $this->get_accepted_content_type();
     
    519495                        $bits .= fread($fp, 4096);
    520496                }
    521497                fclose($fp);
    522                
    523                 $slug = '';
    524                 if ( isset( $_SERVER['HTTP_SLUG'] ) )
    525                         $slug = sanitize_file_name( $_SERVER['HTTP_SLUG'] );
    526                 elseif ( isset( $_SERVER['HTTP_TITLE'] ) )
    527                         $slug = sanitize_file_name( $_SERVER['HTTP_TITLE'] );
    528                 elseif ( empty( $slug ) ) // just make a random name
    529                         $slug = substr( md5( uniqid( microtime() ) ), 0, 7);;
    530                 $ext = preg_replace( '|.*/([a-z]+)|', '$1', $_SERVER['CONTENT_TYPE'] );
    531                 $slug = "$slug.$ext";
    532                 $file = wp_upload_bits( $slug, NULL, $bits);
    533498
     499                $file = wp_upload_bits('noah.jpg',NULL,$bits);
     500
    534501                $url = $file['url'];
    535502                $file = $file['file'];
    536503                $filename = basename($file);
    537504
    538                 $header = apply_filters('wp_create_file_in_uploads', $file); // replicate
    539 
    540505                // Construct the attachment array
    541506                $attachment = array(
    542                         'post_title' => $slug,
    543                         'post_content' => $slug,
     507                        'post_title' => $imgtitle ? $imgtitle : $filename,
     508                        'post_content' => $descr,
    544509                        'post_status' => 'attachment',
    545510                        'post_parent' => 0,
    546511                        'post_mime_type' => $type,
     
    557522                $output = $this->get_entry($postID, 'attachment');
    558523
    559524                $this->created($postID, $output, 'attachment');
    560                 log_app('function',"create_attachment($postID)");
    561525        }
    562526
    563527        function put_attachment($postID) {
     
    596560                        $this->internal_error('For some strange yet very annoying reason, this post could not be edited.');
    597561                }
    598562
    599                 log_app('function',"put_attachment($postID)");
    600563                $this->ok();
    601564        }
    602565
    603566        function delete_attachment($postID) {
    604                 log_app('function',"delete_attachment($postID). File '$location' deleted.");
    605567
    606568                // check for not found
    607569                global $entry;
     
    623585                        $this->internal_error('For some strange yet very annoying reason, this post could not be deleted.');
    624586                }
    625587
    626                 log_app('function',"delete_attachment($postID). File '$location' deleted.");
    627588                $this->ok();
    628589        }
    629590
     
    651612                }
    652613                fclose($fp);
    653614
    654                 log_app('function',"get_file($postID)");
    655615                $this->ok();
    656616        }
    657617
     
    685645                fclose($fp);
    686646                fclose($localfp);
    687647       
    688                 log_app('function',"put_file($postID)");
    689648                $this->ok();
    690649        }
    691650
    692651        function get_entries_url($page = NULL) {
    693                 global $use_querystring;
    694652                $url = get_bloginfo('url') . '/' . $this->script_name;
    695                 if ($use_querystring) {
    696                         $url .= '?action=/' . $this->ENTRIES_PATH;
    697                         if(isset($page) && is_int($page)) {
    698                                 $url .= "&eid=$page";
    699                         }
    700                 } else {
    701653                        $url .= '/' . $this->ENTRIES_PATH;
    702654                        if(isset($page) && is_int($page)) {
    703655                                $url .= "/$page";
    704656                        }
    705                 }
    706657                return $url;
    707658        }
    708659
     
    712663        }
    713664
    714665        function get_attachments_url($page = NULL) {
    715                 global $use_querystring;
    716666                $url = get_bloginfo('url') . '/' . $this->script_name;
    717                 if ($use_querystring) {
    718                         $url .= '?action=/' . $this->MEDIA_PATH;
    719                         if(isset($page) && is_int($page)) {
    720                                 $url .= "&eid=$page";
    721                         }
    722                 } else {
    723667                        $url .= '/' . $this->MEDIA_PATH;
    724668                        if(isset($page) && is_int($page)) {
    725669                                $url .= "/$page";
    726670                        }
    727                 }
    728671                return $url;
    729672        }
    730673
     
    735678
    736679
    737680        function get_entry_url($postID = NULL) {
    738                 global $use_querystring;
    739681                if(!isset($postID)) {
    740682                        global $post;
    741683                        $postID = $post->ID;
    742684                }
    743                
    744                 if ($use_querystring) {
    745                         $url = get_bloginfo('url') . '/' . $this->script_name . '?action=/' . $this->ENTRY_PATH . "&eid=$postID";
    746                 } else {
    747                         $url = get_bloginfo('url') . '/' . $this->script_name . '/' . $this->ENTRY_PATH . "/$postID";
    748                 }
    749685
    750                 log_app('function',"get_entry_url() = $url");
     686                $url = get_bloginfo('url') . '/' . $this->script_name . '/' . $this->ENTRY_PATH . "/$postID";
    751687                return $url;
    752688        }
    753689
     
    757693        }
    758694
    759695        function get_media_url($postID = NULL) {
    760                 global $use_querystring;
    761696                if(!isset($postID)) {
    762697                        global $post;
    763698                        $postID = $post->ID;
    764699                }
    765                
    766                 if ($use_querystring) {
    767                         $url = get_bloginfo('url') . '/' . $this->script_name . '?action=/' . $this->MEDIA_SINGLE_PATH ."&eid=$postID";
    768                 } else {
    769                         $url = get_bloginfo('url') . '/' . $this->script_name . '/' . $this->MEDIA_SINGLE_PATH ."/$postID";
    770                 }
    771700
    772                 log_app('function',"get_media_url() = $url");
     701                        $url = get_bloginfo('url') . '/' . $this->script_name . '/' . $this->MEDIA_SINGLE_PATH ."/$postID";
    773702                return $url;
    774703        }
    775704
     
    780709
    781710        function set_current_entry($postID) {
    782711                global $entry;
    783                 log_app('function',"set_current_entry($postID)");
    784712
    785713                if(!isset($postID)) {
    786                         // $this->bad_request();
    787                         $this->not_found();
     714                        $this->bad_request();
    788715                }
    789716
    790717                $entry = wp_get_single_post($postID,ARRAY_A);
     
    797724
    798725        function get_posts_count() {
    799726                global $wpdb;
    800                 log_app('function',"get_posts_count()");
    801727                return $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_date_gmt < '" . gmdate("Y-m-d H:i:s",time()) . "'");
    802728        }
    803729
    804730
    805         function get_posts($page = 1, $post_type = 'post') {
    806                         log_app('function',"get_posts($page, '$post_type')");
    807                         $feed = $this->get_feed($page, $post_type);
    808                         $this->output($feed);
     731        function get_posts($page = 1) {
     732                        $feed = $this->get_feed($page);
     733                        $this->output($feed, $do_output);
    809734        }
    810735
    811         function get_attachments($page = 1, $post_type = 'attachment') {
    812                         log_app('function',"get_attachments($page, '$post_type')");
    813                         $feed = $this->get_feed($page, $post_type);
    814                         $this->output($feed);
    815         }
    816 
    817736        function get_feed($page = 1, $post_type = 'post') {
    818                 log_app('function',"get_feed($page, '$post_type')");
     737                log_app("get_feed", $post_type);
    819738                ob_start();
    820739
    821740                if(!isset($page)) {
     
    826745                $count = get_settings('posts_per_rss');
    827746                $query = "paged=$page&posts_per_page=$count&order=DESC";
    828747                if($post_type == 'attachment') {
    829                         $query .= "&post_type=$post_type";
     748                        $query .= "&show_post_type=$post_type";
    830749                }
    831750                query_posts($query);
    832751                global $post;
    833752
     753                $feed_update = get_lastpostmodified('GMT') ? get_lastpostmodified('GMT') : current_time('mysql', 1);
    834754                $total_count = $this->get_posts_count();
    835755                $last_page = (int) ceil($total_count / $count);
    836756                $next_page = (($page + 1) > $last_page) ? NULL : $page + 1;
    837757                $prev_page = ($page - 1) < 1 ? NULL : $page - 1;
    838                 $last_page = ((int)$last_page == 1 || (int)$last_page == 0) ? NULL : (int) $last_page;
     758                $last_page = ((int)$last_page <= 1) ? NULL : (int) $last_page;
    839759?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://purl.org/atom/app#" xml:lang="<?php echo get_option('rss_language'); ?>">
    840760<id><?php $this->the_entries_url() ?></id>
    841 <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated>
     761<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', $feed_update); ?></updated>
    842762<title type="text"><?php bloginfo_rss('name') ?></title>
    843763<subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
    844764<link rel="first" type="application/atom+xml" href="<?php $this->the_entries_url() ?>" />
     
    851771<link rel="last" type="application/atom+xml" href="<?php $this->the_entries_url($last_page) ?>" />
    852772<link rel="self" type="application/atom+xml" href="<?php $this->the_entries_url() ?>" />
    853773<rights type="text">Copyright <?php echo mysql2date('Y', get_lastpostdate('blog')); ?></rights>
    854 <generator uri="http://wordpress.com/" version="1.0.0-dc">WordPress.com Atom API</generator>
     774<generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress APP</generator>
    855775<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    856776<entry>
    857777                <id><?php the_guid(); ?></id>
    858                 <title type="html"><![CDATA[<?php the_title() ?>]]></title>
     778                <title type="html"><![CDATA[<?php the_title_rss() ?>]]></title>
    859779                <updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
    860780                <published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
    861781                <app:control>
     
    878798        <?php foreach(get_the_category() as $category) { ?>
    879799         <category scheme="<?php bloginfo_rss('home') ?>" term="<?php echo $category->cat_name?>" />
    880800        <?php } ?>   <summary type="html"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
    881         <?php if ( strlen( $post->post_content ) ) : ?>
    882         <content type="html"><?php echo get_the_content('', 0, '') ?></content>
    883 <?php endif; ?>
    884801        </entry>
    885802<?php
    886803        endwhile;
     
    889806<?php
    890807                $feed = ob_get_contents();
    891808                ob_end_clean();
     809                log_app("get_feed", $feed);
    892810                return $feed;
    893811        }
    894812
    895813        function get_entry($postID, $post_type = 'post') {
    896                 log_app('function',"get_entry($postID, '$post_type')");
    897814                ob_start();
    898                 global $posts, $post, $wp_query;
     815                global $post;
    899816                switch($post_type) {
    900817                        case 'post':
    901818                                $varname = 'p';
     
    909826<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://purl.org/atom/app#" xml:lang="<?php echo get_option('rss_language'); ?>">
    910827        <id><?php the_guid(); ?></id>
    911828        <title type="html"><![CDATA[<?php the_title_rss() ?>]]></title>
    912 
    913829        <updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
    914830        <published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
    915831        <app:control>
     
    920836                <email><?php the_author_email()?></email>
    921837                <uri><?php the_author_url()?></uri>
    922838        </author>
    923 <?php if($post->post_type == 'attachment') { ?>
     839<?php if($post->post_status == 'attachment') { ?>
    924840        <link rel="edit" href="<?php $this->the_entry_url() ?>" />
    925841        <link rel="edit-media" href="<?php $this->the_media_url() ?>" />
    926842        <content type="<?php echo $post->post_mime_type ?>" src="<?php the_guid(); ?>"/>
     
    933849        <summary type="html"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
    934850<?php }
    935851        if ( strlen( $post->post_content ) ) : ?>
    936         <content type="html"><?php echo get_the_content('', 0, '') ?></content>
     852        <content type="html"><![CDATA[<?php echo get_the_content('', 0, '') ?>]]></content>
    937853<?php endif; ?>
    938854</entry>
    939855<?php
     
    945861                endif;
    946862                ob_end_clean();
    947863
    948                 log_app('get_entry returning:',$entry);
     864                log_app("get_entry", $entry);
    949865                return $entry;
    950866        }
    951867
    952868        function ok() {
    953                 log_app('Status','200: OK');
    954869                header('Content-Type: text/plain');
    955870                status_header('200');
    956871                exit;
    957872        }
    958873
    959         function no_content() {
    960                 log_app('Status','204: No Content');
    961                 header('Content-Type: text/plain');
    962                 status_header('204');
    963                 echo "Deleted.";
    964                 exit;
    965         }
    966 
    967874        function internal_error($msg = 'Internal Server Error') {
    968                 log_app('Status','500: Server Error');
    969875                header('Content-Type: text/plain');
    970876                status_header('500');
    971877                echo $msg;
     
    973879        }
    974880
    975881        function bad_request() {
    976                 log_app('Status','400: Bad Request');
    977882                header('Content-Type: text/plain');
    978883                status_header('400');
    979884                exit;
    980885        }
    981886
    982887        function length_required() {
    983                 log_app('Status','411: Length Required');
    984888                header("HTTP/1.1 411 Length Required");
    985889                header('Content-Type: text/plain');
    986890                status_header('411');
     
    988892        }
    989893
    990894        function invalid_media() {
    991                 log_app('Status','415: Unsupported Media Type');
    992895                header("HTTP/1.1 415 Unsupported Media Type");
    993896                header('Content-Type: text/plain');
    994897                exit;
    995898        }
    996899       
    997900        function not_found() {
    998                 log_app('Status','404: Not Found');
    999901                header('Content-Type: text/plain');
    1000902                status_header('404');
    1001903                exit;
    1002904        }
    1003905
    1004906        function not_allowed($allow) {
    1005                 log_app('Status','405: Not Allowed');
    1006907                header('Allow: ' . join(',', $allow));
    1007908                status_header('405');
    1008909                exit;
    1009910        }
    1010911
    1011912        function client_error($msg = 'Client Error') {
    1012                 log_app('Status','400: Client Errir');
    1013                 header('Content-Type: text/plain');
    1014913                status_header('400');
     914                header('Content-Type: text/plain');
     915                header('Status: ' . $msg);
     916                echo $msg;
    1015917                exit;
    1016918        }
    1017919       
    1018920        function created($post_ID, $content, $post_type = 'post') {
    1019                 global $use_querystring;
    1020                 log_app('created()::$post_ID',"$post_ID, $post_type");
     921                log_app('created()::$post_ID',"$post_ID");
    1021922                $edit = $this->get_entry_url($post_ID);
    1022923                switch($post_type) {
    1023924                        case 'post':
    1024925                                $ctloc = $this->get_entry_url($post_ID);
    1025926                                break;
    1026927                        case 'attachment':
    1027                                 if ($use_querystring) {
    1028                                         $edit = get_bloginfo('url') . '/' . $this->script_name . "?action=/attachments&eid=$post_ID";
    1029                                 } else {
    1030                                         $edit = get_bloginfo('url') . '/' . $this->script_name . "/attachments/$post_ID";
    1031                                 }
    1032928                                break;
    1033929                }
    1034930                header('Content-Type: application/atom+xml');
     
    1041937        }
    1042938
    1043939        function auth_required($msg) {
    1044                 log_app('Status','401: Auth Required');
    1045940                nocache_headers();
    1046941                header('WWW-Authenticate: Basic realm="WordPress Atom Protocol"');
    1047                 header('WWW-Authenticate: Form action="' . get_settings('siteurl') . '/wp-login.php"', false);
    1048942                header("HTTP/1.1 401 $msg");
    1049943                header('Status: ' . $msg);
    1050                 header('Content-Type: plain/text');
     944                header('Content-Type: text/plain');
    1051945                echo $msg;
    1052946                exit;
    1053947        }
     
    1062956                        header('Date: '. date('r'));
    1063957                        if($this->do_output)
    1064958                                echo $xml;
    1065                         log_app('function', "output:\n$xml");
    1066959                        exit;
    1067960        }
    1068961
     
    1081974        }
    1082975
    1083976
    1084 
    1085977        /*
    1086978         * Access credential through various methods and perform login
    1087979         */
     
    11131005                if (!empty($login_data) && wp_login($login_data['login'], $login_data['password'], $already_md5)) {
    11141006                         $current_user = new WP_User(0, $login_data['login']);
    11151007                         wp_set_current_user($current_user->ID);
    1116                         log_app("authenticate()",$login_data['login']);
    11171008                }
    11181009        }
    11191010