ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilMailFolderGUI Class Reference

@ilCtrl_Calls ilMailFolderGUI: ILIAS\User\Profile\PublicProfileGUI 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: ILIAS\User\Profile\PublicProfileGUI

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

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

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

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

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

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

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

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

1180 : void
1181 {
1182 try {
1183 $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1184 $mail_data = $this->umail->getMail($mail_id);
1185 if ($mail_data === null || [] === (array) $mail_data['attachments']) {
1186 throw new ilMailException('mail_error_reading_attachment');
1187 }
1188
1189 $type = $this->http->wrapper()->query()->retrieve(
1190 'type',
1191 $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1192 );
1193
1194 $mail_file_data = new ilFileDataMail($this->user->getId());
1195 if (count($mail_data['attachments']) === 1) {
1196 $attachment = current($mail_data['attachments']);
1197
1198 try {
1199 if ($type === 'draft') {
1200 if (!$mail_file_data->checkFilesExist([$attachment])) {
1201 throw new OutOfBoundsException('');
1202 }
1203 $path_to_file = $mail_file_data->getAbsoluteAttachmentPoolPathByFilename($attachment);
1204 $filename = $attachment;
1205 } else {
1206 $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash(
1207 md5((string) $attachment),
1208 $mail_id
1209 );
1210 $path_to_file = $file['path'];
1211 $filename = $file['filename'];
1212 }
1214 } catch (OutOfBoundsException $e) {
1215 throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1216 }
1217 } else {
1218 $mail_file_data->deliverAttachmentsAsZip(
1219 $mail_data['m_subject'],
1220 $mail_id,
1221 $mail_data['attachments'],
1222 $type === 'draft'
1223 );
1224 }
1225 } catch (Exception $e) {
1226 $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1227 $this->redirectToFolder();
1228 }
1229 }
$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 1137 of file class.ilMailFolderGUI.php.

1137 : void
1138 {
1139 $mail_id = $this->http->wrapper()->query()->retrieve(
1140 self::PARAM_MAIL_ID,
1141 $this->refinery->byTrying([$this->refinery->kindlyTo()->int(), $this->refinery->always(0)])
1142 );
1143 if ($mail_id <= 0) {
1144 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
1145 }
1146
1147 $filename = $this->http->wrapper()->post()->retrieve(
1148 'filename',
1149 $this->refinery->byTrying([$this->refinery->kindlyTo()->string(), $this->refinery->always('')])
1150 );
1151
1152 if (is_string(ilSession::get('filename')) && ilSession::get('filename') !== '') {
1153 $filename = ilSession::get('filename');
1154 ilSession::set('filename', null);
1155 }
1156
1157 try {
1158 if ($mail_id > 0 && $filename !== '') {
1159 while (str_contains((string) $filename, '..')) {
1160 $filename = str_replace('..', '', $filename);
1161 }
1162
1163 $mail_file_data = new ilFileDataMail($this->user->getId());
1164 try {
1165 $file = $mail_file_data->getAttachmentPathAndFilenameByMd5Hash($filename, (int) $mail_id);
1166 ilFileDelivery::deliverFileLegacy($file['path'], $file['filename']);
1167 } catch (OutOfBoundsException $e) {
1168 throw new ilMailException('mail_error_reading_attachment', $e->getCode(), $e);
1169 }
1170 } else {
1171 $this->tpl->setOnScreenMessage('info', $this->lng->txt('mail_select_attachment'));
1172 $this->showMail();
1173 }
1174 } catch (Exception $e) {
1175 $this->tpl->setOnScreenMessage('failure', $this->lng->txt($e->getMessage()), true);
1176 $this->redirectToFolder();
1177 }
1178 }
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 352 of file class.ilMailFolderGUI.php.

352 : void
353 {
354 $this->umail->deleteMailsOfFolder($this->mbox->getTrashFolder());
355 $this->tpl->setOnScreenMessage(
357 $this->lng->txt('mail_deleted'),
358 true
359 );
360 $this->redirectToFolder();
361 }

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(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
237 if ($this->folder->isOutbox()) {
238 $this->umail->moveMailsToFolder($mail_ids, $this->mbox->getDraftsFolder());
239 }
240 $this->ctrl->setParameterByClass(
241 ilMailFormGUI::class,
242 self::PARAM_FOLDER_ID,
243 (string) $this->mbox->getDraftsFolder()
244 );
245 $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_DRAFT);
246 $this->ctrl->redirectByClass(ilMailFormGUI::class);
247
248 // no break
249 case MailFolderTableUI::ACTION_REPLY:
250 $this->ctrl->setParameterByClass(
251 ilMailFormGUI::class,
252 self::PARAM_FOLDER_ID,
253 (string) $this->folder->getFolderId()
254 );
255 $this->ctrl->setParameterByClass(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
256 $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_REPLY);
257 $this->ctrl->redirectByClass(ilMailFormGUI::class);
258
259 // no break
260 case MailFolderTableUI::ACTION_FORWARD:
261 $this->ctrl->setParameterByClass(
262 ilMailFormGUI::class,
263 self::PARAM_FOLDER_ID,
264 (string) $this->folder->getFolderId()
265 );
266 $this->ctrl->setParameterByClass(ilMailFormGUI::class, self::PARAM_MAIL_ID, (string) $mail_ids[0]);
267 $this->ctrl->setParameterByClass(ilMailFormGUI::class, 'type', ilMailFormGUI::MAIL_FORM_TYPE_FORWARD);
268 $this->ctrl->redirectByClass(ilMailFormGUI::class);
269
270 // no break
271 case MailFolderTableUI::ACTION_DOWNLOAD_ATTACHMENT:
272 $this->deliverAttachments();
273 return;
274
275 case MailFolderTableUI::ACTION_PRINT:
276 $this->printMail();
277 return;
278
279 case MailFolderTableUI::ACTION_PROFILE:
280 $mail_data = $this->umail->getMail($mail_ids[0] ?? 0);
281 if (!empty($user = ilMailUserCache::getUserObjectById($mail_data['sender_id'] ?? 0)) &&
283 $this->ctrl->setParameter($this, self::PARAM_FOLDER_ID, (string) $this->folder->getFolderId());
284 $this->ctrl->setParameter($this, self::PARAM_USER_ID, (string) $user->getId());
285 $this->ctrl->redirect($this, self::CMD_SHOW_USER);
286 } else {
287 $this->tpl->setOnScreenMessage(
289 $this->lng->txt('permission_denied'),
290 true
291 );
292 }
293 break;
294
295 case MailFolderTableUI::ACTION_MARK_READ:
296 $this->umail->markRead($mail_ids);
297 $this->tpl->setOnScreenMessage(
299 $this->lng->txt('saved_successfully'),
300 true
301 );
302 break;
303
304 case MailFolderTableUI::ACTION_MARK_UNREAD:
305 $this->umail->markUnread($mail_ids);
306 $this->tpl->setOnScreenMessage(
308 $this->lng->txt('saved_successfully'),
309 true
310 );
311 break;
312
313 case MailFolderTableUI::ACTION_MOVE_TO:
314 $folder_id = $this->http->wrapper()->query()->retrieve(
315 self::URL_BUILDER_PREFIX . URLBuilder::SEPARATOR . self::PARAM_TARGET_FOLDER,
316 $this->refinery->kindlyTo()->int()
317 );
318 if (empty($folder_id) || $folder_id === $this->mbox->getOutboxFolder()) {
319 $this->tpl->setOnScreenMessage(
321 $this->lng->txt('mail_move_error')
322 );
323 } elseif ($this->umail->moveMailsToFolder($mail_ids, $folder_id)) {
324 $this->tpl->setOnScreenMessage(
326 $this->lng->txt('mail_moved'),
327 true
328 );
329 } else {
330 $this->tpl->setOnScreenMessage(
332 $this->lng->txt('mail_move_error')
333 );
334 }
335 break;
336
337 case MailFolderTableUI::ACTION_DELETE: // async call
338 $this->confirmDeleteMails($mail_ids);
339 break;
340
341 default:
342 $this->tpl->setOnScreenMessage(
344 $this->lng->txt('permission_denied')
345 );
346 break;
347 }
348
349 $this->redirectToFolder();
350 }
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 622 of file class.ilMailFolderGUI.php.

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

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

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

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

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

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

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

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

1084 : void
1085 {
1086 $tplprint = new ilTemplate('tpl.mail_print.html', true, true, 'components/ILIAS/Mail');
1087
1088 $mail_id = $this->getMailIdsFromRequest()[0] ?? 0;
1089 $mail_data = $this->umail->getMail($mail_id);
1090
1091 $sender = ilObjectFactory::getInstanceByObjId($mail_data['sender_id'], false);
1092
1093 $tplprint->setVariable('TXT_FROM', $this->lng->txt('from'));
1094 if ($sender instanceof ilObjUser && $sender->getId() !== 0 && !$sender->isAnonymous()) {
1095 $tplprint->setVariable('FROM', $sender->getPublicName());
1096 } elseif (!$sender instanceof ilObjUser || $sender->getId() === 0) {
1097 $tplprint->setVariable(
1098 'FROM',
1099 trim(($mail_data['import_name'] ?? '') . ' (' . $this->lng->txt('user_deleted') . ')')
1100 );
1101 } else {
1102 $tplprint->setVariable('FROM', ilMail::_getIliasMailerName());
1103 }
1104
1105 $tplprint->setVariable('TXT_TO', $this->lng->txt('mail_to'));
1106 $tplprint->setVariable('TO', $mail_data['rcp_to']);
1107
1108 if ($mail_data['rcp_cc']) {
1109 $tplprint->setCurrentBlock('cc');
1110 $tplprint->setVariable('TXT_CC', $this->lng->txt('mail_cc'));
1111 $tplprint->setVariable('CC', $mail_data['rcp_cc']);
1112 $tplprint->parseCurrentBlock();
1113 }
1114
1115 if ($mail_data['rcp_bcc']) {
1116 $tplprint->setCurrentBlock('bcc');
1117 $tplprint->setVariable('TXT_BCC', $this->lng->txt('mail_bcc'));
1118 $tplprint->setVariable('BCC', $mail_data['rcp_bcc']);
1119 $tplprint->parseCurrentBlock();
1120 }
1121
1122 $tplprint->setVariable('TXT_SUBJECT', $this->lng->txt('subject'));
1123 $tplprint->setVariable('SUBJECT', htmlspecialchars((string) $mail_data['m_subject']));
1124
1125 $tplprint->setVariable('TXT_DATE', $this->lng->txt('date'));
1126 $tplprint->setVariable(
1127 'DATE',
1128 ilDatePresentation::formatDate(new ilDateTime($mail_data['send_time'], IL_CAL_DATETIME))
1129 );
1130
1131 $tplprint->setVariable('TXT_MESSAGE', $this->lng->txt('message'));
1132 $tplprint->setVariable('MAIL_MESSAGE', html_entity_decode($this->refinery->string()->markdown()->toHTML()->transform($mail_data['m_message'])));
1133
1134 $tplprint->show();
1135 }
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, ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

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

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

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

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

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

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

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