Add Firefox Social API to the tools. Fixes #101.
This commit is contained in:
parent
569ffb59d4
commit
d33c5d4c3b
3 changed files with 39 additions and 7 deletions
15
index.php
15
index.php
|
@ -309,8 +309,8 @@ function autoLocale()
|
|||
if (preg_match('/([a-z]{2})-?([a-z]{2})?/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) {
|
||||
$loc = $matches[1] . (!empty($matches[2]) ? '_' . strtoupper($matches[2]) : '');
|
||||
$attempts = array($loc.'.UTF-8', $loc, str_replace('_', '-', $loc).'.UTF-8', str_replace('_', '-', $loc),
|
||||
$loc . '_' . strtoupper($loc).'.UTF-8', $loc . '_' . strtoupper($loc),
|
||||
$loc . '_' . $loc.'.UTF-8', $loc . '_' . $loc, $loc . '-' . strtoupper($loc).'.UTF-8',
|
||||
$loc . '_' . strtoupper($loc).'.UTF-8', $loc . '_' . strtoupper($loc),
|
||||
$loc . '_' . $loc.'.UTF-8', $loc . '_' . $loc, $loc . '-' . strtoupper($loc).'.UTF-8',
|
||||
$loc . '-' . strtoupper($loc), $loc . '-' . $loc.'.UTF-8', $loc . '-' . $loc);
|
||||
}
|
||||
}
|
||||
|
@ -1555,7 +1555,7 @@ function renderPage()
|
|||
pubsubhub();
|
||||
|
||||
// If we are called from the bookmarklet, we must close the popup:
|
||||
if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; }
|
||||
if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; }
|
||||
$returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' );
|
||||
$returnurl .= '#'.smallHash($linkdate); // Scroll to the link which has been edited.
|
||||
if (strstr($returnurl, "do=addlink")) { $returnurl = '?'; } //if we come from ?do=addlink, set returnurl to homepage instead
|
||||
|
@ -1567,7 +1567,7 @@ function renderPage()
|
|||
if (isset($_POST['cancel_edit']))
|
||||
{
|
||||
// If we are called from the bookmarklet, we must close the popup:
|
||||
if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; }
|
||||
if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; }
|
||||
$returnurl = ( isset($_POST['returnurl']) ? $_POST['returnurl'] : '?' );
|
||||
$returnurl .= '#'.smallHash($_POST['lf_linkdate']); // Scroll to the link which has been edited.
|
||||
header('Location: '.$returnurl); // After canceling, redirect to the page the user was on.
|
||||
|
@ -1586,7 +1586,7 @@ function renderPage()
|
|||
$LINKSDB->savedb(); // save to disk
|
||||
|
||||
// If we are called from the bookmarklet, we must close the popup:
|
||||
if (isset($_GET['source']) && $_GET['source']=='bookmarklet') { echo '<script>self.close();</script>'; exit; }
|
||||
if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo '<script>self.close();</script>'; exit; }
|
||||
// Pick where we're going to redirect
|
||||
// =============================================================
|
||||
// Basically, we can't redirect to where we were previously if it was a permalink
|
||||
|
@ -1594,7 +1594,7 @@ function renderPage()
|
|||
// Cases:
|
||||
// - / : nothing in $_GET, redirect to self
|
||||
// - /?page : redirect to self
|
||||
// - /?searchterm : redirect to self (there might be other links)
|
||||
// - /?searchterm : redirect to self (there might be other links)
|
||||
// - /?searchtags : redirect to self
|
||||
// - /permalink : redirect to / (the link does not exist anymore)
|
||||
// - /?edit_link : redirect to / (the link does not exist anymore)
|
||||
|
@ -1704,6 +1704,7 @@ function renderPage()
|
|||
$PAGE->assign('link_is_new',$link_is_new);
|
||||
$PAGE->assign('token',getToken()); // XSRF protection.
|
||||
$PAGE->assign('http_referer',(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''));
|
||||
$PAGE->assign('source',(isset($_GET['source']) ? $_GET['source'] : ''));
|
||||
$PAGE->assign('tags', $LINKSDB->allTags());
|
||||
$PAGE->renderPage('editlink');
|
||||
exit;
|
||||
|
@ -1954,7 +1955,7 @@ function buildLinkList($PAGE,$LINKSDB)
|
|||
strlen($link["url"]) === 7) {
|
||||
$link["url"] = indexUrl() . $link["url"];
|
||||
}
|
||||
|
||||
|
||||
$linkDisp[$keys[$i]] = $link;
|
||||
$i++;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
{elseif="$link.description==''"}onload="document.linkform.lf_description.focus();"
|
||||
{else}onload="document.linkform.lf_tags.focus();"{/if} >
|
||||
<div id="pageheader">
|
||||
{if="$source !== 'firefoxsocialapi'"}
|
||||
{include="page.header"}
|
||||
{/if}
|
||||
<div id="editlinkform">
|
||||
<form method="post" name="linkform">
|
||||
<input type="hidden" name="lf_linkdate" value="{$link.linkdate}">
|
||||
|
@ -34,7 +36,9 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{if="$source !== 'firefoxsocialapi'"}
|
||||
{include="page.footer"}
|
||||
{/if}
|
||||
{if="($GLOBALS['config']['OPEN_SHAARLI'] || isLoggedIn())"}
|
||||
<script>
|
||||
$ = Awesomplete.$;
|
||||
|
|
|
@ -12,7 +12,34 @@
|
|||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<div class="clear"></div>
|
||||
|
||||
<script>
|
||||
function activateFirefoxSocial(node) {
|
||||
var loc = location.href;
|
||||
var baseURL = loc.substring(0, loc.lastIndexOf("/"));
|
||||
|
||||
// Keeping the data separated (ie. not in the DOM) so that it's maintainable and diffable.
|
||||
var data = {
|
||||
name: "{$shaarlititle}",
|
||||
description: "The personal, minimalist, super-fast, no-database delicious clone.",
|
||||
author: "Shaarli",
|
||||
version: "1.0.0",
|
||||
|
||||
iconURL: baseURL + "/images/favicon.ico",
|
||||
icon32URL: baseURL + "/images/favicon.ico",
|
||||
icon64URL: baseURL + "/images/favicon.ico",
|
||||
|
||||
shareURL: baseURL + "{noparse}?post=%{url}&title=%{title}&description=%{description}&source=firefoxsocialapi{/noparse}",
|
||||
homepageURL: baseURL
|
||||
};
|
||||
node.setAttribute("data-service", JSON.stringify(data));
|
||||
|
||||
var activate = new CustomEvent("ActivateSocialFeature");
|
||||
node.dispatchEvent(activate);
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
{include="page.footer"}
|
||||
|
|
Loading…
Reference in a new issue