$save => 0
$cancel => 0
$textid => undef
+$desc
+$subject
+$text
</%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><htmlhead, subpage => 'Error, editing deleted message'>
-Message was deleted.
-<form action="main" method="get">
-<input type="submit" value="OK">
-</form><%perl>
- }
- return;
+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';
}
}
-$m->redirect("main");
-</%perl>
+
+if ($textid eq 'new') {
+ my $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;
+ }
+}
+
+my $dinsertq = $dbh->prepare("INSERT INTO texts (textid, desc, subject, text)".
+ " VALUES (?,?,?,?)");
+$dinsertq->execute($textid, $desc, $subject, $text);
+
+db_commit();
+
+</%perl><& htmlhead, subpage => "Saved \"$desc\"" &>
+Message and configuration saved.
+<p>
+<form action="main" method="get">
+<input type="submit" value="OK">
+</form>