diff options
Diffstat (limited to 'modules/export.module')
-rw-r--r-- | modules/export.module | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/modules/export.module b/modules/export.module new file mode 100644 index 000000000..b65fa569b --- /dev/null +++ b/modules/export.module @@ -0,0 +1,87 @@ +<?php + +function export_export_rdf() { + global $status; + + 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>". variable_get(site_name, "drupal") ."</title>\n"; + print " <link>". path_uri() ."</link>\n"; + print " <description>". variable_get(site_name, "drupal") ."</description>\n"; + print "</channel>\n"; + + $result = db_query("SELECT * FROM node WHERE promote = '1' AND status = '$status[posted]' ORDER BY timestamp DESC LIMIT 10"); + + while ($node = db_fetch_object($result)) { + print "<item>\n"; + print " <title>". check_export($node->title) ."</title>\n"; + print " <link>". path_uri() ."node.php?id=$node->nid</link>\n"; + print "</item>\n"; + } + + print "</rdf:RDF>\n"; +} + +function export_export_rss() { + global $status; + + 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://purl.org/rss/1.0/\">\n\n"; + + print "<channel rdf:about=\"". path_uri() ."export/exportsRSS10.rdf\">\n"; + print " <title>". variable_get(site_name, "drupal") ."</title>\n"; + print " <link>". path_uri() ."</link>\n"; + print " <description>". variable_get(site_name, "drupal") ."</description>\n"; + + print " <items>\n"; + print " <rdf:Seq>\n"; + + $result = db_query("SELECT * FROM node WHERE promote = '1' AND status = '$status[posted]' ORDER BY timestamp DESC LIMIT 10"); + + while ($node = db_fetch_object($result)) { + print " <rdf:li resource=\"". path_uri() ."node.php?id=$node->nid\" />\n"; + } + + print " </rdf:Seq>\n"; + print " </items>\n"; + print "</channel>\n\n"; + + $result = db_query("SELECT * FROM node WHERE promote = '1' AND status = '$status[posted]' ORDER BY timestamp DESC LIMIT 10"); + + while ($node = db_fetch_object($result)) { + print "<item rdf:about=\"". path_uri() ."node.php?id=$node->nid\">\n"; + print " <title>". check_export($node->title) ."</title>\n"; + print " <link>". path_uri() ."node.php?id=$node->nid</link>\n"; + + if ($node->abstract) print " <description>". check_output($node->abstract, 1) ."</description>\n"; + if ($node->body) print " <description>". check_output($node->body, 1) ."</description>\n"; + + print "</item>\n"; + } + + print "</rdf:RDF>\n"; +} + +function export_export($query) { + switch ($query) { + case "headlines.rss": + export_export_rss(); + break; + case "headlines.rdf": + case "default": + export_export_rdf(); + } +} + +?> |