descriptions updated
[MyWeb.git] / Web.pm
diff --git a/Web.pm b/Web.pm
index 3d4104e..13e397c 100644 (file)
--- a/Web.pm
+++ b/Web.pm
@@ -276,7 +276,7 @@ sub footer (;$)
                my $cvs_id=(eval('$'.$package."::CVS_ID")
 #                              || $package     # debug
                                );
-               print '<!-- $'.$cvs_id.'$ -->'."\n" if $cvs_id;
+               print '<!-- '.$package.' - $'.$cvs_id.'$ -->'."\n" if $cvs_id;
                }
 
        if ($W->{"heading"}) {
@@ -328,6 +328,8 @@ my($url,$contents,%args)=@_;
 
        do { $$_=1 if !defined $$_; } for (\$args{"size"});
        $contents=CGI::escapeHTML($url) if !defined $contents;
+       $contents=~s#<a\b[^>]*>##gi;
+       $contents=~s#</a>##gi;
 
        my $r='<a href="';
        my $urlent=CGI::escapeHTML($url);
@@ -341,7 +343,9 @@ my($url,$contents,%args)=@_;
                { $r.=$urlent; }
        else    # unknown client, &CGI::escapeHTML should not be needed here
                { $r.=CGI::escapeHTML(top_dir()."/Redirect.pl?location=".uri_escape($url)); }
-       $r.='">'.$contents.'</a>';
+       $r.='"';
+       do { $r.=" $_" if $_; } for ($args{"attr"});
+       $r.='>'.$contents.'</a>';
        if ($args{"size"} && url_is_local($url) && $url=~/[.](?:gz|Z|rpm|zip|deb|lha)/) {       # Downloadable?
                if (!-r $url)
                        { cluck "File not readable: $url"; }
@@ -484,9 +488,10 @@ my($class)=@_;
                }
        print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'."\n";
        print '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">'."\n";
-       print '<head><title>'.CGI::escapeHTML($W->{"title_prefix"})
-                       .join("",map({ ': '.CGI::escapeHTML($_); } ($W->{"title"} || ())))
-                       .'</title>'."\n";
+       my $title=$W->{"title_prefix"}.join("",map({ ': '.$_; } ($W->{"title"} || ())));
+       $title=~s#<[^>]*>##g;
+       print "<head>";
+       print "<title>$title</title>\n";
 
        if ($W->{"have_css"}) {
                print <<'HERE';