+use CGI qw/:standard/;
+$query=new CGI;
+my($period)=$query->param('period');
+$period = "today" unless defined $period;
+my($modulelist)=$query->param('module');
+my $moduleext=""; $moduleext=":$modulelist" if defined $modulelist;
+
+my($firstdate);
+if($period eq "days") {
+ my($days)=$query->param('days');
+ $days = 1 unless defined $days;
+ if ($days < 1) {$days = 1};
+ $heading = "i-scream CVS$moduleext commits in the past $days day(s)";
+ $days--;
+ $firstdate = ">" . `/bin/date -v-${days}d +%Y/%m/%d`;
+}
+elsif($period eq "date") {
+ my($date)=$query->param('date');
+ $date = `/bin/date +%Y/%m/%d` unless defined $date;
+ $heading = "i-scream CVS$moduleext commits on $date";
+ $firstdate = "$date 00:00<$date 23:59"
+}
+elsif($period eq "since") {
+ my($date)=$query->param('date');
+ $date = `/bin/date +%Y/%m/%d` unless defined $date;
+ $heading = "i-scream CVS$moduleext commits since $date";
+ $firstdate = ">$date";
+}
+elsif($period eq "thisweek") {
+ $firstdate = ">last Sunday";
+ $heading = "i-scream CVS$moduleext commits this week";
+}
+else {
+ # default to "today only"
+ $firstdate = ">" . `/bin/date +%Y/%m/%d`;
+ $heading = "Today's i-scream CVS$moduleext commits";
+}
+
+my($cvsroot) = "/cvs/i-scream";
+
+$modulelist = `ls $cvsroot` unless defined $modulelist;
+$modulelist =~ s/[\r\n]/ /gm;
+
+my($cvs2clpath) = "/usr/local/bin/cvs2cl";
+my($cvs2clargs) = "--stdout --no-wrap --no-common-dir -r -t -w -S -U $cvsroot/CVSROOT/users -l \"-d$firstdate\" -g \"-d$cvsroot\" -g \"-Q\"";
+my($updatecmd) = "/home/iscream/bin/fullcvsupdate.sh $modulelist";
+my($logcmd) = "cd /tmp/i-scream/cvstmp && $cvs2clpath $cvs2clargs";
+
+my ($incdir) = "../htdocs";
+
+# Include files
+my ($doctype) = "$incdir/doctype.inc";
+my ($style) = "$incdir/style.inc";
+my ($header) = "$incdir/header.inc";
+my ($footer) = "$incdir/footer.inc";
+my ($menu) = "$incdir/menu-static.inc" ;
+
+# Section markers
+my ($secwho) = 1;
+my ($secfiles) = 2;
+my ($seclog) = 3;
+
+# This should be application/xhtml+xml