X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FPage%2FSubmit.pm;h=a30263bbba5186ffc9fd58ce5b604f66878d9e1b;hb=b74e5a9fd33cff214d2e6fa0b4ec563b9221fba7;hp=b08399e005d4f74e0b666aceafcee0e0decb39d1;hpb=3c53f79540e4015db087fd0bfb9b1af9baef1294;p=plack-app-gruntmaster.git diff --git a/lib/Gruntmaster/Page/Submit.pm b/lib/Gruntmaster/Page/Submit.pm index b08399e..a30263b 100644 --- a/lib/Gruntmaster/Page/Submit.pm +++ b/lib/Gruntmaster/Page/Submit.pm @@ -27,12 +27,14 @@ sub generate{ my ($problem, $format, $contest, $private, $prog) = map {scalar $r->param($_)} 'problem', 'prog_format', 'contest', 'private', 'source_code'; my $upload = $r->upload('prog'); if (defined $upload) { - my $temp = read_file $upload->filename; + my $temp = read_file $upload->path; $prog = $temp if $temp } die if defined $contest && $contest !~ /^\w+$/ ; die if defined $contest && (time > contest_end $contest); return reply 'A required parameter was not supplied' if grep { !defined } $problem, $format, $prog; + return reply 'You must wait 30 seconds between jobs' unless time > lastjob ($r->user) + 30; + set_lastjob $r->user; local $Gruntmaster::Data::contest = $contest if $contest;