ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ILIAS\COPage\ReadingTime\ReadingTimeDBRepo Class Reference
+ Collaboration diagram for ILIAS\COPage\ReadingTime\ReadingTimeDBRepo:

Public Member Functions

 __construct ()
 
 getTime (int $page_id, string $parent_type, string $lang="-")
 
 saveTime (int $page_id, string $parent_type, string $lang="-", int $est_reading_time=0)
 
 getPagesWithMissingReadingTime (string $a_parent_type, int $a_parent_id)
 
 getParentReadingTime (string $a_parent_type, int $a_parent_id)
 

Protected Attributes

ilDBInterface $db
 

Detailed Description

Definition at line 21 of file class.ReadingTimeDBRepo.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::__construct ( )

Definition at line 25 of file class.ReadingTimeDBRepo.php.

26 {
27 global $DIC;
28 $this->db = $DIC->database();
29 }
global $DIC
Definition: shib_login.php:26

References $DIC.

Member Function Documentation

◆ getPagesWithMissingReadingTime()

ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::getPagesWithMissingReadingTime ( string  $a_parent_type,
int  $a_parent_id 
)

Definition at line 69 of file class.ReadingTimeDBRepo.php.

72 : array {
73 $db = $this->db;
74 $q = "SELECT * FROM page_object " .
75 " WHERE parent_id = " . $db->quote($a_parent_id, "integer") .
76 " AND parent_type = " . $db->quote($a_parent_type, "text") .
77 " AND est_reading_time = " . $db->quote(0, "integer");
78
79 $set = $db->query($q);
80 $pages = [];
81 while ($rec = $db->fetchAssoc($set)) {
82 $pages[] = [
83 "parent_type" => $a_parent_type,
84 "parent_id" => $a_parent_id,
85 "page_id" => (int) $rec["page_id"],
86 "lang" => $rec["lang"]
87 ];
88 }
89 return $pages;
90 }
quote($value, string $type)
query(string $query)
Run a (read-only) Query on the database.
fetchAssoc(ilDBStatement $statement)
$q
Definition: shib_logout.php:23

References ILIAS\Repository\int().

+ Here is the call graph for this function:

◆ getParentReadingTime()

ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::getParentReadingTime ( string  $a_parent_type,
int  $a_parent_id 
)

Definition at line 92 of file class.ReadingTimeDBRepo.php.

95 : int {
96 $db = $this->db;
97 $q = "SELECT SUM(est_reading_time) as rt FROM page_object " .
98 " WHERE parent_id = " . $db->quote($a_parent_id, "integer") .
99 " AND parent_type = " . $db->quote($a_parent_type, "text") .
100 " AND lang = " . $db->quote("-", "text");
101
102 $set = $db->query($q);
103 $rec = $db->fetchAssoc($set);
104 return (int) ($rec["rt"] ?? 0);
105 }

◆ getTime()

ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::getTime ( int  $page_id,
string  $parent_type,
string  $lang = "-" 
)

Definition at line 31 of file class.ReadingTimeDBRepo.php.

35 : int {
36 $db = $this->db;
37 $set = $db->queryF(
38 "SELECT est_reading_time FROM page_object " .
39 " WHERE page_id = %s AND parent_type = %s AND lang = %s",
40 ["integer", "text", "text"],
41 [$page_id, $parent_type, $lang]
42 );
43 if ($rec = $db->fetchAssoc($set)) {
44 return (int) $rec["est_reading_time"];
45 }
46 return 0;
47 }
queryF(string $query, array $types, array $values)

◆ saveTime()

ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::saveTime ( int  $page_id,
string  $parent_type,
string  $lang = "-",
int  $est_reading_time = 0 
)

Definition at line 49 of file class.ReadingTimeDBRepo.php.

54 : void {
55 $db = $this->db;
56 $db->update(
57 "page_object",
58 [
59 "est_reading_time" => ["integer", $est_reading_time]
60 ],
61 [ // where
62 "page_id" => ["integer", $page_id],
63 "parent_type" => ["text", $parent_type],
64 "lang" => ["text", $lang],
65 ]
66 );
67 }
update(string $table_name, array $values, array $where)
@description $where MUST contain existing columns only.

Field Documentation

◆ $db

ilDBInterface ILIAS\COPage\ReadingTime\ReadingTimeDBRepo::$db
protected

Definition at line 23 of file class.ReadingTimeDBRepo.php.


The documentation for this class was generated from the following file: