diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 1bf41d29..053cd47d 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -1120,6 +1120,16 @@ return; } + if ($subop == "clearKeys") { + + db_query($link, "DELETE FROM ttrss_access_keys WHERE + owner_uid = " . $_SESSION["uid"]); + + print "OK"; + + return; + } + print "Unknown method: $subop"; } ?> diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index de9166fe..30046ddb 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -1498,6 +1498,8 @@ print " "; + print " "; } diff --git a/prefs.js b/prefs.js index 5ba267b7..33ed8fd7 100644 --- a/prefs.js +++ b/prefs.js @@ -2088,3 +2088,24 @@ function opmlImportHandler(iframe) { exception_error("opml_import_handler", e); } } + +function clearFeedAccessKeys() { + + var ok = confirm(__("This will invalidate all previously generated feed URLs. Continue?")); + + if (ok) { + notify_progress("Clearing URLs..."); + + var query = "?op=rpc&subop=clearKeys"; + + new Ajax.Request("backend.php", { + parameters: query, + onComplete: function(transport) { + notify_info("Generated URLs cleared."); + } }); + } + + return false; +} + +