Workaround XHTML brokeness.
[www.jankratochvil.net.git] / Mailman.pm
index 964fa93..cf5979c 100644 (file)
@@ -45,6 +45,8 @@ my $W=My::Web->init(
                                "back"=>'',
                                },
                "http_safe"=>0, # LWP downloads.
+               # Mailman does not produce valid XHTML.
+               "content_type"=>"text/html",
                );
 My::Web->heading();
 
@@ -52,10 +54,12 @@ My::Web->heading();
 for my $list (@{$W->{"args"}{"list"}}) {
        print "<h1>List <i>$list</i></h1><blockquote>\n";
                my $url_base=$W->{"mailman_url"}."/subscribe/$list";
-               my $t=LWP::Simple::get("$url_base?"
-                               .join('&',
-                                               "list=$list",
-                                               map({ $_."=".uri_escape($W->{"args"}{$_}); } qw(email pw pw-conf))));
+               my $url=URI->new($url_base);
+               $url->query_form(
+                               "list"=>$list,
+                               map(($_=>$W->{"args"}{$_}),qw(email pw pw-conf)),
+                               );
+               my $t=LWP::Simple::get($url);
                $t=($t=~m#^.*<body\b[^>]*>(.*?)</body>#is)[0];
                $t=~s#(href=")(../[^"]*)(")#$1$url_base/$2$3#gi;
                print $t;