diff --git a/src/LocalData/AbstractLocalDataEventSubscriber.php b/src/LocalData/AbstractLocalDataEventSubscriber.php index e309f6645730a3e14f69594f3cd2e64405add987..97e971dc4ab2fb069bd84d9073463bc939ce7328 100644 --- a/src/LocalData/AbstractLocalDataEventSubscriber.php +++ b/src/LocalData/AbstractLocalDataEventSubscriber.php @@ -109,7 +109,7 @@ abstract class AbstractLocalDataEventSubscriber extends AbstractAuthorizationSer } $sourceAttributeName = $attributeMapEntry[self::SOURCE_ATTRIBUTE_KEY]; $localQueryParameters[$sourceAttributeName] = $localDataAttributeValue; - $event->acknowledgeQueryParameter($localDataAttributeName); + $event->tryPopPendingQueryParameter($localDataAttributeName); } } @@ -182,7 +182,7 @@ abstract class AbstractLocalDataEventSubscriber extends AbstractAuthorizationSer throw new \RuntimeException(sprintf('child classes must implement the \'%s\' method', __METHOD__)); } - protected function onPreEvent(LocalDataPreEvent $preEvent, array $localQueryParameters) + protected function onPreEvent(LocalDataPreEvent $preEvent, array $mappedQueryParameters) { } diff --git a/src/LocalData/LocalDataPreEvent.php b/src/LocalData/LocalDataPreEvent.php index d548930d9ba8f3c219af16d8775b3589fbb01b87..68743c285587105206306b55a894e88f262c12bb 100644 --- a/src/LocalData/LocalDataPreEvent.php +++ b/src/LocalData/LocalDataPreEvent.php @@ -30,9 +30,13 @@ class LocalDataPreEvent extends Event return $this->queryParametersIn; } - public function acknowledgeQueryParameter(string $queryParameterName): void + public function tryPopPendingQueryParameter(string $queryParameterName, &$queryParameterValue = null): bool { - unset($this->queryParametersIn[$queryParameterName]); + if (($queryParameterValue = $this->queryParametersIn[$queryParameterName] ?? null) !== null) { + unset($this->queryParametersIn[$queryParameterName]); + } + + return $queryParameterValue !== null; } public function getOptions(): array