<%init>
use AwayMsg;
+use Data::Dumper;
db_connect();
-</%init>
-<%args>
-$textid
+www_begin($r,$m);
+</%init><%args>
$save => 0
$cancel => 0
$textid => undef
-</%args>
-<%perl>
-if ($save) {
- my $ins;
- $dbh->do('BEGIN');
- if ($textid eq 'new') {
- my $ntextq = $dbh->prepare("SELECT textid FROM texts".
- " ORDER BY textid DESC LIMIT 1");
- $ntextq->execute();
- my $ntextrow = $ntextq->fetchrow_hashref();
- if ($ntextrow) {
- $textid = $ntextrow->{'textid'} + 1;
- } else {
- $textid = 1;
- }
- } else {
- my $dtextq = $dbh->prepare("DELETE FROM texts WHERE textid = ?");
- my $ndeleted = $dtextq->execute($textid);
- if (!$ndeleted) {
-</%perl>
-
-
- $ins = $dbh->prepare("INSERT INTO texts VALUES (
- $sth = $dbh->
+$desc
+$subject
+$text
+</%args><%perl>
+if (!$save) {
+ $m->redirect("main");
+ return;
}
+my $ins;
+
+$dbh->do('BEGIN');
+
+if ($textid ne 'new') {
+ my $dtextq = $dbh->prepare("DELETE FROM texts WHERE textid = ?");
+ my $ndeleted = $dtextq->execute($textid);
+ if (!$ndeleted) {
+ $textid = 'new';
+ }
+}
+
+if ($textid eq 'new') {
+ $textid = time;
+ my $ntextq = $dbh->prepare("SELECT textid FROM texts".
+ " ORDER BY textid DESC LIMIT 1");
+ $ntextq->execute();
+ my $ntextrow = $ntextq->fetchrow_hashref();
+ if ($ntextrow) {
+ my $mintextid = $ntextrow->{'textid'} + 1;
+ $textid = $mintextid if $textid < $mintextid;
+ }
+}
+
+print STDERR Dumper([$textid, $desc, $subject, $text]);
+
+my $dinsertq = $dbh->prepare("INSERT INTO texts (textid, desc, subject, text)".
+ " VALUES (?,?,?,?)");
+$dinsertq->execute($textid, $desc, $subject, $text);
+
+my $tdeleteq = $dbh->prepare("DELETE FROM addresses WHERE textid = ?");
+$tdeleteq->execute($textid);
+
+my $odeleteq = $dbh->prepare("DELETE FROM addresses WHERE emailaddr = ?");
+
+my $tinsertq = $dbh->prepare("INSERT INTO addresses (emailaddr, textid)".
+ " VALUES (?,?)");
+my $tlistq = $dbh->prepare("SELECT * FROM config");
+$tlistq->execute();
+while (my $row = $tlistq->fetchrow_hashref()) {
+ if ($ARGS{"u_".hquote($row->{'emailaddr'})}) {
+ $odeleteq->execute($row->{'emailaddr'});
+ $tinsertq->execute($row->{'emailaddr'}, $textid);
+ }
+}
+
+db_commit();
+
+</%perl><& htmlhead, subpage => "Saved \"$desc\"" &>
+Message and configuration saved.
+<p>
+<form action="main" method="get">
+<input type="submit" value="OK">
+</form>