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 {
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(/\&key=.*$/,
"&key=" + new_link);
$subop = $_REQUEST["subop"];
$seq = (int) $_REQUEST["seq"];
+ // Silent
if ($subop == "setprofile") {
$id = db_escape_string($_REQUEST["id"]);
return;
}
+ // Silent
if ($subop == "remprofiles") {
$ids = split(",", db_escape_string(trim($_REQUEST["ids"])));
return;
}
+ // Silent
if ($subop == "addprofile") {
$title = db_escape_string(trim($_REQUEST["title"]));
if ($title) {
return;
}
+ // Silent
if ($subop == "saveprofile") {
$id = db_escape_string($_REQUEST["id"]);
$title = db_escape_string(trim($_REQUEST["value"]));
return;
}
+ // Silent
if ($subop == "remarchive") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
$rc = db_affected_rows($link, $result);
}
-
return;
}
$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"]);
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;
}
return;
}
+ // Silent
if ($subop == "massSubscribe") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
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"]);
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;
}
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 {
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);