#!/bin/perl # Last change: PM 13 Apr 2000 4:12 pm #file: upload.pl use CGI qw/:standard :html3/; require "commonPapers.pl"; $mailTo = 'pmarques@ext.bn.pt'; $uploadDir = '/usr/local/www/org/agenda/ecdl2000/cgi/'; &readPasswords(); print header; print start_html(-title=>'ECDL2000 - Submissions',-bgcolor=>'white'); printf( "\n"); printf( "\n"); printf( "\n"); printf( "

ECDL2000 - Submissions

\n"); print start_multipart_form( -action=>"upload.pl"), table( TR({-align=>LEFT}, th('Username: '), td(textfield(-name=>'userName',-size=>30)) ), TR({-align=>LEFT}, th('Password: '), td(password_field(-name=>'password',-size=>30)) ), TR({-align=>LEFT}, th( submit(-label=>'Check previous submission', -name=>'viewFiles')), td('Or fill bellow to submit a new proposal:') ), TR({-align=>LEFT}, th('Title: '), td(textfield(-name=>'title',-size=>50)) ), TR({-align=>LEFT}, th('First Author (Smith,John): '), td(textfield(-name=>'author',-size=>50)) ), TR({-align=>LEFT}, th('Keywords: '), td(textfield(-name=>'keywords',-size=>50)) ), TR({-align=>LEFT}, th('Other authors: '), td(textarea(-name=>'other',-rows=>3,-cols=>50,-wrap=>physical)) ), TR({-align=>LEFT}, th('File with the proposal: '), td(filefield(-name=>'upload',-size=>50)) ), TR({-align=>LEFT}, th({-valign=>TOP},'Notes: '), td(textarea(-name=>'comment',-rows=>4,-cols=>50,-wrap=>physical)) ), TR({-align=>LEFT}, th(submit(-label=>'Submit a new proposal')), td(' ')) ); print end_form; print end_html; exit(0); # checkPassword sub checkPassword{ my $user = &chopSpaces( param('userName')); my $pass = &chopSpaces( param('password')); my $okay = 0; foreach $key (keys %userTablePaper) { if( ( $key eq $user) && ( $userTablePaper{$key} eq $pass)) { $okay = 1; $typeUser = "papers"; last; } # if } # foreach if( !$okay){ foreach $key (keys %userTablePoster) { if( ( $key eq $user) && ( $userTablePoster{$key} eq $pass)) { $okay = 1; $typeUser = "posters"; last; } # if } # foreach } if( $okay != 1) { print start_html(-title=>'Invalid username',-bgcolor=>'white'); printf( "
\n"); print p({-align=>center},'Invalid username.'); printf( "Please try again.\n"); print end_html; exit(0); } # if } # checkPassword # readPasswords sub readPasswords{ local( $paperFlag, $posterFlag); $paperFlag = 0; $posterFlag = 0; open FilePasswd,") { if( $_=~/papers/){ $paperFlag = 1; $posterFlag = 0; next; } if( $_=~/posters/){ $paperFlag = 0; $posterFlag = 1; next; } if( $_=~/,/){ ($userName, $passwd,$email) = split( /,/); $userName = &chopSpaces( $userName); $passwd = &chopSpaces( $passwd); $email = &chopSpaces( $email); $email =~s/\n//i; $passwd =~s/\n//; $emailTable{"$userName"} = $email; if( $paperFlag){ $userTablePaper{"$userName"} = $passwd; } # paper if( $posterFlag){ $userTablePoster{"$userName"} = $passwd; } # poster } # if virgula } # while close FilePasswd; } # readPasswords