Si el otro dÃa hablabamos de MagpieRSS, hoy tenemos que hablar de SimplePie, una librerÃa en PHP que nos recomienda artux y que nos permite leer los feeds RSS y Atom.
Es fácil de usar incluso para principiantes en PHP, rápido debido a que cachea los contenidos, admite RSS 0.91, RSS 1.0 y RSS 2.0 y Atom 0.3 y 1.0 y muchas cosas más. SimplePie
Ahora que está tan de moda el software social y las posibilidades de compartir nuestras experiencias, sobre todo en imágenes. Es posible que no queramos que los usuarios suban imágenes con desnudos. Para ello esta clase que analiza los colores que existen en la imagen y devuelve una posibilidad de que la imágen contenga “demasiada carne”.
Claro, que este script nos puede ayudar, aunque tampoco hay que tratarlo como perfecto, porque está claro que no distinguirÃa de una foto de una cara o un grupo de caras, de una foto de una modelo posando desnuda, y muchos otros ejemplos que seguro que se pueden decir que pasarÃan este filtro.
Pero al menos si se trata de una ayuda, para localizar imágenes y luego revisarlas manualmente, a parte de incluir la posibilidad de que los usuarios avisen que determinada fotografÃa no cumple con los requisitos deseados. Class: Image Nudity Filter
VÃa / dzone
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.
Ha salido la nueva versión de CodeIgniter (1.7.1) que soluciona algunos bugs y trae algunas mejoras, como por ejemplo evitar XSS en casos específicos contra Internet Explorer.
Sigo recomendando CodeIgniter a todos aquellos que programen PHP. CodeIgniter 1.7.1
Vía / PHPDeveloper.org
Sphinx es un buscador de texto bastante rápido y potente (pensado para bases de datos grandes), que permite ser integrado con otras bases de datos como MySQL.
Acaban de sacar la versión 0.9.8 después de 15 meses de trabajo (y justo después de que yo ayer me bajara la versión anterior y la instalara). Existen más de 70 nuevas características, de las cuales destacaría:
Soporte para libstemmer, permitiendo stemmers para nuevos lenguajes.
QueryPath es una librería PHP que permite trabajar con HTML, XML o web services de forma muy sencilla y parecida a la que se usa en jQuery, permitiendo usar métodos encadenados.
Puede usarse para importar documentos XML en una base de datos SQL, o pasar los resultados del SQL a un XML o HTML. Se pueden escribir documentos en HTML o convertir XML en HTML. Abrir documentos y buscar mediante selectores CSS3 o XPath.
Generar claves aleatoriamente puede ser necesario cuando en nuestra aplicación web tengamos que dar claves a los nuevos usuarios (por ejemplo como hace WordPress cuando instalamos).
Por ello esta clase nos puede venir muy bien, ya que de forma sencilla podemos crear claves de una longitud dada y pudiendo indicar si es en mayúsculas, minúsculas o mezcladas.