ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilGroupMembershipMailNotification Class Reference
+ Inheritance diagram for ilGroupMembershipMailNotification:
+ Collaboration diagram for ilGroupMembershipMailNotification:

Public Member Functions

 __construct ()
 Constructor.
 send ()
 Send notifications.
- Public Member Functions inherited from ilMailNotification
 setType ($a_type)
 Set notification type.
 getType ()
 Get notification type.
 setSender ($a_usr_id)
 Set sender of mail.
 getSender ()
 get sender of mail
 setRecipients ($a_rcp)
 set mail recipients
 getRecipients ()
 get array of recipients
 setRefId ($a_id)
 Set ref id.
 getRefId ()
 get reference id
 getObjId ()
 get object id
 setObjId ($a_obj_id)
 set obj id
 getObjType ()
 Get object type.
 setAdditionalInformation ($a_info)
 Additional information for creating notification mails.
 getAdditionalInformation ()
 Get additional information for generating notification mails.
 sendMail ($a_rcp, $a_type, $a_parse_recipients=true)
 Send Mail.

Data Fields

const TYPE_ADMISSION_MEMBER = 20
const TYPE_DISMISS_MEMBER = 21
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER = 22
const TYPE_REFUSED_SUBSCRIPTION_MEMBER = 23
const TYPE_STATUS_CHANGED = 24
const TYPE_BLOCKED_MEMBER = 25
const TYPE_UNBLOCKED_MEMBER = 26
const TYPE_UNSUBSCRIBE_MEMBER = 27
const TYPE_SUBSCRIBE_MEMBER = 28
const TYPE_WAITING_LIST_MEMBER = 29
const TYPE_NOTIFICATION_REGISTRATION = 30
const TYPE_NOTIFICATION_REGISTRATION_REQUEST = 31
const TYPE_NOTIFICATION_UNSUBSCRIBE = 32
- Data Fields inherited from ilMailNotification
const SUBJECT_TITLE_LENGTH = 60

Protected Member Functions

 initLanguage ($a_usr_id)
 Add language module crs.
 createGroupStatus ($a_usr_id)
 Get course status body.
- Protected Member Functions inherited from ilMailNotification
 setSubject ($a_subject)
 Set mail subject.
 getSubject ()
 Get mail subject.
 setBody ($a_body)
 Set mail body.
 appendBody ($a_body)
 Append body text.
 getBody ()
 Get body.
 initLanguageByIso2Code ($a_code= '')
 Init language by ISO2 code.
 setLanguage ($a_language)
 A language.
 getLanguage ()
 get language object
 getLanguageText ($a_keyword)
 Replace new lines.
 getObjectTitle ($a_shorten=false)
 Get object title.
 initMail ()
 Init mail.
 getMail ()
 Get mail object.
 createPermanentLink ($a_params=array(), $a_append= '')
 Create a permanent link for an object.
 userToString ($a_usr_id)
 Utility function.

Additional Inherited Members

- Protected Attributes inherited from ilMailNotification
 $language = null

Detailed Description

Constructor & Destructor Documentation

ilGroupMembershipMailNotification::__construct ( )

Constructor.

Returns

Reimplemented from ilMailNotification.

Definition at line 37 of file class.ilGroupMembershipMailNotification.php.

Member Function Documentation

ilGroupMembershipMailNotification::createGroupStatus (   $a_usr_id)
protected

Get course status body.

Parameters
int$a_usr_id
Returns
string

Definition at line 370 of file class.ilGroupMembershipMailNotification.php.

References ilMailNotification\$body, ilGroupParticipants\_getInstanceByObjId(), ilMailNotification\getLanguageText(), and ilMailNotification\getObjId().

Referenced by send().

{
$body = $this->getLanguageText('grp_new_status')."\n";
$body .= $this->getLanguageText('role').': ';
if($part->isAdmin($a_usr_id))
{
$body .= $this->getLanguageText('il_grp_admin')."\n";
}
else
{
$body .= $this->getLanguageText('il_grp_member')."\n";
}
if($part->isAdmin($a_usr_id))
{
$body .= $this->getLanguageText('grp_notification').': ';
if($part->isNotificationEnabled($a_usr_id))
{
$body .= $this->getLanguageText('grp_notify_on')."\n";
}
else
{
$body .= $this->getLanguageText('grp_notify_off')."\n";
}
}
return $body;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilGroupMembershipMailNotification::initLanguage (   $a_usr_id)
protected

Add language module crs.

Parameters
object$a_usr_id
Returns

Reimplemented from ilMailNotification.

Definition at line 359 of file class.ilGroupMembershipMailNotification.php.

References ilMailNotification\getLanguage().

Referenced by send().

{
$this->getLanguage()->loadLanguageModule('grp');
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilGroupMembershipMailNotification::send ( )

Send notifications.

Returns

Reimplemented from ilMailNotification.

Definition at line 46 of file class.ilGroupMembershipMailNotification.php.

References $ilSetting, ilMailNotification\appendBody(), createGroupStatus(), ilMailNotification\createPermanentLink(), ilMailNotification\getAdditionalInformation(), ilMailNotification\getLanguage(), ilMailNotification\getLanguageText(), ilMailNotification\getMail(), ilMailNotification\getObjectTitle(), ilMailNotification\getRecipients(), ilMail\getSalutation(), ilMailNotification\getType(), initLanguage(), ilMailNotification\initMail(), ilMailNotification\sendMail(), ilMailNotification\setBody(), ilMailNotification\setSubject(), and ilMailNotification\userToString().

{
global $ilSetting;
switch($this->getType())
{
case self::TYPE_ADMISSION_MEMBER:
// automatic mails about status change disabled
if(!$ilSetting->get('mail_grp_member_notification',false))
{
return;
}
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_admission_new_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_admission_new_bod'),$this->getObjectTitle())
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_permanent_link'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink());
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_DISMISS_MEMBER:
// automatic mails about status change disabled
if(!$ilSetting->get('mail_grp_member_notification',false))
{
return;
}
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_dismiss_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_dismiss_bod'),$this->getObjectTitle())
);
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_NOTIFICATION_REGISTRATION:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_notification_reg_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$info = $this->getAdditionalInformation();
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_notification_reg_bod'),
$this->userToString($info['usr_id']),
$this->getObjectTitle()
)
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_permanent_link'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink(array(),'_mem'));
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_notification_explanation_admin'));
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_UNSUBSCRIBE_MEMBER:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_unsubscribe_member_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_unsubscribe_member_bod'),$this->getObjectTitle())
);
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_NOTIFICATION_UNSUBSCRIBE:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_notification_unsub_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$info = $this->getAdditionalInformation();
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_notification_unsub_bod'),
$this->userToString($info['usr_id']),
$this->getObjectTitle()
)
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_notification_unsub_bod2'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink(array(),'_mem'));
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_notification_explanation_admin'));
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_SUBSCRIBE_MEMBER:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_subscribe_member_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_subscribe_member_bod'),$this->getObjectTitle())
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_permanent_link'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink());
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_NOTIFICATION_REGISTRATION_REQUEST:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_notification_reg_req_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$info = $this->getAdditionalInformation();
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_notification_reg_req_bod'),
$this->userToString($info['usr_id']),
$this->getObjectTitle()
)
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_notification_reg_req_bod2'));
$this->appendBody("\n");
$this->appendBody($this->createPermanentLink(array(),'_mem'));
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_notification_explanation_admin'));
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_REFUSED_SUBSCRIPTION_MEMBER:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_sub_dec_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_sub_dec_bod'),$this->getObjectTitle())
);
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_ACCEPTED_SUBSCRIPTION_MEMBER:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_sub_acc_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_sub_acc_bod'),$this->getObjectTitle())
);
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_permanent_link'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink());
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_WAITING_LIST_MEMBER:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_wl_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$info = $this->getAdditionalInformation();
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_wl_bod'),
$this->getObjectTitle(),
$info['position']
)
);
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
case self::TYPE_STATUS_CHANGED:
foreach($this->getRecipients() as $rcp)
{
$this->initLanguage($rcp);
$this->initMail();
$this->setSubject(
sprintf($this->getLanguageText('grp_mail_status_sub'),$this->getObjectTitle(true))
);
$this->setBody(ilMail::getSalutation($rcp,$this->getLanguage()));
$this->appendBody("\n\n");
$this->appendBody(
sprintf($this->getLanguageText('grp_mail_status_bod'),$this->getObjectTitle())
);
$this->appendBody("\n\n");
$this->appendBody($this->createGroupStatus($rcp));
$this->appendBody("\n\n");
$this->appendBody($this->getLanguageText('grp_mail_permanent_link'));
$this->appendBody("\n\n");
$this->appendBody($this->createPermanentLink());
$this->getMail()->appendInstallationSignature(true);
$this->sendMail(array($rcp),array('system'));
}
break;
}
return true;
}

+ Here is the call graph for this function:

Field Documentation

const ilGroupMembershipMailNotification::TYPE_ACCEPTED_SUBSCRIPTION_MEMBER = 22
const ilGroupMembershipMailNotification::TYPE_ADMISSION_MEMBER = 20
const ilGroupMembershipMailNotification::TYPE_BLOCKED_MEMBER = 25

Definition at line 22 of file class.ilGroupMembershipMailNotification.php.

const ilGroupMembershipMailNotification::TYPE_DISMISS_MEMBER = 21
const ilGroupMembershipMailNotification::TYPE_NOTIFICATION_REGISTRATION = 30
const ilGroupMembershipMailNotification::TYPE_NOTIFICATION_REGISTRATION_REQUEST = 31
const ilGroupMembershipMailNotification::TYPE_NOTIFICATION_UNSUBSCRIBE = 32
const ilGroupMembershipMailNotification::TYPE_REFUSED_SUBSCRIPTION_MEMBER = 23
const ilGroupMembershipMailNotification::TYPE_STATUS_CHANGED = 24
const ilGroupMembershipMailNotification::TYPE_SUBSCRIBE_MEMBER = 28
const ilGroupMembershipMailNotification::TYPE_UNBLOCKED_MEMBER = 26

Definition at line 23 of file class.ilGroupMembershipMailNotification.php.

const ilGroupMembershipMailNotification::TYPE_UNSUBSCRIBE_MEMBER = 27
const ilGroupMembershipMailNotification::TYPE_WAITING_LIST_MEMBER = 29

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