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'] . '\')'); } } } } } }
private function replaceCosmLinks() { // set parameters for the API request $start = time() - $this->seconds[$this->timeframe]; $end = time(); $interval = $this->interval[$this->timeframe]; // cosm-API integration $cosmAPI = new CosmAPI(); // fill in the parameters to read the cosm-API $cosmAPI->setRequestUrl($this->feedId, $start, $end, $this->limit, $interval, 'xml'); $this->contentTemplate->tplReplace('cosm_link_xml', htmlentities($cosmAPI->getRequestUrl())); $cosmAPI->setRequestUrl($this->feedId, $start, $end, $this->limit, $interval, 'json'); $this->contentTemplate->tplReplace('cosm_link_json', htmlentities($cosmAPI->getRequestUrl())); $cosmAPI->setRequestUrl($this->feedId, $start, $end, $this->limit, $interval, 'csv'); $this->contentTemplate->tplReplace('cosm_link_csv', htmlentities($cosmAPI->getRequestUrl())); }
$successmessage = ''; $this->registerTemplate = new Template(); $this->registerTemplate->readTpl('register'); $this->registerTemplate->tplReplace('site', $this->site); // find URL of the current page $url = $_SERVER['REQUEST_URI']; $url_parts = explode('/', $url); $url = $url_parts[sizeof($url_parts) - 1]; $url = htmlentities($url); if (isset($_POST['reg'])) { $this->reg = mysql_real_escape_string($_POST['reg']); $this->mainTemplate->tplReplace('reg_handle', ' class="' . $this->reg . '"'); if ($this->reg == 'true') { if (isset($_POST['feedid']) && isset($_POST['password']) && isset($_POST['password_verify'])) { $fid = intval($_POST['feedid']); $cosmAPI = new CosmAPI(); $coordinates = $cosmAPI->getEggCoordinates($fid); // check if feed id is incorrect if ($fid == 0) { $errormessage = '<span class="error">' . translate('enter_valid_feed_id') . '</span>'; } else { if ($_POST['password'] == '' || $_POST['password'] == $GLOBALS['translation']['password'] || ($_POST['password_verify'] == '' || $_POST['password_verify'] == $GLOBALS['translation']['repeat_password'])) { $errormessage = '<span class="error">' . translate('fill_in_all_inputs') . '</span>'; } else { if ($_POST['password'] != $_POST['password_verify']) { $errormessage = '<span class="error">' . translate('passwords_incorrect') . '</span>'; } else { if (!$coordinates || !is_array($coordinates)) { $errormessage = '<span class="error">' . translate('no_position_found') . '</span>'; } else { if (isset($_POST['regaddress'])) {