public static function CreateSifLogEvents($header, $category, $code, $desc) { $db = Zend_Registry::get('my_db'); $xml = XmlHelper::buildSifLogEvent(Utility::createMessageId(), Utility::createTimestamp(), $header, $category, $code, $desc); $xml = str_replace('xmlns="http://www.sifinfo.org/uk/infrastructure/2.x"', '', $xml); $xml = str_replace('xmlns="http://www.sifinfo.org/infrastructure/2.x"', '', $xml); $xml = str_replace('xmlns="http://www.sifinfo.org/infrastructure/1.x"', '', $xml); $dataObject = new DataObject('sif_logentry'); $query = "select\r\n\t\t\t\t \tagent_registered.agent_id,\r\n\t\t\t\t\tagent_registered.agent_mode_id,\r\n agent_registered.context_id,\r\n agent_registered.zone_id\r\n\t\t\t\t from \r\n\t\t\t\t \t" . DBConvertor::convertCase('agent_registered') . " \r\n\t\t\t\t where \r\n\t\t\t\t \tagent_registered.context_id = " . $_SESSION["CONTEXT_ID"] . " \r\n\t\t\t\t\tand agent_registered.zone_id = " . $_SESSION["ZONE_ID"] . "\r\n\t\t\t\t\tand agent_registered.unregister_timestamp is null"; $result = $db->fetchAll($query); foreach ($result as $row) { switch (DB_TYPE) { case 'mysql': $agentId = intval($row->agent_id); $agentModeId = intval($row->agent_mode_id); $zoneId = intval($row->zone_id); $contextId = intval($row->context_id); break; case 'oci8': $agentId = intval($row->AGENT_ID); $agentModeId = intval($row->AGENT_MODE_ID); $zoneId = intval($row->ZONE_ID); $contextId = intval($row->CONTEXT_ID); break; } $data = array('event_timestamp' => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), 'agent_id_sender' => intval(0), 'agent_id_rec' => $agentId, 'event_data' => $xml, 'object_id' => $dataObject->objectId, 'action_id' => intval(1), 'zone_id' => $zoneId, 'context_id' => $contextId, 'agent_mode_id' => $agentModeId); /* * $db->insert('event', $data); */ } }
public static function addGroup($name, $version) { $db = Zend_Registry::get('my_db'); $data = array(DBConvertor::convertCase('group_name') => $name, DBConvertor::convertCase('created_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('updated_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('admin_id') => $_SESSION['ADMIN_ID'], DBConvertor::convertCase('version_id') => $version); if ($db->insert(DBConvertor::convertCase('group_permission'), $data)) { return true; } else { return false; } }
public static function writeToErrorLog($shortErrorDesc, $longErrorDesc, $errorLocation, $zoneId = null, $agentId = null, $contextId = null) { $db = Zend_Registry::get('my_db'); $data = array(DBConvertor::convertCase('error_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('short_error_desc') => $shortErrorDesc, DBConvertor::convertCase('long_error_desc') => $longErrorDesc, DBConvertor::convertCase('error_location') => $errorLocation, DBConvertor::convertCase('zone_id') => $zoneId, DBConvertor::convertCase('agent_id') => $agentId, DBConvertor::convertCase('context_id') => $contextId); if ($db->insert(DBConvertor::convertCase('error_log'), $data)) { return true; } else { return false; } }
public static function writeToErrorLog($shortErrorDesc, $longErrorDesc, $errorLocation, $zoneId = null, $contextId = null, $agentId = null) { $db = ZitDBAdapter::getDBAdapter(); $data = array('error_timestamp' => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), 'short_error_desc' => $shortErrorDesc, 'long_error_desc' => $longErrorDesc, 'error_location' => $errorLocation, 'zone_id' => $zoneId, 'agent_id' => $agentId, 'context_id' => $contextId); if ($db->insert('error_log', $data)) { return true; } else { return false; } }
public function Stop($zoneId, $contextId = 1) { $db = ZitDBAdapter::getDBAdapter(); $data = array('push_running' => 0, 'last_stop' => new Zend_Db_Expr(DBConvertor::convertCurrentTime())); $db->update('push_handler', $data, 'zone_id = ' . $zoneId . ' and context_id = ' . $contextId); $query = "select \r\n\t\t\t\t\tphp_pid from \r\n\t\t\t\t\t " . DBConvertor::convertCase('push_handler') . " \r\n\t\t\t\t where zone_id = {$zoneId} and context_id = {$contextId}"; $result = $db->fetchAll($query); $pid = $result[0]->pid; if ($this->psExists($pid)) { $this->psKill($pid); } }
private function saveSubscribes() { $db = Zend_Registry::get('my_db'); $agentSub = new AgentSubscriptions($db); foreach ($this->subscribeObjects as $object) { $alreadySubscribed = $this->alreadySubscribed($object->objectId, $object->contextId); if (!$alreadySubscribed) { $data = array(DBConvertor::convertCase('agent_id') => $this->agent->agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('subscribe_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); $agentSub->insert($data); } } }
public static function saveProvides($dataObjects, $agentId) { $db = Zend_Registry::get('my_db'); foreach ($dataObjects as $object) { $alreadyProviding = DataObject::alreadyProviding($object->objectId, $object->contextId, $agentId); if (!$alreadyProviding) { $agt_pro = null; $agt_pro = new AgentProvisions($db); $data = array(DBConvertor::convertCase('agent_id') => $agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('provision_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('publish_add') => '1', DBConvertor::convertCase('publish_delete') => '1', DBConvertor::convertCase('publish_change') => '1', DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); $agt_pro->insert($data); } } }
public function register() { $db = Zend_Registry::get('my_db'); $agentR = new AgentRegistered($db); $data = array(DBConvertor::convertCase('agent_id') => $this->agentId, DBConvertor::convertCase('callback_url') => $this->callBackUrl, DBConvertor::convertCase('agent_mode_id') => $this->agentMode, DBConvertor::convertCase('register_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('protocol_type') => $this->protocol, DBConvertor::convertCase('secure') => $this->secure, DBConvertor::convertCase('sif_version') => $this->version, DBConvertor::convertCase('asleep') => $this->asleep, DBConvertor::convertCase('maxbuffersize') => $this->maxBuffersize, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID'], DBConvertor::convertCase('context_id') => $_SESSION['CONTEXT_ID'], DBConvertor::convertCase('authentication_level_id') => $this->authenticationLevel, DBConvertor::convertCase('frozen') => 0); try { $agentR->insert($data); return true; } catch (Zend_Db_Exception $e) { // echo $e->getMessage(); ZitLog::writeToErrorLog('AgentRegistered Error', '', 'Registration Error', $_SESSION['ZONE_ID']); return false; } /* $n = $agentR->insert($data); echo 'value of $n = '.$n.'.'; if($n == 1){ return true; } else{ return false; } */ }
public static function updateZone($description, $sourceId, $zoneId, $versionId, $zoneAuthenticationType) { //$db = ZitDBAdapter::getDBAdapter(); $db = Zend_Registry::get('my_db'); if (Zone::updatingVersion($zoneId, $versionId)) { Zone::deleteAllPermissions_subscriptions_provisions_requests_responds($zoneId); Zone::unregisterAllAgents($zoneId); } $data = array(DBConvertor::convertCase('zone_desc') => $description, DBConvertor::convertCase('source_id') => $sourceId, DBConvertor::convertCase('ZONE_AUTHENTICATION_TYPE_ID') => $zoneAuthenticationType, DBConvertor::convertCase('update_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('version_id') => $versionId); $n = $db->update(DBConvertor::convertCase('zones'), $data, 'zone_id = ' . $zoneId); $frontendOptions = array('lifetime' => Null); $backendOptions = array('cache_dir' => CACHE); $cache = Zend_Cache::factory('Output', 'File', $frontendOptions, $backendOptions); $cacheID = 'DataObject1Navigation'; $cache->clean(Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG, array($cacheID)); }
private function publishEvent($agentId, $objectName, $objectAction, $version, $header) { $db = Zend_Registry::get('my_db'); $dom = $this->dom; $dataObject = new DataObject($objectName); $actionId = Event::getActionId($objectAction); $query = "select agent_subscriptions.agent_id,\r\n\t\t\t \t\t\t agent_registered.agent_mode_id,\r\n\t\t\t \t\t\t agent_registered.sif_version,\r\n\t\t\t \t\t\t agent_registered.maxbuffersize,\r\n\t\t \t\t\t agent.source_id\r\n\t\t \t\tfrom " . DBConvertor::convertCase('agent_subscriptions') . "\r\n\t\t \t\t\tinner join \r\n\t\t\t\t\t\t" . DBConvertor::convertCase('agent_registered') . " on agent_registered.agent_Id = agent_subscriptions.agent_id\r\n\t\t \t\t\tand agent_registered.unregister_timestamp is null\r\n\t\t \t\t\tinner join " . DBConvertor::convertCase('agent') . " on agent.agent_id = agent_subscriptions.agent_id\r\n\t\t \t\t\twhere agent_subscriptions.object_type_id = " . $dataObject->objectId . " \r\n\t\t \t\t\tand agent_subscriptions.context_id = " . $_SESSION["CONTEXT_ID"] . " \r\n\t\t \t\t\tand agent_subscriptions.zone_id = " . $_SESSION["ZONE_ID"] . "\r\n\t\t \t\t\tand agent_subscriptions.context_id = agent_registered.context_id \r\n\t\t \t\t\tand agent_subscriptions.zone_id = agent_registered.zone_id"; $result = $db->fetchAll($query); foreach ($result as $row) { $error = false; switch (DB_TYPE) { case 'mysql': $agent_id = intval($row->agent_id); $maxbuffersize = intval($row->maxbuffersize); $source_id = $row->source_id; $agent_mode_id = intval($row->agent_mode_id); $agent_version = $row->sif_version; break; case 'oci8': $agent_id = intval($row->AGENT_ID); $maxbuffersize = intval($row->MAXBUFFERSIZE); $source_id = $row->SOURCE_ID; $agent_mode_id = intval($row->AGENT_MODE_ID); $agent_version = $row->SIF_VERSION; break; } // $filterUtility = new FilterUtility(); // $filterUtility->FilterCommonElements($dataObject->objectId, $dom, $agent_id); $sifMessageNode = $dom->getElementsByTagName('SIF_Message')->item(0); $eventXML = $dom->saveXML($sifMessageNode); $eventXML = str_replace('xmlns="http://www.sifinfo.org/uk/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $messageSize = strlen($eventXML); if ($messageSize > $maxbuffersize) { SifLogEntry::CreateSifLogEvents($header, '4', '2', 'Buffer size of agent ' . $row->source_id . ' is too small to recieve this event [size : ' . $row->maxbuffersize . ']'); $error = true; } if ($version != $agent_version) { SifLogEntry::CreateSifLogEvents($header, '4', '4', 'Version in event not supported by agent ' . $source_id); $error = true; } if (!$error) { $data = array(DBConvertor::convertCase('event_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('agent_id_sender') => $agentId, DBConvertor::convertCase('agent_id_rec') => $agent_id, DBConvertor::convertCase('event_data') => $eventXML, DBConvertor::convertCase('object_id') => $dataObject->objectId, DBConvertor::convertCase('action_id') => $actionId, DBConvertor::convertCase('agent_mode_id') => $agent_mode_id, DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"]); $db->insert(DBConvertor::convertCase('event'), $data); } } }
private function setupResponseNew($agent, $msgId, $m) { $dom = $m->dom; $dataObject = null; $db = Zend_Registry::get('my_db'); $requesterId = RequestObject::getRequesterId($msgId); $agentModeId = RequestObject::getRequesterAgentMode($msgId); try { $sifObjectDataNode = $dom->getElementsByTagName('SIF_ObjectData')->item(0); $children = isset($sifObjectDataNode->childNodes) ? $sifObjectDataNode->childNodes : ''; if (is_object($children)) { $objectName = isset($children->item(0)->nodeName) ? $children->item(0)->nodeName : null; } else { $objectName = null; ZitLog::writeToErrorLog('[SIF_ObjectData Error]', 'No SIF_ObjectData found from agent = ' . $agent->sourceId, $this->xmlStr); GeneralError::systemError($this->xmlStr); } $dataObject = new DataObject($objectName); } catch (Exception $e) { ZitLog::writeToErrorLog('[Error processing message]', "DataObject Name: " . $objectName . "\nError Message\n" . $e->getMessage() . "\n\nStack Trace\n" . $e->getTraceAsString() . ' ' . $this->xmlStr, 'Process Message', $_SESSION['ZONE_ID']); GeneralError::systemError($this->xmlStr); } $sifMessageNode = $dom->getElementsByTagName('SIF_Message')->item(0); $responseXml = $dom->saveXML($sifMessageNode); $responseXml = str_replace('xmlns="http://www.sifinfo.org/infrastructure/1.x"', '', $responseXml); $responseXml = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/1.x"', '', $responseXml); $responseXml = str_replace('xmlns="http://www.sifinfo.org/infrastructure/2.x" ', '', $responseXml); $responseXml = str_replace('xmlns="http://www.sifinfo.org/uk/infrastructure/2.x" ', '', $responseXml); $responseXml = str_replace('xmlns="http://www.sifinfo.org/au/infrastructure/2.x" ', '', $responseXml); $responseXml = str_replace('xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ', '', $responseXml); # $data = array( # DBConvertor::convertCase('request_msg_id') => $msgId, # DBConvertor::convertCase('response_data') => $responseXml, # DBConvertor::convertCase('next_packet_num') => '2', # DBConvertor::convertCase('status_id') => '1', # DBConvertor::convertCase('agent_id_requester') => intval($requesterId), # DBConvertor::convertCase('agent_id_responder') => $agent->agentId, # DBConvertor::convertCase('agent_mode_id') => intval($agentModeId), # DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], # DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"] # ); # $db->insert(DBConvertor::convertCase('response'), $data); /* Removing the filterUtility as it should be reworked. $filterUtility = new FilterUtility(); $filterUtility->FilterCommonElements($dataObject->objectId, $dom, intval($requesterId)); */ try { $this->xslt = null; $permissions = new AgentPermissions($db); $where = "object_id = " . $dataObject->objectId . " and agent_id = " . $requesterId . " and zone_id = " . $_SESSION['ZONE_ID'] . " and context_id = " . $_SESSION['CONTEXT_ID']; $result = $permissions->fetchAll($where); switch (DB_TYPE) { case 'mysql': $this->xslt = isset($result[0]->xslt) ? $result[0]->xslt : null; break; case 'oci8': $this->xslt = isset($result[0]->XSLT) ? $result[0]->XSLT : null; break; } if ($this->xslt != null) { $xsltpro = new XSLTProcessor(); $XSL = new DOMDocument(); $XSL->loadXML($this->xslt); $xsltpro->importStylesheet($XSL); $XML = new DOMDocument(); $XML->loadXML($responseXml); $responseXml = $xsltpro->transformToXML($XML); } $responseXml = str_replace('<?xml version="1.0"?>' . "\n", '', $responseXml); } catch (Zend_Exception $e) { ZitLog::writeToErrorLog('[Error filtering message]', "DataObject Name: " . $objectName . "\nError Message\n" . $e->getMessage() . "\n\nStack Trace\n" . $e->getTraceAsString() . ' ' . $this->xmlStr, 'Process Message', $_SESSION['ZONE_ID']); GeneralError::systemError($this->xmlStr); } $messagequeue = new MessageQueues($db); $data = null; $data = array(DBConvertor::convertCase('msg_id') => $this->originalMsgId, DBConvertor::convertCase('ref_msg_id') => $msgId, DBConvertor::convertCase('msg_type') => 2, DBConvertor::convertCase('status_id') => '1', DBConvertor::convertCase('version') => $_SESSION['ZONE_VERSION'], DBConvertor::convertCase('insert_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('agt_id_in') => $agent->agentId, DBConvertor::convertCase('agt_id_out') => intval($requesterId), DBConvertor::convertCase('data') => $responseXml, DBConvertor::convertCase('next_packet_num') => 2, DBConvertor::convertCase('agt_mode_id') => intval($agentModeId), DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"]); $messagequeue->insert($data); $timestamp = Utility::createTimestamp(); $msgId = Utility::createMessageId(); XmlHelper::buildSuccessMessage($msgId, $timestamp, $this->originalSourceId, $this->originalMsgId, 0, $originalMsg = null, $desc = null); }
private function saveProvisions() { $db = Zend_Registry::get('my_db'); $agt_pro = new AgentProvisions($db); $agt_sub = new AgentSubscriptions($db); $agt_req = new AgentRequester($db); $agt_res = new AgentResponder($db); $where = 'agent_id = ' . $this->agent->agentId . ' and zone_id = ' . $_SESSION['ZONE_ID']; $agt_pro->delete($where); $agt_sub->delete($where); $agt_req->delete($where); $agt_res->delete($where); if (count($this->requestObjects) > 0) { foreach ($this->requestObjects as $object) { $data = array(DBConvertor::convertCase('agent_id') => $this->agent->agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('requester_timestamp') => new zend_db_expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); $agt_req->insert($data); } } if (count($this->respondObjects) > 0) { foreach ($this->respondObjects as $object) { $data = array(DBConvertor::convertCase('agent_id') => $this->agent->agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('responder_timestamp') => new zend_db_expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); $agt_res->insert($data); // $db->insert('agent_responder', $data); } } if (count($this->provideObjects) > 0) { foreach ($this->provideObjects as $object) { $data = array(DBConvertor::convertCase('agent_id') => $this->agent->agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('provision_timestamp') => new zend_db_expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); // $db->insert('agent_provisions', $data); $agt_pro->insert($data); } } if (count($this->subscribeObjects) > 0) { foreach ($this->subscribeObjects as $object) { $data = array(DBConvertor::convertCase('agent_id') => $this->agent->agentId, DBConvertor::convertCase('object_type_id') => $object->objectId, DBConvertor::convertCase('subscribe_timestamp') => new zend_db_expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('context_id') => $object->contextId, DBConvertor::convertCase('zone_id') => $_SESSION['ZONE_ID']); // $db->insert('agent_subscriptions', $data); $agt_sub->insert($data); } } if (count($this->publishAddObjects) > 0) { foreach ($this->publishAddObjects as $object) { $data = array(DBConvertor::convertCase('publish_add') => '1'); $where = 'agent_id = ' . $this->agent->agentId . ' and object_type_id = ' . $object->objectId . ' and context_id = ' . $object->contextId; $agt_pro->update($data, $where); // $db->update('agent_provisions', $data, 'agent_id = '.$this->agent->agentId.' and object_type_id = '.$object->objectId.' and context_id = '.$object->contextId); } } if (count($this->publishChangeObjects) > 0) { foreach ($this->publishChangeObjects as $object) { $data = array(DBConvertor::convertCase('publish_change') => '1'); $where = 'agent_id = ' . $this->agent->agentId . ' and object_type_id = ' . $object->objectId . ' and context_id = ' . $object->contextId; $agt_pro->update($data, $where); // $db->update('agent_provisions', $data, 'agent_id = '.$this->agent->agentId.' and object_type_id = '.$object->objectId.' and context_id = '.$object->contextId); } } if (count($this->publishDeleteObjects) > 0) { foreach ($this->publishDeleteObjects as $object) { $data = array(DBConvertor::convertCase('publish_delete') => '1'); $where = 'agent_id = ' . $this->agent->agentId . ' and object_type_id = ' . $object->objectId . ' and context_id = ' . $object->contextId; $agt_pro->update($data, $where); // $db->update('agent_provisions', $data, 'agent_id = '.$this->agent->agentId.' and object_type_id = '.$object->objectId.' and context_id = '.$object->contextId); } } }
require_once 'db_convertor.php'; require_once 'Agent.php'; require_once 'XmlHelper.php'; require_once 'Utility.php'; require_once 'PushMessageHandler.php'; require_once 'ZitLog.php'; $zoneId = $argv[1]; $contextId = $argv[2]; try { ini_set('error_reporting', 0); $db = ZitDBAdapter::getDBAdapter(); $query = "select \r\n\t\t\t\tpush_running,\r\n\t\t\t\tsleep_time_seconds\r\n\t\t\t from \r\n\t\t\t\tpush_handler\r\n\t\t\t where\r\n\t\t\t\tzone_id = " . $zoneId . " \r\n\t\t\t and \r\n\t\t\t\tcontext_id = " . $contextId; $result = $db->fetchAll($query); $running = $result[0]->push_running; $sleep_time_seconds = $result[0]->sleep_time_seconds; while ($running == 1) { sleep((int) $sleep_time_seconds); $pushMessageHandler = new PushMessageHandler($zoneId, $contextId); $pushMessageHandler->processEventMessages(); $pushMessageHandler->processResponseMessages(); $pushMessageHandler->processRequestMessages(); $query = "select \r\n\t\t\t\t\tpush_running\r\n\t\t\t\t from \r\n\t\t\t\t\tpush_handler \r\n\t\t\t\t where\r\n\t\t\t\t\tzone_id = " . $zoneId . " \r\n\t\t\t\t and \r\n\t\t\t\t\tcontext_id = " . $contextId; $result = $db->fetchAll($query); $running = $result[0]->push_running; } } catch (Exception $e) { ZitLog::writeToErrorLog("[Error Pushing Messages] Check Agents", "Error Message\n" . $e->getMessage() . "\n\nStack Trace\n" . $e->getTraceAsString(), 'Push Thread', $zoneId, $contextId); $data = array('push_running' => 0, 'last_stop' => new Zend_Db_Expr(DBConvertor::convertCurrentTime())); $db->update('push_handler', $data, 'zone_id = ' . $zoneId . ' and context_id = ' . $contextId); } return true;
private function setupRequest($objectName, $sourceId, $agent) { $db = ZitDBAdapter::getDBAdapter(); $dom = $this->dom; $providerId = null; if ($sourceId != null) { $agent = new Agent($sourceId); $providerId = $agent->agentId; } else { $providerId = DataObject::getProviderId($objectName); } if ($providerId == 0) { RequestError::invalidProvider($this->originalSourceId, $this->originalMsgId); } else { $error = false; $sifMessageNode = $dom->getElementsByTagName('SIF_Message')->item(0); $eventXML = $dom->saveXML($sifMessageNode); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/uk/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/au/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ', '', $eventXML); $messageId = $dom->getElementsByTagName('SIF_MsgId')->item(0)->nodeValue; $bufferSize = $dom->getElementsByTagName('SIF_MaxBufferSize')->item(0)->nodeValue; /* PUSH all messages to the ZONE Version: DO NOT Check Message Version: */ $version = $_SESSION['ZONE_VERSION']; $query = "select\r\n agent_registered.sif_version,\r\n agent_registered.maxbuffersize,\r\n agent_registered.agent_mode_id,\r\n agent.source_id\r\n from " . DBConvertor::convertCase('agent_registered') . " \r\n inner join " . DBConvertor::convertCase('agent') . " on agent.agent_id = agent_registered.agent_id\r\n where agent_registered.agent_id = {$providerId} and agent_registered.unregister_timestamp is null\r\n and agent_registered.zone_id = " . $_SESSION["ZONE_ID"] . "\r\n and agent_registered.context_id = " . $_SESSION["CONTEXT_ID"]; $result = $db->fetchAll($query); switch (DB_TYPE) { case 'mysql': $agentModeId = $result[0]->agent_mode_id; $maxbuffersize = intval($result[0]->maxbuffersize); $source_id = $result[0]->source_id; $sif_version = $result[0]->sif_version; break; case 'oci8': $agentModeId = $result[0]->AGENT_MODE_ID; $maxbuffersize = intval($result[0]->MAXBUFFERSIZE); $source_id = $result[0]->SOURCE_ID; $sif_version = $result[0]->SIF_VERSION; break; } $messageSize = strlen($eventXML); if ($messageSize > $maxbuffersize) { $error = true; $header = $this->headerNode; SifLogEntry::CreateSifLogEvents($header, '4', '2', 'Buffer size of agent ' . $source_id . ' is too small to recieve this request [size : ' . $maxbuffersize . ']'); } /* if($version != '2.*') { if($version != $sif_version) { $header = $this->headerNode; $error = true; SifLogEntry::CreateSifLogEvents($header, '4', '4', 'Version in request not supported by agent '.$source_id ); } } else { $version = $_SESSION['ZONE_VERSION']; } */ if (!$error) { $dataObject = new DataObject($objectName); # $request = new Requests($db); # $data = array( # DBConvertor::convertCase('request_msg_id') => $messageId, # DBConvertor::convertCase('request_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), # DBConvertor::convertCase('agent_id_requester') => $agent->agentId, # DBConvertor::convertCase('agent_id_responder') => intval($providerId), # DBConvertor::convertCase('request_data') => $eventXML, # DBConvertor::convertCase('max_buffer_size') => $bufferSize, # DBConvertor::convertCase('version') => $version, # DBConvertor::convertCase('agent_mode_id') => intval($agentModeId), # DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], # DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"] # ); # $request->insert($data); $messagequeue = new MessageQueues($db); $data = null; $data = array(DBConvertor::convertCase('msg_id') => $messageId, DBConvertor::convertCase('msg_type') => 1, DBConvertor::convertCase('status_id') => 1, DBConvertor::convertCase('insert_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('agt_id_in') => intval($agent->agentId), DBConvertor::convertCase('agt_id_out') => intval($providerId), DBConvertor::convertCase('data') => $eventXML, DBConvertor::convertCase('maxbuffersize') => intval($bufferSize), DBConvertor::convertCase('version') => $version, DBConvertor::convertCase('agt_mode_id') => intval($agentModeId), DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"]); $messagequeue->insert($data); } $timestamp = Utility::createTimestamp(); $msgId = Utility::createMessageId(); $sifMessageNode = $dom->getElementsByTagName('SIF_Message')->item(0); XmlHelper::buildSuccessMessage($msgId, $timestamp, $this->originalSourceId, $this->originalMsgId, 0, $originalMsg = null, $desc = null); } //invalid provider check }
public function loginAction() { $lic = isset($_REQUEST['lic']) ? $_REQUEST['lic'] : null; $error_msg = 'Invalid Username or Password!'; if ($lic != $_SESSION['OPENZISKEYHOLE']) { $this->view->msg = $error_msg . '!'; $this->_forward('error', 'error'); } else { $zit = isset($_REQUEST['homepage']) ? $_REQUEST['homepage'] : null; $db = ZitDBAdapter::getDBAdapter(); $f = new Zend_Filter_StripTags(); $request_username = $_REQUEST['loginUsername']; $username = $f->filter($request_username); $username2 = $f->filter($request_username); $password = $f->filter($_REQUEST['loginPassword']); if (empty($username) || empty($password) || $username == '' || $password == '') { session_destroy(); Zend_Session::regenerateId(); $this->view->msg = $error_msg . '!!'; $this->_forward('error', 'error'); } $authAdapter = new Zend_Auth_Adapter_DbTable($db); switch (DB_TYPE) { case 'mysql': $authAdapter->setTableName('authenticate'); $authAdapter->setIdentityColumn('admin_username'); $authAdapter->setCredentialColumn('admin_password'); break; case 'oci8': $authAdapter->setTableName('AUTHENTICATE'); $authAdapter->setIdentityColumn('ADMIN_USERNAME'); $authAdapter->setCredentialColumn('ADMIN_PASSWORD'); break; } $authAdapter->setIdentity($username); $authAdapter->setCredential($password); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); Zend_Session::regenerateId(); $username = $db->quote($username); if (!$result->isValid()) { $this->view->msg = $error_msg . "!" . "!"; $this->_forward('error', 'error'); } else { session_regenerate_id(); $_SESSION['SERVER_GENERATED_SID'] = true; $za = new ZitAdminDB($db); $resultset = $za->fetchAll("admin_username = {$username}"); switch (DB_TYPE) { case 'mysql': // $query = "SELECT admin_level_id, admin_id, active FROM zit_admin WHERE admin_username = $username"; // $resultset = $db->fetchAll($query); $ZSN->admin_level = $resultset[0]->admin_level_id; $ZSN->admin_id = $resultset[0]->admin_id; $_SESSION['ADMIN_LEVEL'] = $resultset[0]->admin_level_id; $_SESSION['ADMIN_ID'] = $resultset[0]->admin_id; $this->view->adminLevel = $resultset[0]->admin_level_id; break; case 'oci8': // $query = "SELECT ADMIN_LEVEL_ID, ADMIN_ID, ACTIVE FROM ZIT_ADMIN WHERE admin_username = $username"; // $resultset = $db->fetchAll($query); $ZSN->admin_level = $resultset[0]->ADMIN_LEVEL_ID; $ZSN->admin_id = $resultset[0]->ADMIN_ID; $_SESSION['ADMIN_LEVEL'] = $resultset[0]->ADMIN_LEVEL_ID; $_SESSION['ADMIN_ID'] = $resultset[0]->ADMIN_ID; $this->view->adminLevel = $resultset[0]->ADMIN_LEVEL_ID; break; } $token = md5(uniqid()); $better_token = md5(uniqid(rand(), true)); $key = strtoupper($better_token); $_SESSION['OPENZISKEYHOLE'] = $key; $ZSN->key = $key; $data = array('LAST_LOGIN' => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), 'ATTEMPTS' => 0); $where = 'admin_id = ' . $_SESSION['ADMIN_ID']; $za->update($data, $where); // $admin = new TB_ZitAdmin(); // $who = $admin->FetchRow->( "LOWER(ADMIN_USERNAME) = LOWER('$username')"); // print_r($who); if ($zit == 1) { $this->view->validUser = true; $this->render('index'); } else { $this->render('ajaxsuccessjson'); } } } }
public static function deleteAgent($agentId) { //$db = ZitDBAdapter::getDBAdapter(); $db = Zend_Registry::get('my_db'); $db->delete(DBConvertor::convertCase('agent'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_zone_context'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_provisions'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_subscriptions'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_requester'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_responder'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $db->delete(DBConvertor::convertCase('agent_permissions'), DBConvertor::convertCase('agent_id') . ' = ' . $agentId); $data = array(DBConvertor::convertCase('unregister_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime())); $db->update(DBConvertor::convertCase('agent_registered'), $data, 'agent_id = ' . $agentId . ' and unregister_timestamp is null'); }
private function publishEvent($agentId, $objectName, $objectAction, $version, $m) { $db = Zend_Registry::get('my_db'); $dom = $m->dom; $event_destination_found = false; $headerNode = $m->headerNode; $originalMsgId = $m->msgId; $originalSourceId = $m->sourceId; $originalTimestamp = $headerNode->getElementsByTagName('SIF_Timestamp')->item(0)->nodeValue; $dataObject = new DataObject($objectName); $actionId = Event::getActionId($objectAction); $query = "select agent_subscriptions.agent_id,\r\n\t\t\t \t\t\t agent_registered.agent_mode_id,\r\n\t\t\t \t\t\t agent_registered.sif_version,\r\n\t\t\t \t\t\t agent_registered.maxbuffersize,\r\n\t\t \t\t\t agent.source_id\r\n\t\t \t\tfrom " . DBConvertor::convertCase('agent_subscriptions') . "\r\n\t\t \t\t\tinner join " . DBConvertor::convertCase('agent_registered') . " on agent_registered.agent_Id = agent_subscriptions.agent_id and agent_registered.unregister_timestamp is null\r\n\t\t \t\t\tinner join " . DBConvertor::convertCase('agent') . " on agent.agent_id = agent_subscriptions.agent_id\r\n\t\t \t\t\twhere agent_subscriptions.zone_id = " . $_SESSION["ZONE_ID"] . "\r\n\t\t\t\t\t\tand agent_subscriptions.object_type_id = " . $dataObject->objectId . "\r\n\t\t \t\t\tand agent_subscriptions.context_id = " . $_SESSION["CONTEXT_ID"] . "\r\n\t\t \t\t\tand agent_subscriptions.context_id = agent_registered.context_id \r\n\t\t \t\t\tand agent_subscriptions.zone_id = agent_registered.zone_id"; if ($m->destinationIdFound == true) { $query = $query . " and agent.source_id = '" . $m->destinationId . "'"; } $result = $db->fetchAll($query); foreach ($result as $row) { $error = false; $event_destination_found = true; switch (DB_TYPE) { case 'mysql': $agent_id = intval($row->agent_id); $maxbuffersize = intval($row->maxbuffersize); $source_id = $row->source_id; $agent_mode_id = intval($row->agent_mode_id); $agent_version = $row->sif_version; break; case 'oci8': $agent_id = intval($row->AGENT_ID); $maxbuffersize = intval($row->MAXBUFFERSIZE); $source_id = $row->SOURCE_ID; $agent_mode_id = intval($row->AGENT_MODE_ID); $agent_version = $row->SIF_VERSION; break; } $sifMessageNode = $dom->getElementsByTagName('SIF_Message')->item(0); $eventXML = $dom->saveXML($sifMessageNode); $eventXML = str_replace('xmlns="http://www.sifinfo.org/uk/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" ', '', $eventXML); $eventXML = str_replace('xmlns:sif="http://www.sifinfo.org/infrastructure/1.x" ', '', $eventXML); $eventXML = str_replace('xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ', '', $eventXML); $messageSize = strlen($eventXML); if ($messageSize > $maxbuffersize) { SifLogEntry::CreateSifLogEvents($header, '4', '2', 'Buffer size of agent ' . $row->source_id . ' is too small to recieve this event [size : ' . $row->maxbuffersize . ']'); $error = true; } if ($version != $agent_version) { SifLogEntry::CreateSifLogEvents($header, '4', '4', 'Version in event not supported by agent ' . $source_id); $error = true; } if (!$error) { $data = array(DBConvertor::convertCase('insert_timestamp') => new Zend_Db_Expr(DBConvertor::convertCurrentTime()), DBConvertor::convertCase('msg_id') => $originalMsgId, DBConvertor::convertCase('agt_id_in') => $agentId, DBConvertor::convertCase('msg_type') => 3, DBConvertor::convertCase('status_id') => 1, DBConvertor::convertCase('agt_id_out') => $agent_id, DBConvertor::convertCase('data') => $eventXML, DBConvertor::convertCase('object_id') => $dataObject->objectId, DBConvertor::convertCase('action_id') => $actionId, DBConvertor::convertCase('agt_mode_id') => $agent_mode_id, DBConvertor::convertCase('zone_id') => $_SESSION["ZONE_ID"], DBConvertor::convertCase('context_id') => $_SESSION["CONTEXT_ID"]); $db->insert(DBConvertor::convertCase('messagequeue'), $data); } } if ($event_destination_found == false) { GeneralError::genericError($m, "11", "1", "Generic Error", "SIF DestinationId not found."); } }