9a905bb7df1025a9b08bba3df6fa6745f0a2ca63
[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   $adv_index = '<div align="center"><script type="text/javascript"><!--
102 google_ad_client = "pub-3134552371074068";
103 /* InfoCon Log Index */
104 google_ad_slot = "0940423249";
105 google_ad_width = 728;
106 google_ad_height = 90;
107 //-->
108 </script>
109 <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
110 </script></div>';
111
112   $adv_entry = '<div align="center"><script type="text/javascript"><!--
113 google_ad_client = "pub-3134552371074068";
114 /* InfoCon Log Entry */
115 google_ad_slot = "7571618571";
116 google_ad_width = 728;
117 google_ad_height = 90;
118 //-->
119 </script>
120 <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
121 </script></div>';
122
123   $kontaktlink = '<p style="margin-left: -20px;"><strong><a href="../kontaktform.html">Zum Kontakformular</a></strong></p>';
124 </protect>
125
126 ?>
127
128 #include <infocon.style>
129
130 <page title="Logbuch" alternates="logbook.rdf|Logbuch" lang="de">
131
132 <?
133   $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
134          or die("Unable to connect to SQL server");
135
136   pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
137
138   if (strlen ($_SERVER[QUERY_STRING])> 0 && ($_SERVER[QUERY_STRING] == "all" || strlen($_SERVER[QUERY_STRING]) == 4)) {
139     if ($_SERVER[QUERY_STRING] == "all") {
140       $query = "SELECT id,teaser,created FROM <logbook> " .
141                "WHERE public = 1 " .
142                "ORDER BY created DESC";
143       $title = "Index of Logbook Entries";
144     } else {
145       $this_year = (int)$_SERVER[QUERY_STRING];
146       $next_year = $this_year + 1;
147       $query = sprintf ("SELECT id,teaser,created FROM <logbook> "
148                        ."WHERE public = 1 "
149                        ."AND created >= '%d-01-01' AND created < '%d-01-01' ORDER BY created ASC",
150                        $this_year, $next_year);
151       $title = sprintf ("Logbuch %d", $this_year);
152     }
153     echo ("<div id=\"logenv\"><div id=\"logbody\">");
154     printf ("<h3 id=\"logtitle\">%s</h3>", $title);
155     echo ("<div id=\"logcontent\">");
156
157     echo ("<table class=\"font\" width=\"100%\" summary=\"\">");
158
159     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
160
161     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
162       $row = pg_fetch_array ($sth, $nr);
163
164       $date = explode (" ", $row['created']);
165       $time = explode (":", $date[1]);
166       $date = explode ("-", $date[0]);
167       $date = sprintf ("%d.%d.%d", $date[2], $date[1], $date[0]);
168
169       $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
170
171       printf ("<tr><td align=\"right\">%s</td><td width=\"2\"></td><td><a href=\"./%s\">%s</a></td></tr>",
172              $date, $url, $row['teaser']);
173     }
174     echo ("</table><div style=\"padding-top: 0.5em\"></div></div></div></div>");
175     echo $kontaktlink;
176   } else {
177     if (strlen ($_SERVER[QUERY_STRING]) > 0) {
178       $query = sprintf ("SELECT * FROM <logbook> "
179                        ."WHERE public = 1 AND id = '%s'",
180                         addslashes ($_SERVER[QUERY_STRING]));
181     } else {
182       $query = "SELECT * FROM <logbook> WHERE public = 1 " .
183                "ORDER BY created DESC LIMIT 8";
184     }
185
186     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
187
188     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
189       $row = pg_fetch_array ($sth, $nr);
190
191       $date = explode (" ", $row['created']);
192       $time = explode (":", $date[1]);
193       $date = explode ("-", $date[0]);
194       $date = sprintf ("%d.%d.%d %02d:%02d", $date[2], $date[1], $date[0], $time[0], $time[1]);
195
196       $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
197
198       echo   ("<div id=\"logenv\"><div id=\"logbody\">");
199       printf ("<h3 id=\"logtitle\"><a href=\"%s\">%s</a></h3>", $url, $row['teaser']);
200       if (strlen ($_SERVER[QUERY_STRING]) > 0)
201         echo $adv_entry;
202       printf ("<div id=\"logcontent\">%s</div>", str_replace ("\\\n", "", str_replace ("\r", "", $row['body'])));
203       echo   ("\n<div class=\"logfoot\">");
204       echo   ("<div class=\"logfootleft\">");
205 #      echo   add_social ("http://infocon.infodrom.org/logbook/".$url, $row['teaser']);
206       echo   ("</div>");
207       echo   ("<div class=\"logfootright\">");
208       printf ("%s | %s | <a href=\"%s\">permanent link</a>", $date, $row['category'], $url);
209       echo   ("</div></div>");
210       echo   ("</div></div>");
211       if ($nr == 0 || $nr == 4 || $nr == 7)
212         echo $adv_index;
213       if (strlen ($_SERVER[QUERY_STRING]) > 0)
214         echo $kontaktlink;
215     }
216   }
217 ?>
218
219 </page>
220
221 # Local variables:
222 # mode: text
223 # mode: auto-fill
224 # end: