]> git.sesse.net Git - pr0n/blob - perl/Sesse/pr0n/NewEvent.pm
Fix an SQL syntax error.
[pr0n] / perl / Sesse / pr0n / NewEvent.pm
1 package Sesse::pr0n::NewEvent;
2 use strict;
3 use warnings;
4
5 use Sesse::pr0n::Common qw(error dberror);
6 use Apache2::Request;
7
8 sub handler {
9         my $r = shift;
10         my $apr = Apache2::Request->new($r);
11         my $dbh = Sesse::pr0n::Common::get_dbh();
12         my $user = Sesse::pr0n::Common::check_access($r);
13         if (!defined($user)) {
14                 return Apache2::Const::OK;
15         }
16
17         Sesse::pr0n::Common::header($r, "Legger til ny hendelse");
18
19         my $ok = 1;
20
21         my $id = $apr->param('id');
22         if (!defined($id) || $id =~ /^\s*$/ || $id !~ /^([a-zA-Z0-9-]+)$/) {
23                 $r->print("    <p>Feil: Manglende eller ugyldig ID.</p>\n");
24                 $ok = 0;
25         }
26
27         my $date = $apr->param('date');
28         if (!defined($date) || $date =~ /^\s*$/ || $date =~ /[<>&]/ || length($date) > 100) {
29                 $r->print("    <p>Feil: Manglende eller ugyldig dato.</p>\n");
30                 $ok = 0;
31         }
32         
33         my $desc = $apr->param('desc');
34         if (!defined($desc) || $desc =~ /^\s*$/ || $desc =~ /[<>&]/ || length($desc) > 100) {
35                 $r->print("    <p>Feil: Manglende eller ugyldig beskrivelse.</p>\n");
36                 $ok = 0;
37         }
38         
39         if ($ok == 0) {
40                 $r->print("    <p>Rett opp i feilene over før du går videre.</p>\n");
41         } else {
42                 $dbh->do("INSERT INTO events (id,date,name,vhost) VALUES (?,?,?,?)",
43                         undef, $id, $date, $desc, $r->get_server_name)
44                         or dberror($r, "Kunne ikke sette inn ny hendelse");
45                 $dbh->do("INSERT INTO last_picture_cache (event,last_picture) VALUES (?,NULL)",
46                         undef, $id)
47                         or dberror($r, "Kunne ikke sette inn ny cache-rad");
48                 $r->print("    <p>Hendelsen '$id' lagt til.</p>");
49         }
50         
51         Sesse::pr0n::Common::footer($r);
52
53         return Apache2::Const::OK;
54 }
55
56 1;
57
58