53 $this->lang_variables_as_fallback = $a_status;
85 $this->u_password = $a_pwd;
113 $this->attachments = [];
116 $this->
user = &$a_user;
138 $this->u_target = $a_target;
157 unset($this->u_password);
159 unset($this->target);
167 if (!is_array($this->amail[$a_lang])) {
168 include_once(
'./Services/User/classes/class.ilObjUserFolder.php');
170 $amail[
"body"] = trim($amail[
"body"]);
171 $amail[
"subject"] = trim($amail[
"subject"]);
174 return $this->amail[$a_lang];
186 $pathToFile =
'/' . implode(
'/', array_map(
function ($pathPart) {
187 return trim($pathPart,
'/');
189 $fs->getAbsolutePath(),
205 public function send()
211 if (!
$user->getEmail()) {
218 if ($amail[
'body'] ==
'' || $amail[
'subject'] ==
'') {
220 $lang = $ilSetting->get(
'language');
227 ($amail[
'body'] ==
'' || $amail[
'subject'] ==
'')) {
232 $mail_subject = $tmp_lang->txt(
'reg_mail_subject');
235 if (!
$user->checkTimeLimit()) {
236 $tmp_lang->loadLanguageModule(
"registration");
242 $timelimit =
"\n" . sprintf($tmp_lang->txt(
'reg_mail_body_timelimit'), $timelimit) .
"\n\n";
246 $mail_body = $tmp_lang->txt(
'reg_mail_body_salutation') .
' ' .
$user->getFullname() .
",\n\n" .
247 $tmp_lang->txt(
'reg_mail_body_text1') .
"\n\n" .
248 $tmp_lang->txt(
'reg_mail_body_text2') .
"\n" .
249 ILIAS_HTTP_PATH .
'/login.php?client_id=' . CLIENT_ID .
"\n";
250 $mail_body .= $tmp_lang->txt(
'login') .
': ' .
$user->getLogin() .
"\n";
251 $mail_body .= $tmp_lang->txt(
'passwd') .
': ' . $this->u_password .
"\n";
252 $mail_body .=
"\n" . $timelimit;
253 $mail_body .= $tmp_lang->txt(
'reg_mail_body_text3') .
"\n\r";
254 $mail_body .=
$user->getProfileAsString($tmp_lang);
264 $senderFactory =
$GLOBALS[
"DIC"][
"mail.mime.sender.factory"];
267 include_once
'Services/Mail/classes/class.ilMimeMail.php';
269 $mmail->From($senderFactory->system());
270 $mmail->Subject($mail_subject,
true);
271 $mmail->To(
$user->getEmail());
272 $mmail->Body($mail_body);
274 foreach ($this->attachments as
$filename => $display_name) {
275 $mmail->Attach(
$filename,
"",
"attachment", $display_name);
293 switch ($a_user->getGender()) {
294 case "f": $gender_salut = $a_amail[
"sal_f"];
296 case "m": $gender_salut = $a_amail[
"sal_m"];
298 default: $gender_salut = $a_amail[
"sal_g"];
300 $gender_salut = trim($gender_salut);
302 $a_string = str_replace(
"[MAIL_SALUTATION]", $gender_salut, $a_string);
303 $a_string = str_replace(
"[LOGIN]", $a_user->getLogin(), $a_string);
304 $a_string = str_replace(
"[FIRST_NAME]", $a_user->getFirstname(), $a_string);
305 $a_string = str_replace(
"[LAST_NAME]", $a_user->getLastname(), $a_string);
307 $a_string = str_replace(
"[EMAIL]", $a_user->getEmail(), $a_string);
309 $a_string = str_replace(
"[PASSWORD]", $this->
getUserPassword(), $a_string);
310 $a_string = str_replace(
312 ILIAS_HTTP_PATH .
"/login.php?client_id=" . CLIENT_ID,
315 $a_string = str_replace(
"[CLIENT_NAME]", CLIENT_NAME, $a_string);
316 $a_string = str_replace(
318 $ilSetting->get(
"admin_email"),
325 $a_string = preg_replace(
"/\[IF_PASSWORD\].*\[\/IF_PASSWORD\]/imsU",
"", $a_string);
326 $a_string = preg_replace(
"/\[IF_NO_PASSWORD\](.*)\[\/IF_NO_PASSWORD\]/imsU",
"$1", $a_string);
328 $a_string = preg_replace(
"/\[IF_NO_PASSWORD\].*\[\/IF_NO_PASSWORD\]/imsU",
"", $a_string);
329 $a_string = preg_replace(
"/\[IF_PASSWORD\](.*)\[\/IF_PASSWORD\]/imsU",
"$1", $a_string);
333 if (!$a_user->getTimeLimitUnlimited()) {
335 $a_string = preg_replace(
"/\[IF_TIMELIMIT\](.*)\[\/IF_TIMELIMIT\]/imsU",
"$1", $a_string);
339 $a_string = str_replace(
"[TIMELIMIT]", $timelimit, $a_string);
341 $a_string = preg_replace(
"/\[IF_TIMELIMIT\](.*)\[\/IF_TIMELIMIT\]/imsU",
"", $a_string);
346 if (
$_GET[
"target"] !=
"") {
347 $tarr = explode(
"_",
$_GET[
"target"]);
348 if ($tree->isInTree($tarr[1])) {
351 if (
$type == $tarr[0]) {
352 $a_string = str_replace(
357 $a_string = str_replace(
359 ILIAS_HTTP_PATH .
"/goto.php?client_id=" . CLIENT_ID .
"&target=" .
$_GET[
"target"],
365 include_once(
"./Services/Language/classes/class.ilLanguage.php");
366 $a_string = str_replace(
379 $a_string = preg_replace(
"/\[IF_TARGET\].*\[\/IF_TARGET\]/imsU",
"", $a_string);
381 $a_string = preg_replace(
"/\[IF_TARGET\](.*)\[\/IF_TARGET\]/imsU",
"$1", $a_string);
389 $this->attachments[$a_filename] = $a_display_name;
shouldAttachConfiguredFiles()
addAttachments($mailData)
setUserPassword($a_pwd)
set user password
setAttachConfiguredFiles(bool $attachConfiguredFiles)
setUser(&$a_user)
Set user.
static _lookupTitle($a_id)
lookup object title
addAttachment($a_filename, $a_display_name)
static _lookupEntry($a_lang_key, $a_mod, $a_id)
areLangVariablesUsedAsFallback()
getId()
get object id public
$lang_variables_as_fallback
static _lookupNewAccountMail($a_lang)
setTarget($a_target)
set repository item target
static _lookupObjId($a_id)
& getUser()
get user object
static _lookupType($a_id, $a_reference=false)
lookup object type
getUserPassword()
get user password
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
__construct()
constructor public
readAccountMail($a_lang)
get new account mail array (including subject and message body)
const USER_FOLDER_ID
Class ilObjUserFolder.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
replacePlaceholders($a_string, &$a_user, $a_amail, $a_lang)
useLangVariablesAsFallback($a_status)