Remove Google
[infodrom.org/infocon.infodrom.org] / src / logbook / index.wml
1 <define-tag dbhost></define-tag>
2 <define-tag dbport></define-tag>
3 <define-tag dbname>infocon</define-tag>
4 <define-tag logbook>logbook</define-tag>
5
6 <?
7 function add_social ($url, $title)
8 {
9   $urlenc = urlencode ($url);
10   $titleenc = urlencode ($title);
11   $ret = '';
12
13   $ret .= '<div class="soclink">';
14   $ret .= sprintf('<a href="http://digg.com/submit?phase=2&url=%s&title=%s" target="_blank">', $urlenc, $titleenc);
15   $ret .= '<img border="0" src="/Pics/link_digg.gif" alt="Digg this" title="Digg This"></a>';
16   $ret .= '</div>';
17
18   $ret .= '<div class="soclink">';
19   $ret .= sprintf('<a href="http://del.icio.us/post?url=%s&title=%s" target="_blank">', $urlenc, $titleenc);
20   $ret .= '<img border="0" src="/Pics/link_delicious.gif" alt="del.icio.us" title="del.icio.us"></a>';
21   $ret .= '</div>';
22
23   $ret .= '<div class="soclink">';
24   $ret .= sprintf('<a href="http://technorati.com/faves?add=%s" target="_blank">', $urlenc);
25   $ret .= '<img border="0" src="/Pics/link_technorati.gif" alt="Technorati" title="Technorati"></a>';
26   $ret .= '</div>';
27
28   return $ret;
29 }
30
31 function teaserlink($teaser)
32 {
33   return preg_replace('/[^a-zA-Z0-9-]/', '-', $teaser);
34 }
35
36   if (isset ($_GET[type]) && $_GET[type] == "rdf") {
37     $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
38            or die("Unable to connect to SQL server");
39
40     pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
41
42     if (isset ($_GET[category])) {
43       $query = "SELECT * FROM <logbook> WHERE public = 1 ";
44       $query .= sprintf ("AND category = '%s' ", addslashes($_GET[category]));
45       $query .= "ORDER BY created DESC LIMIT 5";
46     } else {
47       $query = "SELECT * FROM <logbook> WHERE public = 1 "
48              . "ORDER BY created DESC LIMIT 5";
49     }
50
51     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
52
53     echo ("<?xml version='1.0' encoding='iso-8859-1' ?>\n");
54     echo ("<rss version='2.0'>\n");
55     echo ("<channel>\n");
56     printf ("   <lastBuildDate>%s</lastBuildDate>\n", date("D, d M Y H:i:s T"));
57 ?>
58   <title>Information & Consulting Logbuch</title>
59   <description>Information & Consulting Logbuch</description>
60   <link>http://infocon.infodrom.org/logbook/</link>
61   <managingEditor>joey@infodrom.org</managingEditor>
62   <generator>InfoCon</generator>
63
64 <?
65     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
66       $row = pg_fetch_array ($sth, $nr);
67
68       $body = str_replace(array('<','>','&',"\\\n","\r"),
69                           array('&lt;', '&gt;', '&amp;', '', ''),
70                           $row['body']);
71       $date = explode (" ", $row['created']);
72       $time = explode (":", $date[1]);
73       $tz = substr($time[2], 2);
74       if (strlen ($tz) == 3) {
75         $tz .= "00";
76       } else {
77         # Something's borked, so add symbolic name instead
78         $tz = date ("T", mktime ($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]));
79       }
80       $date = explode ("-", $date[0]);
81       $date = date ("D, d M Y H:i:s ",
82               mktime ($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]))
83               . $tz;
84
85       $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
86
87       echo ("<item>\n");
88       printf ("  <title>%s</title>\n", $row['teaser']);
89       printf ("  <link>http://infocon.infodrom.org/logbook/%s</link>\n", $url);
90       printf ("  <pubDate>%s</pubDate>\n", $date);
91       printf ("  <category>%s</category>\n", $row['category']);
92       printf ("  <description>%s</description>\n", $body);
93       echo ("</item>\n");
94     }  
95     echo ("\n</channel>\n</rss>\n");
96
97     exit;
98   }
99
100 <protect>
101   $kontaktlink = '<p style="margin-left: -20px;"><strong><a href="../kontaktform.html">Zum Kontakformular</a></strong></p>';
102 </protect>
103
104 ?>
105
106 #include <infocon.style>
107
108 <page title="Logbuch" alternates="logbook.rdf|Logbuch" lang="de">
109
110 <?
111   $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
112          or die("Unable to connect to SQL server");
113
114   pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
115
116   if (strlen ($_SERVER[QUERY_STRING])> 0 && ($_SERVER[QUERY_STRING] == "all" || strlen($_SERVER[QUERY_STRING]) == 4)) {
117     if ($_SERVER[QUERY_STRING] == "all") {
118       $query = "SELECT id,teaser,created FROM <logbook> " .
119                "WHERE public = 1 " .
120                "ORDER BY created DESC";
121       $title = "Index of Logbook Entries";
122     } else {
123       $this_year = (int)$_SERVER[QUERY_STRING];
124       $next_year = $this_year + 1;
125       $query = sprintf ("SELECT id,teaser,created FROM <logbook> "
126                        ."WHERE public = 1 "
127                        ."AND created >= '%d-01-01' AND created < '%d-01-01' ORDER BY created ASC",
128                        $this_year, $next_year);
129       $title = sprintf ("Logbuch %d", $this_year);
130     }
131     echo ("<div id=\"logenv\"><div id=\"logbody\">");
132     printf ("<h3 id=\"logtitle\">%s</h3>", $title);
133     echo ("<div id=\"logcontent\">");
134
135     echo ("<table class=\"font\" width=\"100%\" summary=\"\">");
136
137     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
138
139     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
140       $row = pg_fetch_array ($sth, $nr);
141
142       $date = explode (" ", $row['created']);
143       $time = explode (":", $date[1]);
144       $date = explode ("-", $date[0]);
145       $date = sprintf ("%d.%d.%d", $date[2], $date[1], $date[0]);
146
147       $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
148
149       printf ("<tr><td align=\"right\">%s</td><td width=\"2\"></td><td><a href=\"./%s\">%s</a></td></tr>",
150              $date, $url, $row['teaser']);
151     }
152     echo ("</table><div style=\"padding-top: 0.5em\"></div></div></div></div>");
153     echo $kontaktlink;
154   } else {
155     if (strlen ($_SERVER[QUERY_STRING]) > 0) {
156       $query = sprintf ("SELECT * FROM <logbook> "
157                        ."WHERE public = 1 AND id = '%s'",
158                         addslashes ($_SERVER[QUERY_STRING]));
159     } else {
160       $query = "SELECT * FROM <logbook> WHERE public = 1 " .
161                "ORDER BY created DESC LIMIT 8";
162     }
163
164     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
165
166     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
167       $row = pg_fetch_array ($sth, $nr);
168
169       $date = explode (" ", $row['created']);
170       $time = explode (":", $date[1]);
171       $date = explode ("-", $date[0]);
172       $date = sprintf ("%d.%d.%d %02d:%02d", $date[2], $date[1], $date[0], $time[0], $time[1]);
173
174       $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
175
176       echo   ("<div id=\"logenv\"><div id=\"logbody\">");
177       printf ("<h3 id=\"logtitle\"><a href=\"%s\">%s</a></h3>", $url, $row['teaser']);
178       if (strlen ($_SERVER[QUERY_STRING]) > 0)
179         echo $adv_entry;
180       printf ("<div id=\"logcontent\">%s</div>", str_replace ("\\\n", "", str_replace ("\r", "", $row['body'])));
181       echo   ("\n<div class=\"logfoot\">");
182       echo   ("<div class=\"logfootleft\">");
183 #      echo   add_social ("http://infocon.infodrom.org/logbook/".$url, $row['teaser']);
184       echo   ("</div>");
185       echo   ("<div class=\"logfootright\">");
186       printf ("%s | %s | <a href=\"%s\">permanent link</a>", $date, $row['category'], $url);
187       echo   ("</div></div>");
188       echo   ("</div></div>");
189       if ($nr == 0 || $nr == 4 || $nr == 7)
190         echo $adv_index;
191       if (strlen ($_SERVER[QUERY_STRING]) > 0)
192         echo $kontaktlink;
193     }
194   }
195 ?>
196
197 </page>
198
199 # Local variables:
200 # mode: text
201 # mode: auto-fill
202 # end: