diff options
Diffstat (limited to 'api')
| -rw-r--r-- | api/.htaccess | 1 | ||||
| -rw-r--r-- | api/export_csv.php | 47 | 
2 files changed, 48 insertions, 0 deletions
| diff --git a/api/.htaccess b/api/.htaccess index 9553254..dc20db5 100644 --- a/api/.htaccess +++ b/api/.htaccess @@ -13,6 +13,7 @@ RewriteRule ^posts/update posts_update.php  RewriteRule ^posts/add posts_add.php  RewriteRule ^posts/delete posts_delete.php  RewriteRule ^export/html export_html.php +RewriteRule ^export/csv export_csv.php  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]  </IfModule> diff --git a/api/export_csv.php b/api/export_csv.php new file mode 100644 index 0000000..d9d824b --- /dev/null +++ b/api/export_csv.php @@ -0,0 +1,47 @@ +<?php
 +// Export in CSV format in order to allow the import into a spreadsheet tool like Excel
 +
 +// Force HTTP authentication first! +require_once('httpauth.inc.php');
 +require_once('../header.inc.php');
 + +/* Service creation: only useful services are created */
 +$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
 +
 +// 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, $userservice->getCurrentUserId(), $tag, NULL, getSortOrder());
 +
 +header("Content-Type: application/csv-tab-delimited-table"); +header("Content-disposition: filename=exportBookmarks.csv");
 +
 +//columns titles +echo 'url,title,tags,description'; +echo "\n";
 +
 +foreach($bookmarks['bookmarks'] as $row) {
 +    if (is_null($row['bDescription']) || (trim($row['bDescription']) == ''))
 +        $description = '';
 +    else
 +        $description = filter($row['bDescription'], 'xml');
 +
 +    $taglist = '';
 +    if (count($row['tags']) > 0) {
 +        foreach($row['tags'] as $tag)
 +            $taglist .= convertTag($tag) .',';
 +        $taglist = substr($taglist, 0, -1);
 +    } else {
 +        $taglist = 'system:unfiled';
 +    }
 +
 +    echo '"'.filter($row['bAddress'], 'xml') .'","'. filter($row['bTitle'], 'xml') .'","'. filter($taglist, 'xml') .'","'. $description .'"'; +    echo "\n";
 +}
 +
 +
 +?>
 | 
