-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils.php
98 lines (79 loc) · 2.91 KB
/
utils.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
// Retorna um array com o nome de todas as pastas no caminho passado por parâmetro
function get_dirs_list($path = '.') {
$dirs = array();
foreach (new DirectoryIterator($path) as $file) {
if ($file->isDir() && !$file->isDot()) {
$dirs[] = $file->getFilename();
}
}
return $dirs;
}
// Retorna um array com o nome de todos os ficheiros no caminho passado por parâmetro
function get_files_list($path = '.') {
$files = array();
foreach (new DirectoryIterator($path) as $file) {
if ($file->isFile() && !$file->isDot()) {
$files[] = $file->getFilename();
}
}
return $files;
}
// Retorna o símbolo de unidade associado a cada sensor
function get_sensor_symbol($sensor_name) {
switch ($sensor_name) {
case 'Temperatura':
return 'ºC';
case 'Humidade':
case 'CO2':
return '%';
case 'Ventoinha':
return 'rps';
default:
return '';
}
}
// Retorna um array bi-dimensional com os dados de todos os utilizadores que estão no ficheiro passado por parâmetro
function analyze_credentials($file_name) {
$file = fopen($file_name, 'r');
$credentials = array();
while (!feof($file)) { // enquanto não atingir o fim do ficheiro
$line = trim(fgets($file)); // remove os espaços a mais em cada linha
$credentials[] = explode(':', $line); // divide a linha através dos divisores ':'
}
fclose($file);
return $credentials;
}
// Retorna um array bi-dimensional com todos os logs do ficheiro passado por parâmetro
function parse_logs($file_name) {
$file = fopen($file_name, 'r');
$logs = array();
while (!feof($file)) { // enquanto não atingir o fim do ficheiro
$line = trim(fgets($file)); // remove os espaços a mais em cada linha
$logs[] = explode(';', $line); // divide a linha através dos divisores ';'
}
fclose($file);
$result = array_map('array_filter', $logs); // Remove subarrays que estejam vazios
$result = array_filter($result); // Remove elements que estejam vazios
return $result;
}
// Verifica se o nome do utilizador existe nas credênciais
function is_user($username, $credentials) {
foreach ($credentials as $row) {
if ($username == $row[0]) {
return true;
}
}
return false;
}
// Retorna todos os dados do utilizador associados ao nome passado por parâmetro
function get_user($username, $credentials) {
$user = array();
foreach ($credentials as $row) { // Para cada linha do ficheiro de credenciais
if ($username == $row[0]) { // Verifica se são as credencias do utilizador
$user = $row;
break;
}
}
return $user;
}