• Regresar a mi sitio
  • Contacto

Avlogo

Recetas de Desarrollo


  • Tutoriales
  • Tips
  • Desarrollo
  • Aplicaciones

24
nov

Firma Twitter para foros IPB con PHP + GD + SimplePie

Hace mucho tiempo que circulo por foros de internet, el que más visito es Tarreo y como usa Invision Power Board, no puedo poner una firma con imágenes dinámicas. Es por esto que tuve que acudir a una solución, hacer una imágen dinámica que pudiera ser vista en cualquier foro invision protegido.

Para lograr este objetivo necesitaremos los siguientes ingredientes:

  • Tener cuenta Twitter (publica, con protección de twitts no sirve)
  • Saber PHP
  • Conocer la librería GD (para PHP)
  • SimplePie
  • Servidor para hostear la imagen (con soporte curl)
  • Conocer de .htaccess

La idea es utilizar SimplePie para que se lea el RSS de mi cuenta para que con PHP + GD se genere una imagen dinámica, luego con el .htaccess se redireccionan todos los archivos .jpg a.php (esta es la joda para tinelli)

Preparación:

  1. Descargar el amigable SimplePie de su sitio web (vamos a utilizar el archivo simplepie.inc.php solamente)
  2. Creamos el archivo twitter.php (con vim, gedit, eclipse, textmate o lo que se les ocurra) con el siguiente código:
    <?php
    require 'simplepie.inc.php';
    // Configuraciones
    $feed_url    = "http://twitter.com/statuses/user_timeline/MI_RSS_DEL_TIMELINE.rss";
    $feed        = new SimplePie($feed_url);
    // Configuraciones de la imagen
    $im          = imagecreatetruecolor(320, 60);
    $text_color  = imagecolorallocate($im, 0, 0, 0);
    $tw_color    = imagecolorallocate($im, 56, 204, 255);
    $bg_color    = imagecolorallocate($im, 255, 255, 255);
    // Despliegue
    imagefilledrectangle($im, 1, 1, 318, 58, $bg_color);
    imagestring($im, 2, 5, 5, 'Twitter', $tw_color);
    // Me traigo el ultimo tweet
    foreach ($feed->get_items(0, 1) as $item)
    {
       $twitt = $item->get_title();
    }
    // Lo corto y le hago wordwrap
    $twitt = wordwrap($twitt, 58, '\n');
    $twitt_texts = explode('\n', $twitt);
    foreach ($twitt_texts as $i =>; $t)
    {
       imagestring($im, 1, 55, 14*($i+1), $t, $text_color);
    }
    // Muestro la imagen
    header('Content-type: image/jpeg');
    imagejpeg($im, NULL, 100);
    imagedestroy($im);
    ?>
  3. Luego, debemos redireccionar los request a archivos JPG a PHP utilizando un .htaccess
    RewriteEngine On
    RewriteRule ^(.*\.jpg(/.*)?)$ twitter.php [L,QSA]
  4. Ahora lo subes a tu servidor y lo revisas, deberia ser algo como:

Deje cocinar a fuego lento.
Sirva acompañado con galletas de salvado.

Claramente podemos aplicarnos mucho más en el código, pero esto salio de improviso y fue relativamente rápido.

<?php
require 'simplepie.inc.php';
// Configuraciones
$feed_url    = "http://twitter.com/statuses/user_timeline/MI_RSS_DEL_TIMELINE.rss";
$feed        = new SimplePie($feed_url);
// Configuraciones de la imagen
$im          = imagecreatetruecolor(320, 60);
$text_color  = imagecolorallocate($im, 0, 0, 0);
$tw_color    = imagecolorallocate($im, 56, 204, 255);
$bg_color    = imagecolorallocate($im, 255, 255, 255);
// Despliegue
imagefilledrectangle($im, 1, 1, 318, 58, $bg_color);
imagestring($im, 2, 5, 5, 'Twitter', $tw_color);
// Me traigo el ultimo tweet
foreach ($feed->get_items(0, 1) as $item)
{
   $twitt = $item->get_title();
}
// Lo corto y le hago wordwrap
$twitt = wordwrap($twitt, 58, '\n');
$twitt_texts = explode('\n', $twitt);
foreach ($twitt_texts as $i =>; $t)
{
   imagestring($im, 1, 55, 14*($i+1), $t, $text_color);
}
// Muestro la imagen
header('Content-type: image/jpeg');
imagejpeg($im, NULL, 100);
imagedestroy($im);
?>
Compartir:
  • Facebook
  • del.icio.us
  • Twitter
  • Meneame
  • FriendFeed
  • Categorías
    Desarrollo Snippets
  • Tags
    phpsnippettwitter
  • Comentarios
    Sin Comentarios

Escribe un comentario

Comenta ingresando con tu cuenta twitter
  • PRONTO…

    • Plugin: Tweetment
    • Tutorial para hacer plugins de Wordpress
    • Ingeniero o Informático?
  • TAGCLOUD

    app Derechos de Autor Desarrollo development empresas facebook firefox fracework jquery Música php plugin setBio snippet tol tutorial twitter wordpress
  • CATEGORIAS

    • Aplicaciones (2)
    • Desarrollo (5)
    • Destacados (2)
    • Experiencias (2)
    • Música (1)
    • Personales (2)
    • Snippets (1)
    • Tips (2)
    • Tutoriales (3)
  • BLOGROLL

    • Carlos Elías
    • Christian Oviedo
    • El Blog de Zerial
  • ULTIMOS COMENTARIOS

    • iko en Tutorial: Crear una aplicación para Facebook (FBML)
    • iko en Tutorial: Crear una aplicación para Facebook (FBML)
    • alvaroveliz en Tutorial: Crear una aplicación para Facebook (FBML)
    • iko en Tutorial: Crear una aplicación para Facebook (FBML)
    • alvaroveliz en Tutorial: Crear una aplicación para Facebook (FBML)
2010 © Alvaro Véliz
Powered by Wordpress