"; $HOST="myserver:3000"; $PROT="http"; #$queryTargets=array("powermeter.phase1.watt","sdr.cmc01.SYS_POWER","powermeter.phase2.watt"); $queryTargets=$_REQUEST["target"]; if (!is_array($queryTargets)){ $queryTargets=array($_REQUEST["target"]); } if (count($queryTargets)>0){ $queryTargetsString="target="; foreach ($queryTargets as $qt){ $queryTargetsString.=urlencode($qt)."&target="; } $queryTargetsString=substr($queryTargetsString,0,-8); } else { throw new Exception("no targets defined, specify at least one target"); } $from=(int)$_REQUEST["from"]; $until=(int)$_REQUEST["until"]; if ($from <= 0 || $until <=0 ){ throw new Exception("no fram and u ntil parameters defined"); } header('Content-type: text/csv'); header('Content-disposition: attachment;filename=data.csv'); $json = file_get_contents("$PROT://api_key:$APIKEY@". "$HOST/api/datasources/proxy/1/render?". $queryTargetsString. "&from=$from&until=$until". "&format=json"); $data = json_decode($json,true); if (!$data){ die(); } $table=array(); $targets=array(); if(count($data) > 0 ){ foreach ($data as $dataset){ $target=$dataset["target"]; $targets[]=$target; foreach ($dataset["datapoints"] as $point){ $table[$point[1]][$target]=$point[0]; } } echo "time$SEPARATOR".implode($SEPARATOR,$targets)."\n"; foreach ($table as $date=>$line){ echo date("c",$date); foreach($targets as $target){ echo $SEPARATOR.$line[$target]; } echo "\n"; } } ?>