protected $pagedSearchedSuccessful;
/**
- protected $cookies = [];
+ * protected $cookies = [];
* @var AbstractMapping $userMapper
*/
protected $userMapper;
$sr = $this->invokeLDAPMethod('search', $cr, $base, $filter, $attr);
// cannot use $cr anymore, might have changed in the previous call!
$error = $this->ldap->errno($this->connection->getConnectionResource());
- if(!$this->ldap->isResource($sr) || $error !== 0) {
+ if (!$this->ldap->isResource($sr) || $error !== 0) {
\OCP\Util::writeLog('user_ldap', 'Attempt for Paging? '.print_r($pagedSearchOK, true), ILogger::ERROR);
return false;
}
$cookie = null;
if ($pagedSearchOK) {
$cr = $this->connection->getConnectionResource();
- if($this->ldap->controlPagedResultResponse($cr, $sr, $cookie)) {
+ if ($this->ldap->controlPagedResultResponse($cr, $sr, $cookie)) {
$this->lastCookie = $cookie;
}
// if count is bigger, then the server does not support
// paged search. Instead, he did a normal search. We set a
// flag here, so the callee knows how to deal with it.
- if($foundItems <= $limit) {
+ if ($foundItems <= $limit) {
$this->pagedSearchedSuccessful = true;
}
} else {
'filter' => $filter
]);
- if(!is_null($attr) && !is_array($attr)) {
- $attr = array(mb_strtolower($attr, 'UTF-8'));
+ if (!is_null($attr) && !is_array($attr)) {
+ $attr = [mb_strtolower($attr, 'UTF-8')];
}
$limitPerPage = (int)$this->connection->ldapPagingSize;
$count = null;
$this->connection->getConnectionResource();
- foreach($bases as $base) {
+ foreach ($bases as $base) {
do {
$search = $this->executeSearch($filter, $base, $attr, $limitPerPage, $offset);
- if ($search === false) {
+ if ($search === false) {
return $counter > 0 ? $counter : false;
}
list($sr, $pagedSearchOK) = $search;
* Continue now depends on $hasMorePages value
*/
$continue = $pagedSearchOK && $hasMorePages;
- } while ($continue && (is_null($limit) || $limit <= 0 || $limit > $counter));
+ } while ($continue && (is_null($limit) || $limit <= 0 || $limit > $counter));
}
return $counter;
$limitPerPage = $limit;
}
- if(!is_null($attr) && !is_array($attr)) {
+ if (!is_null($attr) && !is_array($attr)) {
$attr = [mb_strtolower($attr, 'UTF-8')];
}
break;
}
}
- if(!isset($hasFound) || !$hasFound) {
+ if (!isset($hasFound) || !$hasFound) {
throw new \Exception('Cannot determine UUID attribute');
}
} else {
* @throws ServerNotAvailableException
*/
private function abandonPagedSearch() {
- if($this->lastCookie === '') {
+ if ($this->lastCookie === '') {
return;
}
$cr = $this->connection->getConnectionResource();
]
);
//get the cookie from the search for the previous search, required by LDAP
- if(empty($this->lastCookie) && $this->lastCookie !== "0" && ($offset > 0)) {
+ if (empty($this->lastCookie) && $this->lastCookie !== "0" && ($offset > 0)) {
// no cookie known from a potential previous search. We need
// to start from 0 to come to the desired page. cookie value
// of '0' is valid, because 389ds
$reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit;
$this->search($filter, $base, $attr, $limit, $reOffset, true);
}
- if($this->lastCookie !== '' && $offset === 0) {
+ if ($this->lastCookie !== '' && $offset === 0) {
//since offset = 0, this is a new search. We abandon other searches that might be ongoing.
$this->abandonPagedSearch();
}
protected $pagedResultsAdapter;
public function __construct() {
- if(version_compare(PHP_VERSION, '7.3', '<') === true) {
+ if (version_compare(PHP_VERSION, '7.3', '<') === true) {
$this->pagedResultsAdapter = new Php54();
} else {
$this->pagedResultsAdapter = new Php73();
public function controlPagedResult($link, $pageSize, $isCritical) {
$fn = $this->pagedResultsAdapter->getRequestCallFunc();
$this->pagedResultsAdapter->setRequestParameters($link, $pageSize, $isCritical);
- if($fn === null) {
+ if ($fn === null) {
return true;
}
<?php
+
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Arthur Schiwon <blizzz@arthur-schiwon.de>
* @return string
*/
public function getCookie($link): string;
-
}
<?php
+
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Arthur Schiwon <blizzz@arthur-schiwon.de>
public function getResponseCallArgs(array $originalArgs): array {
$linkId = $this->getLinkId($originalArgs[0]);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
throw new \LogicException('There should be a request before the response');
}
$this->linkData[$linkId]['responseArgs'] = &$originalArgs;
public function setRequestParameters($link, int $pageSize, bool $isCritical): void {
$linkId = $this->getLinkId($link);
- if($pageSize === 0 || !isset($this->linkData[$linkId]['cookie'])) {
+ if ($pageSize === 0 || !isset($this->linkData[$linkId]['cookie'])) {
// abandons a previous paged search
$this->linkData[$linkId]['cookie'] = '';
}
int $limit
): void {
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
$this->linkData[$linkId]['searchArgs'] = func_get_args();
public function setReadArgs($link, string $baseDN, string $filter, array $attr): void {
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
$this->linkData[$linkId]['readArgs'] = func_get_args();
<?php
+
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Arthur Schiwon <blizzz@arthur-schiwon.de>
$link = array_shift($originalArgs);
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
public function setRequestParameters($link, int $pageSize, bool $isCritical): void {
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
$this->linkData[$linkId]['requestArgs'] = [];
int $limit
): void {
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
public function setReadArgs($link, string $baseDN, string $filter, array $attr): void {
$linkId = $this->getLinkId($link);
- if(!isset($this->linkData[$linkId])) {
+ if (!isset($this->linkData[$linkId])) {
$this->linkData[$linkId] = [];
}
}
protected function preparePagesResultsArgs(int $linkId, string $methodKey): void {
- if(!isset($this->linkData[$linkId]['requestArgs'])) {
+ if (!isset($this->linkData[$linkId]['requestArgs'])) {
return;
}
<?php
+
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Arthur Schiwon <blizzz@arthur-schiwon.de>
namespace OCA\User_LDAP\PagedResults;
-
trait TLinkId {
public function getLinkId($link) {
- if(is_resource($link)) {
+ if (is_resource($link)) {
return (int)$link;
- } else if(is_array($link) && isset($link[0]) && is_resource($link[0])) {
+ } elseif (is_array($link) && isset($link[0]) && is_resource($link[0])) {
return (int)$link[0];
}
throw new \RuntimeException('No resource provided');
$this->access->expects($this->any())
->method('search')
->willReturnCallback(function ($filter, $base) {
- if($base === $this->dn) {
+ if ($base === $this->dn) {
return [
[
'pwdchangedtime' => [(new \DateTime())->sub(new \DateInterval('P28D'))->format('Ymdhis').'Z'],
],
];
}
- if($base === 'cn=default,ou=policies,dc=foo,dc=bar') {
+ if ($base === 'cn=default,ou=policies,dc=foo,dc=bar') {
return [
[
'pwdmaxage' => ['2592000'],
$this->access->expects($this->any())
->method('search')
->willReturnCallback(function ($filter, $base) {
- if($base === $this->dn) {
+ if ($base === $this->dn) {
return [
[
'pwdpolicysubentry' => ['cn=custom,ou=policies,dc=foo,dc=bar'],
<?php
+
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Joas Schilling <coding@schilljs.com>