예제 #1
0
 /**
  * @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;
         }
     }
 }
예제 #2
0
파일: Broker.php 프로젝트: pacho104/redbpim
 /**
  * @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));
     }
 }