ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMailMimeSenderFactory Class Reference

Class ilMailMimeSenderFactory. More...

+ Collaboration diagram for ilMailMimeSenderFactory:

Public Member Functions

 __construct (ilSetting $settings, int $anonymousUsrId=null)
 ilMailMimeSenderFactory constructor. More...
 
 getSenderByUsrId (int $usrId)
 
 system ()
 
 user (int $usrId)
 
 userByEmailAddress (string $emailAddress)
 

Protected Member Functions

 isSystemMail (int $usrId)
 

Protected Attributes

 $settings
 
 $senders = []
 
 $anonymousUsrId = 0
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilMailMimeSenderFactory::__construct ( ilSetting  $settings,
int  $anonymousUsrId = null 
)

ilMailMimeSenderFactory constructor.

Parameters
ilSetting$settings
int | null$anonymousUsrId

Definition at line 24 of file class.ilMailMimeSenderFactory.php.

References $anonymousUsrId, $settings, ANONYMOUS_USER_ID, and settings().

25  {
26  $this->settings = $settings;
27  if (null === $anonymousUsrId && defined('ANONYMOUS_USER_ID')) {
29  }
30  $this->anonymousUsrId = $anonymousUsrId;
31  }
settings()
Definition: settings.php:2
const ANONYMOUS_USER_ID
Definition: constants.php:25
+ Here is the call graph for this function:

Member Function Documentation

◆ getSenderByUsrId()

ilMailMimeSenderFactory::getSenderByUsrId ( int  $usrId)
Parameters
int$usrId
Returns
ilMailMimeSender

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

References isSystemMail(), system(), and user().

47  {
48  if (array_key_exists($usrId, $this->senders)) {
49  return $this->senders[$usrId];
50  }
51 
52  switch (true) {
53  case $this->isSystemMail($usrId):
54  $sender = $this->system();
55  break;
56 
57  default:
58  $sender = $this->user($usrId);
59  break;
60  }
61 
62  $this->senders[$usrId] = $sender;
63 
64  return $sender;
65  }
Interface ilMailMimeTransport.
+ Here is the call graph for this function:

◆ isSystemMail()

ilMailMimeSenderFactory::isSystemMail ( int  $usrId)
protected
Parameters
int$usrId
Returns
bool

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

References $anonymousUsrId.

Referenced by getSenderByUsrId().

37  : bool
38  {
39  return $usrId === $this->anonymousUsrId;
40  }
+ Here is the caller graph for this function:

◆ system()

ilMailMimeSenderFactory::system ( )
Returns
ilMailMimeSenderSystem

Definition at line 70 of file class.ilMailMimeSenderFactory.php.

References settings().

Referenced by getSenderByUsrId().

71  {
72  return new ilMailMimeSenderSystem($this->settings);
73  }
settings()
Definition: settings.php:2
Class ilMailMimeSenderSystem.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ user()

ilMailMimeSenderFactory::user ( int  $usrId)
Parameters
int$usrId
Returns
ilMailMimeSenderUser

Definition at line 79 of file class.ilMailMimeSenderFactory.php.

References settings().

Referenced by getSenderByUsrId().

80  {
81  return new ilMailMimeSenderUserById($this->settings, $usrId);
82  }
settings()
Definition: settings.php:2
Class ilMailMimeSenderSystem.
Class ilMailMimeSenderUserById.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ userByEmailAddress()

ilMailMimeSenderFactory::userByEmailAddress ( string  $emailAddress)
Parameters
string$emailAddress
Returns
ilMailMimeSenderUser

Definition at line 88 of file class.ilMailMimeSenderFactory.php.

References settings().

89  {
90  return new ilMailMimeSenderUserByEmailAddress($this->settings, $emailAddress);
91  }
settings()
Definition: settings.php:2
Class ilMailMimeSenderSystem.
Class ilMailMimeSenderUserByEmailAddress.
+ Here is the call graph for this function:

Field Documentation

◆ $anonymousUsrId

ilMailMimeSenderFactory::$anonymousUsrId = 0
protected

Definition at line 17 of file class.ilMailMimeSenderFactory.php.

Referenced by __construct(), and isSystemMail().

◆ $senders

ilMailMimeSenderFactory::$senders = []
protected

Definition at line 14 of file class.ilMailMimeSenderFactory.php.

◆ $settings

ilMailMimeSenderFactory::$settings
protected

Definition at line 11 of file class.ilMailMimeSenderFactory.php.

Referenced by __construct().


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