From 2714fae603e66ded154b983c8d04e6dca19eb55f Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 27 Dec 2000 12:44:27 +0000 Subject: - small bugfixes and standarized "export" routines for modules to use. --- modules/headline.module | 189 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 modules/headline.module (limited to 'modules/headline.module') 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 @@ + "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 "\n"; + while ($channel = db_fetch_object($result)) { + if ($state % 3 == 0) print " \n"; + + print " \n"; + + if ($state % 3 == 2) print " \n"; + + $state += 1; + } + print "
\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 .= "
  • $headline
  • \n"; + } + + // Print backend box to screen: + $theme->box($backend->site, "$content

    [ url\">more ]\n"); + print "

    \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 .= "
  • $headline
  • \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 .= "\n"; + $output .= " \n"; + + while ($channel = db_fetch_object($result)) { + // Load backend from database: + $backend = new backend($channel->id); + + $output .= "\n"; + $output .= " \n"; + $output .= " \n"; + $output .= " \n"; + $output .= " \n"; + $output .= " \n"; + $output .= "\n"; + } + + $output .= "
    sitecontactlast updateoperations
    url\">$backend->sitecontact\">$backend->contact". format_interval(time() - $backend->timestamp) ." agoid\">refreshid\">delete
    \n"; + $output .= "

    \n"; + $output .= "
    \n"; + $output .= "
    \n"; + $output .= "

    \n"; + $output .= " Site name:
    \n"; + $output .= " \n"; + $output .= "

    \n"; + $output .= "

    \n"; + $output .= " URL:
    \n"; + $output .= " \n"; + $output .= "

    \n"; + $output .= "

    \n"; + $output .= " Backend file:
    \n"; + $output .= " \n"; + $output .= "

    \n"; + $output .= "

    \n"; + $output .= " Contact information:
    \n"; + $output .= " \n"; + $output .= "

    \n"; + $output .= " \n"; + $output .= "
    \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 "\n"; + print "\n"; + + print "\n"; + print " $site_name\n"; + print " $site_url\n"; + print " $site_name\n"; + print "\n"; + + $result = db_query("SELECT * FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT 10"); + + while ($story = db_fetch_object($result)) { + print "\n"; + print " $story->subject\n"; + print " ". $site_url ."discussion.php?id=$story->id\n"; + print "\n"; + } + + print "\n"; + } +} + +?> -- cgit v1.2.3