예제 #1
0
 private function getSynchronizer($notificationXml)
 {
     $parser = new NSIParser();
     $parser->loadXml($notificationXml);
     if ($parser->isTD()) {
         $parser->parseNotifications();
         Yii::trace($parser->getData());
         foreach ($parser->getData()['nots'] as $subId => $notsData) {
             $sync = TopologySynchronizer::find()->where(['provider_nsa' => $notsData['providerId']])->andWhere(['subscription_id' => $subId])->one();
             if ($sync) {
                 Yii::trace("achou sync ativo, sincronizando...");
                 $parser->parseTopology();
                 $sync->parser = $parser;
                 return $sync;
             }
             break;
             //VERIFICAR CASO EM QUE DUAS NOTIFICATIONS SAO RECEBIDAS NUMA MESMA MSG
         }
     }
     return null;
 }