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'] . '\')'); } } } } } } } }
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'] . '\')'); } } } } } }