@ -1,59 +1,60 @@
<?php
<?php
class Bookmarklets extends Plugin {
class Bookmarklets extends Plugin {
private $host;
private $host;
function about() {
function about() {
return array(1.0,
return array(1.0,
"Easy feed subscription and web page sharing using bookmarklets",
"Easy feed subscription and web page sharing using bookmarklets",
"fox",
"fox",
false,
false,
"https://git.tt-rss.org/fox/tt-rss/wiki/ShareAnything");
"https://git.tt-rss.org/fox/tt-rss/wiki/ShareAnything");
}
}
function init($host) {
function init($host) {
$this->host = $host;
$this->host = $host;
$host->add_hook($host::HOOK_PREFS_TAB, $this);
$host->add_hook($host::HOOK_PREFS_TAB, $this);
}
}
private function subscribe_to_feed_url() {
private function subscribe_to_feed_url() {
$url_path = get_self_url_prefix() .
$url_path = get_self_url_prefix() .
"/public.php?op=subscribe&feed_url=%s";
"/public.php?op=subscribe&feed_url=%s";
return $url_path;
return $url_path;
}
}
function hook_prefs_tab($args) {
function hook_prefs_tab($args) {
if ($args == "prefFeeds") {
if ($args != "prefFeeds")
return;
print "< div dojoType = \"dijit.layout.AccordionPane\"
title=\"< i class = 'material-icons' > bookmark< / i > ".__('Bookmarklets')."\">";
print "< h3 > " . __("Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it.") . "< / h3 > ";
$bm_subscribe_url = str_replace('%s', '', $this->subscribe_to_feed_url());
$confirm_str = str_replace("'", "\'", __('Subscribe to %s in Tiny Tiny RSS?'));
$bm_subscribe_url = htmlspecialchars("javascript:{if(confirm('$confirm_str'.replace('%s',window.location.href)))window.location.href='$bm_subscribe_url'+encodeURIComponent(window.location.href)}");
$bm_subscribe_url = str_replace('%s', '', $this->subscribe_to_feed_url());
$bm_share_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".get_self_url_prefix()."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href); function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=250')){l.href=g;}}a();})()");
?>
$confirm_str = str_replace("'", "\'", __('Subscribe to %s in Tiny Tiny RSS?'));
< div dojoType = "dijit.layout.AccordionPane"
title="< i class = 'material-icons' > bookmark</ i > <? = __ ( 'Bookmarklets' ) ?> ">
$bm_url = htmlspecialchars("javascript:{if(confirm('$confirm_str'.replace('%s',window.location.href)))window.location.href='$bm_subscribe_url'+encodeURIComponent(window.location.href)}");
< h3 > <? = __ ( "Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it." ) ?> </ h3 >
print "< p > < label class = 'dijitButton' > ";
< label class = 'dijitButton' >
print "< a href = \"$bm_url\" > " . __('Subscribe in Tiny Tiny RSS'). "< / a > ";
< a href = " <? = $bm_subscribe_url ?> " > <? = __ ( 'Subscribe in Tiny Tiny RSS' ) ?> </ a >
print "< / label > < / p > ";
< / label >
print "< h3 > " . __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") . "< / h3 > ";
< h3 > <? = __ ( "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS" ) ?> </ h3 >
print "< label class = 'dijitButton' > ";
< label class = 'dijitButton' >
$bm_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".get_self_url_prefix()."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href); function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=250')){l.href=g;}}a();})()");
< a href = " <? = $bm_share_url ?> " > <? = __ ( 'Share with Tiny Tiny RSS' ) ?> </ a >
print "< a href = \"$bm_url\" > " . __('Share with Tiny Tiny RSS'). "< / a > ";
< / label >
print "< / label > ";
print "< button dojoType = 'dijit.form.Button' class = 'alt-info' onclick = 'window.open(\"https://tt-rss.org/wiki/ShareAnything\")' >
<? = \Controls\button_tag ( \Controls\icon ( "help" ) . " " . __ ( "More info..." ), "" ,
< i class = 'material-icons' > help< / i > ".__("More info...")."< / button > ";
["class" => 'alt-info', "onclick" => "window.open('https://tt-rss.org/wiki/ShareAnything')"]) ?>
print " < / div > "; #pane
< / div >
}
<?php
}
}
function api_version() {
function api_version() {
return 2;
return 2;