ILIAS  trunk Revision v11.0_alpha-1851-ga8564da6fed
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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 URL_BUILDER_PREFIX = 'ilMailFolderGUI'
 
const PARAM_ACTION = 'action'
 
const PARAM_FOLDER_ID = 'mobj_id'
 
const PARAM_MAIL_ID = 'mail_id'
 
const PARAM_USER_ID = 'user_id'
 
const PARAM_TARGET_FOLDER = 'target_folder'
 
const PARAM_INTERRUPTIVE_ITEMS = 'interruptive_items'
 
const CMD_ADD_SUB_FOLDER = 'addSubFolder'
 
const CMD_DELETE_MAILS = 'deleteMails'
 
const CMD_DELETE_SUB_FOLDER = 'deleteSubFolder'
 
const CMD_DELIVER_FILE = 'deliverFile'
 
const CMD_EMPTY_TRASH = 'emptyTrash'
 
const CMD_MOVE_SINGLE_MAIL = 'moveSingleMail'
 
const CMD_PRINT_MAIL = 'printMail'
 
const CMD_RENAME_SUB_FOLDER = 'renameSubFolder'
 
const CMD_SHOW_MAIL = 'showMail'
 
const CMD_SHOW_FOLDER = 'showFolder'
 
const CMD_SHOW_USER = 'showUser'
 
const 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:22
+ Here is the call graph for this function:

Member Function Documentation

◆ addSubFolder()

ilMailFolderGUI::addSubFolder ( )
protected

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

528  : void
529  {
530  $form = $this->ui_factory->input()->container()->form()->standard(
531  $this->ctrl->getFormAction($this, self::CMD_ADD_SUB_FOLDER),
532  [
533  'folder' => $this->ui_factory->input()->field()->section([
534  'title' => $this->ui_factory->input()->field()->text($this->lng->txt('title'))->withRequired(true)
535  ], $this->lng->txt('mail_add_folder'))
536  ]
537  );
538 
539  $request = $this->http->request();
540  if ($request->getMethod() === 'POST') {
541  $form = $form->withRequest($request);
542  $data = $form->getData();
543  if (!empty($data['folder']['title'])) {
544  $new_folder_id = $this->mbox->addFolder(
545  $this->folder->getFolderId(),
546  (string) $data['folder']['title']
547  );
548  if ($new_folder_id > 0) {
549  $this->tpl->setOnScreenMessage(
551  $this->lng->txt('mail_folder_created'),
552  true
553  );
554  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $new_folder_id);
555  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
556  } else {
557  $this->tpl->setOnScreenMessage(
559  $this->lng->txt('mail_folder_exists')
560  );
561  }
562  }
563  }
564  $this->tpl->setContent($this->ui_renderer->render($form));
565  $this->tpl->printToStdout();
566  }
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 726 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().

726  : void
727  {
728  $user_timezone = new DateTimeZone($this->user->getTimeZone());
729  $records = $this->getFilteredSearch()->forMailIds($mail_ids)->getPagedRecords(10, 0, null, null);
730  $items = [];
731  foreach ($records as $record) {
732  $prefix = '';
733  if (!empty($record->getSendTime())) {
734  $time = $record->getSendTime()->setTimezone($user_timezone);
735  $prefix = $time->format($this->user->getDateFormat()->toString()) . ' ';
736  }
737  $items[] = $this->ui_factory->modal()->interruptiveItem()->standard(
738  (string) $record->getMailId(),
739  $prefix . $this->refinery->encode()->htmlSpecialCharsAsEntities()->transform($record->getSubject())
740  );
741  }
742 
743  $modal = $this->ui_factory->modal()->interruptive(
744  $this->lng->txt('delete'),
745  $this->lng->txt('mail_sure_delete_' . (count($items) === 1 ? 's' : 'p')),
746  $this->ctrl->getFormAction($this, self::CMD_DELETE_MAILS)
747  )->withAffectedItems($items);
748 
749  $this->http->saveResponse(
750  $this->http->response()->withBody(
751  Streams::ofString($this->ui_renderer->renderAsync($modal))
752  )
753  );
754  $this->http->sendResponse();
755  $this->http->close();
756  }
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 702 of file class.ilMailFolderGUI.php.

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

702  : void
703  {
704  if (!$this->folder->isTrash()) {
705  $this->tpl->setOnScreenMessage(
707  $this->lng->txt('mail_operation_on_invalid_folder'),
708  true
709  );
710  $this->redirectToFolder();
711  }
712 
713  $this->umail->deleteMails($this->getMailIdsFromRequest());
714  $this->tpl->setOnScreenMessage(
716  $this->lng->txt('mail_deleted'),
717  true
718  );
719  $this->redirectToFolder();
720  }
+ Here is the call graph for this function:

◆ deleteSubFolder()

ilMailFolderGUI::deleteSubFolder ( )
protected

Definition at line 507 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().

507  : void
508  {
509  $parent_folder_id = $this->mbox->getParentFolderId($this->folder->getFolderId());
510  if ($parent_folder_id > 0 && $this->mbox->deleteFolder($this->folder->getFolderId())) {
511  $this->tpl->setOnScreenMessage(
513  $this->lng->txt('mail_folder_deleted'),
514  true
515  );
516  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $parent_folder_id);
517  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
518  } else {
519  $this->tpl->setOnScreenMessage(
521  $this->lng->txt('mail_error_delete'),
522  true
523  );
524  $this->redirectToFolder();
525  }
526  }
+ Here is the call graph for this function:

◆ deliverAttachments()

ilMailFolderGUI::deliverAttachments ( )
protected

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

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

Referenced by executeTableAction().

1171  : void
1172  {
1173  try {
1174  $mailId = $this->getMailIdsFromRequest()[0] ?? 0;
1175  $mailData = $this->umail->getMail($mailId);
1176  if (null === $mailData || [] === (array) $mailData['attachments']) {
1177  throw new ilMailException('mail_error_reading_attachment');
1178  }
1179 
1180  $type = $this->http->wrapper()->query()->retrieve(
1181  'type',
1182  $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1183  );
1184 
1185  $mailFileData = new ilFileDataMail($this->user->getId());
1186  if (count($mailData['attachments']) === 1) {
1187  $attachment = current($mailData['attachments']);
1188 
1189  try {
1190  if ('draft' === $type) {
1191  if (!$mailFileData->checkFilesExist([$attachment])) {
1192  throw new OutOfBoundsException('');
1193  }
1194  $pathToFile = $mailFileData->getAbsoluteAttachmentPoolPathByFilename($attachment);
1195  $fileName = $attachment;
1196  } else {
1197  $file = $mailFileData->getAttachmentPathAndFilenameByMd5Hash(
1198  md5($attachment),
1199  $mailId
1200  );
1201  $pathToFile = $file['path'];
1202  $fileName = $file['filename'];
1203  }
1204  ilFileDelivery::deliverFileLegacy($pathToFile, $fileName);
1205  } catch (OutOfBoundsException $e) {
1206  throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1207  }
1208  } else {
1209  $mailFileData->deliverAttachmentsAsZip(
1210  $mailData['m_subject'],
1211  $mailId,
1212  $mailData['attachments'],
1213  'draft' === $type
1214  );
1215  }
1216  } catch (Exception $e) {
1217  $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1218  $this->redirectToFolder();
1219  }
1220  }
This class handles all operations on files (attachments) in directory ilias_data/mail.
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.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deliverFile()

ilMailFolderGUI::deliverFile ( )
protected

Definition at line 1128 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().

1128  : void
1129  {
1130  $mailId = $this->http->wrapper()->query()->retrieve(
1131  self::PARAM_MAIL_ID,
1132  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
1133  );
1134  if ($mailId <= 0) {
1135  $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
1136  }
1137 
1138  $filename = $this->http->wrapper()->post()->retrieve(
1139  'filename',
1140  $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1141  );
1142 
1143  if (is_string(ilSession::get('filename')) && ilSession::get('filename') !== '') {
1144  $filename = ilSession::get('filename');
1145  ilSession::set('filename', null);
1146  }
1147 
1148  try {
1149  if ($mailId > 0 && $filename !== '') {
1150  while (str_contains((string) $filename, '..')) {
1151  $filename = str_replace('..', '', $filename);
1152  }
1153 
1154  $mailFileData = new ilFileDataMail($this->user->getId());
1155  try {
1156  $file = $mailFileData->getAttachmentPathAndFilenameByMd5Hash($filename, (int) $mailId);
1157  ilFileDelivery::deliverFileLegacy($file['path'], $file['filename']);
1158  } catch (OutOfBoundsException $e) {
1159  throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1160  }
1161  } else {
1162  $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_attachment'));
1163  $this->showMail();
1164  }
1165  } catch (Exception $e) {
1166  $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1167  $this->redirectToFolder();
1168  }
1169  }
getAttachmentPathAndFilenameByMd5Hash(string $md5FileHash, int $mailId)
static get(string $a_var)
This class handles all operations on files (attachments) in directory ilias_data/mail.
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 350 of file class.ilMailFolderGUI.php.

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

