ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables 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: feed.php:28

Member Function Documentation

◆ deleteByIds()

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

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

References ilDBConstants\T_INTEGER.

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  }

◆ findByContextId()

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

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

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

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.
+ 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.

References $res, and ilDBConstants\T_INTEGER.

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
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:69
Class ilMailTemplate.
+ Here is the caller graph for this function:

◆ store()

ilMailTemplateRepository::store ( ilMailTemplate  $template)

Definition at line 93 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.

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)
+ 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: