paramID = $paramID; if ((strncmp($this->paramID, "impex___", 8) === 0) || (strncmp($this->paramID, "spase___", 8) === 0)){ $this->getDataProducteur(); $this->dom = new DomDocument("1.0"); $this->dom->load(USERWSDIR.'RemoteParams.xml'); if ($this->dataProducteur == 'FMI_GUMICS') $this->simulatedRegion = 'Earth.Magnetosphere'; else $this->getSimulatedRegion(); } } protected function getDataProducteur(){ if (strncmp($this->paramID, "impex___", 8) === 0) $par = str_replace ("impex___", "", $this->paramID); elseif (strncmp($this->paramID, "spase___", 8) === 0) $par = str_replace ("spase___IMPEX_NumericalOutput_", "", $this->paramID); // TODO tests $tmp = explode( '_', $par); if ($tmp[0] == 'FMI') $this->dataProducteur = $tmp[0].'_'.$tmp[1]; else $this->dataProducteur = $tmp[0]; } protected function getSimulatedRegion(){ $param = $this->dom->getElementById(trim($this->paramID)); $parentID = $param->getAttribute('parentID'); $dataSet = $this->dom->getElementById($parentID); $this->simulatedRegion = $dataSet->getAttribute('SimulatedRegion'); } protected function getMissionsBySimuRegion(){ $missions = simplexml_load_file(missionXml); $missionsVal = array(); foreach($missions->Local->MissionID as $mission){ if (stripos ($mission['targets'], trim($this->simulatedRegion)) !== false ){ if ( !isset($mission['group']) || (isset($mission['group']) && $mission['group'] != 'TEST')) { $multypMissions = array(); if ($mission['missions'] != '') $multypMissions = explode(';',$mission['missions']); else $multypMissions[0] = (string)$mission; $missionsVal = array_merge($missionsVal,$multypMissions); } } } sort($missionsVal); return $missionsVal; } public function makeSimuArgs(){ if ($this->dataProducteur != 'CCMC'){ $missions = $this->getMissionsBySimuRegion(); if (count($missions) == 1) $grp[] = array("group" => "Satellite", "args" => array("value" => $missions[0])); elseif (count($missions) > 1){ foreach ($missions as $mission){ $miss[] = array ("arg" => $mission, "value" => $mission); } $grp[] = array("group" => "Satellite", "args" => $miss); } switch ($this->dataProducteur){ case 'LATMOS': $grp[] = array("group" => "ClockAngle", "args" => array("value" => "0")); break; case 'SINP': if ($this->simulatedRegion == 'Mercury.Magnetosphere'){ $grp[] = array("group" => "BD", "args" => array("value" => "-196.0")); $grp[] = array("group" => "Flux", "args" => array("value" => "4.0")); $grp[] = array("group" => "Rss", "args" => array("value" => "1.35")); $grp[] = array("group" => "R2", "args" => array("value" => "1.32")); $grp[] = array("group" => "DZ", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_Bx", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_By", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_Bz", "args" => array("value" => "0.0")); } elseif ($this->simulatedRegion == 'Saturn.Magnetosphere'){ $grp[] = array("group" => "BDC", "args" => array("value" => "3.0")); $grp[] = array("group" => "BT", "args" => array("value" => "7.0")); $grp[] = array("group" => "Rss", "args" => array("value" => "22.0")); $grp[] = array("group" => "RD1", "args" => array("value" => "15.0")); $grp[] = array("group" => "RD2", "args" => array("value" => "6.5")); $grp[] = array("group" => "R2", "args" => array("value" => "18.0")); $grp[] = array("group" => "IMF_Bx", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_By", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_Bz", "args" => array("value" => "0.0")); } elseif ($this->simulatedRegion == 'Jupiter.Magnetosphere'){ $grp[] = array("group" => "BDC", "args" => array("value" => "3.0")); $grp[] = array("group" => "BT", "args" => array("value" => "7.0")); $grp[] = array("group" => "Rss", "args" => array("value" => "22.0")); $grp[] = array("group" => "RD1", "args" => array("value" => "15.0")); $grp[] = array("group" => "RD2", "args" => array("value" => "6.5")); $grp[] = array("group" => "R2", "args" => array("value" => "18.0")); $grp[] = array("group" => "IMF_Bx", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_By", "args" => array("value" => "0.0")); $grp[] = array("group" => "IMF_Bz", "args" => array("value" => "0.0")); } break; case 'LESIA': break; } return $grp; } return; } } ?>