Commit 0475d3cb932a792d6339e0ab486f6e8d11ee784c

Authored by Nathanael Jourdane
1 parent f82d19f1

Remove EpnTapMgr, now useless

Showing 1 changed file with 0 additions and 92 deletions   Show diff stats
php/classes/EpnTapMgr.php deleted
... ... @@ -1,92 +0,0 @@
1   -<?php
2   -/** @class EpnTapMgr
3   -* @brief Manager to communicates with EPN-TAP services.
4   -*/
5   -
6   -class EpnTapMgr {
7   - private $logEpnTap;
8   -
9   - private function dateToJD($gregorian_date) {
10   - list($day, $month, $year, $hours, $minutes, $seconds) = preg_split('/[\s\/:]+/', $gregorian_date);
11   - return GregorianToJD($month, $day, $year) + $hours/24 + $minutes/(24*60) + $seconds/(24*60*60);
12   - }
13   -
14   - public function JDTodate($jd) {
15   - if(!is_numeric($jd)) {
16   - return '';
17   - }
18   - list($month, $day, $year) = preg_split('/[\s\/:]+/', JDToGregorian(intval($jd)));
19   - $date = sprintf('%04d', $year) . '/' . sprintf('%02d', $month) . '/' . sprintf('%02d', $day);
20   - return ($date == '0000/00/00') ? '' : $date;
21   - }
22   -
23   - public function createFilter($targetName, $productTypes, $timeMin, $timeMax) {
24   - $filter = array();
25   - if($targetName) {
26   - array_push($filter, "target_name = '$targetName'");
27   - }
28   - if($productTypes) {
29   - array_push($filter, "dataproduct_type IN ('" . join("', '", $productTypes) . "')");
30   - }
31   - if($timeMin) {
32   - array_push($filter, "time_min >= " . $this->dateToJD($timeMin));
33   - }
34   - if($timeMax) {
35   - array_push($filter, "time_max <= " . $this->dateToJD($timeMax));
36   - }
37   - return (count($filter) > 0 ? ' WHERE ' . join(' AND ', $filter) : '');
38   - }
39   -
40   - public function request($access_url, $query) {
41   - $votMgr = new VOTableMgr;
42   - $params = 'FORMAT=votable&LANG=ADQL&REQUEST=doQuery';
43   - $url = $access_url . '/sync?' . $params . '&QUERY=' . urlencode(preg_replace('/\s+/', ' ', $query)); // remove also multiple whitespaces
44   -
45   - $votMgr->load($url);
46   -
47   - $result = $votMgr->parseStream();
48   - return $votMgr->getVotableError() ? array('error' => $votMgr->getVotableError()) : $result;
49   - }
50   -
51   - /* filter order: product type, target name, time min, time max */
52   - public function getGranules($table_name, $access_url, $filter, $limit, $offset) {
53   -
54   - $query = "SELECT TOP {$limit} * FROM {$table_name} " . $this->createFilter($filter[0], $filter[1], $filter[2], $filter[3]) . " OFFSET {$offset}";
55   - $result = $this->request($access_url, $query);
56   -
57   - $result_path = EpnTapDataPath . "test_result.json";
58   - $servicesJsonFile = fopen($result_path, "w");
59   -
60   - if(array_key_exists("error", $result)) {
61   - return $result;
62   - }
63   -
64   - $non_empty_values = Array();
65   - for ($i = 0 ; $i < count($result) ; $i++) {
66   - $result[$i]['num'] = $i + $offset + 1;
67   - $result[$i]['time_min'] = $this->JDTodate($result[$i]['time_min']);
68   - $result[$i]['time_max'] = $this->JDTodate($result[$i]['time_max']);
69   -
70   - foreach($result[$i] as $key => $value) {
71   - $non_empty_values[$key] = (array_key_exists($key, $non_empty_values) ? $non_empty_values[$key] : False) || $value === '' || $value === 'NAN';
72   - }
73   - }
74   -
75   - $non_null_cols = array_keys(array_filter($non_empty_values));
76   - for ($i = 0 ; $i < count($result) ; $i++) {
77   - $result[$i] = array_diff_key($result[$i], array_flip($non_null_cols));
78   - }
79   - // error_log('Query result: ' . json_encode($result));
80   - return $result;
81   - }
82   -
83   - public function getNbResults($url, $tableName, $targetName, $productTypes, $timeMin, $timeMax) {
84   - $query = "SELECT COUNT(*) AS nb_rows FROM $tableName" . $this->createFilter($targetName, $productTypes, $timeMin, $timeMax);
85   - // error_log('Query: ' . $query);
86   - $result = $this->request($url, $query)[0]['nb_rows'];
87   - // error_log('Query result: ' . json_encode($result));
88   - return $result;
89   - }
90   -
91   -}
92   -?>