/** * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator * @param \Siris\Models\ERequestHeader|\Tesoreria\Models\ERequestHeader $requestHeader * @param boolean $terminalAbierta * si $terminalAbierta es true, la terminal necesita estar abierta, * si $terminalAbierta es false, la terminal necesita estar cerrada, * si $terminalAbierta es null, la terminal puede estar abierta o cerrada * @return boolean */ public static function login($serviceLocator = null, $requestHeader = null, $terminalAbierta = null) { if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] != self::HTTP_USER || $_SERVER['PHP_AUTH_PW'] != self::HTTP_PASSWORD) { header('WWW-Authenticate: Basic realm="SIRIS"'); header('HTTP/1.0 401 Unauthorized'); exit; } $accessWS = true; if ($terminalAbierta === true) { $response = \Siris\Experts\ExpTerminal::statusTerminal($serviceLocator, $requestHeader); $estado = $response->estado->estado; if ($estado == "cerrada") { $accessWS = false; } } else { if ($terminalAbierta === false) { $response = \Siris\Experts\ExpTerminal::statusTerminal($serviceLocator, $requestHeader); $estado = $response->estado->estado; if ($estado == "abierta") { $accessWS = false; } } } return $accessWS; }
/** * Consultar el estado del terminal * @param \Siris\Models\ERequestHeader $requestHeader * @return \Siris\Models\EResponse */ public function statusTerminal($requestHeader) { HttpLogin::login(); return ExpTerminal::statusTerminal($this->serviceLocator, $requestHeader); }