Use pg_escape_string
[infodrom.org/service.infodrom.org] / src / InfoCon / logbook / update.wml
1 #include <infocon.style>
2 #include <phptools.inc>
3
4 <page func="Information & Consulting" title="Logbook">
5
6 <sql_prepare>
7 <teaserlink>
8 <?
9   $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
10          or die("Unable to connect to SQL server");
11
12 <:
13   for $i (('teaser','body')) {
14     printf "  \$o_%s = \$_POST[%s];\n", $i, $i;
15     printf "  \$%s = pg_escape_string(\$_POST[%s]);\n", $i, $i;
16   }
17 :>
18   if ($_POST["public"] != 1) {
19     $_POST["public"] = 0;
20   }
21
22   if ($_POST[oid] > 0) {
23     $query = sprintf ("UPDATE logbook SET category='%s',teaser='%s',public=%d,body='%s' "
24                      ."WHERE oid = %d",
25                      $_POST[category],
26                      $teaser,
27                      $_POST["public"],
28                      $body,
29                      $_POST[oid]);
30   } else {
31     $date = date ("Y-m-d H:i");
32     $id = date ("YmdHi");
33
34     $query = sprintf ("INSERT INTO logbook (id,category,teaser,body,public,created) VALUES "
35                      ."('%s','%s','%s','%s',%d,'%s')",
36                      $id,
37                      $_POST["category"],
38                      $teaser,
39                      $body,
40                      $_POST["public"],
41                      $date);
42   }
43   // printf ("<pre>\n%s\n</pre>\n", $query);
44   $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
45 ?>
46
47 <h3><? echo $o_teaser; ?></h3>
48
49 <?
50   if (! isset($_POST[oid]) || $_POST[oid] == 0) {
51     $oid = pg_getlastoid ($sth);
52   } else {
53     $oid = $_POST[oid];
54   }
55
56   $query = sprintf ("SELECT id,teaser,public FROM logbook WHERE oid = %d", $oid);
57   $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
58   if (pg_NumRows ($sth) > 0) {
59     $row = pg_fetch_array ($sth, 0);
60
61     printf ('<p><a href="edit.php?id=%d">edit</a>', $row['id']);
62     if ($row['public'] > 0) {
63       printf(' &mdash; <a href="http://infocon.infodrom.org/logbook/%s-%d.html">public link</a>',
64              teaserlink($row['teaser']), $row['id']);
65     }
66     echo "</p>";
67   }
68 ?>
69
70 <? echo str_replace ("\\\n", "", str_replace ("\r", "", $o_body)); ?>
71
72 </page>
73
74 # Local variables:
75 # mode: text
76 # mode: auto-fill
77 # end: