ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilMailFolderGUI Class Reference

@ilCtrl_Calls ilMailFolderGUI: More...

+ Inheritance diagram for ilMailFolderGUI:
+ Collaboration diagram for ilMailFolderGUI:

Public Member Functions

 __construct ()
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 
 executeCommand ()
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 

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

@ilCtrl_Calls ilMailFolderGUI:

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

Constructor & Destructor Documentation

◆ __construct()

ilMailFolderGUI::__construct ( )

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

83 {
84 global $DIC;
85
86 $this->tpl = $DIC->ui()->mainTemplate();
87 $this->ctrl = $DIC->ctrl();
88 $this->lng = $DIC->language();
89 $this->toolbar = $DIC->toolbar();
90 $this->user = $DIC->user();
91 $this->tabs = $DIC->tabs();
92 $this->http = $DIC->http();
93 $this->refinery = $DIC->refinery();
94 $this->error = $DIC['ilErr'];
95 $this->ui_factory = $DIC->ui()->factory();
96 $this->ui_renderer = $DIC->ui()->renderer();
97 $this->ui_service = $DIC->uiService();
98 $this->data_factory = new ILIAS\Data\Factory();
99 }
Builds data types.
Definition: Factory.php:36
error(string $a_errmsg)
static http()
Fetches the global http state from ILIAS.
global $DIC
Definition: shib_login.php:26

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

+ Here is the call graph for this function:

Member Function Documentation

◆ addSubFolder()

ilMailFolderGUI::addSubFolder ( )
protected

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

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

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

+ 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 725 of file class.ilMailFolderGUI.php.

725 : void
726 {
727 $user_timezone = new DateTimeZone($this->user->getTimeZone());
728 $records = $this->getFilteredSearch()->forMailIds($mail_ids)->getPagedRecords(10, 0, null, null);
729 $items = [];
730 foreach ($records as $record) {
731 $prefix = '';
732 if (!empty($record->getSendTime())) {
733 $time = $record->getSendTime()->setTimezone($user_timezone);
734 $prefix = $time->format($this->user->getDateFormat()->toString()) . ' ';
735 }
736 $items[] = $this->ui_factory->modal()->interruptiveItem()->standard(
737 (string) $record->getMailId(),
738 $prefix . $this->refinery->encode()->htmlSpecialCharsAsEntities()->transform($record->getSubject())
739 );
740 }
741
742 $modal = $this->ui_factory->modal()->interruptive(
743 $this->lng->txt('delete'),
744 $this->lng->txt('mail_sure_delete_' . (count($items) === 1 ? 's' : 'p')),
745 $this->ctrl->getFormAction($this, self::CMD_DELETE_MAILS)
746 )->withAffectedItems($items);
747
748 $this->http->saveResponse(
749 $this->http->response()->withBody(
750 Streams::ofString($this->ui_renderer->renderAsync($modal))
751 )
752 );
753 $this->http->sendResponse();
754 $this->http->close();
755 }
getFilteredSearch()
Searcher for mails in the folder, initialized with the current filter values needed for table display...

References ILIAS\Repository\ctrl(), getFilteredSearch(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

Referenced by executeTableAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteMails()

ilMailFolderGUI::deleteMails ( )
protected

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

701 : void
702 {
703 if (!$this->folder->isTrash()) {
704 $this->tpl->setOnScreenMessage(
706 $this->lng->txt('mail_operation_on_invalid_folder'),
707 true
708 );
709 $this->redirectToFolder();
710 }
711
712 $this->umail->deleteMails($this->getMailIdsFromRequest());
713 $this->tpl->setOnScreenMessage(
715 $this->lng->txt('mail_deleted'),
716 true
717 );
718 $this->redirectToFolder();
719 }

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

+ Here is the call graph for this function:

◆ deleteSubFolder()

ilMailFolderGUI::deleteSubFolder ( )
protected

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

506 : void
507 {
508 $parent_folder_id = $this->mbox->getParentFolderId($this->folder->getFolderId());
509 if ($parent_folder_id > 0 && $this->mbox->deleteFolder($this->folder->getFolderId())) {
510 $this->tpl->setOnScreenMessage(
512 $this->lng->txt('mail_folder_deleted'),
513 true
514 );
515 $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $parent_folder_id);
516 $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
517 } else {
518 $this->tpl->setOnScreenMessage(
520 $this->lng->txt('mail_error_delete'),
521 true
522 );
523 $this->redirectToFolder();
524 }
525 }

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

