oxserverprocessor.php

Go to the documentation of this file.
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 }