WordPress.org

Make WordPress Core

Ticket #13458: blogger.diff

File blogger.diff, 5.5 KB (added by ampt, 5 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));