%PDF- %PDF-
Direktori : /data/www_bck/varak.net_bck/gnufm.varak.net/ |
Current File : //data/www_bck/varak.net_bck/gnufm.varak.net/rdf.php |
<?php /* GNU FM -- a free network service for sharing your music listening habits Copyright (C) 2009 Free Software Foundation, Inc This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ require_once('config.php'); require_once('utils/arc/ARC2.php'); $page = $_GET['page']; $fmt = $_GET['fmt']; if (empty($fmt)) { $fmt = 'xml'; } if (empty($page)) { die('Required parameter \'page\' not provided.'); } $parser = ARC2::getSemHTMLParser(array('sem_html_formats' => 'rdfa')); $parser->parse($base_url . $page); $index = $parser->getSimpleIndex(0); $conf = array( 'ns' => array( 'xhv' => 'http://www.w3.org/1999/xhtml/vocab#', 'dc' => 'http://purl.org/dc/terms/', 'foaf' => 'http://xmlns.com/foaf/0.1/', 'bio' => 'http://purl.org/vocab/bio/0.1/', 'sioc' => 'http://rdfs.org/sioc/ns#', 'rdfs' => 'http://www.w3.org/2000/01/rdf-schema#', 'gob' => 'http://purl.org/ontology/last-fm/', 'mo' => 'http://purl.org/ontology/mo/', 'rss' => 'http://purl.org/rss/1.0/' ) ); switch ($fmt) { case 'xml' : header('Content-Type: application/rdf+xml'); $ser = ARC2::getRDFXMLSerializer($conf); break; case 'ttl' : header('Content-Type: application/x-turtle'); $ser = ARC2::getTurtleSerializer($conf); break; case 'rss' : header('Content-Type: application/rss+xml'); $ser = ARC2::getRSS10Serializer($conf); break; case 'json' : if ($_GET['callback']) { header('Content-Type: text/javascript'); } else { header('Content-Type: application/json'); } $ser = ARC2::getRDFJSONSerializer($conf); break; case 'nt' : header('Content-Type: text/plain'); $ser = ARC2::getNTriplesSerializer($conf); break; } if (isset($_GET['callback'])) { print $_GET['callback'] . '('; } print $ser->getSerializedIndex($index); if ($_GET['callback']) { print ');'; }