+ Here is the call graph for this function:

◆ deliverAttachments()

ilMailFolderGUI::deliverAttachments ( )
protected

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

1170 : void
1171 {
1172 try {
1173 $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1174 $mail_data = $this->umail->getMail($mail_id);
1175 if ($mail_data === null || [] === (array) $mail_data['attachments']) {
1176 throw new ilMailException('mail_error_reading_attachment');
1177 }
1178
1179 $type = $this->http->wrapper()->query()->retrieve(
1180 'type',
1181 $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1182 );
1183
1184 $mail_file_data = new ilFileDataMail($this->user->getId());
1185 if (count($mail_data['attachments']) === 1) {
1186 $attachment = current($mail_data['attachments']);
1187
1188 try {
1189 if ($type === 'draft') {
1190 if (!$mail_file_data->checkFilesExist([$attachment])) {
1191 throw new OutOfBoundsException('');
1192 }
1193 $path_to_file = $mail_file_data->getAbsoluteAttachmentPoolPathByFilename($attachment);
1194 $filename = $attachment;
1195 } else {
1196 $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash(
1197 md5((string) $attachment),
1198 $mail_id
1199 );
1200 $path_to_file = $file['path'];
1201 $filename = $file['filename'];
1202 }
1204 } catch (OutOfBoundsException $e) {
1205 throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1206 }
1207 } else {
1208 $mail_file_data->deliverAttachmentsAsZip(
1209 $mail_data['m_subject'],
1210 $mail_id,
1211 $mail_data['attachments'],
1212 $type === 'draft'
1213 );
1214 }
1215 } catch (Exception $e) {
1216 $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1217 $this->redirectToFolder();
1218 }
1219 }
$filename
Definition: buildRTE.php:78
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)

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

Referenced by executeTableAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deliverFile()

ilMailFolderGUI::deliverFile ( )
protected

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

1127 : void
1128 {
1129 $mail_id = $this->http->wrapper()->query()->retrieve(
1130 self::PARAM_MAIL_ID,
1131 $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
1132 );
1133 if ($mail_id <= 0) {
1134 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
1135 }
1136
1137 $filename = $this->http->wrapper()->post()->retrieve(
1138 'filename',
1139 $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1140 );
1141
1142 if (is_string(ilSession::get('filename')) && ilSession::get('filename') !== '') {
1143 $filename = ilSession::get('filename');
1144 ilSession::set('filename', null);
1145 }
1146
1147 try {
1148 if ($mail_id > 0 && $filename !== '') {
1149 while (str_contains((string) $filename, '..')) {
1150 $filename = str_replace('..', '', $filename);
1151 }
1152
1153 $mail_file_data = new ilFileDataMail($this->user->getId());
1154 try {
1155 $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash($filename, (int) $mail_id);
1156 ilFileDelivery::deliverFileLegacy($file['path'], $file['filename']);
1157 } catch (OutOfBoundsException $e) {
1158 throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1159 }
1160 } else {
1161 $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_attachment'));
1162 $this->showMail();
1163 }
1164 } catch (Exception $e) {
1165 $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1166 $this->redirectToFolder();
1167 }
1168 }
static get(string $a_var)
static set(string $a_var, $a_val)
Set a value.

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

+ Here is the call graph for this function:

◆ emptyTrash()

ilMailFolderGUI::emptyTrash ( )
protected

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

349 : void
350 {
351 $this->umail->deleteMailsOfFolder($this->mbox->getTrashFolder());
352 $this->tpl->setOnScreenMessage(
354 $this->lng->txt('mail_deleted'),
355 true
356 );
357 $this->redirectToFolder();
358 }

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

+ Here is the call graph for this function:

◆ executeCommand()

ilMailFolderGUI::executeCommand ( )

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

