ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilDiskQuotaReminderMail Class Reference

Class ilDiskQuotaReminderMail. More...

+ Collaboration diagram for ilDiskQuotaReminderMail:

Public Member Functions

 ilDiskQuotaReminderMail ()
 constructor public
 useLangVariablesAsFallback ($a_status)
 areLangVariablesUsedAsFallback ()
 setData ($a_data)
 Sets used to fill in the placeholders in the mail.
 reset ()
 reset all values
 readMailTemplate ($a_lang)
 get new mail template array (including subject and message body)
 send ()
 Sends the mail with its object properties as MimeMail It first tries to read the mail body, subject and sender address from posted named formular fields.
 replacePlaceholders ($a_string, $a_amail, $a_lang)

Private Member Functions

 getLng ($a_lang)

Private Attributes

 $lang_variables_as_fallback = true
 $data
 Data used to fill in the placeholders in the mail.
 $tmp_lng

Detailed Description

Class ilDiskQuotaReminderMail.

Sends e-mail to users who have exceeded their disk quota.

Author
Werner Randelshofer werne.nosp@m.r.ra.nosp@m.ndels.nosp@m.hofe.nosp@m.r@hsl.nosp@m.u.ch
Version
Id:
class.ilDiskQuotaReminderMail.php 20544 2009-07-13 14:16:27Z wrandels

Definition at line 33 of file class.ilDiskQuotaReminderMail.php.

Member Function Documentation

ilDiskQuotaReminderMail::areLangVariablesUsedAsFallback ( )

Definition at line 57 of file class.ilDiskQuotaReminderMail.php.

References $lang_variables_as_fallback.

Referenced by send().

+ Here is the caller graph for this function:

ilDiskQuotaReminderMail::getLng (   $a_lang)
private

Definition at line 181 of file class.ilDiskQuotaReminderMail.php.

References $lang, and $tmp_lng.

Referenced by replacePlaceholders(), and send().

{
if ($this->tmp_lng == null || $this->tmp_lng->lang_key != $a_lang)
{
$this->tmp_lng = new ilLanguage($lang);
}
}

+ Here is the caller graph for this function:

ilDiskQuotaReminderMail::ilDiskQuotaReminderMail ( )

constructor public

Definition at line 48 of file class.ilDiskQuotaReminderMail.php.

{
}
ilDiskQuotaReminderMail::readMailTemplate (   $a_lang)

get new mail template array (including subject and message body)

Definition at line 97 of file class.ilDiskQuotaReminderMail.php.

References ilObjDiskQuotaSettings\_lookupReminderMailTemplate().

Referenced by send().

