#!/usr/bin/perl -w BEGIN { my $file = "/web/contest/error-view.log"; unless(open(STDERR,">>$file")) { print "Content-type: text/html\n\n"; print "ERROR: Can't redirect STDERR to $file: $!"; exit; } } BEGIN { print STDERR '-'x78 . "\n"; } #BEGIN { push(@INC, "./lib") } use lib qw(/web/contest/lib); use CGI; use CGI::Page; use strict; use vars qw($CONFIG $query $page $dbh $base_dir $base_url $session_id); $ENV{'PATH'} = ''; $query = new CGI; $page = new CGI::Page; my $MONTH = $query->param('month'); $MONTH = '1999-01' unless ($MONTH); $page->set_default_dir("/web/gimp/website/contest/template/$MONTH"); $base_dir = "/web/gimp/website/contest/$MONTH"; $base_url = "http://contest.gimp.org/$MONTH"; my $mode = $query->param('mode'); $mode = '' unless ($mode); if ($mode eq 'show') { $page->add_header("my \$base_dir = '$base_dir';\n"); $page->add_header("my \$base_url = '$base_url';\n"); my $graphic = $query->param('graphic'); $page->add_header("my \$graphic = '$graphic';\n"); $page->load('view_entry'); } else { $page->add_header("my \$base_dir = '$base_dir';\n"); $page->add_header("my \$base_url = '$base_url';\n"); $page->add_header("my \$month = '$MONTH';\n"); $page->add_header("my \@graphic;\n"); opendir(DIR, $base_dir) || cgi_die("couldn't opendir $base_dir: $!"); while (defined($_ = readdir(DIR))) { next unless (/^contest-(\w+-\d+)\.README$/); $page->add_header("push(\@graphic, '$1');\n"); } closedir(DIR); $page->load('view_index'); } #$page->set_no_eval(); print $query->header; print $page->get_html; sub cgi_die { my $err = shift; $page->load('error'); $page->set_error("$err"); $page->set_dump($query); print $query->header; #$page->set_no_eval(); print $page->get_html; exit; }