153 : void
154 {
155 $this->initRequest();
156
157 $next_class = $this->ctrl->getNextClass($this) ?? '';
158 switch (strtolower($next_class)) {
159 case strtolower(ilContactGUI::class):
160 $this->ctrl->forwardCommand(new ilContactGUI());
161 break;
162
163 default:
164 $cmd = $this->ctrl->getCmd() ?? '';
165 match ($cmd) {
167 ),
168 default => $this->showFolder(),
169 };
170 }
171 }
const string CMD_PRINT_MAIL
const string CMD_ADD_SUB_FOLDER
const string CMD_DELETE_SUB_FOLDER
const string CMD_SHOW_USER
const string CMD_DELETE_MAILS
const string CMD_MOVE_SINGLE_MAIL
const string CMD_EMPTY_TRASH
const string CMD_SHOW_FOLDER
const string CMD_SHOW_MAIL
const string CMD_DELIVER_FILE
const string CMD_RENAME_SUB_FOLDER
initRequest()
Init class variables that can be determined in an actual request.

References CMD_ADD_SUB_FOLDER, CMD_DELETE_MAILS, CMD_DELETE_SUB_FOLDER, CMD_DELIVER_FILE, CMD_EMPTY_TRASH, CMD_MOVE_SINGLE_MAIL, CMD_PRINT_MAIL, CMD_RENAME_SUB_FOLDER, CMD_SHOW_FOLDER, CMD_SHOW_MAIL, CMD_SHOW_USER, ILIAS\Repository\ctrl(), initRequest(), and showFolder().

+ Here is the call graph for this function:

◆ executeTableAction()

ilMailFolderGUI::executeTableAction ( )
protected

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

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

References $user, confirmDeleteMails(), ILIAS\Repository\ctrl(), deliverAttachments(), getFilteredSearch(), ilObject\getId(), getMailIdsFromRequest(), ilMailUserCache\getUserObjectById(), ilObjUser\hasPublicProfile(), 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().

+ 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 619 of file class.ilMailFolderGUI.php.

620 {
621 return new MailFolderSearch(
622 $this->folder,
623 $this->getFilterUI()->getData(),
624 ilSearchSettings::getInstance()->enabledLucene(),
625 );
626 }

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

Referenced by confirmDeleteMails(), and executeTableAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFilterUI()

ilMailFolderGUI::getFilterUI ( )
protected

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

603 {
604 return new MailFilterUI(
605 $this->ctrl->getFormAction($this, self::CMD_SHOW_FOLDER),
606 ilSearchSettings::getInstance()->enabledLucene(),
607 $this->folder,
608 $this->ui_factory,
609 $this->ui_service->filter(),
610 $this->lng,
611 new DateTimeZone($this->user->getTimeZone()),
612 );
613 }

References ILIAS\Repository\ctrl(), ilSearchSettings\getInstance(), and ILIAS\Repository\user().

Referenced by getFilteredSearch(), and showFolder().

+ 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 631 of file class.ilMailFolderGUI.php.

631 : array
632 {
633 // table actions have a prefix, controller commands and modal items have none
634 foreach (
635 [
636 self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_MAIL_ID,
637 self::PARAM_MAIL_ID,
638 self::PARAM_INTERRUPTIVE_ITEMS
639 ] as $param
640 ) {
641 foreach (
642 [
643 $this->http->wrapper()->post(),
644 $this->http->wrapper()->query()
645 ] as $wrapper
646 ) {
647 if ($wrapper->has($param)) {
648 return $wrapper->retrieve(
649 $param,
650 $this->refinery->byTrying([
651 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int()),
652 $this->refinery->always([])
653 ])
654 );
655 }
656 }
657 }
658
659 return [];
660 }
$param
Definition: xapitoken.php:46

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSafePostCommands()

ilMailFolderGUI::getSafePostCommands ( )

This method must return a list of safe POST commands.

Safe post commands returned by this method will no longer be CSRF protected and will NOT be appended by an ilCtrlToken.

Returns
string[]

Implements ilCtrlSecurityInterface.

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

108 : array
109 {
110 return [];
111 }

◆ getUnsafeGetCommands()

ilMailFolderGUI::getUnsafeGetCommands ( )

This method must return a list of unsafe GET commands.

Unsafe get commands returned by this method will now be CSRF protected, which means an ilCtrlToken is appended each time a link-target is generated to the class implementing this interface with a command from that list.

Tokens will be validated in

See also
ilCtrlInterface::getCmd(), whereas the fallback command will be used if the CSRF validation fails.
Returns
string[]

Implements ilCtrlSecurityInterface.

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

101 : array
102 {
103 return [
105 ];
106 }
const string CMD_TABLE_ACTION

References CMD_TABLE_ACTION.

◆ initRequest()

ilMailFolderGUI::initRequest ( )
protected

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

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

116 : void
117 {
118 $this->umail = new ilMail($this->user->getId());
119 $this->mbox = new ilMailbox($this->user->getId());
120
121 if ($this->http->wrapper()->post()->has(self::PARAM_FOLDER_ID)) {
122 $folder_id = $this->http->wrapper()->post()->retrieve(
123 self::PARAM_FOLDER_ID,
124 $this->refinery->kindlyTo()->int()
125 );
126 } elseif ($this->http->wrapper()->query()->has(self::PARAM_FOLDER_ID)) {
127 $folder_id = $this->http->wrapper()->query()->retrieve(
128 self::PARAM_FOLDER_ID,
129 $this->refinery->kindlyTo()->int()
130 );
131 } else {
132 $folder_id = $this->refinery->byTrying([
133 $this->refinery->kindlyTo()->int(),
134 $this->refinery->always(0),
135 ])->transform(ilSession::get(self::PARAM_FOLDER_ID));
136 }
137
138 if ($folder_id === 0 || !$this->mbox->isOwnedFolder($folder_id)) {
139 $folder_id = $this->mbox->getInboxFolder();
140 }
141
142 $folder = $this->mbox->getFolderData($folder_id);
143 if ($folder === null) {
144 $this->tpl->setOnScreenMessage(
146 $this->lng->txt('mail_operation_on_invalid_folder')
147 );
148 $this->tpl->printToStdout();
149 }
150 $this->folder = $folder;
151 }
MailFolderData $folder

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

Referenced by executeCommand().

+ 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 666 of file class.ilMailFolderGUI.php.

666 : void
667 {
668 $mail_ids = $this->getMailIdsFromRequest();
669 if (count($mail_ids) !== 1) {
670 $this->showMail();
671 $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_one'));
672 return;
673 }
674
675 $new_folder_id = $this->http->wrapper()->query()->retrieve(
676 'folder_id',
677 $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
678 );
679 $redirect_folder_id = $new_folder_id;
680
681 foreach ($mail_ids as $mail_id) {
682 $mail_data = $this->umail->getMail($mail_id);
683 if (isset($mail_data['folder_id']) &&
684 is_numeric($mail_data['folder_id']) &&
685 (int) $mail_data['folder_id'] > 0) {
686 $redirect_folder_id = (int) $mail_data['folder_id'];
687 break;
688 }
689 }
690
691 if ($this->umail->moveMailsToFolder($mail_ids, $new_folder_id)) {
692 $this->tpl->setOnScreenMessage('success', $this->lng->txt('mail_moved'), true);
693 $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $redirect_folder_id);
694 $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
695 } else {
696 $this->tpl->setOnScreenMessage('failure', $this->lng->txt('mail_move_error'));
697 $this->showMail();
698 }
699 }

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

+ Here is the call graph for this function:

◆ printMail()

ilMailFolderGUI::printMail ( )
protected

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

