4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
23 public function __construct($a_data,$a_id,$a_call_by_reference)
26 parent::__construct($a_data,$a_id,$a_call_by_reference,
false);
28 $this->lng->loadLanguageModule(
'mail');
35 if(!$ilAccess->checkAccess(
'write,read',
'', $this->object->getRefId()))
37 $this->
ilias->raiseError($this->lng->txt(
'msg_no_perm_write'), $this->
ilias->error_obj->WARNING);
42 $this->tpl->setContent($this->form->getHTML());
47 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
50 $this->form->setFormAction($this->ctrl->getFormAction($this,
'save'));
51 $this->form->setTitle($this->lng->txt(
'general_settings'));
54 $pre =
new ilTextInputGUI($this->lng->txt(
'mail_subject_prefix'),
'mail_subject_prefix');
56 $pre->setMaxLength(32);
57 $pre->setInfo($this->lng->txt(
'mail_subject_prefix_info'));
58 $this->form->addItem($pre);
61 include_once
'Services/Mail/classes/class.ilMailOptions.php';
69 $this->ctrl->setParameterByClass(
'ilobjuserfoldergui',
'ref_id',
USER_FOLDER_ID);
70 $si->setInfo(sprintf($this->lng->txt(
'mail_settings_incoming_type_see_also'), $this->ctrl->getLinkTargetByClass(
'ilobjuserfoldergui',
'settings')));
71 $this->ctrl->clearParametersByClass(
'ilobjuserfoldergui');
72 $this->form->addItem($si);
74 $send_html =
new ilCheckboxInputGUI($this->lng->txt(
'mail_send_html'),
'mail_send_html');
75 $send_html->
setInfo($this->lng->txt(
'mail_send_html_info'));
76 $send_html->setValue(1);
77 $this->form->addItem($send_html);
80 $ti =
new ilTextInputGUI($this->lng->txt(
'mail_external_sender_noreply'),
'mail_external_sender_noreply');
81 $ti->
setInfo($this->lng->txt(
'info_mail_external_sender_noreply'));
82 $ti->setMaxLength(255);
83 $this->form->addItem($ti);
85 $system_from_name =
new ilTextInputGUI($this->lng->txt(
'mail_system_from_name'),
'mail_system_from_name');
86 $system_from_name->
setInfo($this->lng->txt(
'mail_system_from_name_info'));
87 $system_from_name->setMaxLength(255);
88 $this->form->addItem($system_from_name);
90 $system_return_path =
new ilTextInputGUI($this->lng->txt(
'mail_system_return_path'),
'mail_system_return_path');
91 $system_return_path->
setInfo($this->lng->txt(
'mail_system_return_path_info'));
92 $system_return_path->setMaxLength(255);
93 $this->form->addItem($system_return_path);
95 $cb =
new ilCheckboxInputGUI($this->lng->txt(
'mail_use_pear_mail'),
'pear_mail_enable');
96 $cb->
setInfo($this->lng->txt(
'mail_use_pear_mail_info'));
98 $this->form->addItem($cb);
101 $cb =
new ilCheckboxInputGUI($this->lng->txt(
'mail_prevent_smtp_globally'),
'prevent_smtp_globally');
103 $this->form->addItem($cb);
105 $cron_mail =
new ilSelectInputGUI($this->lng->txt(
'cron_mail_notification'),
'mail_notification');
106 $cron_options = array(
107 0 => $this->lng->txt(
'cron_mail_notification_never'),
108 1 => $this->lng->txt(
'cron_mail_notification_cron')
112 $cron_mail->setInfo($this->lng->txt(
'cron_mail_notification_desc'));
113 $this->form->addItem($cron_mail);
117 $sh->setTitle($this->lng->txt(
'mail').
' ('.$this->lng->txt(
'internal_system').
')');
118 $this->form->addItem($sh);
121 $ti =
new ilNumberInputGUI($this->lng->txt(
'mail_maxsize_attach'),
'mail_maxsize_attach');
123 $ti->setInfo($this->lng->txt(
'mail_max_size_attachments_total'));
124 $ti->setMaxLength(10);
126 $this->form->addItem($ti);
130 $mn->setTitle($this->lng->txt(
'mail_member_notification'));
131 $this->form->addItem($mn);
133 include_once
"Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
140 $this->form->addCommandButton(
'save', $this->lng->txt(
'save'));
145 $settings = $this->
ilias->getAllSettings();
146 $this->form->setValuesByArray(array(
147 'mail_subject_prefix' => $settings[
'mail_subject_prefix'] ? $settings[
'mail_subject_prefix'] :
'[ILIAS]',
148 'mail_incoming_mail' => (
int)$settings[
'mail_incoming_mail'],
149 'mail_send_html' => (
int)$settings[
'mail_send_html'],
150 'pear_mail_enable' => $settings[
'pear_mail_enable'] ?
true :
false,
151 'mail_external_sender_noreply' => $settings[
'mail_external_sender_noreply'],
152 'prevent_smtp_globally' => ($settings[
'prevent_smtp_globally'] ==
'1') ?
true :
false,
153 'mail_maxsize_attach' => $settings[
'mail_maxsize_attach'],
154 'mail_notification' => $settings[
'mail_notification'],
155 'mail_system_from_name' => $settings[
'mail_system_sender_name'],
156 'mail_system_return_path' => $settings[
'mail_system_return_path']
164 if(!$rbacsystem->checkAccess(
'write', $this->object->getRefId()))
166 $this->
ilias->raiseError($this->lng->txt(
'msg_no_perm_write'), $this->
ilias->error_obj->WARNING);
170 if($this->form->checkInput())
172 $this->
ilias->setSetting(
'mail_send_html',$this->form->getInput(
'mail_send_html'));
173 $this->
ilias->setSetting(
'mail_subject_prefix',$this->form->getInput(
'mail_subject_prefix'));
174 $this->
ilias->setSetting(
'mail_incoming_mail', (
int)$this->form->getInput(
'mail_incoming_mail'));
175 $this->
ilias->setSetting(
'mail_maxsize_attach', $this->form->getInput(
'mail_maxsize_attach'));
176 $this->
ilias->setSetting(
'pear_mail_enable', (
int)$this->form->getInput(
'pear_mail_enable'));
177 $this->
ilias->setSetting(
'mail_external_sender_noreply', $this->form->getInput(
'mail_external_sender_noreply'));
178 $this->
ilias->setSetting(
'prevent_smtp_globally', (
int)$this->form->getInput(
'prevent_smtp_globally'));
179 $this->
ilias->setSetting(
'mail_notification', (
int)$this->form->getInput(
'mail_notification'));
180 $ilSetting->set(
'mail_system_sender_name', $this->form->getInput(
'mail_system_from_name'));
181 $ilSetting->set(
'mail_system_return_path', $this->form->getInput(
'mail_system_return_path'));
185 $this->form->setValuesByPost();
187 $this->tpl->setContent($this->form->getHTML());
192 global $rbacsystem,
$lng;
194 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
196 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
198 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.mail_import.html",
"Services/Mail");
202 if($this->file_obj->findXMLFile())
204 $this->tpl->setVariable(
"TXT_IMPORTED_FILE",$lng->txt(
"checked_files"));
205 $this->tpl->setVariable(
"XML_FILE",basename($this->file_obj->getXMLFile()));
207 $this->tpl->setVariable(
"BTN_IMPORT",$this->lng->txt(
"import"));
210 $this->tpl->setVariable(
"FORMACTION",
211 $this->ctrl->getFormAction($this));
212 $this->tpl->setVariable(
"TXT_IMPORT_MAIL",$this->lng->txt(
"table_mail_import"));
213 $this->tpl->setVariable(
"TXT_IMPORT_FILE",$this->lng->txt(
"mail_import_file"));
214 $this->tpl->setVariable(
"BTN_CANCEL",$this->lng->txt(
"cancel"));
215 $this->tpl->setVariable(
"BTN_UPLOAD",$this->lng->txt(
"upload"));
222 global $rbacsystem,
$lng;
224 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
226 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
229 $this->file_obj->findXMLFile();
231 $this->parser_obj->startParsing();
232 $number = $this->parser_obj->getCountImported();
235 $this->ctrl->redirect($this,
"import");
242 global $rbacsystem,
$lng;
244 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
246 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
250 if(!$this->file_obj->storeUploadedFile($_FILES[
"importFile"]))
252 $this->message = $lng->txt(
"import_file_not_valid");
253 $this->file_obj->unlinkLast();
255 else if(!$this->file_obj->unzip())
257 $this->message = $lng->txt(
"cannot_unzip_file");
258 $this->file_obj->unlinkLast();
260 else if(!$this->file_obj->findXMLFile())
262 $this->message = $lng->txt(
"cannot_find_xml");
263 $this->file_obj->unlinkLast();
267 $this->message = $lng->txt(
"error_parser");
269 else if(!$this->parser_obj->startParsing())
271 $this->message = $lng->txt(
"users_not_imported").
":<br/>";
272 $this->message .= $this->parser_obj->getNotAssignableUsers();
277 $this->message = $lng->txt(
"uploaded_and_checked");
281 $this->ctrl->redirect($this,
"import");
287 include_once
"./Services/Mail/classes/class.ilFileDataImportMail.php";
295 include_once
"Services/Mail/classes/class.ilMailImportParser.php";
314 $next_class = $this->ctrl->getNextClass($this);
315 $cmd = $this->ctrl->getCmd();
320 case 'ilpermissiongui':
321 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
323 $ret =& $this->ctrl->forwardCommand($perm_gui);
326 case 'ilmailtemplategui':
327 if(!$rbacsystem->checkAccess(
'write', $this->object->getRefId()))
329 $this->
ilias->raiseError($this->lng->txt(
'msg_no_perm_write'), $this->
ilias->error_obj->WARNING);
332 require_once
'Services/Mail/classes/class.ilMailTemplateGUI.php';
364 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
367 $this->ctrl->getLinkTarget($this,
"view"), array(
"view",
'save',
""),
"",
"");
370 if($rbacsystem->checkAccess(
'write', $this->object->getRefId()))
372 $tabs_gui->
addTarget(
'mail_templates', $this->ctrl->getLinkTargetByClass(
'ilmailtemplategui',
'showTemplates'),
'',
'ilmailtemplategui');
375 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
378 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
385 public static function _goto($a_target)
389 require_once
'Services/Mail/classes/class.ilMail.php';
391 if($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()))
398 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
400 $_GET[
"cmd"] =
"frameset";
401 $_GET[
"target"] =
"";
402 $_GET[
"ref_id"] = ROOT_FOLDER_ID;
403 $_GET[
"baseClass"] =
"ilRepositoryGUI";
406 include(
"ilias.php");
410 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _lookupTitle($a_id)
lookup object title
__construct($a_data, $a_id, $a_call_by_reference)
Constructor public.
addTarget($a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
Class ilObjMailGUI for admin panel.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!is_array($argv)) $options
& executeCommand()
execute command
__initParserObject($a_xml, $a_mode)
Class Mail this class handles base functions for mail handling.
getTabs(&$tabs_gui)
get tabs abstract method.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
setSize($a_size)
Set Size.
This class represents a text property in a property form.
redirection script todo: (a better solution should control the processing via a xml file) ...
static _goto($a_target)
goto target group
prepareOutput()
prepare output
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
This class handles all operations on files for the exercise object.
const USER_FOLDER_ID
Class ilObjUserFolder.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static redirect($a_script)
http redirect to other script