ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilMailAutoCompleteRecipientResult Class Reference

Class ilMailAutoCompleteRecipientResult. More...

+ Collaboration diagram for ilMailAutoCompleteRecipientResult:

Public Member Functions

array __construct (int $mode)
 
 isResultAddable ()
 
 addResult (string $login, string $firstname, string $lastname)
 
 getItems ()
 
 numItems ()
 

Data Fields

final const MODE_STOP_ON_MAX_ENTRIES = 1
 
final const MODE_FETCH_ALL = 2
 
final const MAX_RESULT_ENTRIES = 1000
 
array $result
 

Protected Member Functions

 initMode (int $mode)
 

Protected Attributes

bool $allow_smtp
 
int $user_id
 
array $handled_recipients = []
 
int $mode = self::MODE_STOP_ON_MAX_ENTRIES
 
int $max_entries
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

array ilMailAutoCompleteRecipientResult::__construct ( int  $mode)

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

References $DIC, ilSearchSettings\getInstance(), initMode(), and MAIL_SETTINGS_ID.

43  {
44  global $DIC;
45 
46  $this->allow_smtp = $DIC->rbac()->system()->checkAccess('smtp_mail', MAIL_SETTINGS_ID);
47  $this->user_id = $DIC->user()->getId();
48  $this->max_entries = ilSearchSettings::getInstance()->getAutoCompleteLength();
49 
50  $this->initMode($mode);
51  }
global $DIC
Definition: shib_login.php:22
const MAIL_SETTINGS_ID
Definition: constants.php:36
+ Here is the call graph for this function:

Member Function Documentation

◆ addResult()

ilMailAutoCompleteRecipientResult::addResult ( string  $login,
string  $firstname,
string  $lastname 
)

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

79  : void
80  {
81  if ($login !== '' && !isset($this->handled_recipients[$login])) {
82  $recipient = [];
83  $recipient['value'] = $login;
84 
85  $label = $login;
86  if ($firstname && $lastname) {
87  $label .= " [" . $firstname . ", " . $lastname . "]";
88  }
89  $recipient['label'] = $label;
90 
91  $this->result['items'][] = $recipient;
92  $this->handled_recipients[$login] = 1;
93  }
94  }

◆ getItems()

ilMailAutoCompleteRecipientResult::getItems ( )
Returns
array{hasMoreResults: bool, items: array{value: string, label: string}[]}

Definition at line 99 of file class.ilMailAutoCompleteRecipientResult.php.

References $result.

99  : array
100  {
101  return $this->result;
102  }

◆ initMode()

ilMailAutoCompleteRecipientResult::initMode ( int  $mode)
protected
Exceptions
InvalidArgumentException

Definition at line 56 of file class.ilMailAutoCompleteRecipientResult.php.

References $mode.

Referenced by __construct().

56  : void
57  {
58  if (!in_array($mode, [self::MODE_FETCH_ALL, self::MODE_STOP_ON_MAX_ENTRIES], true)) {
59  throw new InvalidArgumentException("Wrong mode passed!");
60  }
61  $this->mode = $mode;
62  }
+ Here is the caller graph for this function:

◆ isResultAddable()

ilMailAutoCompleteRecipientResult::isResultAddable ( )

Definition at line 64 of file class.ilMailAutoCompleteRecipientResult.php.

64  : bool
65  {
66  if ($this->mode === self::MODE_STOP_ON_MAX_ENTRIES &&
67  $this->max_entries >= 0 && count($this->result['items']) >= $this->max_entries) {
68  return false;
69  }
70 
71  if ($this->mode === self::MODE_FETCH_ALL &&
72  count($this->result['items']) >= self::MAX_RESULT_ENTRIES) {
73  return false;
74  }
75 
76  return true;
77  }

◆ numItems()

ilMailAutoCompleteRecipientResult::numItems ( )

Definition at line 104 of file class.ilMailAutoCompleteRecipientResult.php.

104  : int
105  {
106  return count($this->result['items']);
107  }

Field Documentation

◆ $allow_smtp

bool ilMailAutoCompleteRecipientResult::$allow_smtp
protected

Definition at line 30 of file class.ilMailAutoCompleteRecipientResult.php.

◆ $handled_recipients

array ilMailAutoCompleteRecipientResult::$handled_recipients = []
protected

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

◆ $max_entries

int ilMailAutoCompleteRecipientResult::$max_entries
protected

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

◆ $mode

int ilMailAutoCompleteRecipientResult::$mode = self::MODE_STOP_ON_MAX_ENTRIES
protected

Definition at line 34 of file class.ilMailAutoCompleteRecipientResult.php.

Referenced by initMode().

◆ $result

array ilMailAutoCompleteRecipientResult::$result
Initial value:
= [
'items' => []

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

Referenced by getItems().

◆ $user_id

int ilMailAutoCompleteRecipientResult::$user_id
protected

Definition at line 31 of file class.ilMailAutoCompleteRecipientResult.php.

◆ MAX_RESULT_ENTRIES

final const ilMailAutoCompleteRecipientResult::MAX_RESULT_ENTRIES = 1000

Definition at line 28 of file class.ilMailAutoCompleteRecipientResult.php.

◆ MODE_FETCH_ALL

final const ilMailAutoCompleteRecipientResult::MODE_FETCH_ALL = 2

◆ MODE_STOP_ON_MAX_ENTRIES

final const ilMailAutoCompleteRecipientResult::MODE_STOP_ON_MAX_ENTRIES = 1

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