ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
ilMailFolderGUI Class Reference

ilMailFolderGUI: More...

+ Collaboration diagram for ilMailFolderGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 

Protected Member Functions

 initRequest ()
 Init class variables that can be determined in an actual request. More...
 
 executeTableAction ()
 
 emptyTrash ()
 
 showUser ()
 
 showFolder ()
 
 redirectToFolder ()
 
 deleteSubFolder ()
 
 addSubFolder ()
 
 renameSubFolder ()
 
 getFilterUI ()
 
 getFilteredSearch ()
 Searcher for mails in the folder, initialized with the current filter values needed for table display and actions for the whole table. More...
 
 getMailIdsFromRequest ()
 
 moveSingleMail ()
 Move a single mail to a folder Called from showMail page. More...
 
 deleteMails ()
 
 confirmDeleteMails (array $mail_ids)
 Confirm the deletion of selected mails in async modal. More...
 
 printMail ()
 
 deliverFile ()
 
 deliverAttachments ()
 

Private Attributes

const string URL_BUILDER_PREFIX = 'ilMailFolderGUI'
 
const string PARAM_ACTION = 'action'
 
const string PARAM_FOLDER_ID = 'mobj_id'
 
const string PARAM_MAIL_ID = 'mail_id'
 
const string PARAM_USER_ID = 'user_id'
 
const string PARAM_TARGET_FOLDER = 'target_folder'
 
const string PARAM_INTERRUPTIVE_ITEMS = 'interruptive_items'
 
const string CMD_ADD_SUB_FOLDER = 'addSubFolder'
 
const string CMD_DELETE_MAILS = 'deleteMails'
 
const string CMD_DELETE_SUB_FOLDER = 'deleteSubFolder'
 
const string CMD_DELIVER_FILE = 'deliverFile'
 
const string CMD_EMPTY_TRASH = 'emptyTrash'
 
const string CMD_MOVE_SINGLE_MAIL = 'moveSingleMail'
 
const string CMD_PRINT_MAIL = 'printMail'
 
const string CMD_RENAME_SUB_FOLDER = 'renameSubFolder'
 
const string CMD_SHOW_MAIL = 'showMail'
 
const string CMD_SHOW_FOLDER = 'showFolder'
 
const string CMD_SHOW_USER = 'showUser'
 
const string CMD_TABLE_ACTION = 'executeTableAction'
 
readonly ilGlobalTemplateInterface $tpl
 
readonly ilCtrlInterface $ctrl
 
readonly ilLanguage $lng
 
readonly ilToolbarGUI $toolbar
 
readonly ilTabsGUI $tabs
 
readonly ilObjUser $user
 
readonly GlobalHttpState $http
 
readonly Refinery $refinery
 
readonly ilErrorHandling $error
 
readonly Factory $ui_factory
 
readonly Renderer $ui_renderer
 
readonly ilUIService $ui_service
 
readonly DataFactory $data_factory
 
ilMail $umail
 
ilMailbox $mbox
 
MailFolderData $folder
 

Detailed Description

ilMailFolderGUI:

Definition at line 36 of file class.ilMailFolderGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilMailFolderGUI::__construct ( )

Definition at line 81 of file class.ilMailFolderGUI.php.

References $DIC, ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

82  {
83  global $DIC;
84 
85  $this->tpl = $DIC->ui()->mainTemplate();
86  $this->ctrl = $DIC->ctrl();
87  $this->lng = $DIC->language();
88  $this->toolbar = $DIC->toolbar();
89  $this->user = $DIC->user();
90  $this->tabs = $DIC->tabs();
91  $this->http = $DIC->http();
92  $this->refinery = $DIC->refinery();
93  $this->error = $DIC['ilErr'];
94  $this->ui_factory = $DIC->ui()->factory();
95  $this->ui_renderer = $DIC->ui()->renderer();
96  $this->ui_service = $DIC->uiService();
97  $this->data_factory = new ILIAS\Data\Factory();
98  }
static http()
Fetches the global http state from ILIAS.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: shib_login.php:26
+ Here is the call graph for this function:

Member Function Documentation

◆ addSubFolder()

ilMailFolderGUI::addSubFolder ( )
protected

Definition at line 514 of file class.ilMailFolderGUI.php.

References $data, ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, and ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_SUCCESS.

514  : void
515  {
516  $form = $this->ui_factory->input()->container()->form()->standard(
517  $this->ctrl->getFormAction($this, self::CMD_ADD_SUB_FOLDER),
518  [
519  'folder' => $this->ui_factory->input()->field()->section([
520  'title' => $this->ui_factory->input()->field()->text($this->lng->txt('title'))->withRequired(true)
521  ], $this->lng->txt('mail_add_folder'))
522  ]
523  );
524 
525  $request = $this->http->request();
526  if ($request->getMethod() === 'POST') {
527  $form = $form->withRequest($request);
528  $data = $form->getData();
529  if (!empty($data['folder']['title'])) {
530  $new_folder_id = $this->mbox->addFolder(
531  $this->folder->getFolderId(),
532  (string) $data['folder']['title']
533  );
534  if ($new_folder_id > 0) {
535  $this->tpl->setOnScreenMessage(
537  $this->lng->txt('mail_folder_created'),
538  true
539  );
540  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $new_folder_id);
541  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
542  } else {
543  $this->tpl->setOnScreenMessage(
545  $this->lng->txt('mail_folder_exists')
546  );
547  }
548  }
549  }
550  $this->tpl->setContent($this->ui_renderer->render($form));
551  $this->tpl->printToStdout();
552  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ confirmDeleteMails()

ilMailFolderGUI::confirmDeleteMails ( array  $mail_ids)
protected

Confirm the deletion of selected mails in async modal.

Parameters
int[]$mail_ids

Definition at line 712 of file class.ilMailFolderGUI.php.

References $id, $message, ilMail\_getIliasMailerName(), ilObjUser\_lookupPref(), ILIAS\Repository\ctrl(), ilDatePresentation\formatDate(), getFilteredSearch(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByObjId(), getMailIdsFromRequest(), ilUtil\htmlencodePlainString(), ILIAS\FileDelivery\http(), IL_CAL_DATETIME, ILIAS\Repository\lng(), ilMailFormGUI\MAIL_FORM_TYPE_FORWARD, ilMailFormGUI\MAIL_FORM_TYPE_REPLY, null, ILIAS\Repository\refinery(), ilCustomInputGUI\setHtml(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), ILIAS\Repository\user(), and ILIAS\UI\Implementation\Component\withOnLoadCode().

Referenced by executeTableAction().

712  : void
713  {
714  $user_timezone = new DateTimeZone($this->user->getTimeZone());
715  $records = $this->getFilteredSearch()->forMailIds($mail_ids)->getPagedRecords(10, 0, null, null);
716  $items = [];
717  foreach ($records as $record) {
718  $prefix = '';
719  if (!empty($record->getSendTime())) {
720  $time = $record->getSendTime()->setTimezone($user_timezone);
721  $prefix = $time->format($this->user->getDateFormat()->toString()) . ' ';
722  }
723  $items[] = $this->ui_factory->modal()->interruptiveItem()->standard(
724  (string) $record->getMailId(),
725  $prefix . $this->refinery->encode()->htmlSpecialCharsAsEntities()->transform($record->getSubject())
726  );
727  }
728 
729  $modal = $this->ui_factory->modal()->interruptive(
730  $this->lng->txt('delete'),
731  $this->lng->txt('mail_sure_delete_' . (count($items) === 1 ? 's' : 'p')),
732  $this->ctrl->getFormAction($this, self::CMD_DELETE_MAILS)
733  )->withAffectedItems($items);
734 
735  $this->http->saveResponse(
736  $this->http->response()->withBody(
737  Streams::ofString($this->ui_renderer->renderAsync($modal))
738  )
739  );
740  $this->http->sendResponse();
741  $this->http->close();
742  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static http()
Fetches the global http state from ILIAS.
getFilteredSearch()
Searcher for mails in the folder, initialized with the current filter values needed for table display...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteMails()

ilMailFolderGUI::deleteMails ( )
protected

Definition at line 688 of file class.ilMailFolderGUI.php.

References getMailIdsFromRequest(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_INFO, and redirectToFolder().

688  : void
689  {
690  if (!$this->folder->isTrash()) {
691  $this->tpl->setOnScreenMessage(
693  $this->lng->txt('mail_operation_on_invalid_folder'),
694  true
695  );
696  $this->redirectToFolder();
697  }
698 
699  $this->umail->deleteMails($this->getMailIdsFromRequest());
700  $this->tpl->setOnScreenMessage(
702  $this->lng->txt('mail_deleted'),
703  true
704  );
705  $this->redirectToFolder();
706  }
+ Here is the call graph for this function:

◆ deleteSubFolder()

ilMailFolderGUI::deleteSubFolder ( )
protected

Definition at line 493 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_SUCCESS, and redirectToFolder().

493  : void
494  {
495  $parent_folder_id = $this->mbox->getParentFolderId($this->folder->getFolderId());
496  if ($parent_folder_id > 0 && $this->mbox->deleteFolder($this->folder->getFolderId())) {
497  $this->tpl->setOnScreenMessage(
499  $this->lng->txt('mail_folder_deleted'),
500  true
501  );
502  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $parent_folder_id);
503  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
504  } else {
505  $this->tpl->setOnScreenMessage(
507  $this->lng->txt('mail_error_delete'),
508  true
509  );
510  $this->redirectToFolder();
511  }
512  }
+ Here is the call graph for this function:

◆ deliverAttachments()

ilMailFolderGUI::deliverAttachments ( )
protected

Definition at line 1157 of file class.ilMailFolderGUI.php.

References Vendor\Package\$e, $filename, ilFileDelivery\deliverFileLegacy(), getMailIdsFromRequest(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), null, redirectToFolder(), ILIAS\Repository\refinery(), and ILIAS\Repository\user().

Referenced by executeTableAction().

1157  : void
1158  {
1159  try {
1160  $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1161  $mail_data = $this->umail->getMail($mail_id);
1162  if ($mail_data === null || [] === (array) $mail_data['attachments']) {
1163  throw new ilMailException('mail_error_reading_attachment');
1164  }
1165 
1166  $type = $this->http->wrapper()->query()->retrieve(
1167  'type',
1168  $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1169  );
1170 
1171  $mail_file_data = new ilFileDataMail($this->user->getId());
1172  if (count($mail_data['attachments']) === 1) {
1173  $attachment = current($mail_data['attachments']);
1174 
1175  try {
1176  if ($type === 'draft') {
1177  if (!$mail_file_data->checkFilesExist([$attachment])) {
1178  throw new OutOfBoundsException('');
1179  }
1180  $path_to_file = $mail_file_data->getAbsoluteAttachmentPoolPathByFilename($attachment);
1181  $filename = $attachment;
1182  } else {
1183  $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash(
1184  md5((string) $attachment),
1185  $mail_id
1186  );
1187  $path_to_file = $file['path'];
1188  $filename = $file['filename'];
1189  }
1191  } catch (OutOfBoundsException $e) {
1192  throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1193  }
1194  } else {
1195  $mail_file_data->deliverAttachmentsAsZip(
1196  $mail_data['m_subject'],
1197  $mail_id,
1198  $mail_data['attachments'],
1199  $type === 'draft'
1200  );
1201  }
1202  } catch (Exception $e) {
1203  $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1204  $this->redirectToFolder();
1205  }
1206  }
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static http()
Fetches the global http state from ILIAS.
$filename
Definition: buildRTE.php:78
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deliverFile()

ilMailFolderGUI::deliverFile ( )
protected

Definition at line 1114 of file class.ilMailFolderGUI.php.

References Vendor\Package\$e, $filename, ilFileDelivery\deliverFileLegacy(), ilSession\get(), ilFileDataMail\getAttachmentPathAndFilenameByMd5Hash(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), null, redirectToFolder(), ILIAS\Repository\refinery(), ilSession\set(), and ILIAS\Repository\user().

1114  : void
1115  {
1116  $mail_id = $this->http->wrapper()->query()->retrieve(
1117  self::PARAM_MAIL_ID,
1118  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
1119  );
1120  if ($mail_id <= 0) {
1121  $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
1122  }
1123 
1124  $filename = $this->http->wrapper()->post()->retrieve(
1125  'filename',
1126  $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1127  );
1128 
1129  if (is_string(ilSession::get('filename')) && ilSession::get('filename') !== '') {
1130  $filename = ilSession::get('filename');
1131  ilSession::set('filename', null);
1132  }
1133 
1134  try {
1135  if ($mail_id > 0 && $filename !== '') {
1136  while (str_contains((string) $filename, '..')) {
1137  $filename = str_replace('..', '', $filename);
1138  }
1139 
1140  $mail_file_data = new ilFileDataMail($this->user->getId());
1141  try {
1142  $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash($filename, (int) $mail_id);
1143  ilFileDelivery::deliverFileLegacy($file['path'], $file['filename']);
1144  } catch (OutOfBoundsException $e) {
1145  throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1146  }
1147  } else {
1148  $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_attachment'));
1149  $this->showMail();
1150  }
1151  } catch (Exception $e) {
1152  $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1153  $this->redirectToFolder();
1154  }
1155  }
getAttachmentPathAndFilenameByMd5Hash(string $md5FileHash, int $mail_id)
static get(string $a_var)
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static http()
Fetches the global http state from ILIAS.
$filename
Definition: buildRTE.php:78
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

◆ emptyTrash()

ilMailFolderGUI::emptyTrash ( )
protected

Definition at line 336 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_SUCCESS, and redirectToFolder().

336  : void
337  {
338  $this->umail->deleteMailsOfFolder($this->mbox->getTrashFolder());
339  $this->tpl->setOnScreenMessage(
341  $this->lng->txt('mail_deleted'),
342  true
343  );
344  $this->redirectToFolder();
345  }
+ Here is the call graph for this function:

◆ executeCommand()

ilMailFolderGUI::executeCommand ( )

Definition at line 140 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\ctrl(), initRequest(), and showFolder().

140  : void
141  {
142  $this->initRequest();
143 
144  $next_class = $this->ctrl->getNextClass($this) ?? '';
145  switch (strtolower($next_class)) {
146  case strtolower(ilContactGUI::class):
147  $this->ctrl->forwardCommand(new ilContactGUI());
148  break;
149 
150  default:
151  $cmd = $this->ctrl->getCmd() ?? '';
152  match ($cmd) {
153  self::CMD_ADD_SUB_FOLDER, self::CMD_DELETE_MAILS, self::CMD_DELETE_SUB_FOLDER, self::CMD_DELIVER_FILE, self::CMD_EMPTY_TRASH, self::CMD_MOVE_SINGLE_MAIL, self::CMD_PRINT_MAIL, self::CMD_RENAME_SUB_FOLDER, self::CMD_SHOW_MAIL, self::CMD_SHOW_FOLDER, self::CMD_SHOW_USER, self::CMD_TABLE_ACTION => $this->{$cmd}(
154  ),
155  default => $this->showFolder(),
156  };
157  }
158  }
initRequest()
Init class variables that can be determined in an actual request.
+ Here is the call graph for this function:

◆ executeTableAction()

ilMailFolderGUI::executeTableAction ( )
protected

Definition at line 160 of file class.ilMailFolderGUI.php.

References confirmDeleteMails(), ILIAS\Repository\ctrl(), deliverAttachments(), getFilteredSearch(), getMailIdsFromRequest(), ilMailUserCache\getUserObjectById(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ilMailFormGUI\MAIL_FORM_TYPE_DRAFT, ilMailFormGUI\MAIL_FORM_TYPE_FORWARD, ilMailFormGUI\MAIL_FORM_TYPE_REPLY, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_INFO, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_SUCCESS, printMail(), redirectToFolder(), and ILIAS\Repository\refinery().

160  : void
161  {
162  $action = $this->http->wrapper()->query()->retrieve(
163  self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_ACTION,
164  $this->refinery->byTrying([
165  $this->refinery->kindlyTo()->string(),
166  $this->refinery->always('')
167  ])
168  );
169 
170  // Magic value of data table in ui framework, no public constant found
171  $for_all_entries = implode(
172  '',
173  $this->http->wrapper()->query()->retrieve(
174  self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_MAIL_ID,
175  $this->refinery->byTrying([
176  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()),
177  $this->refinery->always([])
178  ])
179  )
180  ) === 'ALL_OBJECTS';
181 
182  if ($for_all_entries) {
183  // we must apply the filter because the shown table is filtered, too
184  $mail_ids = $this->getFilteredSearch()->getMaiIds();
185  } else {
186  $mail_ids = $this->getMailIdsFromRequest();
187  }
188 
189  if (empty($mail_ids)) {
190  // no redirect possible from async call
191  if ($action === MailFolderTableUI::ACTION_DELETE) {
192  $modal = $this->ui_factory->modal()->lightbox(
193  $this->ui_factory->modal()->lightboxTextPage(
194  $this->ui_renderer->render(
195  $this->ui_factory->messageBox()->failure($this->lng->txt('mail_select_one'))
196  ),
197  $this->lng->txt('delete'),
198  )
199  );
200  $this->http->saveResponse(
201  $this->http->response()->withBody(
202  Streams::ofString($this->ui_renderer->renderAsync($modal))
203  )
204  );
205  $this->http->sendResponse();
206  $this->http->close();
207  } else {
208  $this->tpl->setOnScreenMessage(
210  $this->lng->txt('mail_select_one'),
211  true
212  );
213  $this->redirectToFolder();
214  }
215  }
216 
217  switch ($action) {
218  case MailFolderTableUI::ACTION_SHOW:
219  $this->showMail();
220  return;
221 
222  case MailFolderTableUI::ACTION_EDIT:
223  $this->ctrl->setParameterByClass(
224  ilMailFormGUI::class,
225  self::PARAM_FOLDER_ID,
226  (string) $this->folder->getFolderId()
227  );
228  $this->ctrl->setParameterByClass(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
229  $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_DRAFT);
230  $this->ctrl->redirectByClass(ilMailFormGUI::class);
231 
232  // no break
233  case MailFolderTableUI::ACTION_REPLY:
234  $this->ctrl->setParameterByClass(
235  ilMailFormGUI::class,
236  self::PARAM_FOLDER_ID,
237  (string) $this->folder->getFolderId()
238  );
239  $this->ctrl->setParameterByClass(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
240  $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_REPLY);
241  $this->ctrl->redirectByClass(ilMailFormGUI::class);
242 
243  // no break
244  case MailFolderTableUI::ACTION_FORWARD:
245  $this->ctrl->setParameterByClass(
246  ilMailFormGUI::class,
247  self::PARAM_FOLDER_ID,
248  (string) $this->folder->getFolderId()
249  );
250  $this->ctrl->setParameterByClass(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
251  $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_FORWARD);
252  $this->ctrl->redirectByClass(ilMailFormGUI::class);
253 
254  // no break
255  case MailFolderTableUI::ACTION_DOWNLOAD_ATTACHMENT:
256  $this->deliverAttachments();
257  return;
258 
259  case MailFolderTableUI::ACTION_PRINT:
260  $this->printMail();
261  return;
262 
263  case MailFolderTableUI::ACTION_PROFILE:
264  $mail_data = $this->umail->getMail($mail_ids[0] ?? 0);
265  if (!empty($user = ilMailUserCache::getUserObjectById($mail_data['sender_id'] ?? 0)) &&
266  $user->hasPublicProfile()) {
267  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, (string) $this->folder->getFolderId());
268  $this->ctrl->setParameter($this, self::PARAM_USER_ID, (string) $user->getId());
269  $this->ctrl->redirect($this, self::CMD_SHOW_USER);
270  } else {
271  $this->tpl->setOnScreenMessage(
273  $this->lng->txt('permission_denied'),
274  true
275  );
276  }
277  break;
278 
279  case MailFolderTableUI::ACTION_MARK_READ:
280  $this->umail->markRead($mail_ids);
281  $this->tpl->setOnScreenMessage(
283  $this->lng->txt('saved_successfully'),
284  true
285  );
286  break;
287 
288  case MailFolderTableUI::ACTION_MARK_UNREAD:
289  $this->umail->markUnread($mail_ids);
290  $this->tpl->setOnScreenMessage(
292  $this->lng->txt('saved_successfully'),
293  true
294  );
295  break;
296 
297  case MailFolderTableUI::ACTION_MOVE_TO:
298  $folder_id = $this->http->wrapper()->query()->retrieve(
299  self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_TARGET_FOLDER,
300  $this->refinery->kindlyTo()->int()
301  );
302  if (empty($folder_id)) {
303  $this->tpl->setOnScreenMessage(
305  $this->lng->txt('mail_move_error')
306  );
307  } elseif ($this->umail->moveMailsToFolder($mail_ids, $folder_id)) {
308  $this->tpl->setOnScreenMessage(
310  $this->lng->txt('mail_moved'),
311  true
312  );
313  } else {
314  $this->tpl->setOnScreenMessage(
316  $this->lng->txt('mail_move_error')
317  );
318  }
319  break;
320 
321  case MailFolderTableUI::ACTION_DELETE: // async call
322  $this->confirmDeleteMails($mail_ids);
323  break;
324 
325  default:
326  $this->tpl->setOnScreenMessage(
328  $this->lng->txt('permission_denied')
329  );
330  break;
331  }
332 
333  $this->redirectToFolder();
334  }
static getUserObjectById(int $usr_id)
final const string MAIL_FORM_TYPE_REPLY
confirmDeleteMails(array $mail_ids)
Confirm the deletion of selected mails in async modal.
final const string MAIL_FORM_TYPE_FORWARD
static http()
Fetches the global http state from ILIAS.
readonly ilObjUser $user
final const string MAIL_FORM_TYPE_DRAFT
getFilteredSearch()
Searcher for mails in the folder, initialized with the current filter values needed for table display...
hasPublicProfile()
returns true if public is profile, false otherwise
+ Here is the call graph for this function:

◆ getFilteredSearch()

ilMailFolderGUI::getFilteredSearch ( )
protected

Searcher for mails in the folder, initialized with the current filter values needed for table display and actions for the whole table.

Definition at line 606 of file class.ilMailFolderGUI.php.

References getFilterUI(), and ilSearchSettings\getInstance().

Referenced by confirmDeleteMails(), executeTableAction(), and showFolder().

607  {
608  return new MailFolderSearch(
609  $this->folder,
610  $this->getFilterUI()->getData(),
611  ilSearchSettings::getInstance()->enabledLucene(),
612  );
613  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFilterUI()

ilMailFolderGUI::getFilterUI ( )
protected

Definition at line 589 of file class.ilMailFolderGUI.php.

References $folder, $lng, $ui_factory, ILIAS\Repository\ctrl(), ilSearchSettings\getInstance(), and ILIAS\Repository\user().

Referenced by getFilteredSearch(), and showFolder().

589  : MailFilterUI
590  {
591  return new MailFilterUI(
592  $this->ctrl->getFormAction($this, self::CMD_SHOW_FOLDER),
593  ilSearchSettings::getInstance()->enabledLucene(),
596  $this->ui_service->filter(),
597  $this->lng,
598  new DateTimeZone($this->user->getTimeZone()),
599  );
600  }
readonly Factory $ui_factory
readonly ilLanguage $lng
MailFolderData $folder
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMailIdsFromRequest()

ilMailFolderGUI::getMailIdsFromRequest ( )
protected
Returns
int[]

Definition at line 618 of file class.ilMailFolderGUI.php.

References $param, ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

Referenced by confirmDeleteMails(), deleteMails(), deliverAttachments(), executeTableAction(), moveSingleMail(), and printMail().

618  : array
619  {
620  // table actions have a prefix, controller commands and modal items have none
621  foreach (
622  [
623  self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_MAIL_ID,
624  self::PARAM_MAIL_ID,
625  self::PARAM_INTERRUPTIVE_ITEMS
626  ] as $param
627  ) {
628  foreach (
629  [
630  $this->http->wrapper()->post(),
631  $this->http->wrapper()->query()
632  ] as $wrapper
633  ) {
634  if ($wrapper->has($param)) {
635  return $wrapper->retrieve(
636  $param,
637  $this->refinery->byTrying([
638  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int()),
639  $this->refinery->always([])
640  ])
641  );
642  }
643  }
644  }
645 
646  return [];
647  }
static http()
Fetches the global http state from ILIAS.
$param
Definition: xapitoken.php:46
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initRequest()

ilMailFolderGUI::initRequest ( )
protected

Init class variables that can be determined in an actual request.

Definition at line 103 of file class.ilMailFolderGUI.php.

References $folder, ilSession\get(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, null, ILIAS\Repository\refinery(), ILIAS\Refinery\transform(), and ILIAS\Repository\user().

Referenced by executeCommand().

103  : void
104  {
105  $this->umail = new ilMail($this->user->getId());
106  $this->mbox = new ilMailbox($this->user->getId());
107 
108  if ($this->http->wrapper()->post()->has(self::PARAM_FOLDER_ID)) {
109  $folder_id = $this->http->wrapper()->post()->retrieve(
110  self::PARAM_FOLDER_ID,
111  $this->refinery->kindlyTo()->int()
112  );
113  } elseif ($this->http->wrapper()->query()->has(self::PARAM_FOLDER_ID)) {
114  $folder_id = $this->http->wrapper()->query()->retrieve(
115  self::PARAM_FOLDER_ID,
116  $this->refinery->kindlyTo()->int()
117  );
118  } else {
119  $folder_id = $this->refinery->byTrying([
120  $this->refinery->kindlyTo()->int(),
121  $this->refinery->always(0),
122  ])->transform(ilSession::get(self::PARAM_FOLDER_ID));
123  }
124 
125  if ($folder_id === 0 || !$this->mbox->isOwnedFolder($folder_id)) {
126  $folder_id = $this->mbox->getInboxFolder();
127  }
128 
129  $folder = $this->mbox->getFolderData($folder_id);
130  if ($folder === null) {
131  $this->tpl->setOnScreenMessage(
133  $this->lng->txt('mail_operation_on_invalid_folder')
134  );
135  $this->tpl->printToStdout();
136  }
137  $this->folder = $folder;
138  }
static get(string $a_var)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static http()
Fetches the global http state from ILIAS.
MailFolderData $folder
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ moveSingleMail()

ilMailFolderGUI::moveSingleMail ( )
protected

Move a single mail to a folder Called from showMail page.

Definition at line 653 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\ctrl(), getMailIdsFromRequest(), ILIAS\FileDelivery\http(), ILIAS\Repository\int(), ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

653  : void
654  {
655  $mail_ids = $this->getMailIdsFromRequest();
656  if (count($mail_ids) !== 1) {
657  $this->showMail();
658  $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_one'));
659  return;
660  }
661 
662  $new_folder_id = $this->http->wrapper()->query()->retrieve(
663  'folder_id',
664  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
665  );
666  $redirect_folder_id = $new_folder_id;
667 
668  foreach ($mail_ids as $mail_id) {
669  $mail_data = $this->umail->getMail($mail_id);
670  if (isset($mail_data['folder_id']) &&
671  is_numeric($mail_data['folder_id']) &&
672  (int) $mail_data['folder_id'] > 0) {
673  $redirect_folder_id = (int) $mail_data['folder_id'];
674  break;
675  }
676  }
677 
678  if ($this->umail->moveMailsToFolder($mail_ids, $new_folder_id)) {
679  $this->tpl->setOnScreenMessage('success', $this->lng->txt('mail_moved'), true);
680  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $redirect_folder_id);
681  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
682  } else {
683  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('mail_move_error'));
684  $this->showMail();
685  }
686  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ printMail()

ilMailFolderGUI::printMail ( )
protected

Definition at line 1061 of file class.ilMailFolderGUI.php.

References ilMail\_getIliasMailerName(), ilDatePresentation\formatDate(), ilObjectFactory\getInstanceByObjId(), getMailIdsFromRequest(), IL_CAL_DATETIME, and ILIAS\Repository\lng().

Referenced by executeTableAction().

1061  : void
1062  {
1063  $tplprint = new ilTemplate('tpl.mail_print.html', true, true, 'components/ILIAS/Mail');
1064 
1065  $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1066  $mail_data = $this->umail->getMail($mail_id);
1067 
1068  $sender = ilObjectFactory::getInstanceByObjId($mail_data['sender_id'], false);
1069 
1070  $tplprint->setVariable('TXT_FROM', $this->lng->txt('from'));
1071  if ($sender instanceof ilObjUser && $sender->getId() !== 0 && !$sender->isAnonymous()) {
1072  $tplprint->setVariable('FROM', $sender->getPublicName());
1073  } elseif (!$sender instanceof ilObjUser || $sender->getId() === 0) {
1074  $tplprint->setVariable(
1075  'FROM',
1076  trim(($mail_data['import_name'] ?? '') . ' (' . $this->lng->txt('user_deleted') . ')')
1077  );
1078  } else {
1079  $tplprint->setVariable('FROM', ilMail::_getIliasMailerName());
1080  }
1081 
1082  $tplprint->setVariable('TXT_TO', $this->lng->txt('mail_to'));
1083  $tplprint->setVariable('TO', $mail_data['rcp_to']);
1084 
1085  if ($mail_data['rcp_cc']) {
1086  $tplprint->setCurrentBlock('cc');
1087  $tplprint->setVariable('TXT_CC', $this->lng->txt('mail_cc'));
1088  $tplprint->setVariable('CC', $mail_data['rcp_cc']);
1089  $tplprint->parseCurrentBlock();
1090  }
1091 
1092  if ($mail_data['rcp_bcc']) {
1093  $tplprint->setCurrentBlock('bcc');
1094  $tplprint->setVariable('TXT_BCC', $this->lng->txt('mail_bcc'));
1095  $tplprint->setVariable('BCC', $mail_data['rcp_bcc']);
1096  $tplprint->parseCurrentBlock();
1097  }
1098 
1099  $tplprint->setVariable('TXT_SUBJECT', $this->lng->txt('subject'));
1100  $tplprint->setVariable('SUBJECT', htmlspecialchars((string) $mail_data['m_subject']));
1101 
1102  $tplprint->setVariable('TXT_DATE', $this->lng->txt('date'));
1103  $tplprint->setVariable(
1104  'DATE',
1105  ilDatePresentation::formatDate(new ilDateTime($mail_data['send_time'], IL_CAL_DATETIME))
1106  );
1107 
1108  $tplprint->setVariable('TXT_MESSAGE', $this->lng->txt('message'));
1109  $tplprint->setVariable('MAIL_MESSAGE', nl2br(htmlspecialchars((string) $mail_data['m_message'])));
1110 
1111  $tplprint->show();
1112  }
const IL_CAL_DATETIME
static _getIliasMailerName()
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirectToFolder()

ilMailFolderGUI::redirectToFolder ( )
protected

Definition at line 486 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\ctrl().

Referenced by deleteMails(), deleteSubFolder(), deliverAttachments(), deliverFile(), emptyTrash(), executeTableAction(), and renameSubFolder().

486  : never
487  {
488  $this->ctrl->clearParameters($this);
489  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $this->folder->getFolderId());
490  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
491  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renameSubFolder()

ilMailFolderGUI::renameSubFolder ( )
protected

Definition at line 554 of file class.ilMailFolderGUI.php.

References $data, ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_FAILURE, ILIAS\UICore\GlobalTemplate\MESSAGE_TYPE_SUCCESS, and redirectToFolder().

554  : void
555  {
556  $form = $this->ui_factory->input()->container()->form()->standard(
557  $this->ctrl->getFormAction($this, self::CMD_RENAME_SUB_FOLDER),
558  [
559  'folder' => $this->ui_factory->input()->field()->section([
560  'title' => $this->ui_factory->input()->field()->text($this->lng->txt('title'))->withRequired(true)
561  ], $this->lng->txt('mail_rename_folder'))
562  ]
563  );
564 
565  $request = $this->http->request();
566  if ($request->getMethod() === 'POST') {
567  $form = $form->withRequest($request);
568  $data = $form->getData();
569  if (!empty($data['folder']['title'])) {
570  if ($this->mbox->renameFolder($this->folder->getFolderId(), (string) $data['folder']['title'])) {
571  $this->tpl->setOnScreenMessage(
573  $this->lng->txt('mail_folder_name_changed'),
574  true
575  );
576  $this->redirectToFolder();
577  } else {
578  $this->tpl->setOnScreenMessage(
580  $this->lng->txt('mail_folder_exists')
581  );
582  }
583  }
584  }
585  $this->tpl->setContent($this->ui_renderer->render($form));
586  $this->tpl->printToStdout();
587  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ showFolder()

ilMailFolderGUI::showFolder ( )
protected

Definition at line 390 of file class.ilMailFolderGUI.php.

References $components, $data_factory, $folder, $lng, $refinery, $ui_factory, $ui_renderer, $umail, ilUtil\_getHttpPath(), ILIAS\Repository\ctrl(), getFilteredSearch(), getFilterUI(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

Referenced by executeCommand().

390  : void
391  {
392  $components = [];
393  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $this->folder->getFolderId());
394 
395  if ($this->folder->isUserLocalFolder()) {
396  $this->toolbar->addComponent(
397  $this->ui_factory->button()->standard(
398  $this->lng->txt('mail_add_subfolder'),
399  $this->ctrl->getLinkTarget($this, self::CMD_ADD_SUB_FOLDER)
400  )
401  );
402  }
403 
404  if ($this->folder->isUserFolder()) {
405  $this->toolbar->addComponent(
406  $this->ui_factory->button()->standard(
407  $this->lng->txt('rename'),
408  $this->ctrl->getLinkTarget($this, self::CMD_RENAME_SUB_FOLDER)
409  )
410  );
411 
412  $components[] = $modal = $this->ui_factory->modal()->interruptive(
413  $this->lng->txt('delete'),
414  $this->lng->txt('mail_sure_delete_folder'),
415  $this->ctrl->getLinkTarget($this, self::CMD_DELETE_SUB_FOLDER)
416  );
417  $this->toolbar->addComponent(
418  $this->ui_factory->button()->standard(
419  $this->lng->txt('delete'),
420  '#'
421  )
422  ->withOnClick($modal->getShowSignal())
423  );
424  }
425 
426  if ($this->folder->isTrash()) {
427  $components[] = $modal = $this->ui_factory->modal()->interruptive(
428  $this->lng->txt('mail_empty_trash'),
429  $this->lng->txt('mail_empty_trash_confirmation'),
430  $this->ctrl->getLinkTarget($this, self::CMD_EMPTY_TRASH)
431  );
432  $this->toolbar->addComponent(
433  $this->ui_factory->button()->standard(
434  $this->lng->txt('mail_empty_trash'),
435  '#'
436  )->withOnClick($modal->getShowSignal())
437  );
438  }
439 
440  [
441  $url_builder,
442  $action_token,
443  $row_id_token,
444  $target_token,
445  ] = (new URLBuilder(
446  $this->data_factory->uri(
447  ilUtil::_getHttpPath() . '/' .
448  $this->ctrl->getLinkTarget($this, self::CMD_TABLE_ACTION)
449  )
450  )
451  )->acquireParameters(
452  [self::URL_BUILDER_PREFIX],
453  self::PARAM_ACTION,
454  self::PARAM_MAIL_ID,
455  self::PARAM_TARGET_FOLDER
456  );
457 
458  $table = new MailFolderTableUI(
459  $url_builder,
460  $action_token,
461  $row_id_token,
462  $target_token,
463  $this->mbox->getSubFolders(),
465  $this->getFilteredSearch(),
466  $this->umail,
469  $this->lng,
470  $this->http->request(),
473  $this->user->getDateFormat(),
474  $this->user->getTimeFormat(),
475  new DateTimeZone($this->user->getTimeZone())
476  );
477 
478  $components[] = $this->getFilterUI()->getComponent();
479  $components[] = $table->getComponent();
480 
481  $this->tpl->setTitle($this->folder->getTitle());
482  $this->tpl->setContent($this->ui_renderer->render($components));
483  $this->tpl->printToStdout();
484  }
readonly Factory $ui_factory
$components
static http()
Fetches the global http state from ILIAS.
readonly ilLanguage $lng
MailFolderData $folder
readonly Refinery $refinery
static _getHttpPath()
readonly Renderer $ui_renderer
getFilteredSearch()
Searcher for mails in the folder, initialized with the current filter values needed for table display...
URLBuilder.
Definition: URLBuilder.php:40
readonly DataFactory $data_factory
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showUser()

ilMailFolderGUI::showUser ( )
protected
Exceptions
ilCtrlException

Definition at line 350 of file class.ilMailFolderGUI.php.

References ilObjUser\_lookupLogin(), ILIAS\Repository\ctrl(), ilUtil\getImagePath(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\tabs().

350  : void
351  {
352  $usr_id = $this->http->wrapper()->query()->retrieve(
353  self::PARAM_USER_ID,
354  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
355  );
356 
357  $this->tpl->setVariable('TBL_TITLE', implode(' ', [
358  $this->lng->txt('profile_of'),
359  ilObjUser::_lookupLogin($usr_id),
360  ]));
361  $this->tpl->setVariable('TBL_TITLE_IMG', ilUtil::getImagePath('standard/icon_usr.svg'));
362  $this->tpl->setVariable('TBL_TITLE_IMG_ALT', $this->lng->txt('public_profile'));
363 
364  $profile_gui = new ilPublicUserProfileGUI($usr_id);
365 
366  $mail_id = $this->http->wrapper()->query()->retrieve(
367  self::PARAM_MAIL_ID,
368  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
369  );
370 
371  if ($mail_id > 0) {
372  $this->ctrl->setParameter($this, self::PARAM_MAIL_ID, $mail_id);
373  $this->tabs->clearTargets();
374  $this->tabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_MAIL));
375  } else {
376  $this->tabs->clearTargets();
377  $this->tabs->setBackTarget(
378  $this->lng->txt('back_to_folder'),
379  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_FOLDER)
380  );
381  }
382 
383  $this->ctrl->clearParameters($this);
384 
385  $this->tpl->setTitle($this->lng->txt('mail'));
386  $this->tpl->setContent($this->ctrl->getHTML($profile_gui));
387  $this->tpl->printToStdout();
388  }
GUI class for public user profile presentation.
static http()
Fetches the global http state from ILIAS.
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static _lookupLogin(int $a_user_id)
+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

