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); } }