00001 <?php 00002 00007 class oxServerProcessor extends oxSuperCfg 00008 { 00009 00011 private $_oServerNodesManager; 00012 00014 private $_oServerNodeChecker; 00015 00017 private $_oUtilsServer; 00018 00020 private $_oUtilsDate; 00021 00027 protected function _getServerNodeChecker() 00028 { 00029 return $this->_oServerNodeChecker; 00030 } 00031 00037 protected function _getServerNodesManager() 00038 { 00039 return $this->_oServerNodesManager; 00040 } 00041 00047 protected function _getUtilsServer() 00048 { 00049 return $this->_oUtilsServer; 00050 } 00051 00057 protected function _getUtilsDate() 00058 { 00059 return $this->_oUtilsDate; 00060 } 00061 00070 public function __construct( 00071 oxServersManager $oServerNodesManager, 00072 oxServerChecker $oServerNodeChecker, 00073 oxUtilsServer $oUtilsServer, 00074 oxUtilsDate $oUtilsDate 00075 ) { 00076 $this->_oServerNodesManager = $oServerNodesManager; 00077 $this->_oServerNodeChecker = $oServerNodeChecker; 00078 $this->_oUtilsServer = $oUtilsServer; 00079 $this->_oUtilsDate = $oUtilsDate; 00080 } 00081 00085 public function process() 00086 { 00087 $oNodesManager = $this->_getServerNodesManager(); 00088 $sServerNodeId = $this->_getUtilsServer()->getServerNodeId(); 00089 $oNode = $oNodesManager->getServer($sServerNodeId); 00090 00091 $oNodeChecker = $this->_getServerNodeChecker(); 00092 if (!$oNodeChecker->check($oNode)) { 00093 $this->_updateNodeInformation($oNode); 00094 $oNodesManager->saveServer($oNode); 00095 } 00096 } 00097 00103 private function _updateNodeInformation($oNode) 00104 { 00105 $oUtilsServer = $this->_getUtilsServer(); 00106 $sServerNodeId = $oUtilsServer->getServerNodeId(); 00107 $oUtilsDate = $this->_getUtilsDate(); 00108 00109 $oNode->setId($sServerNodeId); 00110 $oNode->setIp($oUtilsServer->getServerIp()); 00111 $oNode->setTimestamp($oUtilsDate->getTime()); 00112 $oNode->setIsValid(); 00113 if ($this->isAdmin()) { 00114 $oNode->setLastAdminUsage($oUtilsDate->getTime()); 00115 } else { 00116 $oNode->setLastFrontendUsage($oUtilsDate->getTime()); 00117 } 00118 } 00119 }