#!/usr/bonsaitools/bin/perl -- # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Netscape Public License # Version 1.0 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the # License for the specific language governing rights and limitations # under the License. # # The Original Code is the Bonsai CVS tool. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are Copyright (C) 1998 # Netscape Communications Corporation. All Rights Reserved. # # Query the CVS database. # require 'lloydcgi.pl'; require 'cvsmenu.pl'; $|=1; $CVS_ROOT = $form{"cvsroot"}; # get dir, remove leading and trailing slashes $dir = $form{"dir"}; $dir =~ s/^\/([^:]*)/$1/; $dir =~ s/([^:]*)\/$/$1/; $rev = $form{"rev"}; print "Content-type: text/html "; &setup_script; print $script_str; if( $CVS_ROOT eq "" ){ $CVS_ROOT = pickDefaultRepository(); } validateRepository($CVS_ROOT); if( $rev ne "" ){ $s = "for branch $rev"; } print " Repository Directory $CVS_ROOT/$dir $s"; CheckHidden("$CVS_ROOT/$dir"); $output = "
"; ($dir_head, $dir_tail) = $dir =~ m@(.*/)?(.+)@; foreach $path (split('/',$dir_head)) { $link_path .= $path; $output .= "
Goto Directory:
Branch: "; @dirs = (); while( <*> ){ if( -d $_ ){ push @dirs, $_; } } if( @dirs != 0 ){ $j = 1; $split = int(@dirs/4)+1; print "

Directories:
"; for $i (@dirs){ $form{"dir"} = ($dir ne "" ? "$dir/$i" : $i); $anchor = &make_cgi_args; print "
$i\n"; if( $j % $split == 0 ){ print "\n
\n"; } $j++; } $form{"dir"} = $dir; print "\n
\n"; } print "

Files:"; print "
"; @files = <*,v>; $j = 1; $split = int(@files/4)+1; for $_ (@files){ $_ =~ s/\,v//; print "\n"; print "
$_\n"; if( $j % $split == 0 ){ print "\n
\n"; } $j++; } print "\n
\n"; sub setup_script { $script_str =<<'ENDJS'; ENDJS }