bookmarklets: cleanup
This commit is contained in:
parent
75435aa960
commit
a2c75257f1
|
@ -23,7 +23,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function button_tag(string $value, string $type, array $attributes = []) {
|
function button_tag(string $value, string $type, array $attributes = []) {
|
||||||
return "<button dojoType=\"dijit.form.Button\" ".attributes_to_string($attributes)." type=\"$type\">".htmlspecialchars($value)."</button>";
|
return "<button dojoType=\"dijit.form.Button\" ".attributes_to_string($attributes)." type=\"$type\">$value</button>";
|
||||||
}
|
}
|
||||||
|
|
||||||
function submit_tag(string $value, array $attributes = []) {
|
function submit_tag(string $value, array $attributes = []) {
|
||||||
|
@ -34,6 +34,10 @@
|
||||||
return button_tag($value, "", array_merge(["onclick" => "App.dialogOf(this).hide()"], $attributes));
|
return button_tag($value, "", array_merge(["onclick" => "App.dialogOf(this).hide()"], $attributes));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function icon(string $icon, array $attributes = []) {
|
||||||
|
return "<i class=\"material-icons\" ".attributes_to_string($attributes).">$icon</i>";
|
||||||
|
}
|
||||||
|
|
||||||
function select_tag(string $name, $value, array $values, array $attributes = [], string $id = "") {
|
function select_tag(string $name, $value, array $values, array $attributes = [], string $id = "") {
|
||||||
$attributes_str = attributes_to_string($attributes);
|
$attributes_str = attributes_to_string($attributes);
|
||||||
$dojo_type = strpos($attributes_str, "dojoType") === false ? "dojoType='fox.form.Select'" : "";
|
$dojo_type = strpos($attributes_str, "dojoType") === false ? "dojoType='fox.form.Select'" : "";
|
||||||
|
|
|
@ -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\"
|
$bm_subscribe_url = str_replace('%s', '', $this->subscribe_to_feed_url());
|
||||||
title=\"<i class='material-icons'>bookmark</i> ".__('Bookmarklets')."\">";
|
$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)}");
|
||||||
|
|
||||||
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_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();})()");
|
||||||
|
?>
|
||||||
|
|
||||||
$bm_subscribe_url = str_replace('%s', '', $this->subscribe_to_feed_url());
|
<div dojoType="dijit.layout.AccordionPane"
|
||||||
|
title="<i class='material-icons'>bookmark</i> <?= __('Bookmarklets') ?>">
|
||||||
|
|
||||||
$confirm_str = str_replace("'", "\'", __('Subscribe to %s in Tiny Tiny RSS?'));
|
<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_url = htmlspecialchars("javascript:{if(confirm('$confirm_str'.replace('%s',window.location.href)))window.location.href='$bm_subscribe_url'+encodeURIComponent(window.location.href)}");
|
<label class='dijitButton'>
|
||||||
|
<a href="<?= $bm_subscribe_url ?>"><?= __('Subscribe in Tiny Tiny RSS') ?></a>
|
||||||
|
</label>
|
||||||
|
|
||||||
print "<p><label class='dijitButton'>";
|
<h3><?= __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") ?></h3>
|
||||||
print "<a href=\"$bm_url\">" . __('Subscribe in Tiny Tiny RSS'). "</a>";
|
|
||||||
print "</label></p>";
|
|
||||||
|
|
||||||
print "<h3>" . __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") . "</h3>";
|
<label class='dijitButton'>
|
||||||
|
<a href="<?= $bm_share_url ?>"><?= __('Share with Tiny Tiny RSS') ?></a>
|
||||||
|
</label>
|
||||||
|
|
||||||
print "<label class='dijitButton'>";
|
<?= \Controls\button_tag(\Controls\icon("help") . " " . __("More info..."), "",
|
||||||
$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();})()");
|
["class" => 'alt-info', "onclick" => "window.open('https://tt-rss.org/wiki/ShareAnything')"]) ?>
|
||||||
print "<a href=\"$bm_url\">" . __('Share with Tiny Tiny RSS'). "</a>";
|
|
||||||
print "</label>";
|
|
||||||
|
|
||||||
print "<button dojoType='dijit.form.Button' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/ShareAnything\")'>
|
</div>
|
||||||
<i class='material-icons'>help</i> ".__("More info...")."</button>";
|
|
||||||
|
|
||||||
print "</div>"; #pane
|
<?php
|
||||||
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function api_version() {
|
function api_version() {
|
||||||
return 2;
|
return 2;
|
||||||
|
|
Loading…
Reference in New Issue