Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Portal
- {
- private $dbo = null;
- function __construct($host, $user, $pass, $db)
- {
- $this->dbo = $this->init_database($host, $user, $pass, $db);
- }
- function init_database($host, $user, $pass, $db)
- {
- $dbo = new mysqli($host, $user, $pass, $db);
- if($dbo->connect_errno)
- {
- $msg = "Connection error";
- $msg .= $dbo->connect_errno;
- throw new Exception($msg);
- }
- return $dbo;
- }
- function set_message($message)
- {
- $_SESSION['message'] = $message;
- }
- function get_message()
- {
- if(isset($_SESSION['message']))
- {
- $message = $_SESSION['message'];
- unset($_SESSION['message']);
- return $message;
- }
- else return null;
- }
- function make_query($table)
- {
- if(!$this->dbo) return false;
- $query = 'SELECT * FROM ' . $table . ' ORDER BY id DESC';
- if(!$result = $this->dbo->query($query)) return false;
- else
- {
- if($result->num_rows == 0) $this->set_message("Table is empty");
- return $result;
- }
- }
- function show_latest($table, $field)
- {
- if(!$r = $this->make_query($table)) return false;
- if($row = $r->fetch_assoc())
- {
- if($row["$field"]) return $row["$field"];
- else return false;
- }
- else return false;
- }
- function make_query_filter($table, $date)
- {
- if(!$this->dbo) return false;
- $s = "";
- if($table == "dht22") {
- $query = "SELECT humidity, temperature FROM dht22 WHERE date='$date'";
- }
- else {
- $query = "SELECT pm1, pm25, pm10 FROM pm5003 WHERE date='$date'";
- }
- if(!$result = $this->dbo->query($query)) return false;
- if($result->num_rows == 0) {
- $s = "Tabela jest pusta";
- return $s;
- }
- $values = array();
- $count = 0;
- while($row = $result->fetch_assoc()) {
- foreach($row as $key => $value) {
- $values[$key] += $value;
- }
- $count++;
- }
- foreach($values as $key => $value) {
- $value /= $count;
- $s = $key . ": " . $value . " ";
- }
- return $s;
- }
- function show_all_as_json($table)
- {
- if(!$r = $this->make_query($table)) return false;
- while($row = $r->fetch_assoc()) $arr[] = $row;
- return json_encode($arr);
- }
- function show_api_forecast($day, $type)
- {
- $url="http://api.apixu.com/v1/forecast.json?key=6e9fb98ee0284d9cbdd73823190803&q=52.4083,16.9335&days=4&lang=pl";
- $forecast=json_decode(file_get_contents($url));
- $val = $forecast->forecast->forecastday[$day];
- switch($type)
- {
- case 'wind':
- return $val->day->maxwind_kph . ' km/h';
- case 'humidity':
- return $val->day->avghumidity . ' %';
- case 'icon':
- $inum = $last_part = substr(strrchr($val->day->condition->icon, "/"), 1);
- $inum = switch_icon($inum);
- return $inum;
- case 'temperature':
- default:
- return $val->day->maxtemp_c.' °C';
- }
- }
- function switch_icon($icon)
- {
- switch ($icon)
- {
- case 200:
- case 386:
- case 389:
- case 392:
- case 395:
- $tag = '<i class="fas fa-poo-storm"></i>';
- break;
- case 119:
- case 122:
- case 281:
- $tag = '<i class="fas fa-cloud"></i>';
- break;
- case 176:
- case 293:
- case 299:
- case 305:
- case 353:
- case 356:
- case 359:
- case 362:
- $tag = '<i class="fas fa-cloud-sun-rain"></i>';
- break;
- case 116:
- $tag = '<i class="fas fa-cloud-sun"></i>';
- break;
- case 142:
- case 185:
- case 248:
- case 260:
- case 263:
- case 266:
- case 284:
- case 296:
- case 302:
- case 308:
- case 311:
- case 314:
- $tag = '<i class="fas fa-cloud-showers-heavy"></i>';
- break;
- case 179:
- case 182:
- case 227:
- case 230:
- case 317:
- case 320:
- case 323:
- case 326:
- case 329:
- case 332:
- case 335:
- case 338:
- case 350:
- case 365:
- case 368:
- case 371:
- case 374:
- case 377:
- $tag = '<i class="far fa-snowflake"></i>';
- break;
- case 113:
- default:
- $tag = '<i class="fas fa-sun"></i>';
- break;
- }
- return $tag;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement