/** * @param ClientSession $session * @param EventMessage $msg */ public function processEvent(ClientSession $session, EventMessage $msg) { foreach ($this->subscriptions as $key => $subscription) { if ($subscription["subscription_id"] === $msg->getSubscriptionId()) { call_user_func_array($subscription["callback"], [$msg->getArguments(), $msg->getArgumentsKw(), $msg->getDetails(), $msg->getPublicationId()]); break; } } }
/** * @param Session $session * @param EventMessage $msg * @param Subscription $subscription */ private function disclosePublisherOption(Session $session, EventMessage $msg, Subscription $subscription) { if ($subscription->isDisclosePublisher() === true) { $details = ["caller" => $session->getSessionId(), "authid" => $session->getAuthenticationDetails()->getAuthId(), "authrole" => $session->getAuthenticationDetails()->getAuthRole(), "authroles" => $session->getAuthenticationDetails()->getAuthRoles(), "authmethod" => $session->getAuthenticationDetails()->getAuthMethod()]; $msg->setDetails(array_merge($msg->getDetails(), $details)); } }