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'] . '\')');
                     }
                 }
             }
         }
     }
 }
Esempio n. 3
0
 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()));
 }
Esempio n. 4
0
$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'])) {