350  : void
351  {
352  $this->umail->deleteMailsOfFolder($this->mbox->getTrashFolder());
353  $this->tpl->setOnScreenMessage(
355  $this->lng->txt('mail_deleted'),
356  true
357  );
358  $this->redirectToFolder();
359  }
+ 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  $nextClass = $this->ctrl->getNextClass($this) ?? '';
145  switch (strtolower($nextClass)) {
146  case strtolower(ilContactGUI::class):
147  $this->ctrl->forwardCommand(new ilContactGUI());
148  break;
149 
150  default:
151  $cmd = $this->ctrl->getCmd() ?? '';
152  switch ($cmd) {
153  case self::CMD_ADD_SUB_FOLDER:
154  case self::CMD_DELETE_MAILS:
155  case self::CMD_DELETE_SUB_FOLDER:
156  case self::CMD_DELIVER_FILE:
157  case self::CMD_EMPTY_TRASH:
158  case self::CMD_MOVE_SINGLE_MAIL:
159  case self::CMD_PRINT_MAIL:
160  case self::CMD_RENAME_SUB_FOLDER:
161  case self::CMD_SHOW_MAIL:
162  case self::CMD_SHOW_FOLDER:
163  case self::CMD_SHOW_USER:
164  case self::CMD_TABLE_ACTION:
165  $this->{$cmd}();
166  break;
167 
168  default:
169  $this->showFolder();
170  }
171  }
172  }
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 174 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().

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

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

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

621  {
622  return new MailFolderSearch(
623  $this->folder,
624  $this->getFilterUI()->getData(),
625  ilSearchSettings::getInstance()->enabledLucene(),
626  );
627  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFilterUI()

ilMailFolderGUI::getFilterUI ( )
protected

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

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

Referenced by getFilteredSearch(), and showFolder().

603  : MailFilterUI
604  {
605  return new MailFilterUI(
606  $this->ctrl->getFormAction($this, self::CMD_SHOW_FOLDER),
607  ilSearchSettings::getInstance()->enabledLucene(),
610  $this->ui_service->filter(),
611  $this->lng,
612  new DateTimeZone($this->user->getTimeZone()),
613  );
614  }
readonly Factory $ui_factory
Filter input for mail folders.
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 632 of file class.ilMailFolderGUI.php.

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

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

632  : array
633  {
634  // table actions have a prefix, controller commands and modal items have none
635  foreach (
636  [
637  self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_MAIL_ID,
638  self::PARAM_MAIL_ID,
639  self::PARAM_INTERRUPTIVE_ITEMS
640  ] as $param
641  ) {
642  foreach (
643  [
644  $this->http->wrapper()->post(),
645  $this->http->wrapper()->query()
646  ] as $wrapper
647  ) {
648  if ($wrapper->has($param)) {
649  return $wrapper->retrieve(
650  $param,
651  $this->refinery->byTrying([
652  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int()),
653  $this->refinery->always([])
654  ])
655  );
656  }
657  }
658  }
659 
660  return [];
661  }
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 (0 === $folder_id || !$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.
Mail Box class Base class for creating and handling mail boxes.
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 667 of file class.ilMailFolderGUI.php.

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

667  : void
668  {
669  $mailIds = $this->getMailIdsFromRequest();
670  if (count($mailIds) !== 1) {
671  $this->showMail();
672  $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_one'));
673  return;
674  }
675 
676  $newFolderId = $this->http->wrapper()->query()->retrieve(
677  'folder_id',
678  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
679  );
680  $redirectFolderId = $newFolderId;
681 
682  foreach ($mailIds as $mailId) {
683  $mailData = $this->umail->getMail($mailId);
684  if (isset($mailData['folder_id']) &&
685  is_numeric($mailData['folder_id']) &&
686  (int) $mailData['folder_id'] > 0) {
687  $redirectFolderId = (int) $mailData['folder_id'];
688  break;
689  }
690  }
691 
692  if ($this->umail->moveMailsToFolder($mailIds, $newFolderId)) {
693  $this->tpl->setOnScreenMessage('success', $this->lng->txt('mail_moved'), true);
694  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $redirectFolderId);
695  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
696  } else {
697  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('mail_move_error'));
698  $this->showMail();
699  }
700  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ printMail()

ilMailFolderGUI::printMail ( )
protected

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

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

Referenced by executeTableAction().

1075  : void
1076  {
1077  $tplprint = new ilTemplate('tpl.mail_print.html', true, true, 'components/ILIAS/Mail');
1078 
1079  $mailId = $this->getMailIdsFromRequest()[0] ?? 0;
1080  $mailData = $this->umail->getMail($mailId);
1081 
1082  $sender = ilObjectFactory::getInstanceByObjId($mailData['sender_id'], false);
1083 
1084  $tplprint->setVariable('TXT_FROM', $this->lng->txt('from'));
1085  if ($sender instanceof ilObjUser && $sender->getId() !== 0 && !$sender->isAnonymous()) {
1086  $tplprint->setVariable('FROM', $sender->getPublicName());
1087  } elseif (!$sender instanceof ilObjUser || 0 === $sender->getId()) {
1088  $tplprint->setVariable(
1089  'FROM',
1090  trim(($mailData['import_name'] ?? '') . ' (' . $this->lng->txt('user_deleted') . ')')
1091  );
1092  } else {
1093  $tplprint->setVariable('FROM', ilMail::_getIliasMailerName());
1094  }
1095 
1096  $tplprint->setVariable('TXT_TO', $this->lng->txt('mail_to'));
1097  $tplprint->setVariable('TO', $mailData['rcp_to']);
1098 
1099  if ($mailData['rcp_cc']) {
1100  $tplprint->setCurrentBlock('cc');
1101  $tplprint->setVariable('TXT_CC', $this->lng->txt('mail_cc'));
1102  $tplprint->setVariable('CC', $mailData['rcp_cc']);
1103  $tplprint->parseCurrentBlock();
1104  }
1105 
1106  if ($mailData['rcp_bcc']) {
1107  $tplprint->setCurrentBlock('bcc');
1108  $tplprint->setVariable('TXT_BCC', $this->lng->txt('mail_bcc'));
1109  $tplprint->setVariable('BCC', $mailData['rcp_bcc']);
1110  $tplprint->parseCurrentBlock();
1111  }
1112 
1113  $tplprint->setVariable('TXT_SUBJECT', $this->lng->txt('subject'));
1114  $tplprint->setVariable('SUBJECT', htmlspecialchars($mailData['m_subject']));
1115 
1116  $tplprint->setVariable('TXT_DATE', $this->lng->txt('date'));
1117  $tplprint->setVariable(
1118  'DATE',
1119  ilDatePresentation::formatDate(new ilDateTime($mailData['send_time'], IL_CAL_DATETIME))
1120  );
1121 
1122  $tplprint->setVariable('TXT_MESSAGE', $this->lng->txt('message'));
1123  $tplprint->setVariable('MAIL_MESSAGE', nl2br(htmlspecialchars($mailData['m_message'])));
1124 
1125  $tplprint->show();
1126  }
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 500 of file class.ilMailFolderGUI.php.

References ILIAS\Repository\ctrl().

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

500  : never
501  {
502  $this->ctrl->clearParameters($this);
503  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $this->folder->getFolderId());
504  $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
505  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renameSubFolder()

ilMailFolderGUI::renameSubFolder ( )
protected

Definition at line 568 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().

