".$this->jday($start); $req .= " AND time_min<".$this->jday($stop); $req .= " ORDER BY time_min"; $postfields = array( 'REQUEST' => 'doQuery', 'LANG' => 'ADQL', 'QUERY' => $req, 'TIMEOUT' => '5', 'FORMAT' => 'VOTable/td' ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, EPNTAP_APIS); curl_setopt($curl, CURLOPT_COOKIESESSION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields); $req_res = curl_exec($curl); curl_close($curl); if (!$req_res) return array('success' => false, 'message' => 'Error during TAP request'); $xml = new DOMDocument(); $xml->preserveWhiteSpace = false; $xml->formatOutput = true; $xml->loadXML($req_res); $fields = $xml->getElementsByTagName('FIELD'); $tabledatas = $xml->getElementsByTagName('TABLEDATA'); $result = array(); $crtDate = 0; $folderIndex = -1; //$log = fopen(USERWSDIR."log","w"); foreach ($tabledatas as $tabledata) { $trs = $tabledata->getElementsByTagName('TR'); foreach($trs as $tr) { $data = array(); $tds = $tr->getElementsByTagName('TD'); //fprintf($log,"=> ---------\n"); for ($i = 0; $i < $tds->length; $i++) { if ($fields->item($i)->getAttribute('ID') == 'time_min') { $time = $this->jdayToUTC($tds->item($i)->nodeValue); $time = $time - ($time%86400); //fprintf($log,"=> %s\n",$time); if ($time != $crtDate) { $crtFolder = array('date' => date("Y-m-d H:i:s", $time), 'images' => array()); $crtDate = $time; array_push($result,$crtFolder); $folderIndex++; } } if ($fields->item($i)->getAttribute('unit') == 'd') { $time = $this->jdayToUTC($tds->item($i)->nodeValue); $data[$fields->item($i)->getAttribute('ID')] = date("Y-m-d H:i:s", $time); //fprintf($log,"%s %s %s\n",$fields->item($i)->getAttribute('ID'),$tds->item($i)->nodeValue,$data[$fields->item($i)->getAttribute('ID')]); } else $data[$fields->item($i)->getAttribute('ID')] = $tds->item($i)->nodeValue; //fprintf($log,"%s = %s\n",$fields->item($i)->getAttribute('ID'),$data[$fields->item($i)->getAttribute('ID')]); } $data['name'] = basename($data['access_url']); array_push($result[$folderIndex]['images'],$data); } } return array('success' => true, 'result' => $result); } } /*$tapMgr = new APISMgr(); $res = $tapMgr->get("uranus","1995-08-22T00:00:00","1995-08-23T00:00:00");*/ ?>