readonly ilCtrlInterface ilMailFolderGUI::$ctrl
private

Definition at line 65 of file class.ilMailFolderGUI.php.

◆ $data_factory

readonly DataFactory ilMailFolderGUI::$data_factory
private

Definition at line 76 of file class.ilMailFolderGUI.php.

Referenced by showFolder().

◆ $error

readonly ilErrorHandling ilMailFolderGUI::$error
private

Definition at line 72 of file class.ilMailFolderGUI.php.

◆ $folder

MailFolderData ilMailFolderGUI::$folder
private

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

Referenced by getFilterUI(), initRequest(), and showFolder().

◆ $http

readonly GlobalHttpState ilMailFolderGUI::$http
private

Definition at line 70 of file class.ilMailFolderGUI.php.

◆ $lng

readonly ilLanguage ilMailFolderGUI::$lng
private

Definition at line 66 of file class.ilMailFolderGUI.php.

Referenced by getFilterUI(), and showFolder().

◆ $mbox

ilMailbox ilMailFolderGUI::$mbox
private

Definition at line 78 of file class.ilMailFolderGUI.php.

◆ $refinery

readonly Refinery ilMailFolderGUI::$refinery
private

Definition at line 71 of file class.ilMailFolderGUI.php.

Referenced by showFolder().

◆ $tabs

readonly ilTabsGUI ilMailFolderGUI::$tabs
private

Definition at line 68 of file class.ilMailFolderGUI.php.

◆ $toolbar

readonly ilToolbarGUI ilMailFolderGUI::$toolbar
private

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

◆ $tpl

readonly ilGlobalTemplateInterface ilMailFolderGUI::$tpl
private

Definition at line 64 of file class.ilMailFolderGUI.php.

◆ $ui_factory

readonly Factory ilMailFolderGUI::$ui_factory
private

Definition at line 73 of file class.ilMailFolderGUI.php.

Referenced by getFilterUI(), and showFolder().

◆ $ui_renderer

readonly Renderer ilMailFolderGUI::$ui_renderer
private

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

Referenced by showFolder().

◆ $ui_service

readonly ilUIService ilMailFolderGUI::$ui_service
private

Definition at line 75 of file class.ilMailFolderGUI.php.

◆ $umail

ilMail ilMailFolderGUI::$umail
private

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

Referenced by showFolder().

◆ $user

readonly ilObjUser ilMailFolderGUI::$user
private

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

◆ CMD_ADD_SUB_FOLDER

const string ilMailFolderGUI::CMD_ADD_SUB_FOLDER = 'addSubFolder'
private

Definition at line 51 of file class.ilMailFolderGUI.php.