568  : void
569  {
570  $form = $this->ui_factory->input()->container()->form()->standard(
571  $this->ctrl->getFormAction($this, self::CMD_RENAME_SUB_FOLDER),
572  [
573  'folder' => $this->ui_factory->input()->field()->section([
574  'title' => $this->ui_factory->input()->field()->text($this->lng->txt('title'))->withRequired(true)
575  ], $this->lng->txt('mail_rename_folder'))
576  ]
577  );
578 
579  $request = $this->http->request();
580  if ($request->getMethod() === 'POST') {
581  $form = $form->withRequest($request);
582  $data = $form->getData();
583  if (!empty($data['folder']['title'])) {
584  if ($this->mbox->renameFolder($this->folder->getFolderId(), (string) $data['folder']['title'])) {
585  $this->tpl->setOnScreenMessage(
587  $this->lng->txt('mail_folder_name_changed'),
588  true
589  );
590  $this->redirectToFolder();
591  } else {
592  $this->tpl->setOnScreenMessage(
594  $this->lng->txt('mail_folder_exists')
595  );
596  }
597  }
598  }
599  $this->tpl->setContent($this->ui_renderer->render($form));
600  $this->tpl->printToStdout();
601  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ showFolder()

ilMailFolderGUI::showFolder ( )
protected

Definition at line 404 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().

404  : void
405  {
406  $components = [];
407  $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $this->folder->getFolderId());
408 
409  if ($this->folder->isUserLocalFolder()) {
410  $this->toolbar->addComponent(
411  $this->ui_factory->button()->standard(
412  $this->lng->txt('mail_add_subfolder'),
413  $this->ctrl->getLinkTarget($this, self::CMD_ADD_SUB_FOLDER)
414  )
415  );
416  }
417 
418  if ($this->folder->isUserFolder()) {
419  $this->toolbar->addComponent(
420  $this->ui_factory->button()->standard(
421  $this->lng->txt('rename'),
422  $this->ctrl->getLinkTarget($this, self::CMD_RENAME_SUB_FOLDER)
423  )
424  );
425 
426  $components[] = $modal = $this->ui_factory->modal()->interruptive(
427  $this->lng->txt('delete'),
428  $this->lng->txt('mail_sure_delete_folder'),
429  $this->ctrl->getLinkTarget($this, self::CMD_DELETE_SUB_FOLDER)
430  );
431  $this->toolbar->addComponent(
432  $this->ui_factory->button()->standard(
433  $this->lng->txt('delete'),
434  '#'
435  )
436  ->withOnClick($modal->getShowSignal())
437  );
438  }
439 
440  if ($this->folder->isTrash()) {
441  $components[] = $modal = $this->ui_factory->modal()->interruptive(
442  $this->lng->txt('mail_empty_trash'),
443  $this->lng->txt('mail_empty_trash_confirmation'),
444  $this->ctrl->getLinkTarget($this, self::CMD_EMPTY_TRASH)
445  );
446  $this->toolbar->addComponent(
447  $this->ui_factory->button()->standard(
448  $this->lng->txt('mail_empty_trash'),
449  '#'
450  )->withOnClick($modal->getShowSignal())
451  );
452  }
453 
454  [
455  $url_builder,
456  $action_token,
457  $row_id_token,
458  $target_token,
459  ] = (new URLBuilder(
460  $this->data_factory->uri(
461  ilUtil::_getHttpPath() . '/' .
462  $this->ctrl->getLinkTarget($this, self::CMD_TABLE_ACTION)
463  )
464  )
465  )->acquireParameters(
466  [self::URL_BUILDER_PREFIX],
467  self::PARAM_ACTION,
468  self::PARAM_MAIL_ID,
469  self::PARAM_TARGET_FOLDER
470  );
471 
472  $table = new MailFolderTableUI(
473  $url_builder,
474  $action_token,
475  $row_id_token,
476  $target_token,
477  $this->mbox->getSubFolders(),
479  $this->getFilteredSearch(),
480  $this->umail,
483  $this->lng,
484  $this->http->request(),
487  $this->user->getDateFormat(),
488  $this->user->getTimeFormat(),
489  new DateTimeZone($this->user->getTimeZone())
490  );
491 
492  $components[] = $this->getFilterUI()->getComponent();
493  $components[] = $table->getComponent();
494 
495  $this->tpl->setTitle($this->folder->getTitle());
496  $this->tpl->setContent($this->ui_renderer->render($components));
497  $this->tpl->printToStdout();
498  }
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 364 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().

