version 4.25, 2019/11/26 11:53:01 |
version 4.27, 2019/11/26 12:09:02 |
|
|
$VERSION $CheckoutMagic $MimeTypes $DEBUG |
$VERSION $CheckoutMagic $MimeTypes $DEBUG |
$config $allow_version_select |
$config $allow_version_select |
@CVSrepositories @CVSROOT %CVSROOT %CVSROOTdescr |
@CVSrepositories @CVSROOT %CVSROOT %CVSROOTdescr |
%MIRRORS %DEFAULTVALUE %ICONS %MTYPES |
%DEFAULTVALUE %ICONS %MTYPES |
%DIFF_COMMANDS @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS |
%DIFF_COMMANDS @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS |
%alltags %fileinfo %tags @branchnames %nameprinted |
%alltags %fileinfo %tags @branchnames %nameprinted |
%symrev %revsym @allrevisions %date %author @revdisplayorder |
%symrev %revsym @allrevisions %date %author @revdisplayorder |
|
|
$bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot |
$bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot |
$charset $output_filter |
$charset $output_filter |
@command_path %CMD $allow_compress $backicon $diricon $fileicon |
@command_path %CMD $allow_compress $backicon $diricon $fileicon |
$fullname $cvstreedefault $logo $defaulttitle $address $binfileicon |
$fullname $logo $defaulttitle $address $binfileicon |
$long_intro $short_instruction $shortLogLen $show_author |
$long_intro $short_instruction $shortLogLen $show_author |
$tablepadding $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst |
$tablepadding $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst |
$inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos |
$inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos |
Line 167 sub plural_write($$); |
|
Line 167 sub plural_write($$); |
|
sub readableTime($$); |
sub readableTime($$); |
sub clickablePath($$); |
sub clickablePath($$); |
sub chooseCVSRoot(); |
sub chooseCVSRoot(); |
sub chooseMirror(); |
|
sub fileSortCmp(); |
sub fileSortCmp(); |
sub download_url($$;$); |
sub download_url($$;$); |
sub download_link($$$;$); |
sub download_link($$$;$); |
Line 195 $config = '/conf/cvsweb/cvsweb.conf'; |
|
Line 194 $config = '/conf/cvsweb/cvsweb.conf'; |
|
|
|
######## Configuration parameters ######### |
######## Configuration parameters ######### |
|
|
@CVSrepositories = @CVSROOT = %CVSROOT = %MIRRORS = %DEFAULTVALUE = %ICONS = |
@CVSrepositories = @CVSROOT = %CVSROOT = %DEFAULTVALUE = %ICONS = |
%MTYPES = %tags = %alltags = %fileinfo = %DIFF_COMMANDS = (); |
%MTYPES = %tags = %alltags = %fileinfo = %DIFF_COMMANDS = (); |
|
|
$cvstreedefault = $logo = $defaulttitle = |
$logo = $defaulttitle = |
$address = $long_intro = $short_instruction = $shortLogLen = $show_author = |
$address = $long_intro = $short_instruction = $shortLogLen = $show_author = |
$tablepadding = $hr_breakable = $showfunc = $hr_ignwhite = |
$tablepadding = $hr_breakable = $showfunc = $hr_ignwhite = |
$hr_ignkeysubst = $inputTextSize = $mime_types = $allow_annotate = |
$hr_ignkeysubst = $inputTextSize = $mime_types = $allow_annotate = |
Line 472 for (my $i = 0; $i < scalar(@CVSrepositories); $i += 2 |
|
Line 471 for (my $i = 0; $i < scalar(@CVSrepositories); $i += 2 |
|
next; |
next; |
} |
} |
$rootfound ||= 1; |
$rootfound ||= 1; |
$cvstreedefault = $key unless defined($cvstreedefault); |
|
$CVSROOTdescr{$key} = $descr; |
$CVSROOTdescr{$key} = $descr; |
$CVSROOT{$key} = $root; |
$CVSROOT{$key} = $root; |
push(@CVSROOT, $key); |
push(@CVSROOT, $key); |
Line 485 unless ($rootfound) { |
|
Line 483 unless ($rootfound) { |
|
} |
} |
undef $rootfound; |
undef $rootfound; |
|
|
# |
$DEFAULTVALUE{cvsroot} = $CVSrepositories[0]; |
# Default CVS root |
|
# |
|
if (!defined($CVSROOT{$cvstreedefault})) { |
|
fatal("500 Internal Error", |
|
'<code>$cvstreedefault</code> points to a repository (%s) not ' . |
|
'defined in <code>@CVSrepositories</code> in your configuration ' . |
|
'file (<code>%s</code>).', |
|
$cvstreedefault, |
|
$config); |
|
} |
|
|
|
$DEFAULTVALUE{cvsroot} = $cvstreedefault; |
|
|
|
while (my ($key, $defval) = each %DEFAULTVALUE) { |
while (my ($key, $defval) = each %DEFAULTVALUE) { |
|
|
# Replace not given parameters with defaults. |
# Replace not given parameters with defaults. |
Line 576 $logsort = $input{logsort}; |
|
Line 562 $logsort = $input{logsort}; |
|
if ($input{cvsroot} && $CVSROOT{$input{cvsroot}}) { |
if ($input{cvsroot} && $CVSROOT{$input{cvsroot}}) { |
$cvstree = $input{cvsroot}; |
$cvstree = $input{cvsroot}; |
} else { |
} else { |
$cvstree = $cvstreedefault; |
$cvstree = $CVSrepositories[0]; |
} |
} |
|
|
$cvsroot = $CVSROOT{$cvstree}; |
$cvsroot = $CVSROOT{$cvstree}; |
Line 801 if (-d $fullname) { |
|
Line 787 if (-d $fullname) { |
|
|
|
# give direct access to dirs |
# give direct access to dirs |
if ($where eq '/') { |
if ($where eq '/') { |
chooseMirror(); |
|
chooseCVSRoot(); |
chooseCVSRoot(); |
|
|
} else { |
} else { |
print '<p>Current directory: <b>', clickablePath($where, 0), '</b>'; |
print '<p>Current directory: <b>', clickablePath($where, 0), '</b>'; |
print "</p>\n"; |
print "</p>\n"; |
|
|
printf(qq{<input type="hidden" name="%s" value="%s" />\n}, |
printf(qq{<input type="hidden" name="%s" value="%s" />\n}, |
$v, $input{$v} || 0); |
$v, $input{$v} || 0); |
} |
} |
if ($cvstree ne $cvstreedefault) { |
if ($cvstree ne $CVSrepositories[0]) { |
print "<input type=\"hidden\" name=\"cvsroot\" value=\"$cvstree\" />\n"; |
print "<input type=\"hidden\" name=\"cvsroot\" value=\"$cvstree\" />\n"; |
} |
} |
print <<EOF; |
print <<EOF; |
Line 3492 Module path or alias: |
|
Line 3476 Module path or alias: |
|
</p> |
</p> |
</form> |
</form> |
EOF |
EOF |
} |
|
|
|
|
|
sub chooseMirror() |
|
{ |
|
# This code comes from the original BSD-cvsweb |
|
# and may not be useful for your site; If you don't |
|
# set %MIRRORS this won't show up, anyway. |
|
scalar(%MIRRORS) or return; |
|
|
|
# Should perhaps exclude the current site somehow... |
|
print "\n<p>\nThis CVSweb is mirrored in\n"; |
|
|
|
my @tmp = map(&link(htmlquote($_), $MIRRORS{$_}), sort keys %MIRRORS); |
|
my $tmp = pop (@tmp); |
|
|
|
if (scalar(@tmp)) { |
|
print join (', ', @tmp), ' and '; |
|
} |
|
|
|
print "$tmp.\n</p>\n"; |
|
} |
} |
|
|
|
|