Vogoo PHP Lib: motor para recomendaciones

Vogoo PHP Lib es un motor para filtros de recomendaciones/colaboraciones que puedes integrar en tu sistema. Gracias a esta librería podrás añadir características del tipo: “la gente a la que le gusta este artículo también le gusta…”. Es fácil de usar y con unas simples líneas de código se puede realizar el filtrado de artículos.
En su versión 2.0, los módulos se han reorganizado para mejorar la consistencia del código, a parte de añadir un módulo de estadísticas. Diseñado para que trabaje con varios sistemas de bases de datos aunque solo ha sido probado con MySQL y PostgreSQL.
Entre las características que ofrece nos encontramos con un motor de predicción de puntuaciones de usuarios, calculo de similitud entre usuarios, múltiples categorías, puntuaciones automáticas basadas en páginas vistas y muchas cosas más. Existe una versión PRO que tiene optimizado el motor de filtro.
Vogoo PHP Lib
Vía / International PHP Magazine

Templatr: generador de temas WordPress

Mucha es la gente que utiliza WordPress y no todo el mundo debe saber ni diseño, ni CSS, ni XHTML, ni mucho menos el sistema de plantillas de WordPress. Para aquellos que sepan algo, pero necesiten una ayuda, existe Templatr, una herramienta online que permite modificar una plantilla base de WordPress y añadirle los estilos que necesitemos.

Inicialmente deberemos elegir el layout (o cómo se divide la pantalla), y después podremos modificar dentro de cada tipo de página (index, static o single) cada uno de los elementos, ya sea seleccionándolos dentro de unos combos o pinchando directamente en ellos para seleccionarlos.

Existen vídeos explicativos que muestran la facilidad de esta aplicación:

Templatr

Vía / OpenSourceCommunity.org

Usar auto_increment para claves en MySQL

El uso de claves primarias con auto_increment en MySQL se debería tener en cuenta cuando el valor de la clave no es importante. Esto es, por ejemplo si tenemos una tabla de empleados y consideramos que la clave primaria es el número de empleado o el número de indentidad del ciudadano, pues quizás no sea buena idea usar auto_increment. Pero si la clave va a ser un número aleatorio, el valor no importa, el uso de auto_increment sería lo más adecuado.

Para definir una tabla con clave primaria con auto_increment, deberías ejecutar la siguiente sentencia:

create table `empleados` (
`id` int (10)   NOT NULL AUTO_INCREMENT ,
`nombre` varchar (250)   NOT NULL ,
`correo` varchar (250)   NOT NULL  ,
PRIMARY KEY ( `id` )  )

Con esta tabla, cuando insertemos un nuevo dato no se debe indicar el ID, ya directamente MySQL lo asignará.

El problema suele ser que muchas veces, cuando insertamos un registro, necesitamos la clave del registro nuevo para usarlo en la inserción en otra tabla relacionada. Por lo que si usamos el auto_increment, a priori no seremos capaces de saber cuál es el valor. En estas circunstancias deberemos usar la sentencia LAST_INSERT_ID(), la cual nos devolverá el ultimo id insertado, pero hay que tener cuidado con esto, porque con la concurrencia podemos obtener resultados no deseados.

También se puede reinicializar el valor del auto_increment, pero teniendo en cuenta que no se puede usar un valor menor o igual que uno que ya se haya usado. Por lo que habrá que tener cuidado en las exportaciones.

alter tabla tabla auto_increment=50;
| |

Hacer login a Google Adsense con PHP

Un ejemplo para conectarnos a Google Adsense usando cURL, usa a parte de cookies, el USER AGENT y las cabeceras REFERRER HTTP headers.

<?php
// Descomentar solo para admitir cierta IP
// if($_SERVER['REMOTE_ADDR'] !== '1.1.1.1') die();
$usuario=urlencode('myemail@gmail.com');
$password="micontraseña";
$gacookie="./.gacookie";
$postdata="Email=$usuario&Passwd=$password&GA3T=5AS_gBsvDHI&nui=15&fpui=3"
."&service=adsense&ifr=true&rm=hide&itmpl=true&hl=en_US&alwf=true&continue=https://www.google.com/adsense/report/overview&null=Sign in";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"https://www.google.com/accounts/ServiceLoginBoxAuth");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $gacookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $gacookie);
curl_setopt ($ch, CURLOPT_REFERER, 'https://www.google.com/adsense/report/overview');
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;
unlink($gacookie);
exit;
?>

Login to Google AdSense using PHP

links for 2007-09-22

Rapid: librerías para CodeIgniter

rapid.pngRapid es un conjunto de librerías para el framework CodeIgniter que nos ayuda a desarrollar nuestras aplicaciones de forma rápida.
Es necesaria la version 1.5.4 de CodeIgniter para poder utilizarla, y gracias a esta librería podremos un GUI para datos de forma rápida, tener un modo estándar de desarrollar tus backends, no tener que usar librerías que necesiten configuración, realizar aplicaciones sin PEAR, uso de temas y mucho más.
Si ya CodeIgniter es uno de los mejores frameworks para PHP que existen, Rapid puede ser una ayuda más para desarrollos rápidos.
Rapid
Gracias David

links for 2007-09-21

Firefox Wonder Edition: Firefox más rápido

Firefox Wonder Edition es una versión especial de Firefox que añade a una de las mejores versiones de Firefox algunos extras para que vaya más rápido, el único problema es que solo funciona bajo Windows.
No es necesario reemplazar la versión actual de Firefox, ya que se trata de una versión portable, con lo que podremos tenerlo en nuestra unidad USB u otro soporte para poder ejecutarlo en el ordenador que sea sin necesidad de instalación. Tan solo es necesario cerrar cualquier otra versión de Firefox antes de ejecutar esta.
A parte de hacer un uso más eficiente de CPU y memoria, tiene instalado algunos add-ons que mejoran el rendimiento de Firefox, como son Fasterfox, Flashblock y NoScript.
Firefox Wonder Edition
Vía / Digg