1074 : void
1075 {
1076 $tplprint = new ilTemplate('tpl.mail_print.html', true, true, 'components/ILIAS/Mail');
1077
1078 $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1079 $mail_data = $this->umail->getMail($mail_id);
1080
1081 $sender = ilObjectFactory::getInstanceByObjId($mail_data['sender_id'], false);
1082
1083 $tplprint->setVariable('TXT_FROM', $this->lng->txt('from'));
1084 if ($sender instanceof ilObjUser && $sender->getId() !== 0 && !$sender->isAnonymous()) {
1085 $tplprint->setVariable('FROM', $sender->getPublicName());
1086 } elseif (!$sender instanceof ilObjUser || $sender->getId() === 0) {
1087 $tplprint->setVariable(
1088 'FROM',
1089 trim(($mail_data['import_name'] ?? '') . ' (' . $this->lng->txt('user_deleted') . ')')
1090 );
1091 } else {
1092 $tplprint->setVariable('FROM', ilMail::_getIliasMailerName());
1093 }
1094
1095 $tplprint->setVariable('TXT_TO', $this->lng->txt('mail_to'));
1096 $tplprint->setVariable('TO', $mail_data['rcp_to']);
1097
1098 if ($mail_data['rcp_cc']) {
1099 $tplprint->setCurrentBlock('cc');
1100 $tplprint->setVariable('TXT_CC', $this->lng->txt('mail_cc'));
1101 $tplprint->setVariable('CC', $mail_data['rcp_cc']);
1102 $tplprint->parseCurrentBlock();
1103 }
1104
1105 if ($mail_data['rcp_bcc']) {
1106 $tplprint->setCurrentBlock('bcc');
1107 $tplprint->setVariable('TXT_BCC', $this->lng->txt('mail_bcc'));
1108 $tplprint->setVariable('BCC', $mail_data['rcp_bcc']);
1109 $tplprint->parseCurrentBlock();
1110 }
1111
1112 $tplprint->setVariable('TXT_SUBJECT', $this->lng->txt('subject'));
1113 $tplprint->setVariable('SUBJECT', htmlspecialchars((string) $mail_data['m_subject']));
1114
1115 $tplprint->setVariable('TXT_DATE', $this->lng->txt('date'));
1116 $tplprint->setVariable(
1117 'DATE',
1118 ilDatePresentation::formatDate(new ilDateTime($mail_data['send_time'], IL_CAL_DATETIME))
1119 );
1120
1121 $tplprint->setVariable('TXT_MESSAGE', $this->lng->txt('message'));
1122 $tplprint->setVariable('MAIL_MESSAGE', nl2br(htmlspecialchars((string) $mail_data['m_message'])));
1123
1124 $tplprint->show();
1125 }
const IL_CAL_DATETIME
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
@classDescription Date and time handling
static _getIliasMailerName()
User class.
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
special template class to simplify handling of ITX/PEAR

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

Referenced by executeTableAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirectToFolder()

ilMailFolderGUI::redirectToFolder ( )
protected

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

499 : never
500 {
501 $this->ctrl->clearParameters($this);
502 $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, $this->folder->getFolderId());
503 $this->ctrl->redirect($this, self::CMD_SHOW_FOLDER);
504 }

References ILIAS\Repository\ctrl().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renameSubFolder()

ilMailFolderGUI::renameSubFolder ( )
protected

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

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

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().

+ Here is the call graph for this function:

◆ showFolder()

ilMailFolderGUI::showFolder ( )
protected

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

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

References $components, ilUtil\_getHttpPath(), ILIAS\Repository\ctrl(), getFilterUI(), ILIAS\Repository\lng(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

Referenced by executeCommand().

+ 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 363 of file class.ilMailFolderGUI.php.

363 : void
364 {
365 $usr_id = $this->http->wrapper()->query()->retrieve(
366 self::PARAM_USER_ID,
367 $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
368 );
369
370 $this->tpl->setVariable('TBL_TITLE', implode(' ', [
371 $this->lng->txt('profile_of'),
373 ]));
374 $this->tpl->setVariable('TBL_TITLE_IMG', ilUtil::getImagePath('standard/icon_usr.svg'));
375 $this->tpl->setVariable('TBL_TITLE_IMG_ALT', $this->lng->txt('public_profile'));
376
377 $profile_gui = new PublicProfileGUI($usr_id);
378
379 $mail_id = $this->http->wrapper()->query()->retrieve(
380 self::PARAM_MAIL_ID,
381 $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
382 );
383
384 if ($mail_id > 0) {
385 $this->ctrl->setParameter($this, self::PARAM_MAIL_ID, $mail_id);
386 $this->tabs->clearTargets();
387 $this->tabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_MAIL));
388 } else {
389 $this->tabs->clearTargets();
390 $this->tabs->setBackTarget(
391 $this->lng->txt('back_to_folder'),
392 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_FOLDER)
393 );
394 }
395
396 $this->ctrl->clearParameters($this);
397
398 $this->tpl->setTitle($this->lng->txt('mail'));
399 $this->tpl->setContent($this->ctrl->getHTML($profile_gui));
400 $this->tpl->printToStdout();
401 }
GUI class for public user profile presentation.
static _lookupLogin(int $a_user_id)
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)

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

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

readonly ilCtrlInterface ilMailFolderGUI::$ctrl
private

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

◆ $data_factory

readonly DataFactory ilMailFolderGUI::$data_factory
private

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

◆ $error

readonly ilErrorHandling ilMailFolderGUI::$error
private

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

◆ $folder

MailFolderData ilMailFolderGUI::$folder
private

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

Referenced by initRequest().

◆ $http

