getPhonenumber()); foreach ($flagManager->getAllNotificationFlagProviders() as $provider) { $updateProfileCommand->setNotificationFlag( $provider->getFlag(), User::NOTIF_FLAG_IMMEDIATE_EMAIL, $user->isNotificationSendImmediately($provider->getFlag()) ); $updateProfileCommand->setNotificationFlag( $provider->getFlag(), User::NOTIF_FLAG_DAILY_DIGEST, $user->isNotificationDailyDigest($provider->getFlag()) ); } return $updateProfileCommand; } /** * @param User::NOTIF_FLAG_IMMEDIATE_EMAIL|User::NOTIF_FLAG_DAILY_DIGEST $kind */ private function setNotificationFlag(string $type, string $kind, bool $value): void { if (!array_key_exists($type, $this->notificationFlags)) { $this->notificationFlags[$type] = ['immediate_email' => true, 'daily_digest' => false]; } $k = match ($kind) { User::NOTIF_FLAG_IMMEDIATE_EMAIL => 'immediate_email', User::NOTIF_FLAG_DAILY_DIGEST => 'daily_digest', }; $this->notificationFlags[$type][$k] = $value; } }