version 1.1.1.9, 2000/09/30 20:17:23 |
version 1.1.1.10, 2000/10/07 07:50:18 |
|
|
# SUCH DAMAGE. |
# SUCH DAMAGE. |
# |
# |
# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $ |
# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $ |
# $kId: cvsweb.cgi,v 1.30 2000/09/30 20:10:01 knu Exp $ |
# $kId: cvsweb.cgi,v 1.33 2000/10/07 07:44:12 knu Exp $ |
# |
# |
### |
### |
|
|
|
|
$tabstop $state $annTable $sel $curbranch @HideModules |
$tabstop $state $annTable $sel $curbranch @HideModules |
$module $use_descriptions %descriptions @mytz $dwhere $moddate |
$module $use_descriptions %descriptions @mytz $dwhere $moddate |
$use_moddate $has_zlib $gzip_open |
$use_moddate $has_zlib $gzip_open |
|
$LOG_FILESEPARATOR $LOG_REVSEPARATOR |
); |
); |
|
|
sub printDiffSelect($); |
sub printDiffSelect($); |
Line 159 $checkout_magic = $show_subdir_lastmod = $show_log_in_ |
|
Line 160 $checkout_magic = $show_subdir_lastmod = $show_log_in_ |
|
$navigationHeaderColor = $tableBorderColor = $markupLogColor = |
$navigationHeaderColor = $tableBorderColor = $markupLogColor = |
$tabstop = $use_moddate = $moddate = $gzip_open = undef; |
$tabstop = $use_moddate = $moddate = $gzip_open = undef; |
|
|
|
$LOG_FILESEPARATOR = q/^={77}$/; |
|
$LOG_REVSEPARATOR = q/^-{28}$/; |
|
|
##### End of configuration variables ##### |
##### End of configuration variables ##### |
|
|
use Time::Local; |
use Time::Local; |
Line 279 foreach (keys %DEFAULTVALUE) |
|
Line 283 foreach (keys %DEFAULTVALUE) |
|
} |
} |
|
|
$barequery = ""; |
$barequery = ""; |
|
my @barequery; |
foreach (@stickyvars) { |
foreach (@stickyvars) { |
# construct a query string with the sticky non default parameters set |
# construct a query string with the sticky non default parameters set |
if (defined($input{$_}) && $input{$_} ne '' && |
if (defined($input{$_}) && $input{$_} ne '' && |
!(defined($DEFAULTVALUE{$_}) && $input{$_} eq $DEFAULTVALUE{$_})) { |
!(defined($DEFAULTVALUE{$_}) && $input{$_} eq $DEFAULTVALUE{$_})) { |
if ($barequery) { |
push @barequery, join('=', urlencode($_), urlencode($input{$_})); |
$barequery = $barequery . "&"; |
|
} |
|
my $thisval = urlencode($_) . "=" . urlencode($input{$_}); |
|
$barequery .= $thisval; |
|
} |
} |
} |
} |
# is there any query ? |
# is there any query ? |
if ($barequery) { |
if (@barequery) { |
|
$barequery = join('&', @barequery); |
$query = "?$barequery"; |
$query = "?$barequery"; |
$barequery = "&" . $barequery; |
$barequery = "&$barequery"; |
} |
} |
else { |
else { |
$query = ""; |
$query = ""; |
} |
} |
|
undef @barequery; |
|
|
# get actual parameters |
# get actual parameters |
$sortby = $input{"sortby"}; |
$sortby = $input{"sortby"}; |
Line 345 if ($input{'cvsroot'} && $CVSROOT{$input{'cvsroot'}}) |
|
Line 348 if ($input{'cvsroot'} && $CVSROOT{$input{'cvsroot'}}) |
|
$cvsroot = $CVSROOT{$cvstree}; |
$cvsroot = $CVSROOT{$cvstree}; |
|
|
# create icons out of description |
# create icons out of description |
foreach my $k (keys %ICONS) { |
my $k; |
|
foreach $k (keys %ICONS) { |
no strict 'refs'; |
no strict 'refs'; |
my ($itxt,$ipath,$iwidth,$iheight) = @{$ICONS{$k}}; |
my ($itxt,$ipath,$iwidth,$iheight) = @{$ICONS{$k}}; |
if ($ipath) { |
if ($ipath) { |
Line 355 foreach my $k (keys %ICONS) { |
|
Line 359 foreach my $k (keys %ICONS) { |
|
${"${k}icon"} = $itxt; |
${"${k}icon"} = $itxt; |
} |
} |
} |
} |
|
undef $k; |
|
|
my $config_cvstree = "$config-$cvstree"; |
my $config_cvstree = "$config-$cvstree"; |
|
|
Line 365 if (-f $config_cvstree) { |
|
Line 370 if (-f $config_cvstree) { |
|
sprintf('Error in loading configuration file: %s<BR><BR>%s<BR>', |
sprintf('Error in loading configuration file: %s<BR><BR>%s<BR>', |
$config_cvstree, &htmlify($@))); |
$config_cvstree, &htmlify($@))); |
} |
} |
|
undef $config_cvstree; |
|
|
$prcategories = '(?:' . join('|', @prcategories) . ')'; |
$prcategories = '(?:' . join('|', @prcategories) . ')'; |
$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/; |
$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/; |
Line 930 sub htmlify($;$) { |
|
Line 936 sub htmlify($;$) { |
|
if ($extra) { |
if ($extra) { |
# get PR #'s as link .. |
# get PR #'s as link .. |
if (defined($prcgi)) { |
if (defined($prcgi)) { |
1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1 . &link($2, sprintf($prcgi, $2))`ie; # ` |
1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1 . &link($2, sprintf($prcgi, $2))`ie; # `; |
$string =~ s`\b${prcategories}/(\d+)\b`&link($&, sprintf($prcgi, $1))`igeo; # ` |
$string =~ s`\b${prcategories}/(\d+)\b`&link($&, sprintf($prcgi, $1))`igeo; # `; |
} |
} |
|
|
# get manpage specs as link .. |
# get manpage specs as link .. |
if (defined($mancgi)) { |
if (defined($mancgi)) { |
$string =~ s`\b([a-zA-Z]\w+)\(([0-9n])\)\B`&link($&, sprintf($mancgi, $2, $1))`ge; # ` |
$string =~ s`\b([a-zA-Z]\w+)(?:\(([0-9n])\)\B|\.([0-9n])\b)`&link($&, sprintf($mancgi, $2 ne '' ? $2 : $3, $1))`ge; # `x; |
} |
} |
} |
} |
|
|
Line 976 sub spacedHtmlText($;$) { |
|
Line 982 sub spacedHtmlText($;$) { |
|
sub link($$) { |
sub link($$) { |
my($name, $where) = @_; |
my($name, $where) = @_; |
|
|
return "<A HREF=\"$where\">$name</A>\n"; |
return "<A HREF=\"$where\">$name</A>"; |
} |
} |
|
|
sub revcmp($$) { |
sub revcmp($$) { |
Line 1266 sub doAnnotate($$) { |
|
Line 1272 sub doAnnotate($$) { |
|
# so it looks irregular. |
# so it looks irregular. |
print "<b>" if ($isCurrentRev && $is_textbased); |
print "<b>" if ($isCurrentRev && $is_textbased); |
|
|
printf ("%s%s %-8s %4d:", |
printf "%s%s %-8s %4d:", |
$revprint, |
$revprint, |
$isCurrentRev ? '!' : ' ', |
$isCurrentRev ? '!' : ' ', |
$usrprint, |
$usrprint, |
$lineNr); |
$lineNr; |
print spacedHtmlText($line, $d{'tabstop'}); |
print spacedHtmlText($line, $d{'tabstop'}); |
|
|
print "</b>" if ($isCurrentRev && $is_textbased); |
print "</b>" if ($isCurrentRev && $is_textbased); |
|
|
$state = "head"; |
$state = "head"; |
goto again; |
goto again; |
} |
} |
if ($state eq "head" && /^----------------------------$/) { |
if ($state eq "head" && /$LOG_REVSEPARATOR/o) { |
$state = "log"; |
$state = "log"; |
$rev = undef; |
$rev = undef; |
$date = undef; |
$date = undef; |
|
|
next; |
next; |
} |
} |
if ($state eq "log") { |
if ($state eq "log") { |
if (/^----------------------------$/ |
if (/$LOG_REVSEPARATOR/o || /$LOG_FILESEPARATOR/o) { |
|| /^=============================/) { |
|
# End of a log entry. |
# End of a log entry. |
my $revbranch; |
my $revbranch; |
($revbranch = $rev) =~ s/\.\d+$//; |
($revbranch = $rev) =~ s/\.\d+$//; |
|
|
$log = $log . $_; |
$log = $log . $_; |
} |
} |
} |
} |
if (/^===============/) { |
if (/$LOG_FILESEPARATOR/o) { |
$state = "start"; |
$state = "start"; |
next; |
next; |
} |
} |
Line 1824 sub readLog($;$) { |
|
Line 1829 sub readLog($;$) { |
|
# log info |
# log info |
# ---------------------------- |
# ---------------------------- |
logentry: |
logentry: |
while (!/^=========/) { |
while (!/$LOG_FILESEPARATOR/o) { |
$_ = <$fh>; |
$_ = <$fh>; |
last logentry if (!defined($_)); # EOF |
last logentry if (!defined($_)); # EOF |
print "R:", $_ if ($verbose); |
print "R:", $_ if ($verbose); |
Line 1832 sub readLog($;$) { |
|
Line 1837 sub readLog($;$) { |
|
$rev = $1; |
$rev = $1; |
unshift(@allrevisions,$rev); |
unshift(@allrevisions,$rev); |
} |
} |
elsif (/^========/ || /^----------------------------$/) { |
elsif (/$LOG_FILESEPARATOR/o || /$LOG_REVSEPARATOR/o) { |
next logentry; |
next logentry; |
} |
} |
else { |
else { |
Line 1866 sub readLog($;$) { |
|
Line 1871 sub readLog($;$) { |
|
while (<$fh>) { |
while (<$fh>) { |
print "L:", $_ if ($verbose); |
print "L:", $_ if ($verbose); |
next line if (/^branches:\s/); |
next line if (/^branches:\s/); |
last line if (/^----------------------------$/ || /^=========/); |
last line if (/$LOG_FILESEPARATOR/o || /$LOG_REVSEPARATOR/o); |
$log{$rev} .= $_; |
$log{$rev} .= $_; |
} |
} |
print "E:", $_ if ($verbose); |
print "E:", $_ if ($verbose); |
Line 2486 sub navigateHeader($$$$$) { |
|
Line 2491 sub navigateHeader($$$$$) { |
|
$swhere = urlencode($filename) if ($swhere eq ""); |
$swhere = urlencode($filename) if ($swhere eq ""); |
print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; |
print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; |
print "<HTML>\n<HEAD>\n"; |
print "<HTML>\n<HEAD>\n"; |
print '<!-- CVSweb $zRevision: 1.103 $ $lRevision: 1.30 $ -->'; |
print '<!-- CVSweb $zRevision: 1.103 $ $kRevision: 1.33 $ -->'; |
print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n"; |
print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n"; |
print "$body_tag_for_src\n"; |
print "$body_tag_for_src\n"; |
print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">"; |
print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">"; |
Line 2841 sub http_header(;$) { |
|
Line 2846 sub http_header(;$) { |
|
|
|
sub html_header($) { |
sub html_header($) { |
my ($title) = @_; |
my ($title) = @_; |
my $version = '$zRevision: 1.103 $ $kRevision: 1.30 $'; #' |
my $version = '$zRevision: 1.103 $ $kRevision: 1.33 $'; #' |
http_header(); |
http_header(); |
print <<EOH; |
print <<EOH; |
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" |
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" |