ILIAS  trunk Revision v11.0_alpha-1811-gd2d5443e411
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

References $DIC.

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

Member Function Documentation

◆ deleteByIds()

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

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

References ilDBConstants\T_INTEGER.

79  : void
80  {
81  if ($templateIds !== []) {
82  $this->db->manipulate(
83  'DELETE FROM mail_man_tpl WHERE ' . $this->db->in('tpl_id', $templateIds, false, ilDBConstants::T_INTEGER)
84  );
85  }
86  }

◆ findByContextId()

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

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

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

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

◆ findById()

ilMailTemplateRepository::findById ( int  $templateId)

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

References $res, and ilDBConstants\T_INTEGER.

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

◆ getAll()

ilMailTemplateRepository::getAll ( )
Returns
ilMailTemplate[]

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

References $res.

Referenced by findByContextId().

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  }
$res
Definition: ltiservices.php:66
Class ilMailTemplate.
+ Here is the caller graph for this function:

◆ store()

ilMailTemplateRepository::store ( ilMailTemplate  $template)

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

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

88  : void
89  {
90  if ($template->getTplId() > 0) {
91  $this->db->update(
92  'mail_man_tpl',
93  [
94  'title' => [ilDBConstants::T_TEXT, $template->getTitle()],
95  'context' => [ilDBConstants::T_TEXT, $template->getContext()],
96  'lang' => [ilDBConstants::T_TEXT, $template->getLang()],
97  'm_subject' => [ilDBConstants::T_TEXT, $template->getSubject()],
98  'm_message' => [ilDBConstants::T_TEXT, $template->getMessage()],
99  'is_default' => [ilDBConstants::T_INTEGER, $template->isDefault()],
100  ],
101  [
102  'tpl_id' => [ilDBConstants::T_INTEGER, $template->getTplId()],
103  ]
104  );
105  } else {
106  $nextId = $this->db->nextId('mail_man_tpl');
107  $this->db->insert('mail_man_tpl', [
108  'tpl_id' => [ilDBConstants::T_INTEGER, $nextId],
109  'title' => [ilDBConstants::T_TEXT, $template->getTitle()],
110  'context' => [ilDBConstants::T_TEXT, $template->getContext()],
111  'lang' => [ilDBConstants::T_TEXT, $template->getLang()],
112  'm_subject' => [ilDBConstants::T_TEXT, $template->getSubject()],
113  'm_message' => [ilDBConstants::T_TEXT, $template->getMessage()],
114  'is_default' => [ilDBConstants::T_INTEGER, $template->isDefault()],
115  ]);
116  $template->setTplId($nextId);
117  }
118  }
setTplId(int $templateId)
+ Here is the call graph for this function:

Field Documentation

◆ $db

ilDBInterface ilMailTemplateRepository::$db
protected

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


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