ILIAS
release_8 Revision v8.19
◀ ilDoc Overview
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
$
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
+
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
+
Variables
$
a
b
c
d
e
f
g
h
j
l
m
p
s
t
u
+
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
+
Data Fields
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Ö
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Ö
+
Files
File List
+
Globals
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
g
h
i
m
n
p
r
s
t
u
v
x
+
Variables
$
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Modules
Pages
PageMetricsRepositoryImpl.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\ContentPage\PageMetrics
;
22
23
use
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics
;
24
use
ilDBInterface
;
25
use
ILIAS\ContentPage\PageMetrics\ValueObject\PageReadingTime
;
26
32
class
PageMetricsRepositoryImp
implements
PageMetricsRepository
33
{
34
private
ilDBInterface
$db
;
35
36
public
function
__construct
(
ilDBInterface
$db)
37
{
38
$this->db =
$db
;
39
}
40
41
public
function
store
(
PageMetrics
$pageMetrics): void
42
{
43
$this->db->replace(
44
'content_page_metrics'
,
45
[
46
'content_page_id'
=> [
'integer'
, $pageMetrics->
contentPageId
()],
47
'page_id'
=> [
'integer'
, $pageMetrics->
pageId
()],
48
'lang'
=> [
'text'
, $pageMetrics->
language
()],
49
],
50
[
51
'reading_time'
=> [
'integer'
, $pageMetrics->
readingTime
()->minutes()],
52
]
53
);
54
}
55
56
public
function
delete
(
PageMetrics
$pageMetrics):
void
57
{
58
$this->db->queryF(
59
'DELETE FROM content_page_metrics WHERE content_page_id = %s AND page_id = %s AND lang = %s'
,
60
[
'integer'
,
'integer'
,
'text'
],
61
[$pageMetrics->contentPageId(), $pageMetrics->pageId(), $pageMetrics->language()]
62
);
63
}
64
68
public
function
findBy
(
int
$contentPageId
,
int
$pageId
,
string
$language
):
PageMetrics
69
{
70
$res
= $this->db->queryF(
71
'SELECT * FROM content_page_metrics WHERE content_page_id = %s AND page_id = %s AND lang = %s'
,
72
[
'integer'
,
'integer'
,
'text'
],
73
[$contentPageId, $pageId, $language]
74
);
75
$row = $this->db->fetchAssoc(
$res
);
76
if
(is_array($row) && isset($row[
'content_page_id'
])) {
77
return
new
PageMetrics
(
78
(
int
) $row[
'content_page_id'
],
79
(
int
) $row[
'page_id'
],
80
$row[
'lang'
],
81
new
PageReadingTime
((
int
) $row[
'reading_time'
])
82
);
83
}
84
85
throw
CouldNotFindPageMetrics::by
($contentPageId, $pageId, $language);
86
}
87
}
ILIAS\ContentPage\PageMetrics\CouldNotFindPageMetrics\by
static by(int $contentPageId, int $pageId, string $language)
Definition:
CouldNotFindPageMetrics.php:32
$res
$res
Definition:
ltiservices.php:69
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\language
language()
Definition:
PageMetrics.php:54
ILIAS\ContentPage\PageMetrics\ValueObject\PageReadingTime
Definition:
PageReadingTime.php:30
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp\__construct
__construct(ilDBInterface $db)
Definition:
PageMetricsRepositoryImpl.php:36
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\contentPageId
contentPageId()
Definition:
PageMetrics.php:44
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\pageId
pageId()
Definition:
PageMetrics.php:49
ILIAS\ContentPage\PageMetrics\PageMetricsRepository
Definition:
PageMetricsRepository.php:30
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp\$db
ilDBInterface $db
Definition:
PageMetricsRepositoryImpl.php:34
PageMetrics
ilDBInterface
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\$pageId
int $pageId
Definition:
PageMetrics.php:32
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp\findBy
findBy(int $contentPageId, int $pageId, string $language)
Definition:
PageMetricsRepositoryImpl.php:68
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp\store
store(PageMetrics $pageMetrics)
Definition:
PageMetricsRepositoryImpl.php:41
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp
Definition:
PageMetricsRepositoryImpl.php:32
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\readingTime
readingTime()
Definition:
PageMetrics.php:59
PageReadingTime
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics
Definition:
PageMetrics.php:29
ILIAS\ContentPage\PageMetrics
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\$contentPageId
int $contentPageId
Definition:
PageMetrics.php:31
ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\$language
string $language
Definition:
PageMetrics.php:33
Modules
ContentPage
classes
PageMetrics
PageMetricsRepositoryImpl.php
Generated on Tue Apr 1 2025 22:01:23 for ILIAS by
1.8.13 (using
Doxyfile
)