Update function we use (from newer version of XML::Atom), instead of 
using the {doc} element which has since been deprecated/disappeared. Also use a 
function for the atom indexing extension.

        Patch by fu. 

diffs (48 lines):

diff -r f1844ce3fd56 -r dc8e8acc3ab3 cgi-bin/ljfeed.pl
--- a/cgi-bin/ljfeed.pl Wed Feb 16 19:19:03 2011 +0800
+++ b/cgi-bin/ljfeed.pl Wed Feb 16 19:22:11 2011 +0800
@@ -831,13 +831,6 @@ sub create_view_userpics {
 
     $ns = "http://www.w3.org/2005/Atom";;
 
-    my $normalize_ns = sub {
-        my $str = shift;
-        $str =~ s/(<\w+)\s+xmlns="\Q$ns\E"/$1/og;
-        $str =~ s/<feed\b/<feed xmlns="$ns"/;
-        return $str;
-    };
-
     my $make_link = sub {
         my ( $rel, $type, $href, $title ) = @_;
         my $link = XML::Atom::Link->new( Version => 1 );
@@ -852,10 +845,10 @@ sub create_view_userpics {
     $author->name(  $u->{name} );
 
     $feed = XML::Atom::Feed->new( Version => 1 );
-    $xml  = $feed->{doc};
+    $xml  = $feed->elem->ownerDocument;
 
     if ($u->should_block_robots) {
-        $xml->getDocumentElement->setAttribute( "xmlns:idx", 
"urn:atom-extension:indexing" );
+        _add_feed_namespace( $feed, "idx", "urn:atom-extension:indexing" );
         $xml->getDocumentElement->setAttribute( "idx:index", "no" );
     }
 
@@ -913,7 +906,7 @@ sub create_view_userpics {
 
     foreach my $pic (@pics) {
         my $entry = XML::Atom::Entry->new( Version => 1 );
-        my $entry_xml = $entry->{doc};
+        my $entry_xml = $entry->elem->ownerDocument;
 
         $entry->id( $u->atomid . ":userpics:$pic->{picid}" );
 
@@ -952,7 +945,7 @@ sub create_view_userpics {
         $feed->add_entry( $entry );
     }
 
-    return $normalize_ns->( $feed->as_xml() );
+    return $feed->as_xml;
 }
 
 
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to