summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/backend-rpc.php10
-rw-r--r--prefs.js36
2 files changed, 46 insertions, 0 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 6f70f07a5..b21e161e4 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -516,6 +516,16 @@
return;
}
+ if ($subop == "regenOPMLKey") {
+
+ print "<rpc-reply>";
+ set_pref($link, " _PREFS_OPML_PUBLISH_KEY", generate_publish_key(), $_SESSION["uid"]);
+ $new_link = opml_publish_url($link);
+ print "<link><![CDATA[$new_link]]></link>";
+ print "</rpc-reply>";
+ return;
+ }
+
if ($subop == "logout") {
logout_user();
print_error_xml(6);
diff --git a/prefs.js b/prefs.js
index ee53cf27a..6d5e5a90c 100644
--- a/prefs.js
+++ b/prefs.js
@@ -1672,6 +1672,42 @@ function pubRegenKey() {
return false;
}
+function opmlRegenKey() {
+
+ try {
+ var ok = confirm(__("Replace current OPML publishing address with a new one?"));
+
+ if (ok) {
+
+ notify_progress("Trying to change address...", true);
+
+ var query = "?op=rpc&subop=regenOPMLKey";
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ var new_link = transport.responseXML.getElementsByTagName("link")[0];
+
+ var e = $('pub_opml_url');
+
+ if (new_link) {
+ e.href = new_link.firstChild.nodeValue;
+ e.innerHTML = new_link.firstChild.nodeValue;
+
+ new Effect.Highlight(e);
+
+ notify('');
+
+ } else {
+ notify_error("Could not change feed URL.");
+ }
+ } });
+ }
+ } catch (e) {
+ exception_error("opmlRegenKey", e);
+ }
+ return false;
+}
function validatePrefsSave() {
try {