4require_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')
111 $cron_mail->setOptions($cron_options);
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');
122 $ti->setSuffix($this->lng->txt(
'kb'));
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");
const USER_FOLDER_ID
Class ilObjUserFolder.
This class handles all operations on files for the exercise object.
Class Mail this class handles base functions for mail handling.
Class ilObjMailGUI for admin panel.
viewObject()
list childs of current object
__construct($a_data, $a_id, $a_call_by_reference)
Constructor @access public.
static _goto($a_target)
goto target group
__initParserObject($a_xml, $a_mode)
getAdminTabs(&$tabs_gui)
administration tabs show only permissions and trash folder
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput()
prepare output
getTabs(&$tabs_gui)
get tabs abstract method.
& executeCommand()
execute command
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
addTarget($a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file)
if(!is_array($argv)) $options