1 #include <infodrom.style>
3 <page func="Infodrom Oldenburg" title="Logbook">
8 $parms = array ("keyword","category","public","teaser","subject");
11 foreach ($parms as $arg) {
12 if (isset($_REQUEST[$arg])) {
13 if (strlen($urlbase) == 0)
14 $urlbase = "find.php?";
17 $urlbase .= $arg . '=' . urlencode($_REQUEST[$arg]);
21 if (strlen($urlbase) == 0) {
22 echo "<p><b>No search restriction provided.</b></p>";
26 if (isset($_REQUEST["offset"]))
27 $linkbase = sprintf ("%s&offset=%d", $urlbase, $_REQUEST["offset"]);
31 $link_date = sprintf ('<a href="%s&sort=date">Date</a>', $linkbase);
32 $link_category = sprintf ('<a href="%s&sort=category">Category</a>', $linkbase);
33 $link_title = sprintf ('<a href="%s&sort=title">Title</a>', $linkbase);
36 <table width=100% class=font border=0 cellspacing=3 bgcolor="#<cold>">\
38 <th width=20%><? echo $link_date; ?></th>\
39 <th width=15%><? echo $link_category; ?></th>
40 <th width=65%><? echo $link_title; ?></th>
45 $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
46 or die("Unable to connect to SQL server");
48 pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
50 $query = "SELECT id,category,teaser,created,public FROM logbook WHERE ";
52 if (strlen($_REQUEST[keyword])) {
53 if (isset($_REQUEST['subject'])) {
54 $where[] = sprintf ("teaser ~* '%s'",
55 addslashes ($_REQUEST[keyword]));
57 $where[] = sprintf ("( teaser ~* '%s' OR body ~* '%s')",
58 addslashes ($_REQUEST[keyword]),
59 addslashes ($_REQUEST[keyword]));
63 if (strlen($_REQUEST[category])) {
64 $where[] = sprintf ("category = '%s'", addslashes ($_REQUEST[category]));
67 if (strlen($_REQUEST['public'])) {
68 $where[] = "public = 1";
71 $query .= implode (" AND ", $where);
73 if (isset($_REQUEST[sort]) && $_REQUEST[sort] == "title") {
74 $query .= "ORDER BY teaser,created";
75 } elseif (isset($_REQUEST[sort]) && $_REQUEST[sort] == "category") {
76 $query .= "ORDER BY category,created";
78 $query .= "ORDER BY created";
80 $query .= " LIMIT $limit";
81 if (isset ($_GET["offset"]))
82 $query .= sprintf (" OFFSET %d\n", $_GET["offset"]);
84 $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
87 for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
88 $row = pg_fetch_array ($sth, $nr);
89 $date = explode (" ", $row['created']);
90 $time = explode (":", $date[1]);
91 $date = explode ("-", $date[0]);
92 $date = sprintf ("%d.%d.%d %02d:%02d", $date[2], $date[1], $date[0], $time[0], $time[1]);
94 $color = $color == "<cold>"?"<coln>" : "<cold>";
95 if ($row['public'] == 0) {
96 printf ("<tr bgcolor=\"#%s\"><td align=\"right\">%s</td><td align=\"center\">%s</td>"
97 ."<td><a href=\"show.php?id=%s\">%s</a></td></tr>",
99 $date, $row['category'], $row['id'], $row['teaser']);
101 if ($row['category'] === 'absurd')
102 $pubbase = 'http://www.infodrom.org/~joey/absurd/';
104 $pubbase = 'http://www.infodrom.org/~joey/log/';
105 printf ("<tr bgcolor=\"#%s\"><td align=\"right\">%s</td><td align=\"center\">%s</td><td><a href=\"show.php?id=%s\">%s</a>"
106 ." (<a href=\"%s?%s\">pub</a>)</td></tr>",
108 $date, $row['category'], $row['id'], $row['teaser'], $pubbase, $row['id']);
115 if (isset($_REQUEST["sort"]))
116 $url = sprintf ("%s&sort=%s&offset=%d", $urlbase, urlencode($_REQUEST["sort"]), $_GET["offset"]+$limit);
118 $url = sprintf ("%s&offset=%d", $urlbase, $_GET["offset"]+$limit);
120 printf ("<p><a href=\"%s\">next</a></p>\n", $url);