chiark / gitweb /
wip login/logout handling
[nj-awaymsg.git] / mason / edit
1 <%init>
2 use AwayMsg;
3 db_connect();
4 www_begin($r,$m);
5 </%init>
6 <%shared>
7 our ($cgi,$ar);
8 </%shared>
9
10 <%args>
11 $create => undef
12 </%args>
13
14 <%perl>
15
16 my $textid;
17
18 if (defined $create) {
19 } else {
20     foreach my $k (keys %ARGS) {
21         if ($k =~ m/^t_(\d{0,7})$/) {
22             $textid= $1;
23             last;
24         }
25     }
26     die unless defined $textid;
27 }
28
29 my $tx;
30
31 if ($ARGS{'create'}) {
32     my $date = `date --iso-8601=minutes`; chomp $date or die;
33     $tx = { desc => "Message created $date",
34             subject => "Away from my email",
35             textid => "new",
36             text => "" };
37 } else {
38     my $sth = $dbh->prepare("SELECT * FROM texts WHERE textid=?");
39     $sth->execute($textid);
40     $tx = $sth->fetchrow_hashref();#
41 }
42
43 my $usedq = $dbh->prepare(<<END);
44     SELECT *
45      FROM        config
46        LEFT JOIN addresses USING (emailaddr)
47        LEFT JOIN texts     USING (textid)
48      ORDER BY emailaddr
49 END
50 $usedq->execute();
51
52 if (!$tx) { die "no such text $textid"; }
53
54 </%perl>
55 <& htmlhead, subpage => "Edit \"$tx->{'desc'}\"" &>
56 <form action="save" method="post">
57 <% $ar->secret_hidden_html() %>
58 <&| txtable, tx => $tx, inputs => 1 &>
59 <tr><td colspan=2><textarea name="text" cols="79" rows="15"><%
60   $tx->{'text'} |h %></textarea></td></tr>
61 </&>
62 </table><table>
63 % while (my $row = $usedq->fetchrow_hashref()) {
64 <tr><td>Use for <% $row->{'emailaddr'} |h %></td>
65 <td><input type="checkbox" value="1" name=u_<% hquote($row->{'emailaddr'}) %>
66 %     if (!$create && $row->{'textid'} eq $textid) {
67  checked></td><td>(currently using this message)
68 %     } elsif (defined $row->{'textid'}) {
69  ></td><td>(currently using another message "<% $row->{'desc'} |h %>")
70 %     } else {
71  >
72 %     }
73 </td></tr>
74 % }
75 </table><p>
76 <input type="hidden" name="textid" value="<% $tx->{'textid'} %>">
77 <input type="submit" name="save" value="Save">
78 <input type="submit" name="cancel" value="Cancel edit">