◆ CMD_DELETE_MAILS

const string ilMailFolderGUI::CMD_DELETE_MAILS = 'deleteMails'
private

Definition at line 52 of file class.ilMailFolderGUI.php.

◆ CMD_DELETE_SUB_FOLDER

const string ilMailFolderGUI::CMD_DELETE_SUB_FOLDER = 'deleteSubFolder'
private

Definition at line 53 of file class.ilMailFolderGUI.php.

◆ CMD_DELIVER_FILE

const string ilMailFolderGUI::CMD_DELIVER_FILE = 'deliverFile'
private

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

◆ CMD_EMPTY_TRASH

const string ilMailFolderGUI::CMD_EMPTY_TRASH = 'emptyTrash'
private

Definition at line 55 of file class.ilMailFolderGUI.php.

◆ CMD_MOVE_SINGLE_MAIL

const string ilMailFolderGUI::CMD_MOVE_SINGLE_MAIL = 'moveSingleMail'
private

Definition at line 56 of file class.ilMailFolderGUI.php.

◆ CMD_PRINT_MAIL

const string ilMailFolderGUI::CMD_PRINT_MAIL = 'printMail'
private

Definition at line 57 of file class.ilMailFolderGUI.php.

◆ CMD_RENAME_SUB_FOLDER

