]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
New feature: add opensearch plugin for browsers.
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Mon, 25 May 2009 10:53:43 +0000 (10:53 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Mon, 25 May 2009 10:53:43 +0000 (10:53 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@334 b3834d28-1941-0410-a4f8-b48e95affb8f

api/opensearch.php [new file with mode: 0644]
api/posts_public.php [new file with mode: 0644]
templates/about.tpl.php

diff --git a/api/opensearch.php b/api/opensearch.php
new file mode 100644 (file)
index 0000000..a6f79f8
--- /dev/null
@@ -0,0 +1,18 @@
+<?php 
+require_once('../header.inc.php');
+header("Content-type: text/xml");
+?>
+
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"\r
+                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">\r
+  <ShortName><?php echo $GLOBALS['sitename']?></ShortName>\r
+  <LongName></LongName>\r
+  <Description><?php echo $GLOBALS['welcomeMessage']?></Description>\r
+  <InputEncoding>UTF-8</InputEncoding>\r
+  <Contact><?php echo $GLOBALS['adminemail']?></Contact>\r
+  <Developer>Jan Seifert "jan.seifert@uid.com"</Developer>\r
+  <Tags>semanticscuttle bookmark web</Tags>\r
+  <Image width="16" height="16">data:image/gif;base64,R0lGODlhEAAQAMZ9ANaPE9mREteTHtSXLdmXIdiXJtaYKdiYJ9iYKNeaLtKdP9CdRd2dLNWfQuWiFMqjX9+hNMykXt6jPOCkPM2oaM+paeCpQuGoR+OqOeKpR+GqS9+uWeSwU+ayS+uzOeWxVeWxWOSyWOu0POazXOS0YOm8Zee8cOy+WOm9a/jBLum+bPbCNurAbe7BYuvBc/LDV/LEV+zEdv/KKf/KLP/KLf/LLuzHe//MNP/NN/nMTv/OOf/OPP/OP/jNW//PPvnOVv/QQv7QRv/QRP/RR/HOhP/SSf/STPnRav/TT//TUPfScf/UUvzUXP/UVP/VV/bTfv/WWf/WW//WXP7XYf/XX//XYP/YZPPVmf/ZZv/ZZ/vYeP/aaf/aa//abP/abf/abvvaef/bb//bcfzbfP/ccv/cc//cdP/cdf/dd//deP/def3egP/ee//efP/efv/ffv/ggf/gg//ghP/ghfrfmv/hif/ii//ijP/jkfzjm//kkv7klv/lmP///////////yH5BAEKAH8ALAAAAAAQABAAAAergH+Cg38hhIeHIFcmiIgDLnt0Go2EE1pyd0QbjQMQDC9bZGprKBcjA4IfAQMrQUhOVFlhaGNPMRl/Aw4yMzc7QkZNUlZdZmASqAJKcW1WPDpARUtQUx0RgyR5fHpzUTU4PkMiqIMVNnh2c25lSTQpAIgqdXJvaWReXz0JiCxwbWhiuGCp8uMAohJszhw5AYMJlBwFEHFoYQHBAwUEMHgwgKjBA0QLKFAaKSgQADs=</Image>\r
+  <Url type="text/html" template="<?php echo $GLOBALS['root']?>search.php/all/{searchTerms}"/>\r
+  <moz:SearchForm><?php echo $GLOBALS['root']?></moz:SearchForm>\r
+</OpenSearchDescription>
diff --git a/api/posts_public.php b/api/posts_public.php
new file mode 100644 (file)
index 0000000..f7aa955
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+// Implements the del.icio.us API request for all a user's posts, optionally filtered by tag.
+
+// del.icio.us behavior:
+// - doesn't include the filtered tag as an attribute on the root element (we do)
+
+// 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, NULL, $tag);
+
+// Set up the XML file and output all the posts.
+header('Content-Type: text/xml');
+echo '<?xml version="1.0" standalone="yes" ?'.">\r\n";
+echo '<posts update="'. gmdate('Y-m-d\TH:i:s\Z') .'" '. (is_null($tag) ? '' : ' tag="'. htmlspecialchars($tag) .'"') .">\r\n";
+
+foreach($bookmarks['bookmarks'] as $row) {
+    if (is_null($row['bDescription']) || (trim($row['bDescription']) == ''))
+        $description = '';
+    else
+        $description = 'extended="'. 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 "\t<post href=\"". filter($row['bAddress'], 'xml') .'" description="'. filter($row['bTitle'], 'xml') .'" '. $description .'hash="'. md5($row['bAddress']) .'" tag="'. filter($taglist, 'xml') .'" time="'. gmdate('Y-m-d\TH:i:s\Z', strtotime($row['bDatetime'])) ."\" />\r\n";
+}
+
+echo '</posts>';
+?>
index 23fd8a982dc88a7246be505ce6f99b1a62bb0577..f6afdf61d17857be07cc24d584dd3bf469186ee3 100644 (file)
@@ -23,6 +23,7 @@ $this->includeTemplate($GLOBALS['top_include']);
 
 <h3><?php echo T_('Tips'); ?></h3>
 <ul>
+<li><?php echo T_('Add search plugin into your browser:'); ?> <a href="" onclick="window.external.AddSearchProvider('<?php echo ROOT?>api/opensearch.php');">opensearch</a></li>
 <li><?php echo T_('The secret tag "system:unfiled" allows you to find bookmarks without tags.'); ?></li>
 <li><?php echo T_('The secret tag "system:imported" allows you to find imported bookmarks.'); ?></li>
 </ul>