Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. <?php
  2.  
  3. class Portal
  4. {
  5. private $dbo = null;
  6.  
  7. function __construct($host, $user, $pass, $db)
  8. {
  9. $this->dbo = $this->init_database($host, $user, $pass, $db);
  10. }
  11.  
  12. function init_database($host, $user, $pass, $db)
  13. {
  14. $dbo = new mysqli($host, $user, $pass, $db);
  15. if($dbo->connect_errno)
  16. {
  17. $msg = "Connection error";
  18. $msg .= $dbo->connect_errno;
  19. throw new Exception($msg);
  20. }
  21. return $dbo;
  22. }
  23.  
  24. function set_message($message)
  25. {
  26. $_SESSION['message'] = $message;
  27. }
  28.  
  29. function get_message()
  30. {
  31. if(isset($_SESSION['message']))
  32. {
  33. $message = $_SESSION['message'];
  34. unset($_SESSION['message']);
  35. return $message;
  36. }
  37. else return null;
  38. }
  39.  
  40. function make_query($table)
  41. {
  42. if(!$this->dbo) return false;
  43.  
  44. $query = 'SELECT * FROM ' . $table . ' ORDER BY id DESC';
  45.  
  46. if(!$result = $this->dbo->query($query)) return false;
  47. else
  48. {
  49. if($result->num_rows == 0) $this->set_message("Table is empty");
  50. return $result;
  51. }
  52. }
  53.  
  54. function show_latest($table, $field)
  55. {
  56. if(!$r = $this->make_query($table)) return false;
  57.  
  58. if($row = $r->fetch_assoc())
  59. {
  60. if($row["$field"]) return $row["$field"];
  61. else return false;
  62. }
  63. else return false;
  64. }
  65.  
  66. function make_query_filter($table, $date)
  67. {
  68. if(!$this->dbo) return false;
  69.  
  70. $s = "";
  71.  
  72. if($table == "dht22") {
  73. $query = "SELECT humidity, temperature FROM dht22 WHERE date='$date'";
  74. }
  75. else {
  76. $query = "SELECT pm1, pm25, pm10 FROM pm5003 WHERE date='$date'";
  77. }
  78.  
  79. if(!$result = $this->dbo->query($query)) return false;
  80.  
  81. if($result->num_rows == 0) {
  82. $s = "Tabela jest pusta";
  83. return $s;
  84. }
  85.  
  86. $values = array();
  87. $count = 0;
  88.  
  89. while($row = $result->fetch_assoc()) {
  90. foreach($row as $key => $value) {
  91. $values[$key] += $value;
  92. }
  93. $count++;
  94. }
  95.  
  96. foreach($values as $key => $value) {
  97. $value /= $count;
  98. $s = $key . ": " . $value . " ";
  99. }
  100. return $s;
  101. }
  102.  
  103. function show_all_as_json($table)
  104. {
  105. if(!$r = $this->make_query($table)) return false;
  106.  
  107. while($row = $r->fetch_assoc()) $arr[] = $row;
  108.  
  109. return json_encode($arr);
  110. }
  111.  
  112. function show_api_forecast($day, $type)
  113. {
  114. $url="http://api.apixu.com/v1/forecast.json?key=6e9fb98ee0284d9cbdd73823190803&q=52.4083,16.9335&days=4&lang=pl";
  115. $forecast=json_decode(file_get_contents($url));
  116.  
  117. $val = $forecast->forecast->forecastday[$day];
  118.  
  119. switch($type)
  120. {
  121. case 'wind':
  122. return $val->day->maxwind_kph . ' km/h';
  123. case 'humidity':
  124. return $val->day->avghumidity . ' %';
  125. case 'icon':
  126. $inum = $last_part = substr(strrchr($val->day->condition->icon, "/"), 1);
  127. $inum = switch_icon($inum);
  128. return $inum;
  129. case 'temperature':
  130. default:
  131. return $val->day->maxtemp_c.' °C';
  132. }
  133. }
  134.  
  135. function switch_icon($icon)
  136. {
  137.  
  138. switch ($icon)
  139. {
  140. case 200:
  141. case 386:
  142. case 389:
  143. case 392:
  144. case 395:
  145. $tag = '<i class="fas fa-poo-storm"></i>';
  146. break;
  147. case 119:
  148. case 122:
  149. case 281:
  150. $tag = '<i class="fas fa-cloud"></i>';
  151. break;
  152. case 176:
  153. case 293:
  154. case 299:
  155. case 305:
  156. case 353:
  157. case 356:
  158. case 359:
  159. case 362:
  160. $tag = '<i class="fas fa-cloud-sun-rain"></i>';
  161. break;
  162. case 116:
  163. $tag = '<i class="fas fa-cloud-sun"></i>';
  164. break;
  165. case 142:
  166. case 185:
  167. case 248:
  168. case 260:
  169. case 263:
  170. case 266:
  171. case 284:
  172. case 296:
  173. case 302:
  174. case 308:
  175. case 311:
  176. case 314:
  177. $tag = '<i class="fas fa-cloud-showers-heavy"></i>';
  178. break;
  179. case 179:
  180. case 182:
  181. case 227:
  182. case 230:
  183. case 317:
  184. case 320:
  185. case 323:
  186. case 326:
  187. case 329:
  188. case 332:
  189. case 335:
  190. case 338:
  191. case 350:
  192. case 365:
  193. case 368:
  194. case 371:
  195. case 374:
  196. case 377:
  197. $tag = '<i class="far fa-snowflake"></i>';
  198. break;
  199. case 113:
  200. default:
  201. $tag = '<i class="fas fa-sun"></i>';
  202. break;
  203. }
  204. return $tag;
  205. }
  206. }
  207.  
  208. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement