3 declare(strict_types=1);
28 protected \ilDBInterface
$db;
47 "SELECT MAX(nr) max_nr, parent_type, page_id, lang FROM page_history " .
48 " WHERE nr > %s AND hdate < %s GROUP BY parent_type, page_id, lang ",
49 [
"integer",
"timestamp"],
52 while ($rec = $db->fetchAssoc($set)) {
54 "parent_type" => $rec[
"parent_type"],
55 "page_id" => $rec[
"page_id"],
56 "lang" => $rec[
"lang"],
57 "max_nr" => (
int) $rec[
"max_nr"]
75 "SELECT MAX(nr) mnr FROM page_history " .
76 " WHERE parent_type = %s AND page_id = %s AND lang = %s ",
77 [
"text",
"integer",
"text"],
78 [$parent_type, $page_id, $lang]
81 if ($rec = $db->fetchAssoc($set)) {
82 $max_old_nr = (
int) $rec[
"mnr"];
84 $max_old_nr -= $keep_entries;
85 if ($max_old_nr < 0) {
92 int $delete_lower_than_nr,
100 $q =
"DELETE FROM page_history " .
101 " WHERE parent_type = " . $db->
quote($parent_type,
"text") .
102 " AND page_id = " . $db->quote($page_id,
"integer") .
103 " AND lang = " . $db->quote($lang,
"text") .
104 " AND nr <= " . $db->quote($delete_lower_than_nr,
"integer");
109 int $delete_lower_than_nr,
117 "SELECT nr FROM page_history " .
118 " WHERE parent_type = %s " .
119 " AND page_id = %s " .
122 [
"text",
"integer",
"text",
"integer"],
123 [$parent_type, $page_id, $lang, $delete_lower_than_nr]
125 while ($rec = $db->fetchAssoc($set)) {
126 yield (
int) $rec[
"nr"];
getMaxDeletableNr(int $keep_entries, string $parent_type, int $page_id, string $lang)
Get the maximum deletable history nr for a single page, if $keep_entries entries should be kept...
quote($value, string $type)
getHistoryNumbersOlderEqualThanNr(int $delete_lower_than_nr, string $parent_type, int $page_id, string $lang)
getMaxHistEntryPerPageOlderThanX(int $xdays)
Get the maximum history nr, that es older than x days for each page (and all pages) ...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(\ilDBInterface $db)
queryF(string $query, array $types, array $values)
deleteHistoryEntriesOlderEqualThanNr(int $delete_lower_than_nr, string $parent_type, int $page_id, string $lang)