{
if (!is_array($this->amail[$a_lang]))
{
require_once('./Services/WebDAV/classes/class.ilObjDiskQuotaSettings.php');
$this->amail[$a_lang] = ilObjDiskQuotaSettings::_lookupReminderMailTemplate($a_lang);
$this->amail["body"] = trim($this->amail["body"]);
$this->amail["subject"] = trim($this->amail["subject"]);
}
return $this->amail[$a_lang];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilDiskQuotaReminderMail::replacePlaceholders (   $a_string,
  $a_amail,
  $a_lang 
)

Definition at line 189 of file class.ilDiskQuotaReminderMail.php.

References $ilSetting, ilFormat\formatFloat(), ilFormat\formatSize(), and getLng().

Referenced by send().

{
global $ilSetting, $tree;
$tmp_lang = $this->getLng($a_lang);
// determine salutation
switch ($this->data['gender'])
{
case "f" : $gender_salut = $a_amail["sal_f"];
break;
case "m" : $gender_salut = $a_amail["sal_m"];
break;
default : $gender_salut = $a_amail["sal_g"];
}
$gender_salut = trim($gender_salut);
$a_string = str_replace("[MAIL_SALUTATION]", $gender_salut, $a_string);
$a_string = str_replace("[LOGIN]", $this->data['login'], $a_string);
$a_string = str_replace("[FIRST_NAME]", $this->data['firstname'], $a_string);
$a_string = str_replace("[LAST_NAME]", $this->data['lastname'], $a_string);
// BEGIN Mail Include E-Mail Address in account mail
$a_string = str_replace("[EMAIL]", $this->data['email'], $a_string);
$a_string = str_replace("[ILIAS_URL]",
ILIAS_HTTP_PATH."/login.php?client_id=".CLIENT_ID, $a_string);
$a_string = str_replace("[CLIENT_NAME]", CLIENT_NAME, $a_string);
$a_string = str_replace("[ADMIN_MAIL]", $ilSetting->get("admin_email"),
$a_string);
require_once 'classes/class.ilFormat.php';
$a_string = str_replace("[DISK_QUOTA]", ilFormat::formatSize($this->data['disk_quota'],'short',$tmp_lang), $a_string);
$a_string = str_replace("[DISK_USAGE]", ilFormat::formatSize($this->data['disk_usage'],'short',$tmp_lang), $a_string);
$disk_usage_details = '';
foreach ($this->data['disk_usage_details'] as $details)
{
$disk_usage_details .= ilFormat::formatFloat($details['count'],0,true,$tmp_lang).' '.$tmp_lang->txt($details['type']).' '.ilFormat::formatSize($details['size'],'short',$tmp_lang)."\n";
}
$a_string = str_replace("[DISK_USAGE_DETAILS]", $disk_usage_details, $a_string);
return $a_string;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilDiskQuotaReminderMail::reset ( )

reset all values

Definition at line 89 of file class.ilDiskQuotaReminderMail.php.

{
unset($this->data);
}
ilDiskQuotaReminderMail::send ( )

Sends the mail with its object properties as MimeMail It first tries to read the mail body, subject and sender address from posted named formular fields.

If no field values found the defaults are used. Placehoders will be replaced by the appropriate data. public

Parameters
objectilUser

Definition at line 118 of file class.ilDiskQuotaReminderMail.php.

References $_SESSION, $data, $ilSetting, $lang, areLangVariablesUsedAsFallback(), getLng(), readMailTemplate(), and replacePlaceholders().

{
global $ilSetting;
// determine language and get account mail data
// fall back to default language if acccount mail data is not given for user language.
$amail = $this->readMailTemplate($this->data['language']);
if ($amail['body'] == '' || $amail['subject'] == '')
{
$amail = $this->readMailTemplate($ilSetting->get('language'));
$lang = $ilSetting->get('language');
}
else
{
$lang = $this->data['language'];
}
// fallback if mail data is still not given
($amail['body'] == '' || $amail['subject'] == ''))
{
$lang = $this->data['language'];
$tmp_lang = $this->getLng($lang);
// mail subject
$mail_subject = $tmp_lang->txt('disk_quota_mail_subject');
// mail body
$mail_body = $tmp_lang->txt('disk_quota_mail_body_salutation').' '.$data['firstname'].' '.$data['lastname'].",\n\n".
$tmp_lang->txt('disk_quota_body_text1')."\n\n".
$tmp_lang->txt('disk_quota_body_text2')."\n".
ILIAS_HTTP_PATH.'/login.php?client_id='.CLIENT_ID."\n";
$mail_body .= $tmp_lang->txt('login').': '.$data['firstname']."\n";
$mail_body.= "\n";
$mail_body .= $tmp_lang->txt('disk_quota_mail_body_text3')."\n\r";
//$mail_body .= $user->getProfileAsString($tmp_lang);
}
else
{
// replace placeholders
$mail_subject = $this->replacePlaceholders($amail['subject'], $amail, $lang);
$mail_body = $this->replacePlaceholders($amail['body'], $amail, $lang);
}
// send the mail
include_once 'Services/Mail/classes/class.ilMimeMail.php';
$mmail = new ilMimeMail();
$mmail->autoCheck(false);
$mmail->From($ilSetting->get('admin_email'));
$mmail->Subject($mail_subject);
$mmail->To($this->data['email']);
$mmail->Body($mail_body);
$mmail->Send();
include_once 'Services/Mail/classes/class.ilMail.php';
$mail = new ilMail($_SESSION["AccountId"]);
$mail->sendMail($this->data['login'],"","",$mail_subject,$mail_body,array(),array("normal"));
return true;
}

+ Here is the call graph for this function:

ilDiskQuotaReminderMail::setData (   $a_data)

Sets used to fill in the placeholders in the mail.

The following key value pairs must be supplied:

'language' string language of user 'gender' string gender of user 'm' or 'f' 'firstname' string firstname of the user 'lastname' string lastname of the user 'email' string email address of the user 'login' string login of the user 'disk_quota' integer disk quota in bytes of the user 'disk_usage' integer disk usage in bytes of the user 'disk_usage_details' associative array with the values returned by ilDiskQuotaChecker::_lookupDiskUsage($a_usr_id)

Parameters
$a_dataarray Key value pairs with the name of the placeholder as keys.

Definition at line 81 of file class.ilDiskQuotaReminderMail.php.

{
$this->data = $a_data;
}
ilDiskQuotaReminderMail::useLangVariablesAsFallback (   $a_status)

Definition at line 52 of file class.ilDiskQuotaReminderMail.php.

{
$this->lang_variables_as_fallback = $a_status;
}

Field Documentation

ilDiskQuotaReminderMail::$data
private

Data used to fill in the placeholders in the mail.

Contains key value pairs with the name of the placeholder as keys.

Definition at line 40 of file class.ilDiskQuotaReminderMail.php.

Referenced by send().

ilDiskQuotaReminderMail::$lang_variables_as_fallback = true
private

Definition at line 35 of file class.ilDiskQuotaReminderMail.php.

Referenced by areLangVariablesUsedAsFallback().

ilDiskQuotaReminderMail::$tmp_lng
private

Definition at line 42 of file class.ilDiskQuotaReminderMail.php.

Referenced by getLng().


The documentation for this class was generated from the following file: