get_record(0, "SELECT * FROM mutual_phenomena_obs WHERE id=$oid LIMIT 1"); if (!$obs) die("Invalid observation ID $oid or database error"); $eph = $sql->get_record(0, "SELECT * FROM mutual_phenomena WHERE id={$obs['ph_id']} LIMIT 1"); $gid = $eph['gr_id']; $group = $sql->get_record(0, "select * from mutual_phenomena_groups where id=$gid LIMIT 1"); $telescope = $sql->get_record(0, "SELECT * FROM telescopes WHERE id={$obs['ts_id']} LIMIT 1"); $site = $sql->get_record(0, "SELECT * FROM observatories WHERE code='{$telescope['obs']}' LIMIT 1"); $observer = $sql->get_record(0, "SELECT * FROM persons WHERE id={$obs['obs_uid']} LIMIT 1"); $processor = $sql->get_record(0, "SELECT * FROM persons WHERE id={$obs['proc_uid']} LIMIT 1"); $sensor = $sql->get_record(0, "SELECT * FROM sensors WHERE id={$obs['sens_id']} LIMIT 1"); $data = $sql->get("SELECT * FROM mutual_phenomena_data WHERE obs_id=$oid ORDER BY dt, ms"); $type = substr($eph['a'], 1).$eph['type'].substr($eph['b'], 1); preg_match_all('/\d+/', $eph['begin'], $arr); $moment = implode(' ', array_slice($arr[0], 0, 5)); $fname = "phemu {$group['system']} $moment - $type - {$site['code']}.txt"; // header('Content-type: text/plain'); header('Content-type: text/download'); header('Content-Description: File Transfer'); // header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$fname\""); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); //header('Content-Length: ' . strlen($_SESSION['SAT_DIF']['result'])); $dur = round($eph['duration']/60,1); $end = gmdate('Y-m-d H:i:s', strtotime($eph['begin'].' GMT') + $eph['duration']); echo "#[Group]"; echo "\r\n# name: {$group['name']}"; echo "\r\n# period: {$group['period']}"; echo "\r\n#"; echo "\r\n#[Ephemeries]"; echo "\r\n# provider: SAI Natural satellite service"; echo "\r\n# begin: {$eph['begin']} UTC"; echo "\r\n# duration: {$dur} minutes"; echo "\r\n# end: {$end} UTC"; echo "\r\n# type: {$type}"; echo "\r\n# impact: {$eph['impact']}"; echo "\r\n# mag: {$eph['mag']}"; echo "\r\n# delta mag: {$eph['dmag']}"; echo "\r\n# limb: {$eph['limb_dist']} arcsec"; echo "\r\n# dist: {$eph['mutual_dist']} arcsec"; echo "\r\n# planet: {$eph['pln_elev']} deg"; echo "\r\n# Sun: {$eph['sun_elev']} deg"; echo "\r\n#moon phase: {$eph['moon_phase']}"; echo "\r\n#"; echo "\r\n#[Observations]"; echo "\r\n# site code: {$site['code']}"; echo "\r\n# site name: {$site['name_en']}"; if (is_numeric($telescope['latitude'])) echo "\r\n# location: lat {$telescope['latitude']}, lng {$telescope['longitude']}"; echo "\r\n# telescope: {$telescope['alias']}, {$telescope['name_en']}"; if ($telescope['scale']) echo ", {$telescope['scale']} arcsec/mm"; if ($telescope['elevation']) echo "\r\n# elevation: {$telescope['elevation']} meters"; echo "\r\n# sensor: {$sensor['name']}, {$sensor['about']}"; echo "\r\n# comment: {$obs['comment']}"; echo "\r\n# observer: {$observer['surname']} {$observer['initials']}"; echo "\r\n# processor: {$processor['surname']} {$processor['initials']}"; echo "\r\n#"; echo "\r\n#[Data]"; echo "\r\n#moment UTC | moment JD | moment MJD | rel. mag"; foreach($data as $p) { echo "\r\n", $p['dt'], '.', $p['ms'], ' | ', sprintf('%15.7f', $p['jd']), ' | ', sprintf('%13.7f', jd_to_mjd($p['jd'])), ' | ', $p['rel_mag']; }; echo "\r\n#end of file\r\n";