Example #1
0
 private function processZoneStatus()
 {
     $dom = $this->xmlDom;
     $headerNode = $dom->getElementsByTagName('SIF_Header')->item(0);
     $originalSourceId = $headerNode->getElementsByTagName('SIF_SourceId')->item(0)->nodeValue;
     $originalMsgId = $headerNode->getElementsByTagName('SIF_MsgId')->item(0)->nodeValue;
     $validSourceId = Agent::checkSourceId($originalSourceId);
     if (!$validSourceId) {
         RegisterError::invalidSourceId($originalSourceId, $originalMsgId);
     } else {
         $dom = new DOMDocument('1.0', 'iso-8859-1');
         $zoneStatusNode = $dom->createElement('SIF_ZoneStatus');
         $zoneStatusNode->setAttribute('ZoneId', $_SESSION['ZONE_NAME']);
         $dom->appendChild($zoneStatusNode);
         $zoneNameNode = $dom->createElement('SIF_Name');
         $zoneNameNode->appendChild($dom->createTextNode($_SESSION['ZONE_DESC']));
         $zoneStatusNode->appendChild($zoneNameNode);
         $sifVendorNode = $dom->createElement('SIF_Vendor');
         $sifVendorName = $dom->createElement('SIF_Name');
         $sifVendorName->appendChild($dom->createTextNode(VENDOR_NAME));
         $sifVendorNode->appendChild($sifVendorName);
         $sifVendorProduct = $dom->createElement('SIF_Product');
         $sifVendorProduct->appendChild($dom->createTextNode(VENDOR_PRODUCT));
         $sifVendorNode->appendChild($sifVendorProduct);
         $sifVendorVersion = $dom->createElement('SIF_Version');
         $sifVendorVersion->appendChild($dom->createTextNode(VENDOR_VERSION));
         $sifVendorNode->appendChild($sifVendorVersion);
         $zoneStatusNode->appendChild($sifVendorNode);
         $sifProvidersNode = $dom->createElement('SIF_Providers');
         $sifProvidersNode = $this->buildProviders($sifProvidersNode, $dom);
         $zoneStatusNode->appendChild($sifProvidersNode);
         $sifSubscribersNode = $dom->createElement('SIF_Subscribers');
         $sifSubscribersNode = $this->buildSubscribers($sifSubscribersNode, $dom);
         $zoneStatusNode->appendChild($sifSubscribersNode);
         $sifNodes = $dom->createElement('SIF_SIFNodes');
         $sifSubscribersNode = $this->buildNodeList($sifNodes, $dom);
         $zoneStatusNode->appendChild($sifNodes);
         /*$sifSupportedAuth = $dom->createElement('SIF_SupportedAuthentication');
         		$sifProtocolName  = $dom->createElement('SIF_ProtocolName');
         		$sifSupportedAuth->appendChild($sifProtocolName);
         		$zoneStatusNode->appendChild($sifSupportedAuth);*/
         $sifSupportedProtocols = $dom->createElement('SIF_SupportedProtocols');
         $sifProtocol = $dom->createElement('SIF_Protocol');
         $sifProtocol->setAttribute('Type', 'HTTP');
         $sifProtocol->setAttribute('Secure', 'No');
         $sifUrl = $dom->createElement('SIF_URL');
         $sifUrl->appendChild($dom->createTextNode(ZIT::getZitUrl()));
         $sifProtocol->appendChild($sifUrl);
         $sifSupportedProtocols->appendChild($sifProtocol);
         $zoneStatusNode->appendChild($sifSupportedProtocols);
         $sifSupportedVersions = $dom->createElement('SIF_SupportedVersions');
         $versions = ZIT::getVersions();
         foreach ($versions as $version) {
             $sifVersion = $dom->createElement('SIF_Version');
             $sifVersion->appendChild($dom->createTextNode($version['VERSION']));
             $sifSupportedVersions->appendChild($sifVersion);
         }
         $zoneStatusNode->appendChild($sifSupportedVersions);
         $sifAdminUrl = $dom->createElement('SIF_AdministrationURL');
         $sifAdminUrl->appendChild($dom->createTextNode(ZIT::getAdminUrl()));
         $zoneStatusNode->appendChild($sifAdminUrl);
         $sifContexts = $dom->createElement('SIF_Contexts');
         $sifContexts = $this->buildContexts($sifContexts, $dom);
         $zoneStatusNode->appendChild($sifContexts);
         $xml = $dom->saveXML($dom->documentElement);
         $msgId = Utility::createMessageId();
         $timestamp = Utility::createTimestamp();
         XmlHelper::buildSuccessMessage($msgId, $timestamp, $originalSourceId, $originalMsgId, 0, $originalMsg = $xml, $desc = null);
     }
 }