diff options
author | Andrew Dolgov <[email protected]> | 2021-10-10 22:08:17 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-10-10 22:08:17 +0300 |
commit | 145fc3162526e221c9092df6df414a9b1465dd58 (patch) | |
tree | 0e7033af8d2c3200c199bcd1698a0c441d1d2f80 | |
parent | 949e2ab4d283244594414fa09d100187865c0657 (diff) |
feed tree context menu: add an entry to open originating website
-rwxr-xr-x | classes/feeds.php | 17 | ||||
-rwxr-xr-x | js/FeedTree.js | 9 |
2 files changed, 26 insertions, 0 deletions
diff --git a/classes/feeds.php b/classes/feeds.php index 348c42c9e..7b6b35645 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -587,6 +587,23 @@ class Feeds extends Handler_Protected { ]); } + function opensite() { + $feed = ORM::for_table('ttrss_feeds') + ->find_one((int)$_REQUEST['feed_id']); + + if ($feed) { + $site_url = UrlHelper::validate($feed->site_url); + + if ($site_url) { + header("Location: $site_url"); + return; + } + } + + header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); + print "Feed not found or has an empty site URL."; + } + function updatedebugger() { header("Content-type: text/html"); diff --git a/js/FeedTree.js b/js/FeedTree.js index e0c44e2b5..f6c44a71e 100755 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -102,6 +102,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co }})); menu.addChild(new dijit.MenuItem({ + label: __("Open site"), + onClick: function() { + App.postOpenWindow("backend.php", {op: "feeds", method: "opensite", + feed_id: this.getParent().row_id, csrf_token: __csrf_token}); + }})); + + menu.addChild(new dijit.MenuSeparator()); + + menu.addChild(new dijit.MenuItem({ label: __("Debug feed"), onClick: function() { /* global __csrf_token */ |