Esempio n. 1
0
 private function createEgg()
 {
     if (isset($_GET['fid']) && is_numeric($_GET['fid'])) {
         $this->feedId = $_GET['fid'];
         $cosmAPI = new CosmAPI();
         $mySqlConnection = new MySqlConnection();
         date_default_timezone_set('UTC');
         mysql_query('CREATE TABLE IF NOT EXISTS `eggdata_' . $this->feedId . '` ( `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `co` double(9,2) NOT NULL, `no2` double(9,2) NOT NULL, `temperature` double(6,2) NOT NULL, `humidity` double(6,2) NOT NULL, PRIMARY KEY (`timestamp`) ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1');
         $num_rows = mysql_num_rows(mysql_query('SELECT `timestamp` FROM `eggdata_' . $this->feedId . '`'));
         if ($num_rows < 1) {
             $metadata = false;
             for ($seconds = 0; $seconds <= 3; $seconds++) {
                 $start = time() - $seconds * 60000 - 60000;
                 $end = time() - $seconds * 60000;
                 if (!($dataArray = $cosmAPI->parseFeed($this->feedId, $start, $end, $this->limit, 60))) {
                     return 'cosm_error';
                 } else {
                     if (!is_array($dataArray)) {
                         return $dataArray;
                     } else {
                         if (!$metadata) {
                             mysql_query('UPDATE `egg` SET `title` = \'' . $dataArray['title'] . '\', `description` = \'' . $dataArray['description'] . '\', `location_name` = \'' . $dataArray['locationName'] . '\', `ele` = \'' . $dataArray['ele'] . '\', `status` = \'' . $dataArray['status'] . '\', `exposure` = \'' . $dataArray['exposure'] . '\', `lastupdated`=\'' . time() . '\' WHERE `feed_id` = ' . $this->feedId);
                             $metadata = true;
                         }
                         foreach ($this->metadata as $mdata) {
                             if (isset($dataArray[$mdata])) {
                                 unset($dataArray[$mdata]);
                             }
                         }
                         foreach ($dataArray as $time => $val) {
                             $nullsensors = 0;
                             foreach ($this->sensors as $sensor) {
                                 if (!isset($val[$sensor])) {
                                     $val[$sensor] = 0;
                                     $nullsensors++;
                                 }
                             }
                             if ($nullsensors < 4 && floatval($time) != 0.0) {
                                 mysql_query('INSERT INTO `eggdata_' . $this->feedId . '` ( `timestamp`, `co`, `no2`, `temperature`, `humidity` ) VALUES (\'' . date('Y-m-d H:i:s', $time) . '\',  \'' . $val['co'] . '\',  \'' . $val['no2'] . '\',  \'' . $val['temperature'] . '\',  \'' . $val['humidity'] . '\')');
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 private function updateEgg()
 {
     if (isset($_GET['fid']) && is_numeric($_GET['fid'])) {
         $this->feedId = $_GET['fid'];
         $cosmAPI = new CosmAPI();
         $mySqlConnection = new MySqlConnection();
         $egg = mysql_fetch_object(mysql_query('SELECT `lastupdated` FROM `egg` WHERE `feed_id` = ' . $this->feedId));
         if ($egg->lastupdated > 0) {
             $start = $egg->lastupdated;
         } else {
             $start = time() - 82800;
         }
         date_default_timezone_set('UTC');
         $end = time();
         if (!($dataArray = $cosmAPI->parseFeed($this->feedId, $start, $end, $this->limit, 60))) {
             return 'cosm_error';
         } else {
             if (!is_array($dataArray)) {
                 return $dataArray;
             } else {
                 mysql_query('UPDATE `egg` SET `title` = \'' . $dataArray['title'] . '\', `description` = \'' . $dataArray['description'] . '\', `location_name` = \'' . $dataArray['locationName'] . '\', `ele` = \'' . $dataArray['ele'] . '\', `status` = \'' . $dataArray['status'] . '\', `exposure` = \'' . $dataArray['exposure'] . '\', `lastupdated` = \'' . time() . '\' WHERE `feed_id` = ' . $this->feedId);
                 foreach ($this->metadata as $mdata) {
                     if (isset($dataArray[$mdata])) {
                         unset($dataArray[$mdata]);
                     }
                 }
                 foreach ($dataArray as $time => $val) {
                     $nullsensors = 0;
                     foreach ($this->sensors as $sensor) {
                         if (!isset($val[$sensor])) {
                             $val[$sensor] = 0;
                             $nullsensors++;
                         }
                     }
                     if ($nullsensors < 4 && floatval($time) != 0.0) {
                         mysql_query('INSERT INTO `eggdata_' . $this->feedId . '` ( `timestamp`, `co`, `no2`, `temperature`, `humidity` ) VALUES (\'' . date('Y-m-d H:i:s', $time) . '\',  \'' . $val['co'] . '\',  \'' . $val['no2'] . '\',  \'' . $val['temperature'] . '\',  \'' . $val['humidity'] . '\')');
                     }
                 }
             }
         }
     }
 }