#!/usr/bin/perl use CGI; $| = 1; $query = CGI::new(); $passfile = "/*****/***.cfg"; $dir = "/Volumes/*****/pdf/magazines/"; $menu = $query->param("menu"); $name = $query->param("name"); $password = $query->param("password"); $rights = ''; if (!(defined($menu))) { if (!(defined($name))) { print $query->redirect('pdf_login.cgi'); }; my $cookie_name = $query->cookie("name"); if ($cookie_name ne $name) { my $cookie = $query->cookie (-name => 'name', -value => $name, -expires => '+10y'); print $query->redirect (-cookie => $cookie, -uri => $query->self_url()); exit 0; }; } else { my $cookie_name = $query->cookie("name"); $name = $cookie_name; }; my $cookie_pass = $query->cookie("pass"); open (IN, "$passfile") || die "Can't open $passfile for appending!\n"; my $readname = ""; while () { ($readname,$pass,$right) = split(/:/); if ($name eq $readname) { $mypass = $pass; if ($cookie_pass eq $pass) { $rights = $right; } else { if (crypt($password,$pass) eq $pass) { $rights = $right; } else { print $query->header(); print "\n\n\n"; print " \n "; print " \n \n \n \n \n \n \n
\n
\n"; print "



Wrong Password

"; print "
\n \n \n "; exit 0; }; # end else }; #end else }; #end if print $readname; }; #end while if ($rights eq "") { print $query->header(); print "\n\n\n "; print " \n "; print " \n \n \n \n \n \n \n
\n
\n"; print "


Please log in with an approved username.


"; print "
\n \n \n "; exit 0; }; close (IN); if (((defined $password)) and ($cookie_pass ne crypt($password,$mypass))) { my $cookie = $query->cookie (-name => 'pass', -value => crypt($password,$mypass)); print $query->redirect (-cookie => $cookie, -uri => $query->self_url()); exit 0; }; print "Cache-Control: no-cache\nPragma: no-cache\n"; print $query->header(); print "\n\n\n"; print " \n "; print " \n \n \n \n \n \n \n
\n
\n


Welcome $name.

\n
\n \n"; if ($rights eq "A\n") { &outputA; }; if ($rights eq "C\n") { &outputC; }; if ($rights eq "AC\n") { &outputA; &outputC; }; if ($rights eq "ACU\n") { &outputA; &outputC; &outputU; }; print "
\n
\n \n \n "; exit 0; sub outputA { print "

Choose a date to approve:

"; opendir(DIR, $dir) or die "Can not opendir $dir"; @mags = grep !/^\.\.?$/, readdir(DIR); closedir(DIR); foreach $magazine (@mags) { print "

$magazine


"; opendir(DIR, "$dir/$magazine") or die "Can not opendir $dir/$magazine"; @files = grep { /^\d+$/ } readdir(DIR); closedir(DIR); foreach $filename (@files) { @months = ('January','February','March','April','May','June','July', 'August','September','October','November','December'); $month = int substr($filename,4); $mfilename = $months[$month-1]." ".substr($filename,0,4); print "$mfilename

\n"; }; }; print "
"; }; sub outputC { print "

View submitted comments:

\n"; opendir(DIR, $dir) or die "Can not opendir $dir"; @mags = grep !/^\.\.?$/, readdir(DIR); closedir(DIR); foreach $magazine (@mags) { print "

$magazine


"; opendir(DIR, "$dir/$magazine") or die "Can not opendir $dir/$magazine"; @files = grep { /^\d+$/ } readdir(DIR); closedir(DIR); foreach $filename (@files) { @months = ('January','February','March','April','May','June','July', 'August','September','October','November','December'); $month = int substr($filename,4); $mfilename = $months[$month-1]." ".substr($filename,0,4); print "$mfilename

\n"; }; }; print "
"; }; sub outputU { print "

Upload Files:

\n"; print $query->start_form('POST','upload.cgi','multipart/form-data'); opendir(DIR, $dir) or die "Can not opendir $dir"; @mags = grep !/^\.\.?$/, readdir(DIR); closedir(DIR); print "
Magazine:
"; print $query->popup_menu(-name=>'magazine', -values=>[@mags]); print "

Edition:
"; @months = ('January','February','March','April','May','June','July', 'August','September','October','November','December'); print $query->popup_menu(-name=>'month', -values=>[@months]); print "

Year:
"; print $query->textfield('year','2001',4) . "\n"; print "

File to upload:
"; print $query->filefield('upload_file','',30,80); print "
"; print $query->submit("Upload"); print "

\n\n"; print $query->endform(); print "
"; };