El pasado viernes fue anunciado en wordpress.org el casi inminente abandono del soporte para PHP 4 y MySQL 4. La última versión de WordPress que soportará PHP 4 y MySQL 4 será la 3.1 y está prevista su publicación a finales del 2010.
También está prevista la publicación en la primera mitad del 2011 de la versión 3.2. Esta versión requerirá como mínimo PHP 5.2. La excusa para elegir esta versión es el porcentaje de instalaciones de WordPress en versiones de PHP por debajo de la 5.2, un 11%. De este 11%, hay bastantes instalaciones en servidores que soportan PHP 5.2 y en los que teoricamente se podría cambiar fácilmente mediante el panel de administración del servidor la versión de PHP.
El porcentaje de instalaciones con MySQL 4 es de un 6%. La versión mínima requerida en WordPress 3.2 será la 5.0.15.
Para impedir accidentes, tienen previsto la publicación de un plugin que se encargará de avisar si la versión PHP y MySQL del servidor cumple con los mínimos.
Publicada PHP 5.3.3
Se acaba de publicar la versión 5.3.3 de PHP. Según el ChangeLog se han actualizado los paquetes de SQLite y PCRE. También se ha añadido:
- La opción JSON_NUMERIC_CHECK dentro de la función json_encode().
- La función stream_set_read_buffer() que establece un buffer para stream.
- Un filtro para la extensión mcrypt.
- El filtro full_special_chars.
- En la función stream_socket_server() han añadido una opción para el contexto.
- Un quinto parámetro para las funciones openssl_encrypt() y openssl_decrypt().
- La función openssl_cipher_iv_length().
- FastCGI Process Manager (FPM).
- Soporte para Berkeley DB 5 en la extensión DBA.
- Soporte para la copia hacía/desde un array/archivo en la extensión pdo_pgsql.
- El método inTransaction() en PDO.
Y se han corregido una buena cantidad de bugs y detalles.
Publicada la versión 1.5.19 de Joomla
Acaban de publicar la versión 1.5.19 de Joomla. Esta versión corrige algunos fallos de seguridad en el backend. En lo que se refiere a la versión 1.6, sigue en versión beta, actualmente la 5.
Edito: Ayer, 18/7/2010, publicaron la versión 1.5.20. No es mi intención escribir sobre todas las versiones menores de CMS y frameworks, pero al mencionar la 1.5.19 y al ser publicada 3 días después la 1.5.20, he creido oportuno actualizar esta información.
Función .animate() de JQuery
Una de las funciones de JQuery más espectaculares, por lo visible de sus resultados, es la función .animate(). Esta función es similar a la función .css() en la manipulación de las propiedades CSS de los elementos, menos por un detalle, esta función suaviza o anima el cambio de valores en la propiedad. Actúa sobre casi todas las propiedades menos con background-color, como menciona su documentación.
Para ilustrar la función .animate() he hecho una pequeña animación de un bloque moviendose en espiral:
El código JavaScript:
En este ejemplo la función .animate() ayuda suavizando el movimiento del bloque rojo que va cambiando su top y left conforme avanza el bucle for hasta terminar la espiral.
Dar formato a números con PHP
Hace tiempo alguien me dijo que para cualquier cosa que se quiera hacer en PHP seguro que ya hay un función creada. Una de esas cosas es mostrar números con un determinado formato. Para esto existe la función number_format(). Esta función admite uno, dos o cuatro parámetros, nunca tres.
number_format(float $numero,int $decimales,string $punto_decimal,string $separador_miles);
Unos ejemplos sencillos:
echo number_format(3.14159265,3);
Muestra:
3.142
echo number_format(5726849.65489,3,",",".");
Muestra:
5.726.849,655
echo number_format(5726849.65489,3,".",",");
Muestra:
5,726,849.655
echo number_format(5726849.65489,3,"x","/");
Muestra:
5/726/849×655
Esta función permite mostrar de forma sencilla número muy altos, limitando el número de decimales a mostrar y también permite cambiar de forma fácil el punto décimal por una coma.
Publicado WordPress 3.0
Se acaba de poner disponible para su descarga la versión 3.0 de WordPress. Se puede descargar pero también se puede actualizar desde el dashboard. En el momento de escribir este post no tengo la posibilidad de actualizar automáticamente, supongo que estará disponible cuando salga la versión en español.
Por lo visto en el vídeo promocionar tiene muy buena pinta, sobretodo la inclusión del tema Twenty Ten. Este tema se puede personalizar. Os dejo el vídeo:
AJAX con JQuery
Siguiendo con mi serie de pequeñas ayudas enfocadas principalmente a los programadores web novatos y al que necesite una ayuda puntual, hoy voy a mostrar como usar AJAX utilizando JQuery de forma sencilla.
No todo el mundo sabe lo que significa AJAX. En este caso AJAX no se refiere a un detergente ni a cierto equipo holandés de fútbol. AJAX significa Asynchronous JavaScript And XML(asíncrono JavaScript y XML, traducido literalmente). El nombre así dicho no dice mucho. AJAX se utiliza para hacer llamadas utilizando JavaScript a un script de servidor(php, asp, jsp) preparado para recibir una petición y que devolverá algo, que normalmente se mostrará en la pantalla. La respuesta del servidor es independiente al flujo de la página desde la que se le hace la petición. Por esto se utiliza la palabra “asíncrono”, el flujo de la página va por un lado y lo que devuelva el servidor no tiene porque estar sincronizado, aunque siempre se puede dejar el flujo a la espera de la respuesta que se obtenga del script llamado.
JQuery facilita la forma en que se hacen llamadas AJAX. Tiene funciones bastante interesantes. En este post voy a mostrar un ejemplo de la función .load(), la que creo más sencilla para AJAX y que da buenos resultados. Típico ejemplo de un formulario con un select que depende de lo que se seleccione en otro select:
El código JavaScript con JQuery:
$(document).ready(function(){
// Hago una carga de datos inicial
$('#numeros').load('ajax.php');
// Cuando se produzca un evento onchange
// en el select de decenas se cargan los
// números de la decena seleccionada
$('#decenas').change(function(){
// Vacío el select
$('#numeros select').empty();
// y pongo como única opción
// un indicador de espera
$('#numeros select').append('Cargando...');
// Llamo al script con el parámetro necesario
$('#numeros').load('ajax.php?decena='+$(this).val());
});
});
La función .load() carga dentro del elemento con id “numeros” lo que le devuelva el script. Cuando se cambia la decena actual en el select de las decenas se ejecuta la función asociada al evento onchange, que primero vacía el select de los números y crea una opción “Cargando…” para indicar la carga. Es necesario indicar que se están cargando datos porque la carga no siempre es instantanea y es fácil que el usuario decida seleccionar una opción del select que se está cargando, no siendo válida la selección y creando dudas al usuario. Después se ejecuta la llamada al script que devuelve el código HTML del select completo. La función .load() sobreescribe el contenido anterior del elemento donde se utilice.
Este ejemplo lo hice con números pero tiene aplicaciones muy utilizadas como el típico select con provincias y ciudades de las provincias.
Generación de contraseñas aleatorias
Cuando se hace una web con registro de usuarios a veces es necesario generar contraseñas automáticamente. Hoy voy a mostrar una forma sencilla de generar contraseñas de forma aleatoria. Este ejemplo se puede modificar fácilmente para adaptarlo a las necesidades:
function genera_password()
{
$chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
srand((double)microtime()*1000000);
$password = '' ;
for($i=0;$i<10;$i++)
{
$num = rand(1,strlen($chars));
$password.=substr($chars, $num, 1);
}
return $password;
}
Se ponen dentro de la cadena $chars todos los caracteres admitidos, se pueden añadir o quitar los caracteres que se quiera. Se crea una semilla con la función PHP srand(). Después inicia la cadena $password como vacía. El bucle for repite 10 veces, se puede establecer al número de repeticiones que se quiera. Dentro del bucle se consigue un número aleatorio con la función rand() y después se concatena con la cadena actual $password el carácter correspondiente a la posición $num dentro de la cadena $chars.
Los próximos días 5 y 6 de julio tendrá lugar en la Universitat Jaume I de Castellón la que anuncian en la web de Symfony como la primera conferencia española sobre Symfony. En la conferencia se tratarán los siguientes temas:
- ORM Doctrine
- Domesticando las vistas de symfony
- Admin generator
- MongoDB y Symfony
- Arquitectura y diseño de un entorno de desarrollo
- Symfony en España
- Domesticando los formularios: sfForm
- Plugins, no reinventes la rueda
- Symfony, cloud computing y web escalables
- Symfony 2
WordPress 3.0 Release Candidate
Se acaba de publicar la primera RC de WordPress 3.0. Hace poco que se publicó la versión beta, lo que quiere decir que si todo va bien en muy poco tiempo tendremos la versión estable. Las caracteristicas principales de esta nueva versión son:
- Menús personalizables.
- Multisitios (fusión con WordPress MU).
- Se ha aligerado el panel de administración. Últimamente está un poco sobrecargado.
Y como en cualquier cambio de versión de WordPress, habrá que cogerlo con cuidado y probar los plugins y temas.