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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
<?php
function class_autoloader($class)
{
require('.'. DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . strtolower($class) . '.php');
}
function readablesize($bytes)
{
$num = 5;
$location = 'tree';
$format = ' %d %s';
if ($bytes < 2 ** 10) {
$num = $bytes;
$unit = 'o';
} elseif ($bytes < 2 ** 20) {
$num = round($bytes / 2 ** 10, 1);
$unit = 'Kio';
} elseif ($bytes < 2 ** 30) {
$num = round($bytes / 2 ** 20, 1);
$unit = 'Mio';
} elseif ($bytes < 2 ** 40) {
$num = round($bytes / 2 ** 30, 1);
$unit = 'Gio';
}
return sprintf($format, $num, $unit);
}
/* human readable date interval
* @param DateInterval $diff - l'interval de temps
* @return string
*/
function hrdi(DateInterval $diff)
{
$str = "";
if ($diff->y > 1) return $str . $diff->y . ' years';
if ($diff->y == 1) return $str . ' 1 year and ' . $diff->m . ' months';
if ($diff->m > 1) return $str . $diff->m . ' months';
if ($diff->m == 1) return $str . ' 1 month and ' . $diff->d . ($diff->d > 1 ? ' days' : ' day');
if ($diff->d > 1) return $str . $diff->d . ' days';
if ($diff->d == 1) return $str . ' 1 day and ' . $diff->h . ($diff->h > 1 ? ' hours' : ' hour');
if ($diff->h > 1) return $str . $diff->h . ' hours';
if ($diff->h == 1) return $str . ' 1 hour and ' . $diff->i . ($diff->i > 1 ? ' minutes' : ' minute');
if ($diff->i > 1) return $str . $diff->i . ' minutes';
if ($diff->i == 1) return $str . ' 1 minute';
return $str . ' a few secondes';
}
function arrayclean($input)
{
$output = [];
foreach ($input as $key => $value) {
if (is_array($value)) {
$output[$key] = array_filter($value);
} else {
$output[$key] = $value;
}
}
return $output;
}
function idclean(string $input)
{
$input = urldecode($input);
$search = ['é', 'à', 'è', 'ç', ' '];
$replace = ['e', 'a', 'e', 'c', '-'];
$input = str_replace($search, $replace, $input);
return preg_replace('%[^a-z0-9-_+]%', '', strtolower(trim($input)));
}
function array_update($base, $new)
{
foreach ($base as $key => $value) {
if (array_key_exists($key, $new)) {
if (gettype($base[$key]) == gettype($new[$key])) {
$base[$key] = $new[$key];
}
}
}
return $base;
}
function contains($needle, $haystack)
{
return strpos($haystack, $needle) !== false;
}
function str_clean(string $string)
{
return str_replace(' ', '_', strtolower(strip_tags($string)));
}
function changekey($array, $oldkey, $newkey)
{
if (!array_key_exists($oldkey, $array))
return $array;
$keys = array_keys($array);
$keys[array_search($oldkey, $keys)] = $newkey;
return array_combine($keys, $array);
}
?>
|