OXID eShop CE  4.10.4
 All Classes Namespaces Files Functions Variables Pages
oxserverprocessor.php
Go to the documentation of this file.
1 <?php
2 
8 {
9 
12 
15 
17  private $_oUtilsServer;
18 
20  private $_oUtilsDate;
21 
27  protected function _getServerNodeChecker()
28  {
30  }
31 
37  protected function _getServerNodesManager()
38  {
40  }
41 
47  protected function _getUtilsServer()
48  {
49  return $this->_oUtilsServer;
50  }
51 
57  protected function _getUtilsDate()
58  {
59  return $this->_oUtilsDate;
60  }
61 
70  public function __construct(
71  oxServersManager $oServerNodesManager,
72  oxServerChecker $oServerNodeChecker,
73  oxUtilsServer $oUtilsServer,
74  oxUtilsDate $oUtilsDate
75  ) {
76  $this->_oServerNodesManager = $oServerNodesManager;
77  $this->_oServerNodeChecker = $oServerNodeChecker;
78  $this->_oUtilsServer = $oUtilsServer;
79  $this->_oUtilsDate = $oUtilsDate;
80  }
81 
85  public function process()
86  {
87  $oNodesManager = $this->_getServerNodesManager();
88  $sServerNodeId = $this->_getUtilsServer()->getServerNodeId();
89  $oNode = $oNodesManager->getServer($sServerNodeId);
90 
91  $oNodeChecker = $this->_getServerNodeChecker();
92  if (!$oNodeChecker->check($oNode)) {
93  $this->_updateNodeInformation($oNode);
94  $oNodesManager->saveServer($oNode);
95  }
96  }
97 
103  private function _updateNodeInformation($oNode)
104  {
105  $oUtilsServer = $this->_getUtilsServer();
106  $sServerNodeId = $oUtilsServer->getServerNodeId();
107  $oUtilsDate = $this->_getUtilsDate();
108 
109  $oNode->setId($sServerNodeId);
110  $oNode->setIp($oUtilsServer->getServerIp());
111  $oNode->setTimestamp($oUtilsDate->getTime());
112  $oNode->setIsValid();
113  if ($this->isAdmin()) {
114  $oNode->setLastAdminUsage($oUtilsDate->getTime());
115  } else {
116  $oNode->setLastFrontendUsage($oUtilsDate->getTime());
117  }
118  }
119 }