1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?php function view($sensorID) { $data = Array("sensorID" => $sensorID, ); $timefrom = 1; $timeto = 1; $years = $this->Sensor_model->getSensorDataYears($sensorID, $timefrom, $timeto); foreach ($years as $year) { $yearsItem[] = Array("title" => $year['year'], "link" => "#", "onclick" => "getData('$sensorID'," . mktime(0, 0, 0, 1, 1, $year['year']) . "," . mktime(0, 0, 0, 12, 31, $year['year']) . ");"); } $months = $this->Sensor_model->getSensorDataMonths($sensorID, $timefrom, $timeto); foreach ($months as $month) { $monthsItem[] = Array("title" => date("F", mktime(0, 0, 0, $month['month'], 10)) . ' ' . $month['year'], "link" => "#", "onclick" => "getData('$sensorID'," . mktime(0, 0, 0, $month['month'], 1, $month['year']) . "," . strtotime("+1 month", mktime(0, 0, 0, $month['month'], 1, $month['year'])) . ");"); } $days = $this->Sensor_model->getSensorDataDays($sensorID, $timefrom, $timeto); foreach ($days as $day) { $daysItem[] = Array("title" => date("jS F", mktime(0, 0, 0, $day['month'], $day['day'])), "link" => "#", "onclick" => "getData('$sensorID'," . mktime(0, 0, 0, $day['month'], $day['day'], $day['year']) . "," . mktime(23, 59, 59, $day['month'], $day['day'], $day['year']) . ");"); } $data['sidebar'] = Array("years" => $yearsItem, "months" => $monthsItem, "days" => $daysItem ); $this->javascript = Array("flot/jquery.flot.min.js", "flot/jquery.flot.resize.min.js", "flot/jquery.flot.crosshair.min.js"); $this->content = $this->load->view('pages/sensor/view', $data, true); $this->render_page(); } function json_graph($sensorID, $timefrom, $timeto) { $values = $this->Sensor_model->getSensorValuesByHour($sensorID, $timefrom, $timeto); $label = $sensorID; $data = Array(); $tzoffset = $this->get_timezone_offset("UTC"); foreach ($values as $value) { $data[] = Array((strtotime($value['time']) + $tzoffset) * 1000, intval($value['avg'])); } $this->output ->set_content_type('application/json') ->set_output(json_encode(Array("label" => $label, "data" => $data, "previous" => Array( "from" => $timefrom - (24 * 60 * 60), "to" => $timefrom) , "next" => Array( "to" => $timeto + (24 * 60 * 60), "from" => $timeto) ) )); } function json_data_description($sensorID, $timefrom, $timeto) { $timefrom = strtotime($timefrom); $timeto = strtotime($timeto); $years = $this->Sensor_model->getSensorDataYears($sensorID, $timefrom, $timeto); $months = $this->Sensor_model->getSensorDataMonths($sensorID, $timefrom, $timeto); $days = $this->Sensor_model->getSensorDataDays($sensorID, $timefrom, $timeto); $this->output ->set_content_type('application/json') ->set_output(json_encode(Array("years" => $years, "months" => $months, "days" => $days ))); } ?> |