From d1328321bebadcf8a530d3c05f52a8f3c58bb969 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 21 Feb 2021 15:16:39 +0300 Subject: move published OPML endpoint to public.php --- classes/handler/public.php | 21 +++++++++++++++++++++ classes/opml.php | 9 +++------ classes/pref/feeds.php | 4 ++-- classes/rpc.php | 13 +++++-------- 4 files changed, 31 insertions(+), 16 deletions(-) (limited to 'classes') diff --git a/classes/handler/public.php b/classes/handler/public.php index 8076bb303..b0ce2306d 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -737,6 +737,27 @@ class Handler_Public extends Handler { prepare( "SELECT owner_uid + FROM ttrss_access_keys WHERE + access_key = ? AND feed_id = 'OPML:Publish'"); + $sth->execute([$key]); + + if ($row = $sth->fetch()) { + $owner_uid = $row['owner_uid']; + + $opml = new OPML($_REQUEST); + $opml->opml_export("published.opml", $owner_uid, true, false); + + } else { + header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); + echo "File not found."; + } + } + function cached() { list ($cache_dir, $filename) = explode("/", $_GET["file"], 2); diff --git a/classes/opml.php b/classes/opml.php index 78ddb2842..04d287125 100644 --- a/classes/opml.php +++ b/classes/opml.php @@ -634,13 +634,10 @@ class OPML extends Handler_Protected { print "$msg
"; } - static function opml_publish_url(){ - - $url_path = get_self_url_prefix(); - $url_path .= "/opml.php?op=publish&key=" . + static function get_publish_url(){ + return get_self_url_prefix() . + "/public.php?op=publishOpml&key=" . Feeds::_get_access_key('OPML:Publish', false, $_SESSION["uid"]); - - return $url_path; } function get_feed_category($feed_cat, $parent_cat_id = false) { diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index cf9e7c95e..8d3f84a03 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1329,14 +1329,14 @@ class Pref_Feeds extends Handler_Protected { } function getOPMLKey() { - print json_encode(["link" => OPML::opml_publish_url()]); + print json_encode(["link" => OPML::get_publish_url()]); } function regenOPMLKey() { $this->update_feed_access_key('OPML:Publish', false, $_SESSION["uid"]); - print json_encode(["link" => OPML::opml_publish_url()]); + print json_encode(["link" => OPML::get_publish_url()]); } function regenFeedKey() { diff --git a/classes/rpc.php b/classes/rpc.php index 20a11b994..95fd0f5ae 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -656,12 +656,10 @@ class RPC extends Handler_Protected { "; - - ?> + ?> + -- cgit v1.2.3-54-g00ecf