diff options
author | nodiscc <nodiscc@gmail.com> | 2015-05-22 21:04:36 +0200 |
---|---|---|
committer | nodiscc <nodiscc@gmail.com> | 2015-05-22 21:04:36 +0200 |
commit | 8b3c67fccbe7e68b304d3071b1f7a77e0f1fc048 (patch) | |
tree | 939f6c91da5b4f9c87ec7b8b84586519fb40aa00 | |
parent | f5b059254f1bc0311a4a2912502353e77dbad1dc (diff) | |
parent | d33c5d4c3b9c70441391a08e8bcb2a8c639a4635 (diff) | |
download | Shaarli-8b3c67fccbe7e68b304d3071b1f7a77e0f1fc048.tar.gz Shaarli-8b3c67fccbe7e68b304d3071b1f7a77e0f1fc048.tar.zst Shaarli-8b3c67fccbe7e68b304d3071b1f7a77e0f1fc048.zip |
Merge remote-tracking branch 'Marsup/firefox-social' into next
-rw-r--r-- | index.php | 15 | ||||
-rw-r--r-- | tpl/editlink.html | 4 | ||||
-rw-r--r-- | tpl/tools.html | 27 |
3 files changed, 39 insertions, 7 deletions
@@ -309,8 +309,8 @@ function autoLocale() | |||
309 | if (preg_match('/([a-z]{2})-?([a-z]{2})?/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) { | 309 | if (preg_match('/([a-z]{2})-?([a-z]{2})?/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) { |
310 | $loc = $matches[1] . (!empty($matches[2]) ? '_' . strtoupper($matches[2]) : ''); | 310 | $loc = $matches[1] . (!empty($matches[2]) ? '_' . strtoupper($matches[2]) : ''); |
311 | $attempts = array($loc.'.UTF-8', $loc, str_replace('_', '-', $loc).'.UTF-8', str_replace('_', '-', $loc), | 311 | $attempts = array($loc.'.UTF-8', $loc, str_replace('_', '-', $loc).'.UTF-8', str_replace('_', '-', $loc), |
312 | $loc . '_' . strtoupper($loc).'.UTF-8', $loc . '_' . strtoupper($loc), | 312 | $loc . '_' . strtoupper($loc).'.UTF-8', $loc . '_' . strtoupper($loc), |
313 | $loc . '_' . $loc.'.UTF-8', $loc . '_' . $loc, $loc . '-' . strtoupper($loc).'.UTF-8', | 313 | $loc . '_' . $loc.'.UTF-8', $loc . '_' . $loc, $loc . '-' . strtoupper($loc).'.UTF-8', |
314 | $loc . '-' . strtoupper($loc), $loc . '-' . $loc.'.UTF-8', $loc . '-' . $loc); | 314 | $loc . '-' . strtoupper($loc), $loc . '-' . $loc.'.UTF-8', $loc . '-' . $loc); |
315 | } | 315 | } |
316 | } | 316 | } |
@@ -1558,7 +1558,7 @@ function renderPage() | |||
1558 | pubsubhub(); | 1558 | pubsubhub(); |
1559 | 1559 | ||
1560 | // If we are called from the bookmarklet, we must close the popup: | 1560 | // If we are called from the bookmarklet, we must close the popup: |
1561 | if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; } | 1561 | if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; } |
1562 | $returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' ); | 1562 | $returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' ); |
1563 | $returnurl .= '#'.smallHash($linkdate); // Scroll to the link which has been edited. | 1563 | $returnurl .= '#'.smallHash($linkdate); // Scroll to the link which has been edited. |
1564 | if (strstr($returnurl, "do=addlink")) { $returnurl = '?'; } //if we come from ?do=addlink, set returnurl to homepage instead | 1564 | if (strstr($returnurl, "do=addlink")) { $returnurl = '?'; } //if we come from ?do=addlink, set returnurl to homepage instead |
@@ -1570,7 +1570,7 @@ function renderPage() | |||
1570 | if (isset($_POST['cancel_edit'])) | 1570 | if (isset($_POST['cancel_edit'])) |
1571 | { | 1571 | { |
1572 | // If we are called from the bookmarklet, we must close the popup: | 1572 | // If we are called from the bookmarklet, we must close the popup: |
1573 | if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; } | 1573 | if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; } |
1574 | $returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' ); | 1574 | $returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' ); |
1575 | $returnurl .= '#'.smallHash($_POST['lf_linkdate']); // Scroll to the link which has been edited. | 1575 | $returnurl .= '#'.smallHash($_POST['lf_linkdate']); // Scroll to the link which has been edited. |
1576 | header('Location: '.$returnurl); // After canceling, redirect to the page the user was on. | 1576 | header('Location: '.$returnurl); // After canceling, redirect to the page the user was on. |
@@ -1589,7 +1589,7 @@ function renderPage() | |||
1589 | $LINKSDB->savedb(); // save to disk | 1589 | $LINKSDB->savedb(); // save to disk |
1590 | 1590 | ||
1591 | // If we are called from the bookmarklet, we must close the popup: | 1591 | // If we are called from the bookmarklet, we must close the popup: |
1592 | if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; } | 1592 | if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; } |
1593 | // Pick where we're going to redirect | 1593 | // Pick where we're going to redirect |
1594 | // ============================================================= | 1594 | // ============================================================= |
1595 | // Basically, we can't redirect to where we were previously if it was a permalink | 1595 | // Basically, we can't redirect to where we were previously if it was a permalink |
@@ -1597,7 +1597,7 @@ function renderPage() | |||
1597 | // Cases: | 1597 | // Cases: |
1598 | // - / : nothing in $_GET, redirect to self | 1598 | // - / : nothing in $_GET, redirect to self |
1599 | // - /?page : redirect to self | 1599 | // - /?page : redirect to self |
1600 | // - /?searchterm : redirect to self (there might be other links) | 1600 | // - /?searchterm : redirect to self (there might be other links) |
1601 | // - /?searchtags : redirect to self | 1601 | // - /?searchtags : redirect to self |
1602 | // - /permalink : redirect to / (the link does not exist anymore) | 1602 | // - /permalink : redirect to / (the link does not exist anymore) |
1603 | // - /?edit_link : redirect to / (the link does not exist anymore) | 1603 | // - /?edit_link : redirect to / (the link does not exist anymore) |
@@ -1707,6 +1707,7 @@ function renderPage() | |||
1707 | $PAGE->assign('link_is_new',$link_is_new); | 1707 | $PAGE->assign('link_is_new',$link_is_new); |
1708 | $PAGE->assign('token',getToken()); // XSRF protection. | 1708 | $PAGE->assign('token',getToken()); // XSRF protection. |
1709 | $PAGE->assign('http_referer',(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '')); | 1709 | $PAGE->assign('http_referer',(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '')); |
1710 | $PAGE->assign('source',(isset($_GET['source']) ? $_GET['source'] : '')); | ||
1710 | $PAGE->assign('tags', $LINKSDB->allTags()); | 1711 | $PAGE->assign('tags', $LINKSDB->allTags()); |
1711 | $PAGE->renderPage('editlink'); | 1712 | $PAGE->renderPage('editlink'); |
1712 | exit; | 1713 | exit; |
@@ -1957,7 +1958,7 @@ function buildLinkList($PAGE,$LINKSDB) | |||
1957 | strlen($link["url"]) === 7) { | 1958 | strlen($link["url"]) === 7) { |
1958 | $link["url"] = indexUrl() . $link["url"]; | 1959 | $link["url"] = indexUrl() . $link["url"]; |
1959 | } | 1960 | } |
1960 | 1961 | ||
1961 | $linkDisp[$keys[$i]] = $link; | 1962 | $linkDisp[$keys[$i]] = $link; |
1962 | $i++; | 1963 | $i++; |
1963 | } | 1964 | } |
diff --git a/tpl/editlink.html b/tpl/editlink.html index b737b990..0276f088 100644 --- a/tpl/editlink.html +++ b/tpl/editlink.html | |||
@@ -9,7 +9,9 @@ | |||
9 | {elseif="$link.description==''"}onload="document.linkform.lf_description.focus();" | 9 | {elseif="$link.description==''"}onload="document.linkform.lf_description.focus();" |
10 | {else}onload="document.linkform.lf_tags.focus();"{/if} > | 10 | {else}onload="document.linkform.lf_tags.focus();"{/if} > |
11 | <div id="pageheader"> | 11 | <div id="pageheader"> |
12 | {if="$source !== 'firefoxsocialapi'"} | ||
12 | {include="page.header"} | 13 | {include="page.header"} |
14 | {/if} | ||
13 | <div id="editlinkform"> | 15 | <div id="editlinkform"> |
14 | <form method="post" name="linkform"> | 16 | <form method="post" name="linkform"> |
15 | <input type="hidden" name="lf_linkdate" value="{$link.linkdate}"> | 17 | <input type="hidden" name="lf_linkdate" value="{$link.linkdate}"> |
@@ -34,7 +36,9 @@ | |||
34 | </form> | 36 | </form> |
35 | </div> | 37 | </div> |
36 | </div> | 38 | </div> |
39 | {if="$source !== 'firefoxsocialapi'"} | ||
37 | {include="page.footer"} | 40 | {include="page.footer"} |
41 | {/if} | ||
38 | {if="($GLOBALS['config']['OPEN_SHAARLI'] || isLoggedIn())"} | 42 | {if="($GLOBALS['config']['OPEN_SHAARLI'] || isLoggedIn())"} |
39 | <script> | 43 | <script> |
40 | $ = Awesomplete.$; | 44 | $ = Awesomplete.$; |
diff --git a/tpl/tools.html b/tpl/tools.html index e912f615..a3b469de 100644 --- a/tpl/tools.html +++ b/tpl/tools.html | |||
@@ -12,7 +12,34 @@ | |||
12 | <a href="?do=export"><b>Export</b> <span>: Export Netscape html bookmarks (which can be imported in Firefox, Chrome, Opera, delicious...)</span></a><br><br> | 12 | <a href="?do=export"><b>Export</b> <span>: Export Netscape html bookmarks (which can be imported in Firefox, Chrome, Opera, delicious...)</span></a><br><br> |
13 | <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="javascript:javascript:(function(){var%20url%20=%20location.href;var%20title%20=%20document.title%20||%20url;window.open('{$pageabsaddr}?post='%20+%20encodeURIComponent(url)+'&title='%20+%20encodeURIComponent(title)+'&description='%20+%20encodeURIComponent(document.getSelection())+'&source=bookmarklet','_blank','menubar=no,height=390,width=600,toolbar=no,scrollbars=no,status=no,dialog=1');})();"><b>✚Shaare link</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Shaare link" button in any page you want to share.</span></a><br><br> | 13 | <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="javascript:javascript:(function(){var%20url%20=%20location.href;var%20title%20=%20document.title%20||%20url;window.open('{$pageabsaddr}?post='%20+%20encodeURIComponent(url)+'&title='%20+%20encodeURIComponent(title)+'&description='%20+%20encodeURIComponent(document.getSelection())+'&source=bookmarklet','_blank','menubar=no,height=390,width=600,toolbar=no,scrollbars=no,status=no,dialog=1');})();"><b>✚Shaare link</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Shaare link" button in any page you want to share.</span></a><br><br> |
14 | <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="?private=1&post="><b>✚Add Note</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Add Note" button anytime to start composing a (default private) Note (text post) to your Shaarli.</span></a><br><br> | 14 | <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="?private=1&post="><b>✚Add Note</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Add Note" button anytime to start composing a (default private) Note (text post) to your Shaarli.</span></a><br><br> |
15 | <a class="smallbutton" onclick="activateFirefoxSocial(this)"><b>✚Add to Firefox social</b></a> <a href="#" style="clear:none;"><span>⇐ Click on this button to add Shaarli to the "Share this page" button in Firefox.</span></a><br><br> | ||
15 | <div class="clear"></div> | 16 | <div class="clear"></div> |
17 | |||
18 | <script> | ||
19 | function activateFirefoxSocial(node) { | ||
20 | var loc = location.href; | ||
21 | var baseURL = loc.substring(0, loc.lastIndexOf("/")); | ||
22 | |||
23 | // Keeping the data separated (ie. not in the DOM) so that it's maintainable and diffable. | ||
24 | var data = { | ||
25 | name: "{$shaarlititle}", | ||
26 | description: "The personal, minimalist, super-fast, no-database delicious clone.", | ||
27 | author: "Shaarli", | ||
28 | version: "1.0.0", | ||
29 | |||
30 | iconURL: baseURL + "/images/favicon.ico", | ||
31 | icon32URL: baseURL + "/images/favicon.ico", | ||
32 | icon64URL: baseURL + "/images/favicon.ico", | ||
33 | |||
34 | shareURL: baseURL + "{noparse}?post=%{url}&title=%{title}&description=%{description}&source=firefoxsocialapi{/noparse}", | ||
35 | homepageURL: baseURL | ||
36 | }; | ||
37 | node.setAttribute("data-service", JSON.stringify(data)); | ||
38 | |||
39 | var activate = new CustomEvent("ActivateSocialFeature"); | ||
40 | node.dispatchEvent(activate); | ||
41 | } | ||
42 | </script> | ||
16 | </div> | 43 | </div> |
17 | </div> | 44 | </div> |
18 | {include="page.footer"} | 45 | {include="page.footer"} |