optimize mark selected function

master
Andrew Dolgov 18 years ago
parent 472782e8bf
commit 18eddb2cb9

@ -164,25 +164,10 @@
if ($subop == "markSelected") { if ($subop == "markSelected") {
$ids = split(",", db_escape_string($_GET["ids"])); $ids = split(",", db_escape_string($_GET["ids"]));
$cmode = sprintf("%d", $_GET["cmode"]); $cmode = sprintf("%d", $_GET["cmode"]);
foreach ($ids as $id) { markArticlesById($link, $ids, $cmode);
if ($cmode == 0) {
db_query($link, "UPDATE ttrss_user_entries SET
marked = false
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
} else if ($cmode == 1) {
db_query($link, "UPDATE ttrss_user_entries SET
marked = true
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
} else {
db_query($link, "UPDATE ttrss_user_entries SET
marked = NOT marked
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
}
}
print "<rpc-reply>"; print "<rpc-reply>";
print "<counters>"; print "<counters>";
getAllCounters($link); getAllCounters($link);

@ -2587,6 +2587,31 @@
} }
} }
function markArticlesById($link, $ids, $cmode) {
$tmp_ids = array();
foreach ($ids as $id) {
array_push($tmp_ids, "ref_id = '$id'");
}
$ids_qpart = join(" OR ", $tmp_ids);
if ($cmode == 0) {
db_query($link, "UPDATE ttrss_user_entries SET
marked = false,last_read = NOW()
WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
} else if ($cmode == 1) {
db_query($link, "UPDATE ttrss_user_entries SET
marked = true
WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
} else {
db_query($link, "UPDATE ttrss_user_entries SET
marked = NOT marked,last_read = NOW()
WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
}
}
function catchupArticlesById($link, $ids, $cmode) { function catchupArticlesById($link, $ids, $cmode) {
$tmp_ids = array(); $tmp_ids = array();

Loading…
Cancel
Save