private function sendEventMessage(Session $session, PublishMessage $msg, Subscription $subscription)
    {
        $sessionId             = $subscription->getSession()->getSessionId();
        $authroles             = [];
        $authid                = '';
        $authenticationDetails = $subscription->getSession()->getAuthenticationDetails();
        if ($authenticationDetails) {
            $authroles = $authenticationDetails->getAuthRoles();
            $authid    = $authenticationDetails->getAuthId();
        }

        if ((!$msg->excludeMe() || $subscription->getSession() != $session)
            && !$msg->isExcluded($sessionId)
            && $msg->isWhiteListed($sessionId)
            && $msg->hasEligibleAuthrole($authroles)
            && $msg->hasEligibleAuthid($authid)
        ) {
            $eventMsg = EventMessage::createFromPublishMessage($msg, $subscription->getId());
            if ($subscription->isDisclosePublisher() === true) {
                $eventMsg->disclosePublisher($session);
            }
            if ($this->getMatchType() !== 'exact') {
                $eventMsg->getDetails()->topic = $msg->getUri();
            }
            $subscription->sendEventMessage($eventMsg);
        }
    }
private function sendEventMessage(Session $session, PublishMessage $msg, Subscription $subscription)
    {
        $sessionId             = $subscription->getSession()->getSessionId();
        $authroles             = [];
        $authid                = '';
        $authenticationDetails = $subscription->getSession()->getAuthenticationDetails();
        if ($authenticationDetails) {
            $authroles = $authenticationDetails->getAuthRoles();
            $authid    = $authenticationDetails->getAuthId();
        }

        if ((!$msg->excludeMe() || $subscription->getSession() != $session)
            && !$msg->isExcluded($sessionId)
            && $msg->isWhiteListed($sessionId)
            && $msg->hasEligibleAuthrole($authroles)
            && $msg->hasEligibleAuthid($authid)
        ) {
            $eventMsg = EventMessage::createFromPublishMessage($msg, $subscription->getId());
            if ($subscription->isDisclosePublisher() === true) {
                $eventMsg->disclosePublisher($session);
            }
            if ($this->getMatchType() !== 'exact') {
                $eventMsg->getDetails()->topic = $msg->getUri();
            }
            $subscription->sendEventMessage($eventMsg);
        }
    }
private function sendEventMessage ( Session $ session , PublishMessage $ msg , Subscription $ subscription ) { $ sessionId = $ subscription -> getSession ( ) -> getSessionId ( ) ; $ authroles = [ ] ; $ authid = '' ; $ authenticationDetails = $ subscription -> getSession ( ) -> getAuthenticationDetails ( ) ; if ( $ authenticationDetails ) { $ authroles = $ authenticationDetails -> getAuthRoles ( ) ; $ authid = $ authenticationDetails -> getAuthId ( ) ; } if ( ( ! $ msg -> excludeMe ( ) || $ subscription -> getSession ( ) != $ session ) && ! $ msg -> isExcluded ( $ sessionId ) && $ msg -> isWhiteListed ( $ sessionId ) && $ msg -> hasEligibleAuthrole ( $ authroles ) && $ msg -> hasEligibleAuthid ( $ authid ) ) { $ eventMsg = EventMessage :: createFromPublishMessage ( $ msg , $ subscription -> getId ( ) ) ; if ( $ subscription -> isDisclosePublisher ( ) === true ) { $ eventMsg -> disclosePublisher ( $ session ) ; } if ( $ this -> getMatchType ( ) !== 'exact' ) { $ eventMsg -> getDetails ( ) -> topic = $ msg -> getUri ( ) ; } $ subscription -> sendEventMessage ( $ eventMsg ) ; } }
Send an Event Message for each subscription
@param Session $session
@param PublishMessage $msg
@param Subscription $subscription
Send an Event Message for each subscription