ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilObjMailGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2017 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
9 class ilObjMailGUI extends ilObjectGUI
10 {
13 
14  const PASSWORD_PLACE_HOLDER = '***********************';
15 
19  protected $tabs;
20 
24  protected $rbacsystem;
25 
29  protected $settings;
30 
37  public function __construct($a_data, $a_id, $a_call_by_reference)
38  {
39  global $DIC;
40 
41  $this->type = 'mail';
42  parent::__construct($a_data, $a_id, $a_call_by_reference, false);
43 
44  $this->tabs = $DIC->tabs();
45  $this->rbacsystem = $DIC->rbac()->system();
46  $this->settings = $DIC['ilSetting'];
47 
48  $this->lng->loadLanguageModule('mail');
49  }
50 
54  public function executeCommand()
55  {
56  $next_class = $this->ctrl->getNextClass($this);
57  $cmd = $this->ctrl->getCmd();
58  $this->prepareOutput();
59 
60  switch ($next_class) {
61  case 'ilpermissiongui':
62  $perm_gui = new ilPermissionGUI($this);
63  $this->ctrl->forwardCommand($perm_gui);
64  break;
65 
66  case 'ilmailtemplategui':
67  if (!$this->isViewAllowed()) {
68  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
69  }
70 
71  $this->ctrl->forwardCommand(new ilMailTemplateGUI($this->object));
72  break;
73 
74  default:
75  if (!$cmd) {
76  $cmd = 'view';
77  }
78  $cmd .= 'Object';
79  $this->$cmd();
80  break;
81  }
82 
83  return true;
84  }
85 
89  private function isEditingAllowed()
90  {
91  return $this->rbacsystem->checkAccess('write', $this->object->getRefId());
92  }
93 
97  private function isViewAllowed()
98  {
99  return $this->rbacsystem->checkAccess('read', $this->object->getRefId());
100  }
101 
105  private function isPermissionChangeAllowed()
106  {
107  return $this->rbacsystem->checkAccess('edit_permission', $this->object->getRefId());
108  }
109 
113  public function getAdminTabs()
114  {
115  $this->getTabs();
116  }
117 
121  protected function getTabs()
122  {
123  if ($this->isViewAllowed()) {
124  $this->tabs->addTarget(
125  'settings',
126  $this->ctrl->getLinkTarget($this, 'view'),
127  array(
128  'view',
129  'save',
130  '',
131  'showExternalSettingsForm',
132  'saveExternalSettingsForm',
133  'sendTestUserMail',
134  'sendTestSystemMail'
135  ),
136  '',
137  ''
138  );
139  }
140 
141  if ($this->isViewAllowed()) {
142  $this->tabs->addTarget(
143  'mail_templates',
144  $this->ctrl->getLinkTargetByClass('ilmailtemplategui', 'showTemplates'),
145  '',
146  'ilmailtemplategui'
147  );
148  }
149 
150  if ($this->isPermissionChangeAllowed()) {
151  $this->tabs->addTarget(
152  'perm_settings',
153  $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), 'perm'),
154  array('perm', 'info', 'owner'),
155  'ilpermissiongui'
156  );
157  }
158  }
159 
163  protected function buildSettingsSubTabs($activeSubTab)
164  {
165  if ($this->isViewAllowed()) {
166  $this->tabs->addSubTab(
167  self::SETTINGS_SUB_TAB_ID_GENERAL,
168  $this->lng->txt('mail_settings_general_tab'),
169  $this->ctrl->getLinkTarget($this, 'view')
170  );
171 
172  if ($this->settings->get('mail_allow_external')) {
173  $this->tabs->addSubTab(
174  self::SETTINGS_SUB_TAB_ID_EXTERNAL,
175  $this->lng->txt('mail_settings_external_tab'),
176  $this->ctrl->getLinkTarget($this, 'showExternalSettingsForm')
177  );
178  }
179 
180  $this->tabs->activateSubTab($activeSubTab);
181  }
182  }
183 
187  public function viewObject()
188  {
189  $this->showGeneralSettingsForm();
190  }
191 
195  protected function showGeneralSettingsForm(ilPropertyFormGUI $form = null)
196  {
197  if (!$this->isViewAllowed()) {
198  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
199  }
200 
201  $this->buildSettingsSubTabs(self::SETTINGS_SUB_TAB_ID_GENERAL);
202 
203  if ($form === null) {
204  $form = $this->getGeneralSettingsForm();
205  $this->populateGeneralSettingsForm($form);
206  }
207 
208  $this->tpl->setContent($form->getHTML());
209  }
210 
214  protected function getGeneralSettingsForm()
215  {
216  $form = new ilPropertyFormGUI();
217 
218  $form->setFormAction($this->ctrl->getFormAction($this, 'save'));
219  $form->setTitle($this->lng->txt('general_settings'));
220 
221  $cb = new ilCheckboxInputGUI($this->lng->txt('mail_allow_external'), 'mail_allow_external');
222  $cb->setInfo($this->lng->txt('mail_allow_external_info'));
223  $cb->setValue(1);
224  $cb->setDisabled(!$this->isEditingAllowed());
225  $form->addItem($cb);
226 
227  include_once 'Services/Mail/classes/Form/class.ilIncomingMailInputGUI.php';
228  $incoming_mail_gui = new ilIncomingMailInputGUI($this->lng->txt('mail_incoming'), 'incoming_type');
229  $incoming_mail_gui->setDisabled(!$this->isEditingAllowed());
230  $this->ctrl->setParameterByClass('ilobjuserfoldergui', 'ref_id', USER_FOLDER_ID);
231  $incoming_mail_gui->setInfo(sprintf(
232  $this->lng->txt('mail_settings_incoming_type_see_also'),
233  $this->ctrl->getLinkTargetByClass('ilobjuserfoldergui', 'settings')
234  ));
235  $this->ctrl->clearParametersByClass('ilobjuserfoldergui');
236  $form->addItem($incoming_mail_gui);
237 
238  $show_mail_settings_gui = new ilCheckboxInputGUI($this->lng->txt('show_mail_settings'), 'show_mail_settings');
239  $show_mail_settings_gui->setInfo($this->lng->txt('show_mail_settings_info'));
240  $show_mail_settings_gui->setValue(1);
241  $form->addItem($show_mail_settings_gui);
242 
243  $ti = new ilNumberInputGUI($this->lng->txt('mail_maxsize_attach'), 'mail_maxsize_attach');
244  $ti->setSuffix($this->lng->txt('kb'));
245  $ti->setInfo($this->lng->txt('mail_max_size_attachments_total'));
246  $ti->setMaxLength(10);
247  $ti->setSize(10);
248  $ti->setDisabled(!$this->isEditingAllowed());
249  $form->addItem($ti);
250 
251  $mn = new ilFormSectionHeaderGUI();
252  $mn->setTitle($this->lng->txt('mail_member_notification'));
253  $form->addItem($mn);
254 
255  $cron_mail = new ilSelectInputGUI($this->lng->txt('cron_mail_notification'), 'mail_notification');
256  $cron_options = array(
257  0 => $this->lng->txt('cron_mail_notification_never'),
258  1 => $this->lng->txt('cron_mail_notification_cron')
259  );
260  $cron_mail->setOptions($cron_options);
261  $cron_mail->setInfo(sprintf(
262  $this->lng->txt('cron_mail_notification_desc'),
263  $this->lng->txt('mail_allow_external')
264  ));
265  $cron_mail->setDisabled(!$this->isEditingAllowed());
266  $form->addItem($cron_mail);
267 
270  $form,
271  $this
272  );
273 
274  if ($this->isEditingAllowed()) {
275  $form->addCommandButton('save', $this->lng->txt('save'));
276  }
277 
278  return $form;
279  }
280 
285  {
286  $form->setValuesByArray(array(
287  'mail_allow_external' => $this->settings->get('mail_allow_external'),
288  'incoming_type' => (int) $this->settings->get('mail_incoming_mail'),
289  'mail_address_option' => strlen($this->settings->get('mail_address_option')) ? $this->settings->get('mail_address_option') : ilMailOptions::FIRST_EMAIL,
290  'mail_address_option_both' => strlen($this->settings->get('mail_address_option')) ? $this->settings->get('mail_address_option') : ilMailOptions::FIRST_EMAIL,
291  'show_mail_settings' => $this->settings->get('show_mail_settings', 1),
292  'mail_maxsize_attach' => $this->settings->get('mail_maxsize_attach'),
293  'mail_notification' => $this->settings->get('mail_notification')
294  ));
295  }
296 
300  public function saveObject()
301  {
302  if (!$this->isEditingAllowed()) {
303  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
304  }
305 
306  $form = $this->getGeneralSettingsForm();
307  if ($form->checkInput()) {
308  $incoming_type = (int) $form->getInput('incoming_type');
309 
310  $mail_address_option = ilMailOptions::FIRST_EMAIL;
311  if ($incoming_type == ilMailOptions::INCOMING_EMAIL) {
312  $mail_address_option = (int) $form->getInput('mail_address_option');
313  } else {
314  if ($incoming_type == ilMailOptions::INCOMING_BOTH) {
315  $mail_address_option = (int) $form->getInput('mail_address_option_both');
316  }
317  }
318 
319  $this->settings->set('mail_allow_external', (int) $form->getInput('mail_allow_external'));
320  $this->settings->set('mail_incoming_mail', $incoming_type);
321  $this->settings->set('show_mail_settings', (int) $form->getInput('show_mail_settings'));
322 
323  $this->settings->set('mail_address_option', $mail_address_option);
324  $this->settings->set('mail_maxsize_attach', $form->getInput('mail_maxsize_attach'));
325  $this->settings->set('mail_notification', (int) $form->getInput('mail_notification'));
326 
327  ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
328  $this->ctrl->redirect($this);
329  }
330 
331  $form->setValuesByPost();
332  $this->showGeneralSettingsForm($form);
333  }
334 
338  protected function showExternalSettingsFormObject(ilPropertyFormGUI $form = null)
339  {
340  if (!$this->isViewAllowed()) {
341  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
342  }
343 
344  $this->buildSettingsSubTabs(self::SETTINGS_SUB_TAB_ID_EXTERNAL);
345 
346  if ($form === null) {
347  $form = $this->getExternalSettingsForm();
348  $this->populateExternalSettingsForm($form);
349  }
350 
351  if (strlen($GLOBALS['DIC']->user()->getEmail()) > 0) {
352  $btn = ilLinkButton::getInstance();
353  $btn->setUrl($this->ctrl->getLinkTarget($this, 'sendTestUserMail'));
354  $btn->setCaption('mail_external_send_test_usr');
355  $GLOBALS['DIC']->toolbar()->addButtonInstance($btn);
356 
357  $btn = ilLinkButton::getInstance();
358  $btn->setUrl($this->ctrl->getLinkTarget($this, 'sendTestSystemMail'));
359  $btn->setCaption('mail_external_send_test_sys');
360  $GLOBALS['DIC']->toolbar()->addButtonInstance($btn);
361  }
362 
363  $this->tpl->setContent($form->getHTML());
364  }
365 
366  protected function sendTestUserMailObject()
367  {
368  $this->sendTestMail(true);
369  }
370 
371  protected function sendTestSystemMailObject()
372  {
373  $this->sendTestMail();
374  }
375 
379  protected function sendTestMail($isManualMail = false)
380  {
381  if (!$this->isViewAllowed()) {
382  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
383  }
384 
385  if (strlen($GLOBALS['DIC']->user()->getEmail()) == 0) {
386  return $this->showExternalSettingsFormObject();
387  }
388 
389  if ($isManualMail) {
390  $mail = new ilMail($GLOBALS['DIC']->user()->getId());
391  } else {
392  $mail = new ilMail(ANONYMOUS_USER_ID);
393  }
394 
395  $mail->setSaveInSentbox(false);
396  $mail->appendInstallationSignature(true);
397 
398  $lngVariablePrefix = 'sys';
399  if ($isManualMail) {
400  $lngVariablePrefix = 'usr';
401  }
402 
403  $mail->enqueue(
404  $GLOBALS['DIC']->user()->getEmail(),
405  '',
406  '',
407  $this->lng->txt('mail_email_' .$lngVariablePrefix . '_subject'),
408  $this->lng->txt('mail_email_' . $lngVariablePrefix . '_body'),
409  []
410  );
411 
412  ilUtil::sendSuccess($this->lng->txt('mail_external_test_sent'));
414  }
415 
419  protected function getExternalSettingsForm()
420  {
421  $form = new ilPropertyFormGUI();
422 
423  $form->setFormAction($this->ctrl->getFormAction($this, 'saveExternalSettingsForm'));
424  $form->setTitle($this->lng->txt('mail_settings_external_frm_head'));
425 
426  $smtp = new ilCheckboxInputGUI($this->lng->txt('mail_smtp_status'), 'mail_smtp_status');
427  $smtp->setInfo($this->lng->txt('mail_smtp_status_info'));
428  $smtp->setValue(1);
429  $smtp->setDisabled(!$this->isEditingAllowed());
430  $form->addItem($smtp);
431 
432  $host = new ilTextInputGUI($this->lng->txt('mail_smtp_host'), 'mail_smtp_host');
433  $host->setInfo($this->lng->txt('mail_smtp_host_info'));
434  $host->setRequired(true);
435  $host->setDisabled(!$this->isEditingAllowed());
436  $smtp->addSubItem($host);
437 
438  $port = new ilNumberInputGUI($this->lng->txt('mail_smtp_port'), 'mail_smtp_port');
439  $port->setInfo($this->lng->txt('mail_smtp_port_info'));
440  $port->allowDecimals(false);
441  $port->setMinValue(0);
442  $port->setMinValue(0);
443  $port->setRequired(true);
444  $port->setDisabled(!$this->isEditingAllowed());
445  $smtp->addSubItem($port);
446 
447  $encryption = new ilSelectInputGUI($this->lng->txt('mail_smtp_encryption'), 'mail_smtp_encryption');
448  $encryptionOptions = array(
449  '' => $this->lng->txt('please_choose'),
450  'tls' => $this->lng->txt('mail_smtp_encryption_tls'),
451  'ssl' => $this->lng->txt('mail_smtp_encryption_ssl')
452  );
453 
454  $encryption->setOptions($encryptionOptions);
455  $encryption->setDisabled(!$this->isEditingAllowed());
456  $smtp->addSubItem($encryption);
457 
458  $user = new ilTextInputGUI($this->lng->txt('mail_smtp_user'), 'mail_smtp_user');
459  $user->setDisabled(!$this->isEditingAllowed());
460  $user->setDisableHtmlAutoComplete(true);
461  $smtp->addSubItem($user);
462 
463  $password = new ilPasswordInputGUI($this->lng->txt('mail_smtp_password'), 'mail_smtp_password');
464  $password->setRetype(false);
465  $password->setSkipSyntaxCheck(true);
466  $password->setDisabled(!$this->isEditingAllowed());
467  $password->setDisableHtmlAutoComplete(true);
468  $smtp->addSubItem($password);
469 
470  $pre = new ilTextInputGUI($this->lng->txt('mail_subject_prefix'), 'mail_subject_prefix');
471  $pre->setSize(12);
472  $pre->setMaxLength(32);
473  $pre->setInfo($this->lng->txt('mail_subject_prefix_info'));
474  $pre->setDisabled(!$this->isEditingAllowed());
475  $form->addItem($pre);
476 
477  $send_html = new ilCheckboxInputGUI($this->lng->txt('mail_send_html'), 'mail_send_html');
478  $send_html->setInfo($this->lng->txt('mail_send_html_info'));
479  $send_html->setValue(1);
480  $send_html->setDisabled(!$this->isEditingAllowed());
481  $form->addItem($send_html);
482 
483  $sh = new ilFormSectionHeaderGUI();
484  $sh->setTitle($this->lng->txt('mail_settings_user_frm_head'));
485  $form->addItem($sh);
486 
487  $user_from_address = new ilEMailInputGUI(
488  $this->lng->txt('mail_system_usr_from_addr'),
489  'mail_system_usr_from_addr'
490  );
491  $user_from_address->setInfo($this->lng->txt('mail_system_usr_from_addr_info'));
492  $user_from_address->setRequired(true);
493  $user_from_address->setDisabled(!$this->isEditingAllowed());
494  $form->addItem($user_from_address);
495 
496  $user_from_name = new ilTextInputGUI($this->lng->txt('mail_system_usr_from_name'), 'mail_system_usr_from_name');
497  $user_from_name->setInfo($this->lng->txt('mail_system_usr_from_name_info'));
498  $user_from_name->setRequired(true);
499  $user_from_name->setDisabled(!$this->isEditingAllowed());
500  $form->addItem($user_from_name);
501 
502  $user_envelope_from_addr = new ilEMailInputGUI(
503  $this->lng->txt('mail_system_usr_env_from_addr'),
504  'mail_system_usr_env_from_addr'
505  );
506  $user_envelope_from_addr->setInfo($this->lng->txt('mail_system_usr_env_from_addr_info'));
507  $user_envelope_from_addr->setDisabled(!$this->isEditingAllowed());
508  $form->addItem($user_envelope_from_addr);
509 
510  $sh = new ilFormSectionHeaderGUI();
511  $sh->setTitle($this->lng->txt('mail_settings_system_frm_head'));
512  $form->addItem($sh);
513 
514  $system_from_addr = new ilEMailInputGUI(
515  $this->lng->txt('mail_system_sys_from_addr'),
516  'mail_system_sys_from_addr'
517  );
518  $system_from_addr->setInfo($this->lng->txt('mail_system_sys_from_addr_info'));
519  $system_from_addr->setRequired(true);
520  $system_from_addr->setDisabled(!$this->isEditingAllowed());
521  $form->addItem($system_from_addr);
522 
523  $system_from_name = new ilTextInputGUI(
524  $this->lng->txt('mail_system_sys_from_name'),
525  'mail_system_sys_from_name'
526  );
527  $system_from_name->setRequired(true);
528  $system_from_name->setDisabled(!$this->isEditingAllowed());
529  $form->addItem($system_from_name);
530 
531  $system_reply_to_addr = new ilEMailInputGUI(
532  $this->lng->txt('mail_system_sys_reply_to_addr'),
533  'mail_system_sys_reply_to_addr'
534  );
535  $system_reply_to_addr->setRequired(true);
536  $system_reply_to_addr->setDisabled(!$this->isEditingAllowed());
537  $form->addItem($system_reply_to_addr);
538 
539  $system_return_path = new ilEMailInputGUI(
540  $this->lng->txt('mail_system_sys_env_from_addr'),
541  'mail_system_sys_env_from_addr'
542  );
543  $system_return_path->setInfo($this->lng->txt('mail_system_sys_env_from_addr_info'));
544  $system_return_path->setDisabled(!$this->isEditingAllowed());
545  $form->addItem($system_return_path);
546 
547  $signature = new ilTextAreaInputGUI($this->lng->txt('mail_system_sys_signature'), 'mail_system_sys_signature');
548  $signature->setRows(8);
549  $signature->setDisabled(!$this->isEditingAllowed());
550  $form->addItem($signature);
551 
552  $placeholders = new ilManualPlaceholderInputGUI('mail_system_sys_signature');
553  foreach (array(
554  array('placeholder' => 'CLIENT_NAME', 'label' => $this->lng->txt('mail_nacc_client_name')),
555  array('placeholder' => 'CLIENT_DESC', 'label' => $this->lng->txt('mail_nacc_client_desc')),
556  array('placeholder' => 'CLIENT_URL', 'label' => $this->lng->txt('mail_nacc_ilias_url'))
557  ) as $key => $value) {
558  $placeholders->addPlaceholder($value['placeholder'], $value['label']);
559  }
560  $placeholders->setDisabled(!$this->isEditingAllowed());
561  $form->addItem($placeholders);
562 
563  if ($this->isEditingAllowed()) {
564  $form->addCommandButton('saveExternalSettingsForm', $this->lng->txt('save'));
565  }
566 
567  return $form;
568  }
569 
574  {
575  $subjectPrefix = $this->settings->get('mail_subject_prefix');
576  if (false === $subjectPrefix) {
577  $subjectPrefix = ilMimeMail::MAIL_SUBJECT_PREFIX;
578  }
579 
580  $form->setValuesByArray(array(
581  'mail_smtp_status' => (bool) $this->settings->get('mail_smtp_status'),
582  'mail_smtp_host' => $this->settings->get('mail_smtp_host'),
583  'mail_smtp_port' => (int) $this->settings->get('mail_smtp_port'),
584  'mail_smtp_user' => $this->settings->get('mail_smtp_user'),
585  'mail_smtp_password' => strlen($this->settings->get('mail_smtp_password')) > 0 ? self::PASSWORD_PLACE_HOLDER : '',
586  'mail_smtp_encryption' => $this->settings->get('mail_smtp_encryption'),
587  'mail_subject_prefix' => $subjectPrefix,
588  'mail_send_html' => (int) $this->settings->get('mail_send_html'),
589  'mail_system_usr_from_addr' => $this->settings->get('mail_system_usr_from_addr'),
590  'mail_system_usr_from_name' => $this->settings->get('mail_system_usr_from_name'),
591  'mail_system_usr_env_from_addr' => $this->settings->get('mail_system_usr_env_from_addr'),
592  'mail_system_sys_from_addr' => $this->settings->get('mail_system_sys_from_addr'),
593  'mail_system_sys_from_name' => $this->settings->get('mail_system_sys_from_name'),
594  'mail_system_sys_reply_to_addr' => $this->settings->get('mail_system_sys_reply_to_addr'),
595  'mail_system_sys_env_from_addr' => $this->settings->get('mail_system_sys_env_from_addr'),
596  'mail_system_sys_signature' => $this->settings->get('mail_system_sys_signature')
597  ));
598  }
599 
603  protected function saveExternalSettingsFormObject()
604  {
605  if (!$this->isEditingAllowed()) {
606  $this->ilias->raiseError($this->lng->txt('msg_no_perm_write'), $this->ilias->error_obj->WARNING);
607  }
608 
609  $form = $this->getExternalSettingsForm();
610  $isFormValid = $form->checkInput();
611 
612  if (!$isFormValid) {
613  $form->setValuesByPost();
614  $this->showExternalSettingsFormObject($form);
615  return;
616  }
617 
618  $isSmtpEnabled = (bool) $form->getInput('mail_smtp_status');
619  if ($isSmtpEnabled && $form->getInput('mail_smtp_user') && !$form->getInput('mail_smtp_password')) {
620  $form->getItemByPostVar('mail_smtp_password')->setRequired(true);
621  $form->getItemByPostVar('mail_smtp_password')->setAlert($this->lng->txt('mail_smtp_password_req'));
622  $form->setValuesByPost();
623  $this->showExternalSettingsFormObject($form);
624  return;
625  }
626 
627  $this->settings->set('mail_smtp_status', (int) $form->getInput('mail_smtp_status'));
628  $this->settings->set('mail_smtp_host', $form->getInput('mail_smtp_host'));
629  $this->settings->set('mail_smtp_port', (int) $form->getInput('mail_smtp_port'));
630  $this->settings->set('mail_smtp_user', $form->getInput('mail_smtp_user'));
631  if ($form->getInput('mail_smtp_password') != self::PASSWORD_PLACE_HOLDER) {
632  $this->settings->set('mail_smtp_password', $form->getInput('mail_smtp_password'));
633  }
634  $this->settings->set('mail_smtp_encryption', $form->getInput('mail_smtp_encryption'));
635 
636  $this->settings->set('mail_send_html', $form->getInput('mail_send_html'));
637  $this->settings->set('mail_subject_prefix', $form->getInput('mail_subject_prefix'));
638  $this->settings->set('mail_system_usr_from_addr', $form->getInput('mail_system_usr_from_addr'));
639  $this->settings->set('mail_system_usr_from_name', $form->getInput('mail_system_usr_from_name'));
640  $this->settings->set('mail_system_usr_env_from_addr', $form->getInput('mail_system_usr_env_from_addr'));
641  $this->settings->set('mail_system_sys_from_addr', $form->getInput('mail_system_sys_from_addr'));
642  $this->settings->set('mail_system_sys_from_name', $form->getInput('mail_system_sys_from_name'));
643  $this->settings->set('mail_system_sys_reply_to_addr', $form->getInput('mail_system_sys_reply_to_addr'));
644  $this->settings->set('mail_system_sys_env_from_addr', $form->getInput('mail_system_sys_env_from_addr'));
645  $this->settings->set('mail_system_sys_signature', $form->getInput('mail_system_sys_signature'));
646 
647  ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
648  $this->ctrl->redirect($this, 'showExternalSettingsForm');
649  }
650 
654  public static function _goto($a_target)
655  {
656  global $DIC;
657 
658  $mail = new ilMail($DIC->user()->getId());
659 
660  if ($DIC->rbac()->system()->checkAccess('internal_mail', $mail->getMailObjectReferenceId())) {
661  ilUtil::redirect('ilias.php?baseClass=ilMailGUI');
662  } else {
663  if ($DIC->access()->checkAccess('read', '', ROOT_FOLDER_ID)) {
664  $_GET['cmd'] = 'frameset';
665  $_GET['target'] = '';
666  $_GET['ref_id'] = ROOT_FOLDER_ID;
667  $_GET['baseClass'] = 'ilRepositoryGUI';
669  sprintf(
670  $DIC->language()->txt('msg_no_perm_read_item'),
672  ),
673  true
674  );
675 
676  include 'ilias.php';
677  exit();
678  }
679  }
680 
681  $DIC['ilErr']->raiseError($DIC->language()->txt('msg_no_perm_read'), $DIC['ilErr']->FATAL);
682  }
683 }
exit
Definition: login.php:29
settings()
Definition: settings.php:2
This class represents a property form user interface.
Class ilMailTemplateGUI.
$_GET["client_id"]
populateGeneralSettingsForm(ilPropertyFormGUI $form)
This class represents a section header in a property form.
This class represents a checkbox property in a property form.
static _lookupTitle($a_id)
lookup object title
__construct($a_data, $a_id, $a_call_by_reference)
ilObjMailGUI constructor.
This class represents a email property in a property form.
user()
Definition: user.php:4
static addFieldsToForm($a_form_id, ilPropertyFormGUI $a_form, ilObjectGUI $a_parent_gui)
Class ilManualPlaceholderInputGUI.
setInfo($a_info)
Set Information Text.
const SETTINGS_SUB_TAB_ID_EXTERNAL
prepareOutput($a_show_subobjects=true)
prepare output
buildSettingsSubTabs($activeSubTab)
showExternalSettingsFormObject(ilPropertyFormGUI $form=null)
setSuffix($a_value)
Set suffix.
This class represents a number property in a property form.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
This class represents a password property in a property form.
redirection script todo: (a better solution should control the processing via a xml file) ...
showGeneralSettingsForm(ilPropertyFormGUI $form=null)
static _goto($a_target)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const SETTINGS_SUB_TAB_ID_GENERAL
$password
Definition: cron.php:14
const MAIL_SUBJECT_PREFIX
__construct(Container $dic, ilPlugin $plugin)
This class represents a text area property in a property form.
$DIC
Definition: xapitoken.php:46
const USER_FOLDER_ID
Class ilObjUserFolder.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static redirect($a_script)
sendTestMail($isManualMail=false)
setDisabled($a_disabled)
Set Disabled.
setValuesByArray($a_values, $a_restrict_to_value_keys=false)
Set form values from an array.
setRequired($a_required)
Set Required.
Class ilIncomingMailInputGUI.
populateExternalSettingsForm(ilPropertyFormGUI $form)