output error message on unknown RPC subop

master
Andrew Dolgov 17 years ago
parent c04206e555
commit 85bd574bb0

@ -615,24 +615,16 @@ function parse_counters(reply, scheduled_call) {
var feeds_found = 0; var feeds_found = 0;
if (reply.firstChild && reply.firstChild.firstChild) { var elems = reply.getElementsByTagName("counter");
debug("<b>wrong element passed to parse_counters, adjusting.</b>");
reply = reply.firstChild;
}
for (var l = 0; l < reply.childNodes.length; l++) { for (var l = 0; l < elems.length; l++) {
if (!reply.childNodes[l] ||
typeof(reply.childNodes[l].getAttribute) == "undefined") {
// where did this come from?
continue;
}
var id = reply.childNodes[l].getAttribute("id"); var id = elems[l].getAttribute("id");
var t = reply.childNodes[l].getAttribute("type"); var t = elems[l].getAttribute("type");
var ctr = reply.childNodes[l].getAttribute("counter"); var ctr = elems[l].getAttribute("counter");
var error = reply.childNodes[l].getAttribute("error"); var error = elems[l].getAttribute("error");
var has_img = reply.childNodes[l].getAttribute("hi"); var has_img = elems[l].getAttribute("hi");
var updated = reply.childNodes[l].getAttribute("updated"); var updated = elems[l].getAttribute("updated");
if (id == "global-unread") { if (id == "global-unread") {
global_unread = ctr; global_unread = ctr;

@ -19,6 +19,7 @@
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "getLabelCounters") { if ($subop == "getLabelCounters") {
@ -31,6 +32,8 @@
} }
print "</counters>"; print "</counters>";
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "getFeedCounters") { if ($subop == "getFeedCounters") {
@ -39,6 +42,8 @@
getFeedCounters($link); getFeedCounters($link);
print "</counters>"; print "</counters>";
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "getAllCounters") { if ($subop == "getAllCounters") {
@ -51,6 +56,8 @@
print "</counters>"; print "</counters>";
print_runtime_info($link); print_runtime_info($link);
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "mark") { if ($subop == "mark") {
@ -76,6 +83,7 @@
} }
print "</counters></rpc-reply>"; print "</counters></rpc-reply>";
return;
} }
if ($subop == "publ") { if ($subop == "publ") {
@ -101,6 +109,7 @@
} }
print "</counters></rpc-reply>"; print "</counters></rpc-reply>";
return;
} }
if ($subop == "updateFeed") { if ($subop == "updateFeed") {
@ -180,6 +189,7 @@
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
/* GET["cmode"] = 0 - mark as read, 1 - as unread, 2 - toggle */ /* GET["cmode"] = 0 - mark as read, 1 - as unread, 2 - toggle */
@ -196,6 +206,8 @@
print "</counters>"; print "</counters>";
print_runtime_info($link); print_runtime_info($link);
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "markSelected") { if ($subop == "markSelected") {
@ -211,6 +223,8 @@
print "</counters>"; print "</counters>";
print_runtime_info($link); print_runtime_info($link);
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "publishSelected") { if ($subop == "publishSelected") {
@ -226,6 +240,8 @@
print "</counters>"; print "</counters>";
print_runtime_info($link); print_runtime_info($link);
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "sanityCheck") { if ($subop == "sanityCheck") {
@ -240,6 +256,8 @@
} }
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "globalPurge") { if ($subop == "globalPurge") {
@ -248,6 +266,7 @@
global_purge_old_posts($link, true); global_purge_old_posts($link, true);
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "getArticleLink") { if ($subop == "getArticleLink") {
@ -263,6 +282,8 @@
} else { } else {
print "<rpc-reply><error>Article not found</error></rpc-reply>"; print "<rpc-reply><error>Article not found</error></rpc-reply>";
} }
return;
} }
if ($subop == "setArticleTags") { if ($subop == "setArticleTags") {
@ -311,6 +332,7 @@
<message>$id</message> <message>$id</message>
</rpc-reply>"; </rpc-reply>";
return;
} }
if ($subop == "regenPubKey") { if ($subop == "regenPubKey") {
@ -325,11 +347,13 @@
print "</rpc-reply>"; print "</rpc-reply>";
return;
} }
if ($subop == "logout") { if ($subop == "logout") {
logout_user(); logout_user();
print_error_xml(6); print_error_xml(6);
return;
} }
if ($subop == "completeTags") { if ($subop == "completeTags") {
@ -347,7 +371,9 @@
} }
print "</ul>"; print "</ul>";
return;
} }
print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>";
} }
?> ?>

Loading…
Cancel
Save