add archive_article()

This commit is contained in:
Andrew Dolgov 2009-12-28 19:30:34 +03:00
parent 24902606eb
commit 16fdac16c0
2 changed files with 35 additions and 4 deletions

View File

@ -6407,4 +6407,35 @@
ccache_remove($link, $id, $owner_uid, true);
}
function archive_article($link, $id, $owner_uid) {
db_query($link, "BEGIN");
$result = db_query($link, "SELECT feed_id FROM ttrss_user_entries
WHERE ref_id = '$id' AND owner_uid = $owner_uid");
if (db_num_rows($result) != 0) {
/* prepare the archived table */
$feed_id = (int) db_fetch_result($result, 0, "feed_id");
if ($feed_id) {
$result = db_query($link, "SELECT id FROM ttrss_archived_feeds
WHERE id = '$feed_id'");
if (db_num_rows($result) == 0) {
db_query($link, "INSERT INTO ttrss_archived_feeds
(id, owner_uid, title, feed_url, site_url)
SELECT id, owner_uid, title, feed_url, site_url from ttrss_feeds
WHERE id = '$feed_id'");
}
db_query($link, "UPDATE ttrss_user_entries
SET orig_feed_id = feed_id, feed_id = NULL
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
}
}
db_query($link, "COMMIT");
}
?>

View File

@ -120,11 +120,11 @@
}
if ($subop == "archive") {
$ids = db_escape_string($_GET["ids"]);
$ids = split(",", db_escape_string($_GET["ids"]));
$result = db_query($link, "UPDATE ttrss_user_entries
SET orig_feed_id = feed_id, feed_id = NULL, marked = true
WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
foreach ($ids as $id) {
archive_article($link, $id, $_SESSION["uid"]);
}
print "<rpc-reply><counters>";
getGlobalCounters($link);