ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilMailTemplateRepository Class Reference

Class ilMailTemplateRepository. More...

+ Collaboration diagram for ilMailTemplateRepository:

Public Member Functions

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

Protected Attributes

 $db
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMailTemplateRepository::__construct ( \ilDBInterface  $db = null)

ilMailTemplateRepository constructor.

Parameters
ilDBInterface | null$db

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

17 {
18 global $DIC;
19
20 if (null === $db) {
21 $db = $DIC->database();
22 }
23 $this->db = $db;
24 }
$DIC
Definition: xapitoken.php:46

References $db, and $DIC.

Member Function Documentation

◆ deleteByIds()

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

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

78 {
79 if (count($templateIds) > 0) {
80 $this->db->manipulate(
81 '
82 DELETE FROM mail_man_tpl WHERE ' .
83 $this->db->in('tpl_id', $templateIds, false, 'integer')
84 );
85 }
86 }

◆ findByContextId()

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

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

67 : array
68 {
69 return array_filter($this->getAll(), function (\ilMailTemplate $template) use ($contextId) {
70 return $contextId === $template->getContext();
71 });
72 }
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
Exceptions

OutOfBoundsException

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

48 {
49 $res = $this->db->queryF(
50 'SELECT * FROM mail_man_tpl WHERE tpl_id = %s',
51 ['integer'],
52 [$templateId]
53 );
54
55 if (1 === (int) $this->db->numRows($res)) {
56 $row = $this->db->fetchAssoc($res);
57 return new \ilMailTemplate($row);
58 }
59
60 throw new \OutOfBoundsException(sprintf("Could not find template by id: %s", $templateId));
61 }
foreach($_POST as $key=> $value) $res

References $res.

◆ getAll()

ilMailTemplateRepository::getAll ( )
Returns
\ilMailTemplate[]

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

29 : array
30 {
31 $templates = [];
32
33 $res = $this->db->query('SELECT * FROM mail_man_tpl');
34 while ($row = $this->db->fetchAssoc($res)) {
35 $template = new \ilMailTemplate($row);
36 $templates[] = $template;
37 }
38
39 return $templates;
40 }

References $res.

Referenced by findByContextId().

+ Here is the caller graph for this function:

◆ store()

ilMailTemplateRepository::store ( \ilMailTemplate  $template)
Parameters
\ilMailTemplate$template

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

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

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

+ Here is the call graph for this function:

Field Documentation

◆ $db

ilMailTemplateRepository::$db
protected

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

Referenced by __construct().


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