readonly GlobalHttpState ilMailFolderGUI::$http
private

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

◆ $lng

readonly ilLanguage ilMailFolderGUI::$lng
private

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

◆ $mbox

ilMailbox ilMailFolderGUI::$mbox
private

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

◆ $refinery

readonly Refinery ilMailFolderGUI::$refinery
private

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

◆ $tabs

readonly ilTabsGUI ilMailFolderGUI::$tabs
private

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

◆ $toolbar

readonly ilToolbarGUI ilMailFolderGUI::$toolbar
private

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

◆ $tpl

readonly ilGlobalTemplateInterface ilMailFolderGUI::$tpl
private

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

◆ $ui_factory

readonly Factory ilMailFolderGUI::$ui_factory
private

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

◆ $ui_renderer

readonly Renderer ilMailFolderGUI::$ui_renderer
private

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

◆ $ui_service

readonly ilUIService ilMailFolderGUI::$ui_service
private

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

◆ $umail

ilMail ilMailFolderGUI::$umail
private

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

◆ $user

readonly ilObjUser ilMailFolderGUI::$user
private

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

Referenced by executeTableAction().

◆ CMD_ADD_SUB_FOLDER

const string ilMailFolderGUI::CMD_ADD_SUB_FOLDER = 'addSubFolder'
private

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

Referenced by executeCommand().

◆ CMD_DELETE_MAILS

const string ilMailFolderGUI::CMD_DELETE_MAILS = 'deleteMails'
private

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

Referenced by executeCommand().

◆ CMD_DELETE_SUB_FOLDER

const string ilMailFolderGUI::CMD_DELETE_SUB_FOLDER = 'deleteSubFolder'
private

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

Referenced by executeCommand().

◆ CMD_DELIVER_FILE

const string ilMailFolderGUI::CMD_DELIVER_FILE = 'deliverFile'
private

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

Referenced by executeCommand().

◆ CMD_EMPTY_TRASH

const string ilMailFolderGUI::CMD_EMPTY_TRASH = 'emptyTrash'
private

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

Referenced by executeCommand().

◆ CMD_MOVE_SINGLE_MAIL

const string ilMailFolderGUI::CMD_MOVE_SINGLE_MAIL = 'moveSingleMail'
private

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

Referenced by executeCommand().

◆ CMD_PRINT_MAIL

const string ilMailFolderGUI::CMD_PRINT_MAIL = 'printMail'
private

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

Referenced by executeCommand().

◆ CMD_RENAME_SUB_FOLDER

const string ilMailFolderGUI::CMD_RENAME_SUB_FOLDER = 'renameSubFolder'
private

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

Referenced by executeCommand().

◆ CMD_SHOW_FOLDER

const string ilMailFolderGUI::CMD_SHOW_FOLDER = 'showFolder'
private

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

Referenced by executeCommand().

◆ CMD_SHOW_MAIL

const string ilMailFolderGUI::CMD_SHOW_MAIL = 'showMail'
private

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

Referenced by executeCommand().

◆ CMD_SHOW_USER

const string ilMailFolderGUI::CMD_SHOW_USER = 'showUser'
private

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

Referenced by executeCommand().

◆ CMD_TABLE_ACTION

const string ilMailFolderGUI::CMD_TABLE_ACTION = 'executeTableAction'
private

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

Referenced by getUnsafeGetCommands().

◆ PARAM_ACTION

const string ilMailFolderGUI::PARAM_ACTION = 'action'
private

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

◆ PARAM_FOLDER_ID

const string ilMailFolderGUI::PARAM_FOLDER_ID = 'mobj_id'
private

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

◆ PARAM_INTERRUPTIVE_ITEMS

const string ilMailFolderGUI::PARAM_INTERRUPTIVE_ITEMS = 'interruptive_items'
private

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

◆ PARAM_MAIL_ID

const string ilMailFolderGUI::PARAM_MAIL_ID = 'mail_id'
private

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

◆ PARAM_TARGET_FOLDER

const string ilMailFolderGUI::PARAM_TARGET_FOLDER = 'target_folder'
private

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

◆ PARAM_USER_ID

const string ilMailFolderGUI::PARAM_USER_ID = 'user_id'
private

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

◆ URL_BUILDER_PREFIX

const string ilMailFolderGUI::URL_BUILDER_PREFIX = 'ilMailFolderGUI'
private

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


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