Skip to content

Commit 4825ca4

Browse files
committed
reset the cookie internally in new API when abandoning paged results op
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
1 parent 7e28286 commit 4825ca4

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

apps/user_ldap/lib/PagedResults/Php73.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ public function getCookie($link): string {
8282
return $this->linkData[$linkId]['serverControls'][LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'] ?? '';
8383
}
8484

85+
private function resetCookie(int $linkId): void {
86+
if(isset($this->linkData[$linkId]['serverControls'][LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'])) {
87+
$this->linkData[$linkId]['serverControls'][LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'] = '';
88+
}
89+
}
90+
8591
public function getRequestCallFunc(): ?string {
8692
return null;
8793
}
@@ -94,6 +100,10 @@ public function setRequestParameters($link, int $pageSize, bool $isCritical): vo
94100
$this->linkData[$linkId]['requestArgs'] = [];
95101
$this->linkData[$linkId]['requestArgs']['pageSize'] = $pageSize;
96102
$this->linkData[$linkId]['requestArgs']['isCritical'] = $isCritical;
103+
104+
if($pageSize === 0) {
105+
$this->resetCookie($linkId);
106+
}
97107
}
98108

99109
public function getRequestCallArgs($link): array {
@@ -153,7 +163,7 @@ protected function preparePagesResultsArgs(int $linkId, string $methodKey): void
153163
'oid' => LDAP_CONTROL_PAGEDRESULTS,
154164
'value' => [
155165
'size' => $this->linkData[$linkId]['requestArgs']['pageSize'],
156-
'cookie' => $this->linkData[$linkId]['serverControls'][LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'] ?? ''
166+
'cookie' => $this->linkData[$linkId]['serverControls'][LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'] ?? '',
157167
]
158168
]];
159169

0 commit comments

Comments
 (0)