pass a bunch of related arrays properly to backend

This commit is contained in:
Andrew Dolgov 2021-02-24 12:07:25 +03:00
parent 96182597c4
commit 155e4f6125
3 changed files with 9 additions and 21 deletions

View File

@ -73,10 +73,7 @@ class RPC extends Handler_Protected {
}
function getAllCounters() {
$feed_ids = array_map("intval",
explode(",",
clean($_REQUEST["feed_ids"])));
$feed_ids = array_map("intval", clean($_REQUEST["feed_ids"] ?? []));
@$seq = (int) $_REQUEST['seq'];
// @phpstan-ignore-next-line
@ -95,10 +92,7 @@ class RPC extends Handler_Protected {
/* GET["cmode"] = 0 - mark as read, 1 - as unread, 2 - toggle */
function catchupSelected() {
$ids = array_map("intval",
explode(",",
clean($_REQUEST["ids"])));
$ids = array_map("intval", clean($_REQUEST["ids"] ?? []));
$cmode = (int)clean($_REQUEST["cmode"]);
Article::_catchup_by_id($ids, $cmode);
@ -107,10 +101,7 @@ class RPC extends Handler_Protected {
}
function markSelected() {
$ids = array_map("intval",
explode(",",
clean($_REQUEST["ids"])));
$ids = array_map("intval", clean($_REQUEST["ids"] ?? []));
$cmode = (int)clean($_REQUEST["cmode"]);
$this->markArticlesById($ids, $cmode);
@ -119,10 +110,7 @@ class RPC extends Handler_Protected {
}
function publishSelected() {
$ids = array_map("intval",
explode(",",
clean($_REQUEST["ids"])));
$ids = array_map("intval", clean($_REQUEST["ids"] ?? []));
$cmode = (int)clean($_REQUEST["cmode"]);
$this->publishArticlesById($ids, $cmode);

View File

@ -134,7 +134,7 @@ const Feeds = {
this.reloadCurrent();
},
requestCounters: function(feed_ids = null) {
xhr.json("backend.php", {op: "rpc", method: "getAllCounters", feed_ids: feed_ids, seq: App.next_seq()}, () => {
xhr.json("backend.php", {op: "rpc", method: "getAllCounters", "feed_ids[]": feed_ids, seq: App.next_seq()}, () => {
//
});
},

View File

@ -150,19 +150,19 @@ const Headlines = {
if (ops.tmark.length != 0)
promises.push(xhr.post("backend.php",
{op: "rpc", method: "markSelected", ids: ops.tmark.toString(), cmode: 2}));
{op: "rpc", method: "markSelected", "ids[]": ops.tmark, cmode: 2}));
if (ops.tpub.length != 0)
promises.push(xhr.post("backend.php",
{op: "rpc", method: "publishSelected", ids: ops.tpub.toString(), cmode: 2}));
{op: "rpc", method: "publishSelected", "ids[]": ops.tpub, cmode: 2}));
if (ops.read.length != 0)
promises.push(xhr.post("backend.php",
{op: "rpc", method: "catchupSelected", ids: ops.read.toString(), cmode: 0}));
{op: "rpc", method: "catchupSelected", "ids[]": ops.read, cmode: 0}));
if (ops.unread.length != 0)
promises.push(xhr.post("backend.php",
{op: "rpc", method: "catchupSelected", ids: ops.unread.toString(), cmode: 1}));
{op: "rpc", method: "catchupSelected", "ids[]": ops.unread, cmode: 1}));
const scores = Object.keys(ops.rescore);