WordPress.org

Make WordPress Core

Ticket #13458: blogger.diff

File blogger.diff, 5.5 KB (added by ampt, 8 years ago)
  • wp-admin/import/blogger.php

     
    162162                                        if ( $tag['tag'] == 'TITLE' ) {
    163163                                                $blog['title'] = $tag['value'];
    164164                                        } elseif ( $tag['tag'] == 'SUMMARY' ) {
    165                                                 $blog['summary'] = $tag['value'];
     165                                                $blog['summary'] = ( isset( $tag['value'] ) ) ? $tag['value'] : '';
    166166                                        } elseif ( $tag['tag'] == 'LINK' ) {
    167167                                                if ( $tag['attributes']['REL'] == 'alternate' && $tag['attributes']['TYPE'] == 'text/html' ) {
    168168                                                        $parts = parse_url( $tag['attributes']['HREF'] );
     
    205205                $posts    = __('Posts');
    206206                $comments = __('Comments');
    207207                $noscript = __('This feature requires Javascript but it seems to be disabled. Please enable Javascript and then reload this page. Don’t worry, you can turn it back off when you’re done.');
     208                $init     = '';
     209                $rows     = '';
    208210
    209211                $interval = STATUS_INTERVAL * 1000;
    210212
     
    499501                                                if ( preg_match('/rel=.previous./', $match) )
    500502                                                        $query = @html_entity_decode( preg_replace('/^.*href=[\'"].*\?(.+)[\'"].*$/', '$1', $match), ENT_COMPAT, get_option('blog_charset') );
    501503
    502                                 parse_str($query, $q);
    503 
    504                                 $this->blogs[$importing_blog]['comments_start_index'] = (int) $q['start-index'];
     504                                if ( $query ) {
     505                                        parse_str($query, $q);
     506                                        $this->blogs[$importing_blog]['comments_start_index'] = (int) $q['start-index'];
     507                                } else
     508                                        $this->blogs[$importing_blog]['comments_start_index'] = 0;
    505509                                $this->save_vars();
    506510                        } while ( !empty( $query ) && $this->have_time() );
    507511                }
     
    582586                        add_post_meta( $post_id, 'blogger_permalink', $entry->old_permalink, true );
    583587
    584588                        $this->blogs[$importing_blog]['posts'][$entry->old_permalink] = $post_id;
     589                        if( !isset( $this->blogs[$importing_blog]['posts_done'] ) ) {
     590                                $this->blogs[$importing_blog]['posts_done'] = 0;
     591                        }
    585592                        ++$this->blogs[$importing_blog]['posts_done'];
    586593                }
    587594                $this->save_vars();
     
    602609                }
    603610
    604611                $comment_post_ID = (int) $this->blogs[$importing_blog]['posts'][$entry->old_post_permalink];
    605                 preg_match('#<name>(.+?)</name>.*(?:\<uri>(.+?)</uri>)?#', $entry->author, $matches);
     612                preg_match('#<name>(.+?)</name>.*?(?:\<uri>(.+?)</uri>)?#', $entry->author, $matches);
    606613                $comment_author  = addslashes( $this->no_apos( strip_tags( (string) $matches[1] ) ) );
    607614                $comment_author_url = addslashes( $this->no_apos( strip_tags( (string) $matches[2] ) ) );
    608615                $comment_date    = $this->convert_date( $entry->updated );
     
    627634
    628635                        $this->blogs[$importing_blog]['comments'][$entry->old_permalink] = $comment_id;
    629636
     637                        if( !isset( $this->blogs[$importing_blog]['comments_done'] ) ) {
     638                                $this->blogs[$importing_blog]['comments_done'] = 0;
     639                        }
     640
    630641                        ++$this->blogs[$importing_blog]['comments_done'];
    631642                }
    632643                $this->save_vars();
     
    665676                $mapthis = __('Blogger username');
    666677                $tothis = __('WordPress login');
    667678                $submit = esc_js( __('Save Changes') );
     679                $rows = '';
    668680
    669681                foreach ( $blog['authors'] as $i => $author )
    670682                        $rows .= "<tr><td><label for='authors[$i]'>{$author[0]}</label></td><td><select name='authors[$i]' id='authors[$i]'>" . $this->get_user_options($author[1]) . "</select></td></tr>";
     
    674686
    675687        function get_user_options($current) {
    676688                global $importer_users;
     689                $options = '';
    677690                if ( ! isset( $importer_users ) )
    678691                        $importer_users = (array) get_users_of_blog();
    679692
     
    743756        }
    744757
    745758        function _txrx( $sock, $request ) {
     759                $response = '';
    746760                fwrite( $sock, $request );
    747761                while ( ! feof( $sock ) )
    748762                        $response .= @ fread ( $sock, 8192 );
     
    787801                $response_header_array = array();
    788802                foreach($response_header_lines as $header_line) {
    789803                        list($header,$value) = explode(': ', $header_line, 2);
    790                         $response_header_array[$header] .= $value."\n";
     804                        $response_header_array[$header] = $value."\n";
    791805                }
    792806
    793807                $cookie_array = array();
    794                 $cookies = explode("\n", $response_header_array["Set-Cookie"]);
     808                $cookies = array();
     809                if( isset($response_header_array["Set-Cookie"]) ) {
     810                        $cookies = explode("\n", $response_header_array["Set-Cookie"]);
     811                }
    795812                foreach($cookies as $this_cookie) { array_push($cookie_array, "Cookie: ".$this_cookie); }
    796813
    797814                return array("code" => $response_code, "header" => $response_header_array, "cookies" => $cookie_array, "body" => $response_body);
     
    9831000                        array_push($this->in_content, "<". $this->ns_to_prefix($name) ."{$xmlns_str}{$attrs_str}");
    9841001                } else if (in_array($tag, $this->ATOM_CONTENT_ELEMENTS) || in_array($tag, $this->ATOM_SIMPLE_ELEMENTS)) {
    9851002                        $this->in_content = array();
    986                         $this->is_xhtml = $attrs['type'] == 'xhtml';
     1003                       
     1004                        if( isset( $attrs['type'] ) ) {
     1005                                $this->is_xhtml = $attrs['type'] == 'xhtml';
     1006                        } else {
     1007                                $this->is_xhtml = false;
     1008                        }
     1009
    9871010                        array_push($this->in_content, array($tag,$this->depth));
    9881011                } else if ($tag == 'link') {
    9891012                        array_push($this->entry->links, $attrs);
     
    10361059        function cdata($parser, $data) {
    10371060                #print str_repeat(" ", $this->depth * $this->indent) . "data: #" . $data . "#\n";
    10381061                if (!empty($this->in_content)) {
     1062                        $in_content = $this->in_content[count($this->in_content)-1];
     1063                        if( is_array( $in_content ) ) {
     1064                                $in_content = $in_content[0];
     1065                        }
     1066
    10391067                        // handle self-closing tags (case: text node found, need to close element started)
    1040                         if (strpos($this->in_content[count($this->in_content)-1], '<') !== false) {
     1068                        if (strpos($in_content, '<') !== false) {
    10411069                                array_push($this->in_content, ">");
    10421070                        }
    10431071                        array_push($this->in_content, $this->xml_escape($data));