New logbook for admin and development foo
authorJoey Schulze <joey@infodrom.org>
Mon, 8 Sep 2008 10:21:37 +0000 (10:21 +0000)
committerJoey Schulze <joey@infodrom.org>
Mon, 8 Sep 2008 10:21:37 +0000 (10:21 +0000)
src/logbook/index.wml [new file with mode: 0644]
src/logbook/submenu.inc [new file with mode: 0644]

diff --git a/src/logbook/index.wml b/src/logbook/index.wml
new file mode 100644 (file)
index 0000000..60c459c
--- /dev/null
@@ -0,0 +1,225 @@
+<define-tag dbhost></define-tag>
+<define-tag dbport></define-tag>
+<define-tag dbname>infocon</define-tag>
+<define-tag logbook>logbook</define-tag>
+
+<?
+function add_social ($url, $title)
+{
+  $urlenc = urlencode ($url);
+  $titleenc = urlencode ($title);
+  $ret = '';
+
+  $ret .= '<div class="soclink">';
+  $ret .= sprintf('<a href="http://digg.com/submit?phase=2&url=%s&title=%s" target="_blank">', $urlenc, $titleenc);
+  $ret .= '<img border="0" src="/Pics/link_digg.gif" alt="Digg this" title="Digg This"></a>';
+  $ret .= '</div>';
+
+  $ret .= '<div class="soclink">';
+  $ret .= sprintf('<a href="http://del.icio.us/post?url=%s&title=%s" target="_blank">', $urlenc, $titleenc);
+  $ret .= '<img border="0" src="/Pics/link_delicious.gif" alt="del.icio.us" title="del.icio.us"></a>';
+  $ret .= '</div>';
+
+  $ret .= '<div class="soclink">';
+  $ret .= sprintf('<a href="http://technorati.com/faves?add=%s" target="_blank">', $urlenc);
+  $ret .= '<img border="0" src="/Pics/link_technorati.gif" alt="Technorati" title="Technorati"></a>';
+  $ret .= '</div>';
+
+  return $ret;
+}
+
+function teaserlink($teaser)
+{
+  return preg_replace('/[^a-zA-Z0-9-]/', '-', $teaser);
+}
+
+  if (isset ($_GET[type]) && $_GET[type] == "rdf") {
+    $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
+          or die("Unable to connect to SQL server");
+
+    pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
+
+    if (isset ($_GET[category])) {
+      $query = "SELECT * FROM <logbook> WHERE public = 1 ";
+      $query .= sprintf ("AND category = '%s' ", addslashes($_GET[category]));
+      $query .= "ORDER BY created DESC LIMIT 5";
+    } else {
+      $query = "SELECT * FROM <logbook> WHERE public = 1 "
+            . "ORDER BY created DESC LIMIT 5";
+    }
+
+    $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
+
+    echo ("<?xml version='1.0' encoding='iso-8859-1' ?>\n");
+    echo ("<rss version='2.0'>\n");
+    echo ("<channel>\n");
+    printf ("   <lastBuildDate>%s</lastBuildDate>\n", date("D, d M Y H:i:s T"));
+?>
+  <title>Information & Consulting Logbook</title>
+  <description>Information & Consulting Logbook</description>
+  <link>http://infocon.infodrom.org/logbook/</link>
+  <managingEditor>joey@infodrom.org</managingEditor>
+  <generator>InfoCon</generator>
+
+<?
+    for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
+      $row = pg_fetch_array ($sth, $nr);
+
+      $body = ereg_replace ("<", "&lt;",
+               ereg_replace (">", "&gt;", 
+                 ereg_replace ("&", "&amp;", 
+                   str_replace ("\\\n", "",
+                     str_replace ("\r", "",
+                       $row['body'])))));
+      $date = explode (" ", $row['created']);
+      $time = explode (":", $date[1]);
+      $tz = substr($time[2], 2);
+      if (strlen ($tz) == 3) {
+       $tz .= "00";
+      } else {
+        # Something's borked, so add symbolic name instead
+        $tz = date ("T", mktime ($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]));
+      }
+      $date = explode ("-", $date[0]);
+      $date = date ("D, d M Y H:i:s ",
+             mktime ($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]))
+             . $tz;
+
+      $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
+
+      echo ("<item>\n");
+      printf ("  <title>%s</title>\n", $row['teaser']);
+      printf ("  <link>http://infocon.infodrom.org/logbook/%s</link>\n", $url);
+      printf ("  <pubDate>%s</pubDate>\n", $date);
+      printf ("  <category>%s</category>\n", $row['category']);
+      printf ("  <description>%s</description>\n", $body);
+      echo ("</item>\n");
+    }  
+    echo ("\n</channel>\n</rss>\n");
+
+    exit;
+  }
+
+<protect>
+  $adv_index = '<script type="text/javascript"><!-- google_ad_client = "pub-3134552371074068";
+/* InfoCon Log Index */
+google_ad_slot = "0940423249";
+google_ad_width = 728;
+google_ad_height = 90;
+//-->
+</script>
+<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>';
+
+  $adv_entry = '<script type="text/javascript"><!-- google_ad_client = "pub-3134552371074068";
+/* InfoCon Log Entry */
+google_ad_slot = "7571618571";
+google_ad_width = 728;
+google_ad_height = 90;
+//-->
+</script>
+<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>';
+
+  $kontaktlink = '<p style="margin-left: -20px;"><strong><a href="../kontaktform.html">Zum Kontakformular</a></strong></p>';
+</protect>
+
+?>
+
+#include <infocon.style>
+
+<page title="Logbook" alternates="logbook.rdf|Logbook" lang="de">
+
+<?
+  $dbh = pg_pconnect ("<dbhost>", "<dbport>", "<dbname>")
+        or die("Unable to connect to SQL server");
+
+  pg_exec ($dbh, "SET DateStyle = 'ISO'") or die("Datenbank-Abfrage!");
+
+  if (strlen ($_SERVER[QUERY_STRING])> 0 && ($_SERVER[QUERY_STRING] == "all" || strlen($_SERVER[QUERY_STRING]) == 4)) {
+    if ($_SERVER[QUERY_STRING] == "all") {
+      $query = "SELECT id,teaser,created FROM <logbook> " .
+              "WHERE public = 1 " .
+              "ORDER BY created DESC";
+      $title = "Index of Logbook Entries";
+    } else {
+      $this_year = (int)$_SERVER[QUERY_STRING];
+      $next_year = $this_year + 1;
+      $query = sprintf ("SELECT id,teaser,created FROM <logbook> "
+                      ."WHERE public = 1 "
+                      ."AND created >= '%d-01-01' AND created < '%d-01-01' ORDER BY created ASC",
+                      $this_year, $next_year);
+      $title = sprintf ("Logbook %d", $this_year);
+    }
+    echo ("<div id=\"logenv\"><div id=\"logbody\">");
+    printf ("<h3 id=\"logtitle\">%s</h3>", $title);
+    echo ("<div id=\"logcontent\">");
+
+    echo ("<table class=\"font\" width=\"100%\" summary=\"\">");
+
+    $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
+
+    for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
+      $row = pg_fetch_array ($sth, $nr);
+
+      $date = explode (" ", $row['created']);
+      $time = explode (":", $date[1]);
+      $date = explode ("-", $date[0]);
+      $date = sprintf ("%d.%d.%d", $date[2], $date[1], $date[0]);
+
+      $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
+
+      printf ("<tr><td align=\"right\">%s</td><td width=\"2\"></td><td><a href=\"./%s\">%s</a></td></tr>",
+            $date, $url, $row['teaser']);
+    }
+    echo ("</table><div style=\"padding-top: 0.5em\"></div></div></div></div>");
+    echo $kontaktlink;
+  } else {
+    if (strlen ($_SERVER[QUERY_STRING]) > 0) {
+      $query = sprintf ("SELECT * FROM <logbook> "
+                      ."WHERE public = 1 AND id = '%s'",
+                       addslashes ($_SERVER[QUERY_STRING]));
+    } else {
+      $query = "SELECT * FROM <logbook> WHERE public = 1 " .
+              "ORDER BY created DESC LIMIT 5";
+    }
+
+    $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
+
+    for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
+      $row = pg_fetch_array ($sth, $nr);
+
+      $date = explode (" ", $row['created']);
+      $time = explode (":", $date[1]);
+      $date = explode ("-", $date[0]);
+      $date = sprintf ("%d.%d.%d %02d:%02d", $date[2], $date[1], $date[0], $time[0], $time[1]);
+
+      $url = sprintf('%s-%d.html', teaserlink($row['teaser']), $row['id']);
+
+      echo   ("<div id=\"logenv\"><div id=\"logbody\">");
+      printf ("<h3 id=\"logtitle\"><a href=\"%s\">%s</a></h3>", $url, $row['teaser']);
+      if (strlen ($_SERVER[QUERY_STRING]) > 0)
+       echo $adv_entry;
+      printf ("<div id=\"logcontent\">%s</div>", str_replace ("\\\n", "", str_replace ("\r", "", $row['body'])));
+      echo   ("\n<div class=\"logfoot\">");
+      echo   ("<div class=\"logfootleft\">");
+      echo   add_social ("http://infocon.infodrom.org/logbook/".$url, $row['teaser']);
+      echo   ("</div>");
+      echo   ("<div class=\"logfootright\">");
+      printf ("%s | %s | <a href=\"%s\">permanent link</a>", $date, $row['category'], $url);
+      echo   ("</div></div>");
+      echo   ("</div></div>");
+      if ($nr == 1)
+       echo $adv_index;
+      if (strlen ($_SERVER[QUERY_STRING]) > 0)
+       echo $kontaktlink;
+    }
+  }
+?>
+
+</page>
+
+# Local variables:
+# mode: text
+# mode: auto-fill
+# end:
diff --git a/src/logbook/submenu.inc b/src/logbook/submenu.inc
new file mode 100644 (file)
index 0000000..f045c45
--- /dev/null
@@ -0,0 +1,15 @@
+<submenu>
+
+<?
+  $year = date ("Y");
+  for ($anno = 2008; $anno <= $year; $anno++) {
+    if (strlen($_SERVER[QUERY_STRING]) == 4 && $_SERVER[QUERY_STRING] == $anno)
+      printf ("<li><a id=\"current\" href=\"jahr-%d.html\">%d</a>", $anno, $anno);
+    else
+      printf ("<li><a href=\"jahr-%d.html\">%d</a>", $anno, $anno);
+  }
+?>
+
+<menu-item text="RDF" base="/dev/null" href="logbook.rdf">
+
+</submenu>