Calcular distancias en PHP
Función PHP que calcula la distancia entre dos puntos usando latitudes y longitudes. Devuelve los datos en millas, kilómetros y millas naúticas.
Vía / DZone
The xcolor plugin is an easy-to-use jQuery extension to manipulate colors in all imaginable combinations. This plugin implements an extensiv color parser and a featureful set of color-manipulation methods. There is also an animate() extension to smooth CSS colors.Another useful method isReadable() completes the whole, by allowing you to check if a …
Muchos diseñadores suelen mostrar los menús en una línea separados entre ellos por una línea salvo el último elemento. El problema está en cómo diferenciar el último elemento para que no tenga ese estilo. Para ello tendremos que meter este código en el functions.php
add_filter( 'wp_nav_menu_objects', 'add_last', 10, 2);
function add_last($sorted_menu_items, $args) {
$c = 0;
foreach($sorted_menu_items as $i=>$item) {
$c++;
if ($c == count($sorted_menu_items)) {
$sorted_menu_items[$i]->classes[] = 'last';
}
}
return $sorted_menu_items;
}
La verdad es que se podria hacer con los selectores de CSS, pero aunque parezca mentira, no son compatibles con IE7, y algunos clientes aún usan el dichoso navegador.
MemcacheQ es una interesante implementación de Memcache que permite realizar una cola de mensajes que luego podremos utilizar en nuestras aplicaciones de formas variadas, por ejemplo, si tenemos un proceso largo que queremos dividir y realizar partes en background, podemos crear una cola de mensajes e ir añadiendo distintas tareas para luego ir recuperándolas una a una.
MemcacheQ permite crear distintas colas y cuando se recupera un valor de la cola se borrará de esta. Imaginemos que tenemos un blog en el que cuando se publica un post se deben realizar una serie de tareas complejas, y no queremos tener a WordPress o Drupal o lo que usemos esperando para dar el OK de post publicado, lo que haríamos sería añadir un mensaje en la cola y luego con una tarea usando el cron, ir ejecutándolas una a una:
/* Método de publicación */
// Conectamos al servidor
$memcache_obj = memcache_connect('memcacheq_host', 21201);
// Añadimos el mensaje a la cola
memcache_set($memcache_obj, /* id_cola */ 'tareas_del_blog', /* mensaje */ $id_post, 0, 0);
memcache_close($memcache_obj);
/* Método del cron */
// Conectamos al servidor
$memcache_obj = memcache_connect('memcacheq_host', 21201);
$id_post = memcache_get($memcache_obj, 'tareas_del_blog');
tarea_enorme($id_post);
memcache_close($memcache_obj);
Vía / PDPDeveloper.org
Para poner WordPress en modo mantenimiento, cuando actualizamos el theme o plugins y nos va a llevar un tiempo, o en otra ocasión, tan solo tendremos que crear un fichero con nombre .maintenance en el raíz de WordPress.
Si además queremos mostrar un HTML específico, podemos crear el fichero /wp-content/maintenance.php que se cargará si existe.
El fichero .maintenance debe tener definida la variable $upgrading con un timestamp, según dice el código de WordPress, con el valor del momento en el que el fichero fue creado, pero luego viendo el código comprueba que hayan pasado 10 minutos. Yo en mi caso le he asignado el valor de time() y ya borraré yo el fichero cuando haya acabado.
Comments are closed.
Si no me falla la vista (la verdad la vi por 5 segundos) creo que esa funcion esta basada en la formula de los cosenos esfericos y aunque funciona, el margen de error es bastante elevado (chillar al que hizo el planeta tan deforme 😛 )
En fin, la mas acertada que consegui es la formula de Vicenty que podeis conseguir aca en JS http://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html (pasarla a php toma 5 minutos) y si quereis conocer mas sobre calculo de distancias os recomiendo este otro vinculo http://www.movable-type.co.uk/scripts/latlong.html
Muchas gracias a los dos. Me vendrá de perlas.