summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-10-10 22:08:17 +0300
committerAndrew Dolgov <[email protected]>2021-10-10 22:08:17 +0300
commit145fc3162526e221c9092df6df414a9b1465dd58 (patch)
tree0e7033af8d2c3200c199bcd1698a0c441d1d2f80
parent949e2ab4d283244594414fa09d100187865c0657 (diff)
feed tree context menu: add an entry to open originating website
-rwxr-xr-xclasses/feeds.php17
-rwxr-xr-xjs/FeedTree.js9
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 */