12-17-2022, 03:34 PM
0
Esto lo hice de esta forma ya que quería simplificar esa función, el que lo quiera aplicar que lo haga... Es mucho más fácil de entender.
Buscar en inc/class/c.core.php => function setHace(int $fecha = 0, $show = false) y reemplazan toda la función con esto
Buscar en inc/class/c.core.php => function setHace(int $fecha = 0, $show = false) y reemplazan toda la función con esto
Código PHP: ( Seleccionar Todo )
public function setHace(int $fecha = 0, $show = false){
# Creamos
$tiempo = time() - $fecha;
if($fecha <= 0) return "Nunca";
// Declaración de unidades de tiempo, aunque es un aproximado
// Ya que existe años bisiestos 366 días
$unidades = [
31536000 => ["año", "años"],
2678400 => ["mes", "meses"],
604800 => ["semana", "semanas"],
86400 => ["día", "días"],
3600 => ["hora", "horas"],
60 => ["minuto", "minutos"],
];
foreach($unidades as $segundos => $nombre){
$round = round($tiempo / $segundos);
$s = ($segundos === 2678400) ? 'es' : 's';
if($tiempo <= 60) {
$hace = "instantes";
} else {
if($round > 0) {
$hace = "{$round} {$nombre[($round > 1 ? 1 : 0)]}";
break;
}
}
}
// Si se ha establecido la opción $show, se agrega 'Hace' al resultado
return ($show ? "Hace " : "") . $hace;
}