Commit 9d68ff1de3b46007c85b45ffa0b0ad3440deb063
1 parent
39d0bf07
Exists in
master
and in
110 other branches
add several filter conditions
Showing
3 changed files
with
74 additions
and
52 deletions
Show diff stats
generic_data/Filters/filters_info.xml
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | <op id='ne' name='!='/> |
9 | 9 | </ops> |
10 | 10 | </condition> |
11 | - <!--<condition id='sta' name='Start Time' type='date'> | |
11 | + <condition id='sta' name='Start Time' type='date'> | |
12 | 12 | <ops> |
13 | 13 | <op id='le' name='<='/> |
14 | 14 | <op id='ge' name='>='/> |
... | ... | @@ -19,20 +19,20 @@ |
19 | 19 | <op id='le' name='<='/> |
20 | 20 | <op id='ge' name='>='/> |
21 | 21 | </ops> |
22 | - </condition>--> | |
22 | + </condition> | |
23 | 23 | <condition id='mis' name='Mission Name' type='string'> |
24 | 24 | <ops> |
25 | 25 | <op id='eq' name='='/> |
26 | 26 | <op id='ne' name='!='/> |
27 | 27 | </ops> |
28 | 28 | </condition> |
29 | - <!--<condition id='pro' name='Provider' type='string'> | |
29 | + <condition id='pro' name='Provider' type='select' selectList='provider'> | |
30 | 30 | <ops> |
31 | 31 | <op id='eq' name='='/> |
32 | 32 | <op id='ne' name='!='/> |
33 | 33 | </ops> |
34 | 34 | </condition> |
35 | - <condition id='typ' name='Data type' type='select' selectList='dataType'> | |
35 | + <!-- <condition id='typ' name='Data type' type='select' selectList='dataType'> | |
36 | 36 | <ops> |
37 | 37 | <op id='eq' name='='/> |
38 | 38 | <op id='ne' name='!='/> |
... | ... |
generic_data/Filters/filters_selectLists.xml
... | ... | @@ -27,6 +27,26 @@ |
27 | 27 | <elt id='Comet' name='Comet'/> |
28 | 28 | </elts> |
29 | 29 | </selectList> |
30 | + <selectList id='provider'> | |
31 | + <elts> | |
32 | + <elt id='PDS' name='Planetary Data System'/> | |
33 | + <elt id='PSA' name='Planetary Science Archive'/> | |
34 | + <elt id='CDAWeb' name='CDAWeb'/> | |
35 | + <elt id='OMNIWeb' name='OMNIWeb'/> | |
36 | + <elt id='CSA' name='Cluster Science Archive'/> | |
37 | + <elt id='IRAP' name='Institut de Recherche en Astrophysique et Planรฉtologie'/> | |
38 | + <elt id='IRAP_THEMIS' name='THEMIS mirror at IRAP'/> | |
39 | + <elt id='Madrigal' name='Madrigal : EISCAT'/> | |
40 | + <elt id='University of Iowa' name='University of Iowa'/> | |
41 | + <elt id='ONERA' name='Centre francais de recherche aerospatiale'/> | |
42 | + <elt id='LESIA-OBSPM' name='Laboratoire etudes spatiales et instrumentation en astrophysique'/> | |
43 | + <elt id='JHU/APL' name='Johns Hopkins University'/> | |
44 | + <elt id='NOAA' name='National Oceanic and Atmospheric Administration'/> | |
45 | + <elt id='NAIF' name='Navigation and Ancillary Information Facility'/> | |
46 | + <elt id='ISGI/UNISTRA' name='ISGI/UNISTRA'/> | |
47 | + <elt id='WDC Kyoto via ISGI/UNISTRA' name='WDC Kyoto'/> | |
48 | + </elts> | |
49 | + </selectList> | |
30 | 50 | <selectList id='dataType'> |
31 | 51 | <elts> |
32 | 52 | <elt id='mag' name='Magnetometer'/> |
... | ... |
php/classes/FilterResParam.php
... | ... | @@ -146,56 +146,58 @@ |
146 | 146 | |
147 | 147 | $instruments = $this->xp->query("//mission[@xml:id='".$missionId."']//instrument"); |
148 | 148 | |
149 | - for ($j = 0; $j < $instruments->length; $j++) | |
150 | - { | |
151 | - $instrumentId = $instruments->item($j)->getAttribute('xml:id'); | |
152 | - | |
153 | - $datasets = $this->xp->query("//mission[@xml:id='".$missionId."']//instrument[@xml:id='".$instrumentId."']//dataset"); | |
154 | - | |
155 | - for ($k = 0; $k < $datasets->length; $k++) | |
156 | - { | |
157 | - $datasetId = $datasets->item($k)->getAttribute('xml:id'); | |
158 | - | |
159 | - switch($kind) | |
160 | - { | |
161 | - case 'sta' : | |
162 | - $dataTime = $datasets->item($k)->getAttribute('dataStart'); | |
163 | - break; | |
164 | - case 'sto' : | |
165 | - $dataTime = $datasets->item($k)->getAttribute('dataStop'); | |
166 | - break; | |
167 | - } | |
168 | - | |
169 | - list($day, $month, $year) = explode('-', $dataTime); | |
170 | - $date = mktime(0, 0, 0, $month, $day, $year); | |
171 | - list($year, $month, $day, $hour, $min, $sec) = split('[-T:]', $value); | |
172 | - $date_value = mktime($hour, $min, $sec, $month, $day, $year); | |
173 | - | |
174 | - $id = $datsetId; | |
175 | - $chain = $datasetId; | |
176 | - $node = $datasets->item($k); | |
149 | + for ($j = 0; $j < $instruments->length; $j++) | |
150 | + { | |
151 | + $instrumentId = $instruments->item($j)->getAttribute('xml:id'); | |
177 | 152 | |
178 | - while ($id !== $missionId) { | |
179 | - $node = $node->parentNode; | |
180 | - $id = $node->getAttribute('xml:id'); | |
181 | - $chain = $id.";".$chain; | |
182 | - } | |
153 | + $datasets = $this->xp->query("//mission[@xml:id='".$missionId."']//instrument[@xml:id='".$instrumentId."']//dataset"); | |
183 | 154 | |
184 | - switch($opId) | |
185 | - { | |
186 | - case 'le' : | |
187 | - if ($date <= $date_value) | |
188 | - array_push($result,$chain); | |
189 | - break; | |
190 | - case 'ge' : | |
191 | - if ($date >= $date_value) | |
192 | - array_push($result,$chain); | |
193 | - break; | |
194 | - } | |
195 | - } | |
196 | - } | |
197 | - } | |
198 | - | |
155 | + for ($k = 0; $k < $datasets->length; $k++) | |
156 | + { | |
157 | + $datasetId = $datasets->item($k)->getAttribute('xml:id'); | |
158 | + | |
159 | + switch($kind) | |
160 | + { | |
161 | + case 'sta' : | |
162 | + $dataTime = $datasets->item($k)->getAttribute('dataStart'); | |
163 | + break; | |
164 | + case 'sto' : | |
165 | + $dataTime = $datasets->item($k)->getAttribute('dataStop'); | |
166 | + break; | |
167 | + } | |
168 | + | |
169 | + // list($day, $month, $year) = explode('-', $dataTime); | |
170 | + // $date = mktime(0, 0, 0, $month, $day, $year); | |
171 | + // list($year, $month, $day, $hour, $min, $sec) = split('[-T:]', $value); | |
172 | + // $date_value = mktime($hour, $min, $sec, $month, $day, $year); | |
173 | + $date = strtotime($dataTime); | |
174 | + $date_value = strtotime($value); | |
175 | + | |
176 | + $id = $datsetId; | |
177 | + $chain = $datasetId; | |
178 | + $node = $datasets->item($k); | |
179 | + | |
180 | + while ($id !== $missionId) { | |
181 | + $node = $node->parentNode; | |
182 | + $id = $node->getAttribute('xml:id'); | |
183 | + $chain = $id.";".$chain; | |
184 | + } | |
185 | + | |
186 | + switch($opId) | |
187 | + { | |
188 | + case 'le' : | |
189 | + if ($date <= $date_value) | |
190 | + array_push($result,$chain); | |
191 | + break; | |
192 | + case 'ge' : | |
193 | + if ($date >= $date_value) | |
194 | + array_push($result,$chain); | |
195 | + break; | |
196 | + } | |
197 | + } | |
198 | + } | |
199 | + } | |
200 | + | |
199 | 201 | return $result; |
200 | 202 | } |
201 | 203 | |
... | ... |