A las buenas
Para ajustar la hora del servidor con la del sitio de la página cuando hay desfase, en mi caso 7 horas y 4 minutos (no entiendo lo de los minutos, yo pensaba que los desfases se regían por husos horarios, pero en mi caso es así), me he montado un script de php que me soluciona la visualización de la fecha correcta en las páginas, pero no lo he integrado en spip por no trastear demasiado en un código que no conozco a fondo y que no sé que resultados darían las modificaciones, por lo que la fecha de artículos, foros, agenda,… no lo utilizan y continúan con el desfase.
Para integrarlo en spip la idea básica sería crear tres variables (¿podrían seleccionarse en tres campos en la parte de administración del sitio?) para hora, minutos y segundos, para los que sean muy rigurosos ;), como éstas:
// variables para ajustar la fecha, por defecto serían 0
$dif_hora = 7;
$dif_min = 4;
$dif_sec = 0;
Luego no habría más que meterlas en otra variable con la función mktime que sirva de parámetro cada vez que los scripts de spip cojan la fecha (esa es la parte que no controlo, en ¿inc-filtres.php3?, y que os dejo a vosotr@s). Algo así:
$ajustar = mktime(date(« H »)+$dif_hora,date(« i »)+$dif_min,date(« s »)+$dif_sec,date(« m »),date(« d »),date(« Y »));
Y ya estaría.
El código final que utilizo para imprimir la fecha en castellano (que no sería necesario para spip) donde se ve el uso de $ajustar sería el siguiente:
// para “traducir” los nombres del día y del mes a castellano
$meses = array(0,« enero »,« febrero »,« marzo »,« abril »,« mayo »,« junio »,« julio »,« agosto »,« septiembre »,« octubre »,« noviembre »,« diciembre »);
$dias = array (« domingo »,« lunes »,« martes »,« miércoles »,« jueves »,« viernes »,« sábado »);
// coge el mes y el día de la semana con $ajustar como parámetro
$mes = $meses[date(« n »,$ajustar)];
$dia = $dias[date(« w »,$ajustar)];
// muetra la fecha con formato “12 de junio, martes”
echo date(j, $ajustar) . " de " . $mes . " de " . date(Y, ajustar) . ", " . $dia;
NOTA: este sistema permitiría “jugar” con la fecha tanto para adelante como para atrás poniendo valores positivos (7) o negativos (-7)
Un saludo