diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/export_gcs.php | 75 |
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"; +} + +?> |