chiark / gitweb /
no-cache
[nj-awaymsg.git] / mason / save
1 <%init>
2 use AwayMsg;
3 db_connect();
4 www_begin($r,$m);
5 </%init><%args>
6 $save => 0
7 $cancel => 0
8 $textid => undef
9 </%args><%perl>
10 if ($save) {
11     my $ins;
12     $dbh->do('BEGIN');
13     if ($textid eq 'new') {
14         my $ntextq = $dbh->prepare("SELECT textid FROM texts".
15                                    " ORDER BY textid DESC LIMIT 1");
16         $ntextq->execute();
17         my $ntextrow = $ntextq->fetchrow_hashref();
18         if ($ntextrow) {
19             $textid = $ntextrow->{'textid'} + 1;
20         } else {
21             $textid = 1;
22         }
23     } else {
24         my $dtextq = $dbh->prepare("DELETE FROM texts WHERE textid = ?");
25         my $ndeleted = $dtextq->execute($textid);
26         if (!$ndeleted) {
27 </%perl><htmlhead, subpage => 'Error, editing deleted message'>
28 Message was deleted.
29 <form action="main" method="get">
30 <input type="submit" value="OK">
31 </form><%perl>
32         }
33         return;
34     }
35 }
36 $m->redirect("main");
37 </%perl>