Skip to content

Commit b1d4d2a

Browse files
committed
Modify Fc timeElapsedString
1 parent a896e3b commit b1d4d2a

File tree

3 files changed

+67
-43
lines changed

3 files changed

+67
-43
lines changed

desktop/php/events.php

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,29 @@ function formatDuration($seconds)
7070
return $formattedDuration;
7171
}
7272

73+
/**
74+
* @param string $datetime
75+
* @param bool $full
76+
* @return string
77+
*/
7378
function timeElapsedString($datetime, $full = false)
7479
{
75-
$now = new DateTime;
80+
$now = new DateTime();
7681
$ago = new DateTime($datetime);
7782
$diff = $now->diff($ago);
7883

79-
// Ajout des semaines à partir des jours
80-
$diff->w = floor($diff->d / 7);
81-
$diff->d -= $diff->w * 7;
84+
// On extrait les valeurs dans un tableau pour pouvoir ajouter les semaines
85+
// sans modifier l'objet DateInterval original
86+
$diffValues = [
87+
'y' => $diff->y,
88+
'm' => $diff->m,
89+
'w' => (int)floor($diff->d / 7),
90+
'd' => $diff->d % 7, // Le reste des jours après avoir retiré les semaines
91+
'h' => $diff->h,
92+
'i' => $diff->i,
93+
's' => $diff->s,
94+
];
8295

83-
// Tableau des unités de temps avec singulier/pluriel
8496
$units = [
8597
'y' => ['année', 'années'],
8698
'm' => ['mois', 'mois'],
@@ -92,10 +104,10 @@ function timeElapsedString($datetime, $full = false)
92104
];
93105

94106
$strings = [];
95-
foreach ($units as $key => [$singular, $plural]) {
96-
if ($diff->$key) {
97-
$count = $diff->$key;
98-
$strings[] = $count . ' ' . ($count > 1 ? $plural : $singular);
107+
foreach ($units as $key => $names) {
108+
if ($diffValues[$key] > 0) {
109+
$count = $diffValues[$key];
110+
$strings[] = $count . ' ' . ($count > 1 ? $names[1] : $names[0]);
99111
}
100112
}
101113

desktop/php/panel.php

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -122,41 +122,53 @@ function formatDuration($seconds)
122122
return $formattedDuration;
123123
}
124124

125-
function timeElapsedString($datetime, $full = false)
126-
{
127-
$now = new DateTime;
128-
$ago = new DateTime($datetime);
129-
$diff = $now->diff($ago);
130-
131-
// Ajout des semaines à partir des jours
132-
$diff->w = floor($diff->d / 7);
133-
$diff->d -= $diff->w * 7;
134-
135-
// Tableau des unités de temps avec singulier/pluriel
136-
$units = [
137-
'y' => ['année', 'années'],
138-
'm' => ['mois', 'mois'],
139-
'w' => ['semaine', 'semaines'],
140-
'd' => ['jour', 'jours'],
141-
'h' => ['heure', 'heures'],
142-
'i' => ['minute', 'minutes'],
143-
's' => ['seconde', 'secondes'],
144-
];
145-
146-
$strings = [];
147-
foreach ($units as $key => [$singular, $plural]) {
148-
if ($diff->$key) {
149-
$count = $diff->$key;
150-
$strings[] = $count . ' ' . ($count > 1 ? $plural : $singular);
151-
}
152-
}
125+
/**
126+
* @param string $datetime
127+
* @param bool $full
128+
* @return string
129+
*/
130+
function timeElapsedString($datetime, $full = false)
131+
{
132+
$now = new DateTime();
133+
$ago = new DateTime($datetime);
134+
$diff = $now->diff($ago);
135+
136+
// On extrait les valeurs dans un tableau pour pouvoir ajouter les semaines
137+
// sans modifier l'objet DateInterval original
138+
$diffValues = [
139+
'y' => $diff->y,
140+
'm' => $diff->m,
141+
'w' => (int)floor($diff->d / 7),
142+
'd' => $diff->d % 7, // Le reste des jours après avoir retiré les semaines
143+
'h' => $diff->h,
144+
'i' => $diff->i,
145+
's' => $diff->s,
146+
];
147+
148+
$units = [
149+
'y' => ['année', 'années'],
150+
'm' => ['mois', 'mois'],
151+
'w' => ['semaine', 'semaines'],
152+
'd' => ['jour', 'jours'],
153+
'h' => ['heure', 'heures'],
154+
'i' => ['minute', 'minutes'],
155+
's' => ['seconde', 'secondes'],
156+
];
157+
158+
$strings = [];
159+
foreach ($units as $key => $names) {
160+
if ($diffValues[$key] > 0) {
161+
$count = $diffValues[$key];
162+
$strings[] = $count . ' ' . ($count > 1 ? $names[1] : $names[0]);
163+
}
164+
}
153165

154-
if (!$full) {
155-
$strings = array_slice($strings, 0, 1);
156-
}
166+
if (!$full) {
167+
$strings = array_slice($strings, 0, 1);
168+
}
157169

158-
return $strings ? 'il y a ' . implode(', ', $strings) : 'à l\'instant';
159-
}
170+
return $strings ? 'il y a ' . implode(', ', $strings) : 'à l\'instant';
171+
}
160172

161173

162174
$events = frigate::showEvents();

plugin_info/install.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* along with Jeedom. If not, see <http://www.gnu.org/licenses/>.
1616
*/
1717

18-
use Log;
18+
use log;
1919
use DB;
2020

2121
require_once dirname(__FILE__) . '/../../../core/php/core.inc.php';

0 commit comments

Comments
 (0)