ILIAS  release_7 Revision v7.30-3-g800a261c036
ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp Class Reference
+ Inheritance diagram for ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp:
+ Collaboration diagram for ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp:

Public Member Functions

 __construct (ilDBInterface $db)
 PageMetricsRepositoryImp constructor. More...
 
 store (PageMetrics $pageMetrics)
 
 delete (PageMetrics $pageMetrics)
 
 findBy (int $contentPageId, int $pageId, string $language)
 

Private Attributes

 $db
 

Detailed Description

Definition at line 15 of file PageMetricsRepositoryImpl.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp::__construct ( ilDBInterface  $db)

Member Function Documentation

◆ delete()

ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp::delete ( PageMetrics  $pageMetrics)

Implements ILIAS\ContentPage\PageMetrics\PageMetricsRepository.

Definition at line 50 of file PageMetricsRepositoryImpl.php.

50  : void
51  {
52  $this->db->queryF(
53  "DELETE FROM content_page_metrics WHERE content_page_id = %s AND page_id = %s AND lang = %s",
54  ['integer', 'integer', 'text'],
55  [$pageMetrics->contentPageId(), $pageMetrics->pageId(), $pageMetrics->language()]
56  );
57  }

◆ findBy()

ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp::findBy ( int  $contentPageId,
int  $pageId,
string  $language 
)

Implements ILIAS\ContentPage\PageMetrics\PageMetricsRepository.

Definition at line 62 of file PageMetricsRepositoryImpl.php.

References $res, and ILIAS\ContentPage\PageMetrics\CouldNotFindPageMetrics\by().

62  : PageMetrics
63  {
64  $res = $this->db->queryF(
65  "SELECT * FROM content_page_metrics WHERE content_page_id = %s AND page_id = %s AND lang = %s",
66  ['integer', 'integer', 'text'],
67  [$contentPageId, $pageId, $language]
68  );
69  $row = $this->db->fetchAssoc($res);
70  if (is_array($row) && isset($row['content_page_id'])) {
71  return new PageMetrics(
72  (int) $row['content_page_id'],
73  (int) $row['page_id'],
74  $row['lang'],
75  new PageReadingTime((int) $row['reading_time'])
76  );
77  }
78 
79  throw CouldNotFindPageMetrics::by($contentPageId, $pageId, $language);
80  }
static by(int $contentPageId, int $pageId, string $language)
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ store()

ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp::store ( PageMetrics  $pageMetrics)

Implements ILIAS\ContentPage\PageMetrics\PageMetricsRepository.

Definition at line 32 of file PageMetricsRepositoryImpl.php.

References ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\contentPageId(), ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\language(), ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\pageId(), and ILIAS\ContentPage\PageMetrics\Entity\PageMetrics\readingTime().

32  : void
33  {
34  $this->db->replace(
35  'content_page_metrics',
36  [
37  'content_page_id' => ['integer', $pageMetrics->contentPageId()],
38  'page_id' => ['integer', $pageMetrics->pageId()],
39  'lang' => ['text', $pageMetrics->language()],
40  ],
41  [
42  'reading_time' => ['integer', $pageMetrics->readingTime()->minutes()],
43  ]
44  );
45  }
+ Here is the call graph for this function:

Field Documentation

◆ $db

ILIAS\ContentPage\PageMetrics\PageMetricsRepositoryImp::$db
private

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