SemanticScuttle/www/api/export_gcs.php

84 lines
2.3 KiB
PHP
Raw Normal View History

<?php
2011-01-24 07:04:08 +00:00
/**
* Export for Google Custom Search
*
* PHP version 5.
*
* @category Bookmarking
* @package SemanticScuttle
* @author Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
* @author Christian Weiske <cweiske@cweiske.de>
* @author Eric Dane <ericdane@users.sourceforge.net>
* @license GPL http://www.gnu.org/licenses/gpl.html
* @link http://sourceforge.net/projects/semanticscuttle
*/
// Force HTTP authentication first!
//require_once('httpauth.inc.php');
2011-01-24 07:04:08 +00:00
$httpContentType = false;
require_once '../www-header.php';
2011-01-24 07:04:08 +00:00
if ($GLOBALS['enableGoogleCustomSearch'] == false) {
echo "Google Custom Search disabled. " .
"You can enable it into the config.php file.";
die;
}
/* Service creation: only useful services are created */
2011-01-24 07:04:08 +00:00
$bookmarkservice = SemanticScuttle_Service_Factory::get('Bookmark');
/*
// Restrict to admins?
if(!$userservice->isAdmin($userservice->getCurrentUserId())) {
die(T_('You are not allowed to do this action (admin access)'));
}*/
// Check if queried format is xml
2011-01-24 07:04:08 +00:00
if (isset($_REQUEST['xml']) && (trim($_REQUEST['xml']) == 1)) {
$xml = true;
} else {
$xml = false;
}
// Check to see if a tag was specified.
2011-01-24 07:04:08 +00:00
if (isset($_REQUEST['tag']) && (trim($_REQUEST['tag']) != '')) {
$tag = trim($_REQUEST['tag']);
} else {
$tag = null;
}
// Get the posts relevant to the passed-in variables.
2011-01-24 07:04:08 +00:00
$bookmarks =& $bookmarkservice->getBookmarks(
0, null, null, $tag, null, getSortOrder()
);
// Set up the plain file and output all the posts.
header('Content-Type: text/plain; charset=utf-8');
2011-01-24 07:04:08 +00:00
if (!$xml) {
header('Content-Type: text/plain');
foreach ($bookmarks['bookmarks'] as $row) {
if (checkUrl($row['bAddress'], false)) {
echo $row['bAddress']."\n";
}
}
} else {
2011-01-24 07:04:08 +00:00
header('Content-Type: text/xml');
echo '<GoogleCustomizations>'."\n";
echo ' <Annotations>'."\n";
foreach ($bookmarks['bookmarks'] as $row) {
//if(substr($row['bAddress'], 0, 7) == "http://") {
if (checkUrl($row['bAddress'], false)) {
echo ' <Annotation about="'.filter($row['bAddress']).'">'."\n";
echo ' <Label name="include"/>'."\n";
echo ' </Annotation>'."\n";
}
}
echo ' </Annotations>'."\n";
echo '</GoogleCustomizations>'."\n";
}
?>