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

Class ilLDAPPagedResult. More...

+ Collaboration diagram for ilLDAPResult:

Public Member Functions

 __construct ($a_ldap_handle, $a_result=null)
 ilLDAPPagedResult constructor. More...
 
 numRows ()
 Total count of resulted rows. More...
 
 getResult ()
 Resource from ldap_search() More...
 
 setResult ($result)
 Resource from ldap_search() More...
 
 get ()
 Returns last result. More...
 
 getRows ()
 Returns complete results. More...
 
 run ()
 Starts ldap_get_entries() and transforms results. More...
 
 __destruct ()
 Destructor. More...
 

Private Member Functions

 addEntriesToRows ($entries)
 Adds Results from ldap_get_entries() to rows. More...
 
 toSimpleArray ($entry)
 Transforms results from ldap_get_entries() to a simple format. More...
 

Private Attributes

 $handle
 
 $result
 
 $rows
 
 $last_row
 

Detailed Description

Class ilLDAPPagedResult.

Author
Fabian Wolf

Definition at line 29 of file class.ilLDAPResult.php.

Constructor & Destructor Documentation

◆ __construct()

ilLDAPResult::__construct (   $a_ldap_handle,
  $a_result = null 
)

ilLDAPPagedResult constructor.

Parameters
resource$a_ldap_handlefrom ldap_connect()
resource$a_resultfrom ldap_search()

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

57  {
58  $this->handle = $a_ldap_handle;
59 
60  if ($a_result != null) {
61  $this->result = $a_result;
62  }
63  }

◆ __destruct()

ilLDAPResult::__destruct ( )

Destructor.

Definition at line 182 of file class.ilLDAPResult.php.

183  {
184  @ldap_free_result($this->result);
185  }

Member Function Documentation

◆ addEntriesToRows()

ilLDAPResult::addEntriesToRows (   $entries)
private

Adds Results from ldap_get_entries() to rows.

Parameters
array$entries

Definition at line 126 of file class.ilLDAPResult.php.

References $data, and toSimpleArray().

Referenced by run().

127  {
128  if (!$entries) {
129  return;
130  }
131 
132  $num = $entries['count'];
133 
134  if ($num == 0) {
135  return;
136  }
137 
138  for ($row_counter = 0; $row_counter < $num;$row_counter++) {
139  $data = $this->toSimpleArray($entries[$row_counter]);
140  $this->rows[] = $data;
141  $this->last_row = $data;
142  }
143  }
$data
Definition: storeScorm.php:23
toSimpleArray($entry)
Transforms results from ldap_get_entries() to a simple format.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get()

ilLDAPResult::get ( )

Returns last result.

Returns
array

Definition at line 96 of file class.ilLDAPResult.php.

97  {
98  return is_array($this->last_row) ? $this->last_row : array();
99  }

◆ getResult()

ilLDAPResult::getResult ( )

Resource from ldap_search()

Returns
resource

Definition at line 78 of file class.ilLDAPResult.php.

References $result.

79  {
80  return $this->result;
81  }

◆ getRows()

ilLDAPResult::getRows ( )

Returns complete results.

Returns
array

Definition at line 105 of file class.ilLDAPResult.php.

106  {
107  return is_array($this->rows) ? $this->rows : array();
108  }

◆ numRows()

ilLDAPResult::numRows ( )

Total count of resulted rows.

Returns
int

Definition at line 69 of file class.ilLDAPResult.php.

70  {
71  return is_array($this->rows) ? count($this->rows) : 0;
72  }

◆ run()

ilLDAPResult::run ( )

Starts ldap_get_entries() and transforms results.

Returns
self $this

Definition at line 114 of file class.ilLDAPResult.php.

References addEntriesToRows().

115  {
116  $entries = @ldap_get_entries($this->handle, $this->result);
117  $this->addEntriesToRows($entries);
118 
119  return $this;
120  }
addEntriesToRows($entries)
Adds Results from ldap_get_entries() to rows.
+ Here is the call graph for this function:

◆ setResult()

ilLDAPResult::setResult (   $result)

Resource from ldap_search()

Parameters
resource$result

Definition at line 87 of file class.ilLDAPResult.php.

References $result.

88  {
89  $this->result = $result;
90  }

◆ toSimpleArray()

ilLDAPResult::toSimpleArray (   $entry)
private

Transforms results from ldap_get_entries() to a simple format.

Parameters
array$entry
Returns
array

Definition at line 150 of file class.ilLDAPResult.php.

References $data, and $i.

Referenced by addEntriesToRows().

151  {
152  $data = array();
153  foreach ($entry as $key => $value) {
154  $key = strtolower($key);
155 
156  if (is_int($key)) {
157  continue;
158  }
159  if ($key == 'dn') {
160  $data['dn'] = $value;
161  continue;
162  }
163  if (is_array($value)) {
164  if ($value['count'] > 1) {
165  for ($i = 0; $i < $value['count']; $i++) {
166  $data[$key][] = $value[$i];
167  }
168  } elseif ($value['count'] == 1) {
169  $data[$key] = $value[0];
170  }
171  } else {
172  $data[$key] = $value;
173  }
174  }
175 
176  return $data;
177  }
$data
Definition: storeScorm.php:23
$i
Definition: metadata.php:24
+ Here is the caller graph for this function:

Field Documentation

◆ $handle

ilLDAPResult::$handle
private

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

◆ $last_row

ilLDAPResult::$last_row
private

Definition at line 49 of file class.ilLDAPResult.php.

◆ $result

ilLDAPResult::$result
private

Definition at line 39 of file class.ilLDAPResult.php.

Referenced by getResult(), and setResult().

◆ $rows

ilLDAPResult::$rows
private

Definition at line 44 of file class.ilLDAPResult.php.


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