364  : void
365  {
366  $userId = $this->http->wrapper()->query()->retrieve(
367  self::PARAM_USER_ID,
368  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
369  );
370 
371  $this->tpl->setVariable('TBL_TITLE', implode(' ', [
372  $this->lng->txt('profile_of'),
373  ilObjUser::_lookupLogin($userId),
374  ]));
375  $this->tpl->setVariable('TBL_TITLE_IMG', ilUtil::getImagePath('standard/icon_usr.svg'));
376  $this->tpl->setVariable('TBL_TITLE_IMG_ALT', $this->lng->txt('public_profile'));
377 
378  $profile_gui = new ilPublicUserProfileGUI($userId);
379 
380  $mailId = $this->http->wrapper()->query()->retrieve(
381  self::PARAM_MAIL_ID,
382  $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
383  );
384 
385  if ($mailId > 0) {
386  $this->ctrl->setParameter($this, self::PARAM_MAIL_ID, $mailId);
387  $this->tabs->clearTargets();
388  $this->tabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_MAIL));
389  } else {
390  $this->tabs->clearTargets();
391  $this->tabs->setBackTarget(
392  $this->lng->txt('back_to_folder'),
393  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_FOLDER)
394  );
395  }
396 
397  $this->ctrl->clearParameters($this);
398 
399  $this->tpl->setTitle($this->lng->txt('mail'));
400  $this->tpl->setContent($this->ctrl->getHTML($profile_gui));
401  $this->tpl->printToStdout();
402  }
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 ilMailFolderGUI::CMD_ADD_SUB_FOLDER = 'addSubFolder'
private

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

◆ CMD_DELETE_MAILS

const ilMailFolderGUI::CMD_DELETE_MAILS = 'deleteMails'
private

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

◆ CMD_DELETE_SUB_FOLDER

const ilMailFolderGUI::CMD_DELETE_SUB_FOLDER = 'deleteSubFolder'
private

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

◆ CMD_DELIVER_FILE

const ilMailFolderGUI::CMD_DELIVER_FILE = 'deliverFile'
private

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

◆ CMD_EMPTY_TRASH

const ilMailFolderGUI::CMD_EMPTY_TRASH = 'emptyTrash'
private

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

◆ CMD_MOVE_SINGLE_MAIL

const ilMailFolderGUI::CMD_MOVE_SINGLE_MAIL = 'moveSingleMail'
private

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

◆ CMD_PRINT_MAIL

const ilMailFolderGUI::CMD_PRINT_MAIL = 'printMail'
private

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

◆ CMD_RENAME_SUB_FOLDER

const ilMailFolderGUI::CMD_RENAME_SUB_FOLDER = 'renameSubFolder'
private

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

◆ CMD_SHOW_FOLDER

const ilMailFolderGUI::CMD_SHOW_FOLDER = 'showFolder'
private

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

◆ CMD_SHOW_MAIL

const ilMailFolderGUI::CMD_SHOW_MAIL = 'showMail'
private

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

◆ CMD_SHOW_USER

const ilMailFolderGUI::CMD_SHOW_USER = 'showUser'
private

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

◆ CMD_TABLE_ACTION

const ilMailFolderGUI::CMD_TABLE_ACTION = 'executeTableAction'
private

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

◆ PARAM_ACTION

const ilMailFolderGUI::PARAM_ACTION = 'action'
private

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

◆ PARAM_FOLDER_ID

const ilMailFolderGUI::PARAM_FOLDER_ID = 'mobj_id'
private

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

◆ PARAM_INTERRUPTIVE_ITEMS

const ilMailFolderGUI::PARAM_INTERRUPTIVE_ITEMS = 'interruptive_items'
private

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

◆ PARAM_MAIL_ID

const ilMailFolderGUI::PARAM_MAIL_ID = 'mail_id'
private

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

◆ PARAM_TARGET_FOLDER

const ilMailFolderGUI::PARAM_TARGET_FOLDER = 'target_folder'
private

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

◆ PARAM_USER_ID

const ilMailFolderGUI::PARAM_USER_ID = 'user_id'
private

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

◆ URL_BUILDER_PREFIX

const 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: