summaryrefslogtreecommitdiff
path: root/modules/headline.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2000-12-27 12:44:27 +0000
committerDries Buytaert <dries@buytaert.net>2000-12-27 12:44:27 +0000
commit2714fae603e66ded154b983c8d04e6dca19eb55f (patch)
treeefd4dd6e03d99c88840d1916ae5e6d0b2c677e3e /modules/headline.module
parent42fbefddff0029e741a5f4f2e3d49ef810ac79e4 (diff)
downloadbrdo-2714fae603e66ded154b983c8d04e6dca19eb55f.tar.gz
brdo-2714fae603e66ded154b983c8d04e6dca19eb55f.tar.bz2
- small bugfixes and standarized "export" routines for modules to use.
Diffstat (limited to 'modules/headline.module')
-rw-r--r--modules/headline.module189
1 files changed, 189 insertions, 0 deletions
diff --git a/modules/headline.module b/modules/headline.module
new file mode 100644
index 000000000..fd405dc17
--- /dev/null
+++ b/modules/headline.module
@@ -0,0 +1,189 @@
+<?
+
+$module = array("page" => "headline_page",
+ "cron" => "headline_cron",
+ "block" => "headline_block",
+ "admin" => "headline_admin",
+ "export" => "headline_export");
+
+include "includes/common.inc";
+include "modules/backend.class";
+
+
+function headline_blocks() {
+ global $theme;
+
+ // Get channel info:
+ $result = db_query("SELECT * FROM channel ORDER BY id");
+
+ $theme->header();
+
+ print "<TABLE BORDER=\"0\">\n";
+ while ($channel = db_fetch_object($result)) {
+ if ($state % 3 == 0) print " <TR>\n";
+
+ print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n";
+
+ // Load backend from database:
+ $backend = new backend($channel->id);
+
+ // Read headline from backend class:
+ $content = "";
+ for (reset($backend->headline); $headline = current($backend->headline); next($backend->headline)) {
+ $content .= "<LI>$headline</LI>\n";
+ }
+
+ // Print backend box to screen:
+ $theme->box($backend->site, "$content<P ALIGN=\"right\">[ <A HREF=\"$backend->url\">more</A> ]\n");
+ print " </TD>\n";
+
+ if ($state % 3 == 2) print " </TR>\n";
+
+ $state += 1;
+ }
+ print "</TABLE>\n";
+
+ $theme->footer();
+}
+
+function headline_page() {
+ global $type;
+
+ switch($type) {
+ case "rdf":
+ headline_rdf();
+ break;
+ default:
+ headline_blocks();
+ }
+}
+
+function headline_cron() {
+ $result = db_query("SELECT * FROM channel");
+ while ($channel = db_fetch_object($result)) {
+ $backend = new Backend($channel->id);
+ }
+}
+
+function headline_block() {
+ $result = db_query("SELECT * FROM channel");
+ while ($channel = db_fetch_object($result)) {
+ $backend = new Backend($channel->id);
+
+ $content = "";
+ for (reset($backend->headline); $headline = current($backend->headline); next($backend->headline)) {
+ $content .= "<LI>$headline</LI>\n";
+ }
+
+ $blocks[$channel->id]["subject"] = $backend->site;
+ $blocks[$channel->id]["content"] = $content;
+ $blocks[$channel->id]["info"] = "$backend->site headline";
+ $blocks[$channel->id]["link"] = $backend->url;
+ }
+ return $blocks;
+}
+
+function headline_admin_main() {
+ global $theme;
+
+ // Get channel info:
+ $result = db_query("SELECT * FROM channel ORDER BY id");
+
+ $output .= "<TABLE BORDER=\"1\" CELLSPADDING=\"2\" CELLSPACING=\"2\">\n";
+ $output .= " <TH>site</TH><TH>contact</TH><TH>last update</TH><TH COLSPAN=\"2\">operations</TH></TR>\n";
+
+ while ($channel = db_fetch_object($result)) {
+ // Load backend from database:
+ $backend = new backend($channel->id);
+
+ $output .= "<TR>\n";
+ $output .= " <TD><A HREF=\"$backend->url\">$backend->site</A></TD>\n";
+ $output .= " <TD><A HREF=\"mailto:$backend->contact\">$backend->contact</A></TD>\n";
+ $output .= " <TD ALIGN=\"center\">". format_interval(time() - $backend->timestamp) ." ago</TD>\n";
+ $output .= " <TD ALIGN=\"center\"><A HREF=\"admin.php?mod=backend&op=refresh&id=$backend->id\">refresh</A></TD>\n";
+ $output .= " <TD ALIGN=\"center\"><A HREF=\"admin.php?mod=backend&op=delete&id=$backend->id\">delete</A></TD>\n";
+ $output .= "</TR>\n";
+ }
+
+ $output .= "</TABLE>\n";
+ $output .= "<BR><BR>\n";
+ $output .= "<HR>\n";
+ $output .= " <FORM ACTION=\"admin.php?mod=backend\" METHOD=\"post\">\n";
+ $output .= " <P>\n";
+ $output .= " <B>Site name:</B><BR>\n";
+ $output .= " <INPUT TYPE=\"text\" NAME=\"site\" SIZE=\"50\">\n";
+ $output .= " </P>\n";
+ $output .= " <P>\n";
+ $output .= " <B>URL:</B><BR>\n";
+ $output .= " <INPUT TYPE=\"text\" NAME=\"url\" SIZE=\"50\">\n";
+ $output .= " </P>\n";
+ $output .= " <P>\n";
+ $output .= " <B>Backend file:</B><BR>\n";
+ $output .= " <INPUT TYPE=\"text\" NAME=\"backend\" SIZE=\"50\">\n";
+ $output .= " </P>\n";
+ $output .= " <P>\n";
+ $output .= " <B>Contact information:</B><BR>\n";
+ $output .= " <INPUT TYPE=\"text\" NAME=\"contact\" SIZE=\"50\">\n";
+ $output .= " </P>\n";
+ $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Add backend\">\n";
+ $output .= " </FORM>\n";
+
+ print $output;
+}
+
+function headline_admin() {
+ global $op, $id, $site, $url, $backend, $contact;
+
+ switch($op) {
+ case "refresh":
+ $backend = new backend($id);
+ $backend->refresh();
+ headline_admin_main();
+ break;
+ case "delete":
+ $backend = new backend($id);
+ $backend->dump();
+ $backend->delete();
+ headline_admin_main();
+ break;
+ case "Add backend":
+ $backend = new backend($id, $site, $url, $backend, $contact);
+ $backend->add();
+ // fall through:
+ default:
+ headline_admin_main();
+ }
+}
+
+function headline_export($uri) {
+ global $site_name, $site_url;
+
+ if ($uri[2] == "headlines.rdf") {
+
+ header("Content-Type: text/plain");
+
+ print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
+ print "<rdf:RDF\n";
+ print " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n";
+ print " xmlns=\"http://my.netscape.com/rdf/simple/0.9/\">\n";
+
+ print "<channel>\n";
+ print " <title>$site_name</title>\n";
+ print " <link>$site_url</link>\n";
+ print " <description>$site_name</description>\n";
+ print "</channel>\n";
+
+ $result = db_query("SELECT * FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT 10");
+
+ while ($story = db_fetch_object($result)) {
+ print "<item>\n";
+ print " <title>$story->subject</title>\n";
+ print " <link>". $site_url ."discussion.php?id=$story->id</link>\n";
+ print "</item>\n";
+ }
+
+ print "</rdf:RDF>\n";
+ }
+}
+
+?>