const string ilMailFolderGUI::CMD_RENAME_SUB_FOLDER = 'renameSubFolder'
private

Definition at line 58 of file class.ilMailFolderGUI.php.

◆ CMD_SHOW_FOLDER

const string ilMailFolderGUI::CMD_SHOW_FOLDER = 'showFolder'
private

Definition at line 60 of file class.ilMailFolderGUI.php.

◆ CMD_SHOW_MAIL

const string ilMailFolderGUI::CMD_SHOW_MAIL = 'showMail'
private

Definition at line 59 of file class.ilMailFolderGUI.php.

◆ CMD_SHOW_USER

const string ilMailFolderGUI::CMD_SHOW_USER = 'showUser'
private

Definition at line 61 of file class.ilMailFolderGUI.php.

◆ CMD_TABLE_ACTION

const string ilMailFolderGUI::CMD_TABLE_ACTION = 'executeTableAction'
private

Definition at line 62 of file class.ilMailFolderGUI.php.

◆ PARAM_ACTION

const string ilMailFolderGUI::PARAM_ACTION = 'action'
private

Definition at line 43 of file class.ilMailFolderGUI.php.

◆ PARAM_FOLDER_ID

const string ilMailFolderGUI::PARAM_FOLDER_ID = 'mobj_id'
private

Definition at line 44 of file class.ilMailFolderGUI.php.

◆ PARAM_INTERRUPTIVE_ITEMS

const string ilMailFolderGUI::PARAM_INTERRUPTIVE_ITEMS = 'interruptive_items'
private

Definition at line 48 of file class.ilMailFolderGUI.php.

◆ PARAM_MAIL_ID

const string ilMailFolderGUI::PARAM_MAIL_ID = 'mail_id'
private

Definition at line 45 of file class.ilMailFolderGUI.php.

◆ PARAM_TARGET_FOLDER

const string ilMailFolderGUI::PARAM_TARGET_FOLDER = 'target_folder'
private

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

◆ PARAM_USER_ID

const string ilMailFolderGUI::PARAM_USER_ID = 'user_id'
private

Definition at line 46 of file class.ilMailFolderGUI.php.

◆ URL_BUILDER_PREFIX

const string ilMailFolderGUI::URL_BUILDER_PREFIX = 'ilMailFolderGUI'
private

Definition at line 40 of file class.ilMailFolderGUI.php.


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