Bueno la cosa la verdad es que se puede mejorar...
Insertando un array de etiquetas de WD en el archivo
testtags.txt (que es es rellenado y convertido por WD a
testtags.php) y una sencilla función PHP se podría editar todo cómodamente desde WD.
Te explico:
En el archivo
testtags.txt insertar éste código:
$dias_lluvia = array(%rainonsunday%,%rainonmonday%,%rainontuesday%,%rainonwedensday%,%rainonthursday%,%rainonfriday%,%rainonsaturday%,$dayrn);
Después de la línea en la que se rellena el dato de Rain Storm:
$vpstormrain = '%vpstormrain%'; //Davis VP Storm rain value
Después sería ya editar el archivo
ajax-dashboard.php de la siguiente manera:
Se pone esta función que recorre el array de días y devuelve la cantidad de lluvia total y la cantidad de días del episodio desde ayer (si hoy no hay lluvia) o desde hoy. Si ayer no hay lluvia se dará por finalizado el episodio y pondrá 0 mm o si hay hoy lluvia la cantidad de hoy:
function stormrain($lluvia){
$d = date('w');
$dia_actual = array_pop($lluvia);
$par = array_splice($lluvia,0,$d);
$lluvia = array_merge($lluvia,$par);
$lluvia = array_reverse($lluvia);
$sum = 0; $i = 0;
while($i < 7 and $lluvia[$i] != 0) $sum += $lluvia[$i++];
$sum += $dia_actual;
if ($dia_actual > 0) $i++;
return sprintf("%.1f",$sum)." mm".($i ? ($i > 1) ? "<br/>($i días)" : "<br/>($i día)" : "");
}
Por ejemplo se pone entre la última línea de código de la primera parte de php del ajax-dashboard.php:
$decimalComma = (strpos($temperature,',') !==false)?true:false; // using comma for decimal point?
y el comentario
// --- end of initialization code ---------
Ya queda solamente por colocar la línea de código en el lugar donde sale el dato de Storm rain que modificamos en las respuestas anteriores por:
<?php
$corr = 1; // Poner 1 para el dato de la función o poner 0 para el dato original de Rain Storm de WD
echo $corr ? stormrain($dias_lluvia) : strip_units($vpstormrain).$uomRain;
?>
He puesto en dicha línea la variable
$corr que si es verdadera (
1 ó
true) pondrá la cantidad que recoge la función y si es falsa (
0 ó
false) pondrá la cantidad de la etiqueta de Rain Storm de WD.
Decir que la lluvia de los días de la semana del array se modifican en
View => Carta de lluvia y que modificar sus valores no influye en ningún dato de lluvia de WD excepto esos que son los que usamos para el array.
Por el momento con todas las pruebas que he realizado va bien y tiene el beneficio de que se va a ir incrementando de forma automática según llueva.
El "pero" es que sólo abarca hasta 8 días (hoy inclusive) y si el episodio tiene más de esos 8 días habría que ponerlo ya manualmente. La verdad es que eso puede ocurrir por el norte que son más agraciados en el tema de las lluvias pero aquí en el levante creo que nos vendrá bien...
Si lo pruebas tú o alguien y surge algún problema aquí estoy para intentarlo resolver
Saludos