summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-29 16:44:50 +0300
committerAndrew Dolgov <[email protected]>2010-11-29 16:44:50 +0300
commit91d16ff193f36a47aee09767faa3487e30915468 (patch)
treeea0fbbd5cf8a91755c81a85ba2c340639b476dda
parenta6fdab2e14e90c9b07e1288a3d6259d76cb99155 (diff)
rpc: mark silent methods, rework verifyRegexp to use JSON
-rw-r--r--functions.js14
-rw-r--r--modules/backend-rpc.php42
-rw-r--r--prefs.js17
3 files changed, 30 insertions, 43 deletions
diff --git a/functions.js b/functions.js
index 615d59fc3..91318b020 100644
--- a/functions.js
+++ b/functions.js
@@ -962,15 +962,12 @@ function quickAddFilter() {
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- handle_rpc_reply(transport);
- var response = transport.responseXML;
+ var reply = JSON.parse(transport.responseText);
- if (response) {
- var s = response.getElementsByTagName("status")[0].firstChild.nodeValue;
-
+ if (reply) {
notify('');
- if (s == "INVALID") {
+ if (!reply['status']) {
alert("Match regular expression seems to be invalid.");
return;
} else {
@@ -1162,14 +1159,13 @@ function genUrlChangeKey(feed, is_cat) {
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- var new_link = transport.responseXML.getElementsByTagName("link")[0];
+ var reply = JSON.parse(transport.responseText);
+ var new_link = reply.link;
var e = $('gen_feed_url');
if (new_link) {
- new_link = new_link.firstChild.nodeValue;
-
e.innerHTML = e.innerHTML.replace(/\&amp;key=.*$/,
"&amp;key=" + new_link);
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 5721eb3c2..b8877da20 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -4,6 +4,7 @@
$subop = $_REQUEST["subop"];
$seq = (int) $_REQUEST["seq"];
+ // Silent
if ($subop == "setprofile") {
$id = db_escape_string($_REQUEST["id"]);
@@ -12,6 +13,7 @@
return;
}
+ // Silent
if ($subop == "remprofiles") {
$ids = split(",", db_escape_string(trim($_REQUEST["ids"])));
@@ -24,6 +26,7 @@
return;
}
+ // Silent
if ($subop == "addprofile") {
$title = db_escape_string(trim($_REQUEST["title"]));
if ($title) {
@@ -54,6 +57,7 @@
return;
}
+ // Silent
if ($subop == "saveprofile") {
$id = db_escape_string($_REQUEST["id"]);
$title = db_escape_string(trim($_REQUEST["value"]));
@@ -85,6 +89,7 @@
return;
}
+ // Silent
if ($subop == "remarchive") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
@@ -96,7 +101,6 @@
$rc = db_affected_rows($link, $result);
}
-
return;
}
@@ -160,8 +164,6 @@
$mark = "false";
}
- // FIXME this needs collision testing
-
$result = db_query($link, "UPDATE ttrss_user_entries SET marked = $mark
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
@@ -417,17 +419,15 @@
return;
}
- // XML method
if ($subop == "regenOPMLKey") {
-
- print "<rpc-reply>";
+ header("Content-Type: text/plain");
update_feed_access_key($link, 'OPML:Publish',
false, $_SESSION["uid"]);
$new_link = opml_publish_url($link);
- print "<link><![CDATA[$new_link]]></link>";
- print "</rpc-reply>";
+
+ print json_encode(array("link" => $new_link));
return;
}
@@ -563,6 +563,7 @@
return;
}
+ // Silent
if ($subop == "massSubscribe") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
@@ -774,22 +775,19 @@
return;
}
- // XML method
if ($subop == "regenFeedKey") {
+ header("Content-Type: text/plain");
+
$feed_id = db_escape_string($_REQUEST['id']);
$is_cat = (bool) db_escape_string($_REQUEST['is_cat']);
- print "<rpc-reply>";
-
$new_key = update_feed_access_key($link, $feed_id, $is_cat);
- print "<link><![CDATA[$new_key]]></link>";
-
- print "</rpc-reply>";
-
+ print json_encode(array("link" => $new_key));
return;
}
+ // Silent
if ($subop == "clearKeys") {
db_query($link, "DELETE FROM ttrss_access_keys WHERE
owner_uid = " . $_SESSION["uid"]);
@@ -797,20 +795,14 @@
return;
}
- // XML method
if ($subop == "verifyRegexp") {
- $reg_exp = $_REQUEST["reg_exp"];
-
- print "<rpc-reply><status>";
+ header("Content-Type: text/plain");
- if (@preg_match("/$reg_exp/i", "TEST") === false) {
- print "INVALID";
- } else {
- print "OK";
- }
+ $reg_exp = $_REQUEST["reg_exp"];
- print "</status></rpc-reply>";
+ $status = @preg_match("/$reg_exp/i", "TEST") !== false;
+ print json_encode(array("status" => $status));
return;
}
diff --git a/prefs.js b/prefs.js
index ea2bf09d3..c88ae2c06 100644
--- a/prefs.js
+++ b/prefs.js
@@ -206,15 +206,12 @@ function editFilter(id) {
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- handle_rpc_reply(transport);
- var response = transport.responseXML;
+ var reply = JSON.parse(transport.responseText);
- if (response) {
- var s = response.getElementsByTagName("status")[0].firstChild.nodeValue;
-
+ if (reply) {
notify('');
- if (s == "INVALID") {
+ if (!reply['status']) {
alert("Match regular expression seems to be invalid.");
return;
} else {
@@ -1248,13 +1245,15 @@ function opmlRegenKey() {
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- var new_link = transport.responseXML.getElementsByTagName("link")[0];
+ var reply = JSON.parse(transport.responseText);
+
+ var new_link = reply.link;
var e = $('pub_opml_url');
if (new_link) {
- e.href = new_link.firstChild.nodeValue;
- e.innerHTML = new_link.firstChild.nodeValue;
+ e.href = new_link;
+ e.innerHTML = new_link;
new Effect.Highlight(e);