diff --git a/php/classes/WebServer.php b/php/classes/WebServer.php index 145e61e..162ae9f 100644 --- a/php/classes/WebServer.php +++ b/php/classes/WebServer.php @@ -83,7 +83,8 @@ class WebServer private $wsUserMgr; private $resultMgr, $myParamsInfoMgr; private $dataFileName; - + private $timeToBatchMode = 300; // secs + function __construct() { $this->userID = 'impex'; @@ -102,7 +103,7 @@ class WebServer // [timeFormat] => ISO8601 // [gzip] => 0 - protected function init($data) + protected function init($data, $serverAccess = false) { if(is_object($data)){ $vars = get_object_vars($data); @@ -126,6 +127,11 @@ class WebServer else $this->userPWD = 'impexfp7'; + // set special timeToBatchMode interval + if ($serverAccess) { + KernelConfigClass::setTimeToBatchMode($this->timeToBatchMode); + } + return array('success' => true, 'vars' => $vars); } @@ -225,17 +231,17 @@ class WebServer public function getTimeTablesList($data) { - if(is_object($data)) - { - $vars = get_object_vars($data); - $this->isSoap = true; - } - else - $vars = $data; - - if (isset($vars['userID']) && $vars['userID'] == 'impex'){ - $this->throwError('requestError', "Request Error: no time tables for anonymous"); - } +// if(is_object($data)) +// { +// $vars = get_object_vars($data); +// $this->isSoap = true; +// } +// else +// $vars = $data; +// +// if (isset($vars['userID']) && $vars['userID'] == 'impex'){ +// $this->throwError('requestError', "Request Error: no time tables for anonymous"); +// } $res = $this->init($data); $vars = $res['vars']; @@ -365,7 +371,7 @@ class WebServer $mission = $vars["missionID"]; $ID = $this->setID(); // unique JobID - $resDirName = WSRESULT.$ID; // Define a temporary directory for results + $resDirName = WSRESULT.$ID; // Define a temporary directory for results if (is_dir($resDirName)) $this->rrmdir($resDirName); @@ -423,14 +429,14 @@ class WebServer $timeAxisObject = (Object) array( "id" => "time", "axis-type" => "time", - "axis-range-extend" => true + "axis-range-extend" => true ); $panelObject->{"axes"}[] = $timeAxisObject; $yAxisObject = (Object) array( "id" => "y-left", "axis-type" => "y-left", - "axis-range-extend" => true + "axis-range-extend" => true ); $panelObject->{"axes"}[] = $yAxisObject; @@ -582,9 +588,7 @@ class WebServer */ public function getParameter($data) { - $multiParam = false; - - $res = $this->init($data); + $res = $this->init($data, true); $resMgr = $this->initUserMgr(); @@ -593,15 +597,12 @@ class WebServer } $vars = $res['vars']; - - $startTime = strtotime($vars["startTime"]); - $stopTime = strtotime($vars["stopTime"]); - if ($stopTime <= $startTime){ + if (strtotime($vars["stopTime"]) <= strtotime($vars["startTime"])){ $this->throwError("requestError", "Requested time interval should be greater than 0"); } - $dataFileName = $this->getDataFileName($vars, $multiParam); + $dataFileName = $this->getDataFileName($vars); if ($dataFileName['success']) { $this->dataFileName = $dataFileName['fileName']; @@ -634,13 +635,11 @@ class WebServer array("userName" => $this->userID, "userPwd" => $this->userPWD, "sessionID" => $this->sessionID), array("format" => $vars["outputFormat"], "timeFormat"=> $timeFormat, "gzip"=>$gzip, "stream"=>$stream), $dataFileName); - - + if ($res['success']) return $res; - $this->throwError("serverError", $res['message']); - + $this->throwError("serverError", $res['message']); } /* @@ -648,8 +647,6 @@ class WebServer */ public function getOrbites($data) { - $multiParam = false; - $res = $this->init($data); $resMgr = $this->initUserMgr(); @@ -659,11 +656,8 @@ class WebServer } $vars = $res['vars']; - - $startTime = strtotime($vars["startTime"]); - $stopTime = strtotime($vars["stopTime"]); - if ($stopTime <= $startTime){ + if (strtotime($vars["stopTime"]) <= strtotime($vars["startTime"])){ $this->throwError("requestError", "Requested time interval should be greater than 0"); } @@ -693,7 +687,7 @@ class WebServer $this->throwError("requestError", $orbitesParam['message']); } - $dataFileName = $this->getDataFileName($orbitesParam, $multiParam); + $dataFileName = $this->getDataFileName($orbitesParam); if ($dataFileName['success']) { $this->dataFileName = $dataFileName['fileName']; @@ -732,22 +726,17 @@ class WebServer */ public function getDataset($data) { - $multiParam = true; - $res = $this->init($data); $resMgr = $this->initUserMgr(); $vars = $res['vars']; - - $startTime = strtotime($vars["startTime"]); - $stopTime = strtotime($vars["stopTime"]); - if ($stopTime <= $startTime){ + if (strtotime($vars["stopTime"]) <= strtotime($vars["startTime"])){ $this->throwError("requestError", "Requested time interval should be greater than 0"); } - $dataFileName = $this->getDataFileName($vars, $multiParam); + $dataFileName = $this->getDataFileName($vars, true); if ($dataFileName['success']) { $this->dataFileName = $dataFileName['fileName']; @@ -768,7 +757,7 @@ class WebServer $matches=array(); preg_match("/([a-z])$/", $vars["sampling"], $matches); - $dataFileName = $this->getDataFileName($vars, $multiParam); + $dataFileName = $this->getDataFileName($vars, true); if ($dataFileName['success']) { $this->dataFileName = $dataFileName['fileName']; @@ -943,22 +932,22 @@ class WebServer } $obj = (object)array( - "nodeType" => "download", - "downloadSrc" => "0", - "structure" => $structure, - "refparamSampling" => false, - "sampling" => $interval['sampling'], - "timesrc" => "Interval", - "startDate" => $interval['startTime'], - "stopDate" => $interval['stopTime'], - "list" => $params, - "fileformat" => $fileInfo['fileFormat'], - "timeformat" => $fileInfo['timeFormat'], - "compression" => $fileInfo['compression'], - "extension" => $fileInfo['wsExtension'], - "disablebatch" => false, - "dataFileName" => $this->dataFileName - ); + "nodeType" => "download", + "downloadSrc" => "0", + "structure" => $structure, + "refparamSampling" => false, + "sampling" => $interval['sampling'], + "timesrc" => "Interval", + "startDate" => $interval['startTime'], + "stopDate" => $interval['stopTime'], + "list" => $params, + "fileformat" => $fileInfo['fileFormat'], + "timeformat" => $fileInfo['timeFormat'], + "compression" => $fileInfo['compression'], + "extension" => $fileInfo['wsExtension'], + "disablebatch" => false, + "dataFileName" => $this->dataFileName + ); if (!isset($this->requestManager)) $this->requestManager = new RequestManagerClass(); @@ -1012,24 +1001,24 @@ class WebServer } - protected function timeIntervalToDuration($startTime,$stopTime) - { - $duration = strtotime($stopTime) - strtotime($startTime); - $durationDay = intval($duration/(86400)); - $duration = $duration - $durationDay*86400; - $durationHour = intval($duration/(3600)); - $duration = $duration - $durationHour*3600; - $durationMin = intval($duration/(60)); - $durationSec = $duration - $durationMin*60; - - return array("success" => true, "days" => sprintf("%04s", strval($durationDay)), - "hours" => sprintf("%02s", strval($durationHour)), - "mins" => sprintf("%02s", strval($durationMin)), - "secs" => sprintf("%02s", strval($durationSec)) - ); - } - - protected function getDataFileName($vars, $multiParam) +// protected function timeIntervalToDuration($startTime,$stopTime) +// { +// $duration = strtotime($stopTime) - strtotime($startTime); +// $durationDay = intval($duration/(86400)); +// $duration = $duration - $durationDay*86400; +// $durationHour = intval($duration/(3600)); +// $duration = $duration - $durationHour*3600; +// $durationMin = intval($duration/(60)); +// $durationSec = $duration - $durationMin*60; +// +// return array("success" => true, "days" => sprintf("%04s", strval($durationDay)), +// "hours" => sprintf("%02s", strval($durationHour)), +// "mins" => sprintf("%02s", strval($durationMin)), +// "secs" => sprintf("%02s", strval($durationSec)) +// ); +// } + + protected function getDataFileName($vars, $multiParam = false) { if ($vars['startTime'] && $vars['stopTime'] && $vars['parameterID'] && !$multiParam){ $fileName = $vars['parameterID']."-".strtotime($vars['startTime'])."-".strtotime($vars['stopTime']); @@ -1102,15 +1091,15 @@ class WebServer return $vars; } - private function compress($srcName, $dstName) - { - $fp = fopen($srcName, "r"); - $data = fread($fp, filesize($srcName)); - fclose($fp); - - $zp = gzopen($dstName, "w9"); - gzwrite($zp, $data); - gzclose($zp); - } +// private function compress($srcName, $dstName) +// { +// $fp = fopen($srcName, "r"); +// $data = fread($fp, filesize($srcName)); +// fclose($fp); +// +// $zp = gzopen($dstName, "w9"); +// gzwrite($zp, $data); +// gzclose($zp); +// } } ?> \ No newline at end of file -- libgit2 0.21.2