| | <?php |
| |
|
| | namespace Kanboard\Core\Ldap; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class Query |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $client = null; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $entries = array(); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function __construct(Client $client) |
| | { |
| | $this->client = $client; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function execute($baseDn, $filter, array $attributes, $limit = 0) |
| | { |
| | if (DEBUG && $this->client->hasLogger()) { |
| | $this->client->getLogger()->debug('BaseDN='.$baseDn); |
| | $this->client->getLogger()->debug('Filter='.$filter); |
| | $this->client->getLogger()->debug('Attributes='.implode(', ', $attributes)); |
| | } |
| |
|
| | $sr = @ldap_search($this->client->getConnection(), $baseDn, $filter, $attributes, null, $limit); |
| | if ($sr === false) { |
| | return $this; |
| | } |
| |
|
| | $entries = ldap_get_entries($this->client->getConnection(), $sr); |
| | if ($entries === false || count($entries) === 0 || $entries['count'] == 0) { |
| | return $this; |
| | } |
| |
|
| | $this->entries = $entries; |
| |
|
| | if (DEBUG && $this->client->hasLogger()) { |
| | $this->client->getLogger()->debug('NbEntries='.$entries['count']); |
| | } |
| |
|
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasResult() |
| | { |
| | return ! empty($this->entries); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getEntries() |
| | { |
| | return new Entries($this->entries); |
| | } |
| | } |
| |
|