ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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.

References $db, and $DIC.

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

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
[]

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

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

67  : array
68  {
69  return array_filter($this->getAll(), function (\ilMailTemplate $template) use ($contextId) {
70  return $contextId === $template->getContext();
71  });
72  }
$template
Class ilMailTemplate.
+ Here is the call graph for this function:

◆ findById()

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

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

References $res, and $row.

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  }
Class ilMailTemplate.
foreach($_POST as $key=> $value) $res
$row

◆ getAll()

ilMailTemplateRepository::getAll ( )
Returns
[]

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

References $res, $row, and $template.

Referenced by findByContextId().

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  }
$template
foreach($_POST as $key=> $value) $res
$row
+ 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.

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

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  }
$template
+ 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: