<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>eLKcro Team &#187; Snippets</title>
	<atom:link href="http://www.elkcro.net/category/programacion/snippets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elkcro.net</link>
	<description>Informática desde usuarios, para usuarios...</description>
	<lastBuildDate>Wed, 26 May 2010 04:55:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Firma twitter para foros IPB con PHP + GD + SimplePie</title>
		<link>http://www.elkcro.net/2009/11/firma-twitter-para-foros-ipb-con-php-gd-simplepie/</link>
		<comments>http://www.elkcro.net/2009/11/firma-twitter-para-foros-ipb-con-php-gd-simplepie/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 20:20:09 +0000</pubDate>
		<dc:creator>hypn</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.elkcro.net/?p=648</guid>
		<description><![CDATA[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 ...]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo que circulo por foros de internet, el que más visito es <a href="http://tarreo.com/foro" target="_blank">Tarreo</a> y como usa <a href="http://www.invisionpower.com/" target="_blank">Invision Power Board</a>, 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.</p>
<p>Para lograr este objetivo necesitaremos los siguientes <strong>ingredientes</strong>:</p>
<ul>
<li>Tener cuenta <a href="http://twitter.com" target="_blank">Twitter</a> (publica, con protección de twitts no sirve)</li>
<li>Saber <a class="zem_slink" title="PHP" rel="homepage" href="http://www.php.net/">PHP</a></li>
<li>Conocer la librería GD (para PHP)</li>
<li>SimplePie</li>
<li>Servidor para hostear la imagen (con soporte curl)</li>
<li>Conocer de .htaccess</li>
</ul>
<p><span id="more-648"></span>La idea es utilizar <a href="http://simplepie.org/" target="_blank">SimplePie</a> para que se lea el <a class="zem_slink" title="RSS" rel="wikipedia" href="http://en.wikipedia.org/wiki/RSS">RSS</a> 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)</p>
<p><strong>Preparación</strong>:</p>
<ol>
<li>Descargar el amigable <a href="http://github.com/rmccue/simplepie/downloads" target="_blank">SimplePie</a> de su sitio web (vamos a utilizar el archivo <strong>simplepie.inc.php</strong> solamente)</li>
<li>Creamos el archivo twitter.php (con vim, gedit, eclipse, textmate o lo que se les ocurra) con el siguiente código:
<pre class="brush: php;">&lt;?php
require 'simplepie.inc.php';
// Configuraciones
$feed_url    = &quot;http://twitter.com/statuses/user_timeline/MI_RSS_DEL_TIMELINE.rss&quot;;
$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-&gt;get_items(0, 1) as $item)
{
   $twitt = $item-&gt;get_title();
}
// Lo corto y le hago wordwrap
$twitt = wordwrap($twitt, 58, '\n');
$twitt_texts = explode('\n', $twitt);
foreach ($twitt_texts as $i =&gt;; $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);
?&gt;</pre>
</li>
<li>Luego, debemos redireccionar los request a archivos JPG a PHP utilizando un .htaccess
<pre>RewriteEngine On
RewriteRule ^(.*\.jpg(/.*)?)$ twitter.php [L,QSA]</pre>
</li>
<li>Ahora lo subes a tu servidor y lo revisas, deberia ser algo como:<br />
<img class="alignnone" title="Firma twitter" src="http://hypn.eianes.com/twitter_firma/firma.jpg" alt="" width="320" height="60" /></li>
</ol>
<p>Deje cocinar a fuego lento.<br />
Sirva acompañado con galletas de salvado.</p>
<p>Claramente podemos aplicarnos mucho más en el código, pero esto salio de improviso y fue relativamente rápido.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.elkcro.net/2009/11/firma-twitter-para-foros-ipb-con-php-gd-simplepie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
