aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/export_gcs.php75
1 files changed, 47 insertions, 28 deletions
diff --git a/api/export_gcs.php b/api/export_gcs.php
index c8bf59d..48d51c1 100644
--- a/api/export_gcs.php
+++ b/api/export_gcs.php
@@ -1,13 +1,13 @@
<?php
/*
Export for Google Custom Search
-*/
-
+*/
+
// Force HTTP authentication first!
-//require_once('httpauth.inc.php');
-require_once('../header.inc.php');
-
-$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
+//require_once('httpauth.inc.php');
+require_once('../header.inc.php');
+
+$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
$userservice =& ServiceFactory::getServiceInstance('UserService');
/*
@@ -16,25 +16,44 @@ if(!$userservice->isAdmin($userservice->getCurrentUserId())) {
die(T_('You are not allowed to do this action (admin access)'));
}*/
-
-
-// Check to see if a tag was specified.
-if (isset($_REQUEST['tag']) && (trim($_REQUEST['tag']) != ''))
- $tag = trim($_REQUEST['tag']);
-else
- $tag = NULL;
-
-// Get the posts relevant to the passed-in variables.
-$bookmarks =& $bookmarkservice->getBookmarks(0, NULL, NULL, $tag, NULL, getSortOrder());
-
-$currentuser = $userservice->getCurrentUser();
-$currentusername = $currentuser[$userservice->getFieldName('username')];
-
-// Set up the plain file and output all the posts.
-header('Content-Type: text/plain');
-foreach($bookmarks['bookmarks'] as $row) {
- echo $row['bAddress']."\n";
-}
-
-
-?>
+// Check if queried format is xml
+if (isset($_REQUEST['xml']) && (trim($_REQUEST['xml']) == 1))
+ $xml = true;
+else
+ $xml = false;
+
+// Check to see if a tag was specified.
+if (isset($_REQUEST['tag']) && (trim($_REQUEST['tag']) != ''))
+ $tag = trim($_REQUEST['tag']);
+else
+ $tag = NULL;
+
+// Get the posts relevant to the passed-in variables.
+$bookmarks =& $bookmarkservice->getBookmarks(0, NULL, NULL, $tag, NULL, getSortOrder());
+
+$currentuser = $userservice->getCurrentUser();
+$currentusername = $currentuser[$userservice->getFieldName('username')];
+
+// Set up the plain file and output all the posts.
+header('Content-Type: text/plain');
+if(!$xml) {
+ header('Content-Type: text/plain');
+ foreach($bookmarks['bookmarks'] as $row) {
+ echo $row['bAddress']."\n";
+ }
+} else {
+ header('Content-Type: application/xml');
+ echo '<GoogleCustomizations>'."\n";
+ echo ' <Annotations>'."\n";
+ foreach($bookmarks['bookmarks'] as $row) {
+ if(substr($row['bAddress'], 0, 7) == "http://") {
+ echo ' <Annotation about="'.filter($row['bAddress']).'">'."\n";
+ echo ' <Label name="include"/>'."\n";
+ echo ' </Annotation>'."\n";
+ }
+ }
+ echo ' </Annotations>'."\n";
+ echo '</GoogleCustomizations>'."\n";
+}
+
+?>