summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-18 13:16:55 +0300
committerAndrew Dolgov <[email protected]>2021-02-18 13:16:55 +0300
commita2c75257f191d218dae6de8e5e4ad240a0588654 (patch)
treeb29088f2aa36b5f967da946566ac4e3eca152950
parent75435aa960997fb4aa7a13c1a084ab3c53111e73 (diff)
bookmarklets: cleanup
-rwxr-xr-xinclude/controls.php6
-rw-r--r--plugins/bookmarklets/init.php71
2 files changed, 41 insertions, 36 deletions
diff --git a/include/controls.php b/include/controls.php
index d8506877b..a60b1e0b0 100755
--- a/include/controls.php
+++ b/include/controls.php
@@ -23,7 +23,7 @@
}
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 = []) {
@@ -34,6 +34,10 @@
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 = "") {
$attributes_str = attributes_to_string($attributes);
$dojo_type = strpos($attributes_str, "dojoType") === false ? "dojoType='fox.form.Select'" : "";
diff --git a/plugins/bookmarklets/init.php b/plugins/bookmarklets/init.php
index 9e0f8f348..a9dc3e69d 100644
--- a/plugins/bookmarklets/init.php
+++ b/plugins/bookmarklets/init.php
@@ -1,59 +1,60 @@
<?php
class Bookmarklets extends Plugin {
- private $host;
-
- function about() {
- return array(1.0,
- "Easy feed subscription and web page sharing using bookmarklets",
- "fox",
- false,
- "https://git.tt-rss.org/fox/tt-rss/wiki/ShareAnything");
+ private $host;
+
+ function about() {
+ return array(1.0,
+ "Easy feed subscription and web page sharing using bookmarklets",
+ "fox",
+ false,
+ "https://git.tt-rss.org/fox/tt-rss/wiki/ShareAnything");
}
- function init($host) {
- $this->host = $host;
+ function init($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() .
"/public.php?op=subscribe&feed_url=%s";
return $url_path;
}
- function hook_prefs_tab($args) {
- if ($args == "prefFeeds") {
-
- print "<div dojoType=\"dijit.layout.AccordionPane\"
- title=\"<i class='material-icons'>bookmark</i> ".__('Bookmarklets')."\">";
+ function hook_prefs_tab($args) {
+ if ($args != "prefFeeds")
+ return;
- 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'>";
- print "<a href=\"$bm_url\">" . __('Subscribe in Tiny Tiny RSS'). "</a>";
- print "</label></p>";
+ <label class='dijitButton'>
+ <a href="<?= $bm_subscribe_url ?>"><?= __('Subscribe in Tiny Tiny RSS') ?></a>
+ </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'>";
- $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();})()");
- print "<a href=\"$bm_url\">" . __('Share with Tiny Tiny RSS'). "</a>";
- print "</label>";
+ <label class='dijitButton'>
+ <a href="<?= $bm_share_url ?>"><?= __('Share with Tiny Tiny RSS') ?></a>
+ </label>
- print "<button dojoType='dijit.form.Button' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/ShareAnything\")'>
- <i class='material-icons'>help</i> ".__("More info...")."</button>";
+ <?= \Controls\button_tag(\Controls\icon("help") . " " . __("More info..."), "",
+ ["class" => 'alt-info', "onclick" => "window.open('https://tt-rss.org/wiki/ShareAnything')"]) ?>
- print "</div>"; #pane
+ </div>
- }
- }
+ <?php
+ }
function api_version() {
return 2;