]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
New feature: export bookmarks into html file for import into browsers
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 3 Apr 2008 14:36:16 +0000 (14:36 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 3 Apr 2008 14:36:16 +0000 (14:36 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@95 b3834d28-1941-0410-a4f8-b48e95affb8f

api/.htaccess
api/export_all.php [new file with mode: 0644]
templates/editprofile.tpl.php

index 0db22543086889e05788459cafc42a5aac5424d4..eac70355918417187f3da41cc2baf55a5056823b 100644 (file)
@@ -8,6 +8,7 @@ RewriteRule ^posts/update posts_update.php
 RewriteRule ^posts/add posts_add.php
 RewriteRule ^posts/delete posts_delete.php
 RewriteRule ^tags/rename tags_rename.php
+RewriteRule ^tags/export export_all.php
 
 
 # Allow PHP_AUTH_USER with CGI script
diff --git a/api/export_all.php b/api/export_all.php
new file mode 100644 (file)
index 0000000..ec14688
--- /dev/null
@@ -0,0 +1,57 @@
+<?php\r
+// Implements the del.icio.us API request for all a user's posts, optionally filtered by tag.\r
+\r
+// del.icio.us behavior:\r
+// - doesn't include the filtered tag as an attribute on the root element (we do)\r
+\r
+// Force HTTP authentication first!
+require_once('httpauth.inc.php');\r
+require_once('../header.inc.php');\r
+\r
+$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');\r
+$userservice =& ServiceFactory::getServiceInstance('UserService');\r
+\r
+// Check to see if a tag was specified.\r
+if (isset($_REQUEST['tag']) && (trim($_REQUEST['tag']) != ''))\r
+    $tag = trim($_REQUEST['tag']);\r
+else\r
+    $tag = NULL;\r
+\r
+// Get the posts relevant to the passed-in variables.\r
+$bookmarks =& $bookmarkservice->getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag, NULL, getSortOrder());\r
+\r
+$currentuser = $userservice->getCurrentUser();\r
+$currentusername = $currentuser[$userservice->getFieldName('username')];\r
+\r
+// Set up the XML file and output all the posts.\r
+header('Content-Type: text/html');\r
+echo '<!DOCTYPE NETSCAPE-Bookmark-file-1>'."\r\n";
+echo '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">';\r
+echo '<!-- This is an automatically generated file. -->'."\r\n";\r
+echo '<TITLE>Bookmarks</TITLE>'."\r\n";\r
+echo '<H1 LAST_MODIFIED="'. date('U') .'">Bookmarks for '. htmlspecialchars($currentusername) .''. (is_null($tag) ? '' : ' tag="'. htmlspecialchars($tag) .'"') ." from " . $sitename ."</H1>\r\n";\r
+echo '<DL><p>'."\r\n";\r
+\r
+\r
+\r
+foreach($bookmarks['bookmarks'] as $row) {\r
+    if (is_null($row['bDescription']) || (trim($row['bDescription']) == ''))\r
+        $description = '';\r
+    else\r
+        $description = 'description="'. filter($row['bDescription'], 'xml') .'" ';\r
+\r
+    $taglist = '';\r
+    if (count($row['tags']) > 0) {\r
+        foreach($row['tags'] as $tag)\r
+            $taglist .= convertTag($tag) .' ';\r
+        $taglist = substr($taglist, 0, -1);\r
+    } else {\r
+        $taglist = 'system:unfiled';\r
+    }\r
+\r
+    echo "\t<dt><a href=\"". filter($row['bAddress'], 'xml') .'" '. $description .' hash="'. md5($row['bAddress']) .'" tags="'. filter($taglist, 'xml') .'" ADD_DATE="'. date('U', strtotime($row['bDatetime'])) ."\" >" . filter($row['bTitle'], 'xml') ."</a>\r\n";\r
+}\r
+\r
+\r
+echo '</DL><p>';\r
+?>\r
index d84fac5d11f1769697d9569efbc469839998d776..8108b2c1d356f67514f8af766acc615c49abcd65 100644 (file)
@@ -4,15 +4,6 @@ $this->includeTemplate($GLOBALS['top_include']);
 
 <form action="<?php echo $formaction; ?>" method="post">
 
-<h3><?php echo T_('Actions'); ?></h3>
-<table class="profile">
-<tr>
-    <th align="left"><?php echo T_('Export'); ?></th>
-    <td>
-       <a href="../api/posts/all"><?php echo T_('All bookmarks')?></a>
-       <?php echo ' &larr; '.T_('Del.icio.us-like API')?>
-    </td>
-</tr>
 </table>
 
 <h3><?php echo T_('Account Details'); ?></h3>
@@ -60,6 +51,19 @@ $this->includeTemplate($GLOBALS['top_include']);
     <td><input type="submit" name="submitted" value="<?php echo T_('Save Changes'); ?>" /></td>
 </tr>
 </table>
+<h3><?php echo T_('Actions'); ?></h3>
+<table class="profile">
+<tr>
+    <th align="left"><?php echo T_('Export bookmarks'); ?></th>
+    <td>
+       <a href="../api/posts/all"><?php echo T_('XML file (for del.icio.us)')?></a> /
+       <a href="../api/export/all"><?php echo T_('HTML file (for browsers)')?></a>
+    </td>
+</tr>
+<tr><th> </th><td> </td></tr>
+<tr><th> </th><td> </td></tr>
+</table>
+
 </form>
 
 <?php