summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-08-20 15:07:17 +0100
committerAndrew Dolgov <[email protected]>2007-08-20 15:07:17 +0100
commit85bd574bb0910f5c68b159f8bc28b885439394bd (patch)
treeeee70700b6904492e98ddd6bd4719f871d6a7c66
parentc04206e55560f8e8e70a01407d228d44646e6b05 (diff)
output error message on unknown RPC subop
-rw-r--r--functions.js24
-rw-r--r--modules/backend-rpc.php26
2 files changed, 34 insertions, 16 deletions
diff --git a/functions.js b/functions.js
index a33302063..c99bfae62 100644
--- a/functions.js
+++ b/functions.js
@@ -615,24 +615,16 @@ function parse_counters(reply, scheduled_call) {
var feeds_found = 0;
- if (reply.firstChild && reply.firstChild.firstChild) {
- debug("<b>wrong element passed to parse_counters, adjusting.</b>");
- reply = reply.firstChild;
- }
+ var elems = reply.getElementsByTagName("counter");
- for (var l = 0; l < reply.childNodes.length; l++) {
- if (!reply.childNodes[l] ||
- typeof(reply.childNodes[l].getAttribute) == "undefined") {
- // where did this come from?
- continue;
- }
+ for (var l = 0; l < elems.length; l++) {
- var id = reply.childNodes[l].getAttribute("id");
- var t = reply.childNodes[l].getAttribute("type");
- var ctr = reply.childNodes[l].getAttribute("counter");
- var error = reply.childNodes[l].getAttribute("error");
- var has_img = reply.childNodes[l].getAttribute("hi");
- var updated = reply.childNodes[l].getAttribute("updated");
+ var id = elems[l].getAttribute("id");
+ var t = elems[l].getAttribute("type");
+ var ctr = elems[l].getAttribute("counter");
+ var error = elems[l].getAttribute("error");
+ var has_img = elems[l].getAttribute("hi");
+ var updated = elems[l].getAttribute("updated");
if (id == "global-unread") {
global_unread = ctr;
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 3a30543dd..6d3ceedfd 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -19,6 +19,7 @@
print "</rpc-reply>";
+ return;
}
if ($subop == "getLabelCounters") {
@@ -31,6 +32,8 @@
}
print "</counters>";
print "</rpc-reply>";
+
+ return;
}
if ($subop == "getFeedCounters") {
@@ -39,6 +42,8 @@
getFeedCounters($link);
print "</counters>";
print "</rpc-reply>";
+
+ return;
}
if ($subop == "getAllCounters") {
@@ -51,6 +56,8 @@
print "</counters>";
print_runtime_info($link);
print "</rpc-reply>";
+
+ return;
}
if ($subop == "mark") {
@@ -76,6 +83,7 @@
}
print "</counters></rpc-reply>";
+ return;
}
if ($subop == "publ") {
@@ -101,6 +109,7 @@
}
print "</counters></rpc-reply>";
+ return;
}
if ($subop == "updateFeed") {
@@ -180,6 +189,7 @@
print "</rpc-reply>";
+ return;
}
/* GET["cmode"] = 0 - mark as read, 1 - as unread, 2 - toggle */
@@ -196,6 +206,8 @@
print "</counters>";
print_runtime_info($link);
print "</rpc-reply>";
+
+ return;
}
if ($subop == "markSelected") {
@@ -211,6 +223,8 @@
print "</counters>";
print_runtime_info($link);
print "</rpc-reply>";
+
+ return;
}
if ($subop == "publishSelected") {
@@ -226,6 +240,8 @@
print "</counters>";
print_runtime_info($link);
print "</rpc-reply>";
+
+ return;
}
if ($subop == "sanityCheck") {
@@ -240,6 +256,8 @@
}
print "</rpc-reply>";
+
+ return;
}
if ($subop == "globalPurge") {
@@ -248,6 +266,7 @@
global_purge_old_posts($link, true);
print "</rpc-reply>";
+ return;
}
if ($subop == "getArticleLink") {
@@ -263,6 +282,8 @@
} else {
print "<rpc-reply><error>Article not found</error></rpc-reply>";
}
+
+ return;
}
if ($subop == "setArticleTags") {
@@ -311,6 +332,7 @@
<message>$id</message>
</rpc-reply>";
+ return;
}
if ($subop == "regenPubKey") {
@@ -325,11 +347,13 @@
print "</rpc-reply>";
+ return;
}
if ($subop == "logout") {
logout_user();
print_error_xml(6);
+ return;
}
if ($subop == "completeTags") {
@@ -347,7 +371,9 @@
}
print "</ul>";
+ return;
}
+ print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>";
}
?>