diff --git a/src/InputOutput/WSImpl/TimeTables/WSInputOutputTTClass.php b/src/InputOutput/WSImpl/TimeTables/WSInputOutputTTClass.php index 1b50441..3eb136c 100644 --- a/src/InputOutput/WSImpl/TimeTables/WSInputOutputTTClass.php +++ b/src/InputOutput/WSImpl/TimeTables/WSInputOutputTTClass.php @@ -22,55 +22,37 @@ class WSInputOutputTTClass extends IHMInputOutputTTClass */ public function getInputData($input, $function, $requestId="") { - if (isset($this->processDatas)) - unset($this->processDatas); - - $final = ""; -// if (is_dir(IHMConfigClass::getDownloadTmpPath())) { -// foreach (glob(IHMConfigClass::getDownloadTmpPath().'*.zip') as $filename) unlink($filename); -// foreach (glob(IHMConfigClass::getDownloadTmpPath().'*.tar.gz') as $filename) unlink($filename); -// } - - foreach($input->list as $ttId) - { - //create a list of data to treat - $processData = new TTRequestDataClass(); - if (strpos($id,"sharedtimeTable_") === 0) { - //Shared TimeTable - $result = IHMSharedObjectsClass::getPath("timeTable", $ttId); - if (!$result['success']) - throw new Exception('Shared TimeTable '.$ttId.' not found'); - $ttName = $result['path']; - } - else { - //User TimeTable - $ttName = IHMConfigClass::getUserTTPath().$ttId.'.xml'; - } - if (!file_exists($ttName)) - throw new Exception('TimeTable '.$ttId.' not found'); - - $processData->setInputFileName($ttName); - $processData->setInputFileFormat(TTRequestFileFormatEnum::INTERNAL); - $processData->setOutputDir(WSConfigClass::getWSResultDir()); - - $processData->setOutputFileFormat(TTRequestFileFormatEnum::VOTABLE); - $outputName = $ttId.'.xml'; + if (isset($this->processData)) + unset($this->processData); - $processData->setOutputFileName($outputName); - - $processData->setType($function); - $processData->setCmd("ttConversion"); - - $this->processDatas[] = $processData; + $processData = new TTRequestDataClass(); + $processData->setInputFileName($input['inputFile']); + $processData->setInputFileFormat(TTRequestFileFormatEnum::INTERNAL); + $processData->setOutputDir(WSConfigClass::getWsResultDir()); + $processData->setOutputFileName($input['outputFileName']); + $outputFormat = empty($input['outputFormat']) ? 'VOTABLE' : $input['outputFormat']; + switch ($outputFormat) { + case 'ASCII': + $processData->setOutputFileFormat(TTRequestFileFormatEnum::ASCII); + break; + case 'VOTABLE': + $processData->setOutputFileFormat(TTRequestFileFormatEnum::VOTABLE); + break; + case 'INTERNAL': + $processData->setOutputFileFormat(TTRequestFileFormatEnum::INTERNAL); + break; + case 'HPEVENT': + $processData->setOutputFileFormat(TTRequestFileFormatEnum::SPASE); + break; + default: + throw new Exception('Unknown output format'); } - - $this->postProcessTT = new PostProcessTTClass(); - $this->postProcessTT->setOutputDirAlias($this->processDatas[0]->getOutputDir()); - - $this->postProcessTT->setOutputFileName($outputFileName); - $this->postProcessTT->setOutputDir($this->processDatas[0]->getOutputDir()); + $processData->setType($function); + $processData->setCmd("ttConversion"); + + $this->processData = $processData; - return $this->processDatas; + return $this->processData; } /* @@ -78,10 +60,10 @@ class WSInputOutputTTClass extends IHMInputOutputTTClass */ public function getOutput($data) { - - $result = array('success'=>$data[0]->getSuccess(), - 'download' => $this->postProcessTT->getOutputDirAlias().$data[0]->getOutputFileName()); - + $result = array('success' => $data->getSuccess()); + if ($result['success']) { + $result['file'] = $data->getOutputDir()."/".$data->getOutputFileName(); + } return $result; } } diff --git a/src/InputOutput/WSImpl/WSInputOutputClass.php b/src/InputOutput/WSImpl/WSInputOutputClass.php index 724bec4..e34f419 100644 --- a/src/InputOutput/WSImpl/WSInputOutputClass.php +++ b/src/InputOutput/WSImpl/WSInputOutputClass.php @@ -56,7 +56,6 @@ class WSInputOutputClass extends IHMInputOutputClass case FunctionTypeEnumClass::PROCESSGETREQUEST : $this->inputOutput = new IHMInputOutputGetProcessRequestClass(); break; - //TODO actually this is done by WebServer xslt transformation case FunctionTypeEnumClass::TTCONVERT : $this->inputOutput = new WSInputOutputTTClass(); break; @@ -69,4 +68,4 @@ class WSInputOutputClass extends IHMInputOutputClass } -?> \ No newline at end of file +?> -- libgit2 0.21.2