• 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);
?>
  • 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 comunidad css css3 Derechos de Autor Desarrollo development diseño donación empresas facebook firefox fracework gracias html5 jquery less Música node.js perkins php plugin setBio snippet tol tutorial twitter web wordpress
  • CATEGORIAS

    • Aplicaciones (2)
    • Desarrollo (8)
    • Destacados (4)
    • Diseño (1)
    • Experiencias (2)
    • Música (1)
    • Personales (3)
    • Snippets (1)
    • Tips (2)
    • Tutoriales (5)
  • BLOGROLL

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

    • alvaroveliz en WebServicio a la comunidad: Donaré dos sitios web durante el año 2012 (Actualizado)
    • @PiaTome en WebServicio a la comunidad: Donaré dos sitios web durante el año 2012 (Actualizado)
    • Jaime Guamán en Tutorial : Comenzando con Perkins Framework
    • Bárbara Venegas en WebServicio a la comunidad: Donaré dos sitios web durante el año 2012 (Actualizado)
    • gusoto en WebServicio a la comunidad: Donaré dos sitios web durante el año 2012 (Actualizado)
2010 © Alvaro Véliz
Powered by Wordpress