$module = array("page" => "headline_page",
"cron" => "headline_cron",
"help" => "headline_help",
"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";
// 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";
if ($state % 3 == 2) print "
\n";
$state += 1;
}
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_help() {
?>
The headline module both imports and exports RDF/RSS headlines.
}
function headline_block() {
$result = db_query("SELECT * FROM channel");
while ($channel = db_fetch_object($result)) {
$backend = new Backend($channel->id);
$content = "";
if ($backend->headline) {
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 .= " site | contact | last update | operations | \n";
while ($channel = db_fetch_object($result)) {
// Load backend from database:
$backend = new backend($channel->id);
$output .= "\n";
$output .= " url\">$backend->site | \n";
$output .= " contact\">$backend->contact | \n";
$output .= " ". format_interval(time() - $backend->timestamp) ." ago | \n";
$output .= " id\">refresh | \n";
$output .= " id\">delete | \n";
$output .= "
\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->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") {
watchdog("message", "grabbed '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";
}
}
?>