TREPSAction.php 4.63 KB
<?php
	require_once("../Constants.php");

	require_once(TREPS_PHP_DIR."RequestManager.php");

	class TREPSAction {
		function startNewOperation($arg)
		{
			$datatype = $arg->type;
			$reqMgr = new RequestManager();
			if ($datatype == 'local')
				$location = TREPS_PHP_TMP_DIR.$arg->data;
			else if ($datatype == 'url')
				$location = $arg->data;
			else if ($datatype == 'data')
			{   // bug error execution : remove paramter NULL
				$file_name = time()."_".$reqMgr->generateRandomString();
				$pos = strpos($arg->data,"base64,");
				if ($pos === false)
					$file = $arg->data;
				else
				{
					$file = substr($arg->data,$pos+7);
					$file = base64_decode($file);
				}
				$location = TREPS_PHP_TMP_DIR.$file_name;
				file_put_contents($location, $file);
				$datatype = 'local';
			}

			$res = $reqMgr->run('new_op',array('type' => $datatype, 'location' => $location),OutputTypeEnum::OUTPUT_RESULTFILE);

			if ($datatype == 'local')
				if (file_exists($location))
					unlink($location);

			return $res;
		}
		
		function resetOperation($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('reset_op',array('id' => $arg->id),OutputTypeEnum::OUTPUT_NONE);
			return $res;
		}

		function getStatusOperation($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('status_get',array('id' => $arg->id),OutputTypeEnum::OUTPUT_STRING);
			return $res;
		}

		function runOperation($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('run_op',array('id' => $arg->id, 'srcframe' => $arg->srcframe,'srccenter' => $arg->srccenter, 'dstframe' => $arg->dstframe, 'dstcenter' => $arg->dstcenter, 'starttime' => $arg->starttime, 'stoptime' => $arg->stoptime, 'vectors' => $arg->vectors, 'timefieldid' => $arg->timefieldid, 'timeformatid' => $arg->timeformatid, 'timepattern' => $arg->timepattern), OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}

		function exportOperation($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('export_op',array('id' => $arg->id, 'format' => $arg->format, 'structure' => $arg->structure, 'timeformat' => $arg->timeformat, 'timepattern' => $arg->timepattern), OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}
		
		function getSourceInfo($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('source_info',array('id' => $arg->id),OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}

		function getSourceData($arg)
		{
			$reqMgr = new RequestManager();
                        $res = $reqMgr->run('source_get',array('id' => $arg->id, 'start' => $arg->start, 'limit' => $arg->limit),OutputTypeEnum::OUTPUT_RESULTFILE);
                        return $res;
		}

		function getResultInfo($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('result_info',array('id' => $arg->id),OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}

		function getResultData($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('result_get',array('id' => $arg->id, 'start' => $arg->start, 'limit' => $arg->limit),OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}

		function getRunInfo($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('run_info',array('id' => $arg->id),OutputTypeEnum::OUTPUT_RESULTFILE);
			return $res;
		}

		function getBodiesList($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('bodies_get',array('id' => $arg->id, 'issc' => $arg->issc, 'starttime' => $arg->starttime, 'stoptime' => $arg->stoptime),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}
		
		function getFramesList()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('frames_get',array(),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}

		function getTimesList()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('times_get',array(),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}

		function getUnitsList()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('units_get',array(),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}


		function getExportsList()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('exports_get',array(),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}

		function getFormatsList()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('formats_get',array(),OutputTypeEnum::OUTPUT_XMLFILE);
			return $res;
		}

		function getStatus($arg)
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('status_get',array('id' => $arg->id),OutputTypeEnum::OUTPUT_STRING);
			return $res;
		}

		function getKernelVersion()
		{
			$reqMgr = new RequestManager();
			$res = $reqMgr->run('version_get',array(),OutputTypeEnum::OUTPUT_STRING);
			return $res;
		}
	}
?>