ILIAS  release_8 Revision v8.24
ilMailTemplateRepository Class Reference

Class ilMailTemplateRepository. More...

+ Collaboration diagram for ilMailTemplateRepository:

Public Member Functions

 __construct (ilDBInterface $db=null)
 
 getAll ()
 
 findById (int $templateId)
 
 findByContextId (string $contextId)
 
 deleteByIds (array $templateIds)
 
 store (ilMailTemplate $template)
 

Protected Attributes

ilDBInterface $db
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMailTemplateRepository::__construct ( ilDBInterface  $db = null)

Definition at line 28 of file class.ilMailTemplateRepository.php.

29 {
30 global $DIC;
31 $this->db = $db ?? $DIC->database();
32 }
global $DIC
Definition: feed.php:28

References $db, and $DIC.

Member Function Documentation

◆ deleteByIds()

ilMailTemplateRepository::deleteByIds ( array  $templateIds)
Parameters
int[]$templateIds

Definition at line 84 of file class.ilMailTemplateRepository.php.

84 : void
85 {
86 if (count($templateIds) > 0) {
87 $this->db->manipulate(
88 'DELETE FROM mail_man_tpl WHERE ' . $this->db->in('tpl_id', $templateIds, false, ilDBConstants::T_INTEGER)
89 );
90 }
91 }

References ilDBConstants\T_INTEGER.

◆ findByContextId()

ilMailTemplateRepository::findByContextId ( string  $contextId)
Parameters
string$contextId
Returns
ilMailTemplate[]

Definition at line 74 of file class.ilMailTemplateRepository.php.

74 : array
75 {
76 return array_filter($this->getAll(), static function (ilMailTemplate $template) use ($contextId): bool {
77 return $contextId === $template->getContext();
78 });
79 }
Class ilMailTemplate.

References getAll(), and ilMailTemplate\getContext().

+ Here is the call graph for this function:

◆ findById()

ilMailTemplateRepository::findById ( int  $templateId)
Parameters
int$templateId
Returns
ilMailTemplate

Definition at line 54 of file class.ilMailTemplateRepository.php.

55 {
56 $res = $this->db->queryF(
57 'SELECT * FROM mail_man_tpl WHERE tpl_id = %s',
59 [$templateId]
60 );
61
62 if (1 === $this->db->numRows($res)) {
63 $row = $this->db->fetchAssoc($res);
64 return new ilMailTemplate($row);
65 }
66
67 throw new OutOfBoundsException(sprintf("Could not find template by id: %s", $templateId));
68 }
$res
Definition: ltiservices.php:69

References $res, and ilDBConstants\T_INTEGER.

◆ getAll()

ilMailTemplateRepository::getAll ( )
Returns
ilMailTemplate[]

Definition at line 37 of file class.ilMailTemplateRepository.php.

37 : array
38 {
39 $templates = [];
40
41 $res = $this->db->query('SELECT * FROM mail_man_tpl');
42 while ($row = $this->db->fetchAssoc($res)) {
43 $template = new ilMailTemplate($row);
44 $templates[] = $template;
45 }
46
47 return $templates;
48 }

References $res.

Referenced by findByContextId().

+ Here is the caller graph for this function:

◆ store()

ilMailTemplateRepository::store ( ilMailTemplate  $template)

Definition at line 93 of file class.ilMailTemplateRepository.php.

93 : void
94 {
95 if ($template->getTplId() > 0) {
96 $this->db->update(
97 'mail_man_tpl',
98 [
99 'title' => [ilDBConstants::T_TEXT, $template->getTitle()],
100 'context' => [ilDBConstants::T_TEXT, $template->getContext()],
101 'lang' => [ilDBConstants::T_TEXT, $template->getLang()],
102 'm_subject' => [ilDBConstants::T_TEXT, $template->getSubject()],
103 'm_message' => [ilDBConstants::T_TEXT, $template->getMessage()],
104 'is_default' => [ilDBConstants::T_INTEGER, $template->isDefault()],
105 ],
106 [
107 'tpl_id' => [ilDBConstants::T_INTEGER, $template->getTplId()],
108 ]
109 );
110 } else {
111 $nextId = $this->db->nextId('mail_man_tpl');
112 $this->db->insert('mail_man_tpl', [
113 'tpl_id' => [ilDBConstants::T_INTEGER, $nextId],
114 'title' => [ilDBConstants::T_TEXT, $template->getTitle()],
115 'context' => [ilDBConstants::T_TEXT, $template->getContext()],
116 'lang' => [ilDBConstants::T_TEXT, $template->getLang()],
117 'm_subject' => [ilDBConstants::T_TEXT, $template->getSubject()],
118 'm_message' => [ilDBConstants::T_TEXT, $template->getMessage()],
119 'is_default' => [ilDBConstants::T_INTEGER, $template->isDefault()],
120 ]);
121 $template->setTplId($nextId);
122 }
123 }
setTplId(int $templateId)

References ilMailTemplate\getContext(), ilMailTemplate\getLang(), ilMailTemplate\getMessage(), ilMailTemplate\getSubject(), ilMailTemplate\getTitle(), ilMailTemplate\getTplId(), ilMailTemplate\isDefault(), ilMailTemplate\setTplId(), ilDBConstants\T_INTEGER, and ilDBConstants\T_TEXT.

+ Here is the call graph for this function:

Field Documentation

◆ $db

ilDBInterface ilMailTemplateRepository::$db
protected

Definition at line 26 of file class.ilMailTemplateRepository.php.

Referenced by __construct().


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