]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
FINALLY get the first opera bookmarklet working, with cleaner code now
authorChristian Weiske <cweiske@cweiske.de>
Mon, 4 Apr 2011 20:07:39 +0000 (22:07 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Mon, 4 Apr 2011 20:07:39 +0000 (22:07 +0200)
data/templates/editbookmark.tpl.php

index 1a74290d76e1aa3794b2498813c060078967cb18..fc03a593e4bb621a9a56389c473d4e420e726dc0 100644 (file)
@@ -247,7 +247,27 @@ if (browser == "Opera") {
     $('#bookmarklet').append(
         '<ul>'
         + '<li>'
-        + '<a class="bookmarklet" href="opera:/button/Go%20to%20page,%20%22javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');location.href=\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d;void 0%22;,,%22Post%20to%20<?php echo htmlspecialchars(jsEscTitle($GLOBALS['sitename'])); ?>%22,%22Scuttle%22"><?php echo jsEscTitle(sprintf(T_('Post to %s'), $GLOBALS['sitename'])); ?></a>'
+        + '<a class="bookmarklet" href="'
+        + '<?php
+function fixOperaButtonName($name) {
+    //yes, opera has problems with double quotes in button names
+    return str_replace('"', "''", $name);
+}
+$popupLink = 'javascript:'
+    . "location.href='"
+        . createURL('bookmarks', $GLOBALS['user'])
+        . '?action=add'
+        . "&address='+encodeURIComponent(document.location.href)+'"
+        . "&title='+encodeURIComponent(document.title)+'"
+        . "&description='+encodeURIComponent(SELECTION)+'"
+        . "';";
+$link = 'opera:/button/Go to page,'
+    . '"' . rawurlencode($popupLink) . '"'
+    . ',,"Post to ' . fixOperaButtonName($GLOBALS['sitename']) . '",'
+    . '"Scuttle"';
+echo jsEscTitle(htmlspecialchars($link));
+?>'.replace('SELECTION', selection)
+        + '"><?php echo jsEscTitle(sprintf(T_('Post to %s'), $GLOBALS['sitename'])); ?></a>'
         + '</li>'
         + '<li>'
         + '<a class="bookmarklet" href="opera:/button/Go%20to%20page,%20%22javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');open(\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&amp;popup=1&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d,\'<?php echo htmlspecialchars(jsEscTitle($GLOBALS['sitename'])); ?>\',\'modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=790,height=465,left=\'+(screen.width-790)/2+\',top=\'+(screen.height-425)/2);void 0;%22,,%22Post%20to%20<?php echo urlencode($GLOBALS['sitename']); ?>%20(Pop-up)%22,%22Scuttle%22"><?php echo jsEscTitle(sprintf(T_('Post to %s (Pop-up)'), $GLOBALS['sitename'])); ?></a>'