<?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"
	>

<channel>
	<title>My Web Experiences</title>
	<atom:link href="http://www.mywebexperiences.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mywebexperiences.com</link>
	<description>A web development blog</description>
	<pubDate>Tue, 30 Sep 2008 01:01:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Protect web pages with username/password</title>
		<link>http://www.mywebexperiences.com/2008/09/29/protect-web-pages-with-usernamepassword/</link>
		<comments>http://www.mywebexperiences.com/2008/09/29/protect-web-pages-with-usernamepassword/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 00:59:37 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=56</guid>
		<description><![CDATA[
If there some web pages you want to protect with username/password, all you have to do is to create a file called .htaccess under the directory to protect with the following lines:


&#160;
AuthUserFile /path/to/htpasswd/.htpasswd
AuthGroupFile /dev/null
AuthName &#34;Restricted Directory&#34;
AuthType Basic
&#160;
&#60;Limit GET POST&#62;
require valid-user
&#60;/Limit&#62;
&#160;


Replace /path/to/htpasswd/ with the .htpasswd path.
Replace Restricted Directory with the text you want as title of [...]]]></description>
			<content:encoded><![CDATA[<p>
If there some web pages you want to protect with username/password, all you have to do is to create a file called <strong>.htaccess</strong> under the directory to protect with the following lines:
</p>

<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">AuthUserFile /path/to/htpasswd/.htpasswd</div></li>
<li class="li1"><div class="de1">AuthGroupFile /dev/null</div></li>
<li class="li1"><div class="de1">AuthName &quot;Restricted Directory&quot;</div></li>
<li class="li2"><div class="de2">AuthType Basic</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&lt;Limit GET POST&gt;</div></li>
<li class="li1"><div class="de1">require valid-user</div></li>
<li class="li1"><div class="de1">&lt;/Limit&gt;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li></ol></div>
<p>
</p>
Replace <strong>/path/to/htpasswd/</strong> with the <strong>.htpasswd</strong> path.<br />
Replace <strong>Restricted Directory</strong> with the text you want as title of the prompt window.
<p>
Then you have to create the <strong>.htpasswd</strong> file using the following command:
</p>
<blockquote>
<strong>htpasswd -c .htpasswd user_name</strong>
</blockquote>
<p>
Execute it under the directory to protect or add the full path to <strong>.httpasswd</strong> and replace <strong>user_name</strong> by the username you want to use, you will be asked to enter the password and the file will be created.
</p>
<p>
<strong>Notes:</strong> This instruction are for linux/unix systems using apache web server, the dot means hidden files on linux.
</p>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/09/29/protect-web-pages-with-usernamepassword/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Prototype Compressed</title>
		<link>http://www.mywebexperiences.com/2008/06/28/prototype-compressed/</link>
		<comments>http://www.mywebexperiences.com/2008/06/28/prototype-compressed/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 02:25:42 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[APIs]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=40</guid>
		<description><![CDATA[
I am a prototype user, but i want to save some bandwidth using a compressed version, so i start looking for it and i found a compressed version called 
protopack it includes different versions, just spaces removed ( no eval required ), encrypted(eval required) and gziped version for both. i prefere the just spaces removed [...]]]></description>
			<content:encoded><![CDATA[<p>
I am a <a href="http://www.prototypejs.org/">prototype</a> user, but i want to save some bandwidth using a compressed version, so i start looking for it and i found a compressed version called 
<a href="http://groups.google.com/group/prototype-core/files">protopack</a> it includes different versions, just spaces removed ( no eval required ), encrypted(eval required) and gziped version for both. i prefere the just spaces removed version since it dosen&#8217;t require use of eval.
</p>
<p>
Another good option is to use the <a href="http://code.google.com/apis/ajaxlibs/">Google AJAX Libraries API </a> that serves a compressed version of prototype that will be cached by a year and sent with compression headers , you can include it using the full url or the Googles&#8217;s API
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/script.html"><span class="kw2">&lt;script</span></a> <span class="kw3">type</span>=<span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span>=<span class="st0">&quot;http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/script&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">OR</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/script.html"><span class="kw2">&lt;script</span></a> <span class="kw3">type</span>=<span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span>=<span class="st0">&quot;http://www.google.com/jsapi&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/script&gt;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/script.html"><span class="kw2">&lt;script</span></a> <span class="kw3">type</span>=<span class="st0">&quot;text/javascript&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">google.load(&quot;prototype&quot;, &quot;1.6.0.2&quot;);</div></li>
<li class="li1"><div class="de1"><span class="sc2"><span class="kw2">&lt;/script&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>
You can find compressed versions of <a href="http://script.aculo.us/">scriptaculous</a>,  <a href="http://jquery.com/">jQuery</a>, <a href="http://mootools.net/">MooTools</a>, <a href="http://dojotoolkit.org/">dojo</a> as well.
The bad thing is there are no https support so it wont work for secure sites.
</p>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/06/28/prototype-compressed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Developer Day 2008 - Mexico City</title>
		<link>http://www.mywebexperiences.com/2008/06/24/google-developer-day-2008-mexico-city/</link>
		<comments>http://www.mywebexperiences.com/2008/06/24/google-developer-day-2008-mexico-city/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:46:05 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=38</guid>
		<description><![CDATA[
Yesterday, Monday 23 2008 I have the opportunity to assist to the Google Developer Day Mexico City, the first two talks were about Google and the Mexican market and an overview of their new product for developers ( android, maps, open social, etc. ) this first two talks were in Spanish, after a launch it [...]]]></description>
			<content:encoded><![CDATA[<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/06/logo.gif'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/06/logo.gif" alt="" title="Google Developer Day" width="137" height="101" class="alignleft size-medium wp-image-39" /></a><p>
Yesterday, Monday 23 2008 I have the opportunity to assist to the Google Developer Day Mexico City, the first two talks were about Google and the Mexican market and an overview of their new product for developers ( android, maps, open social, etc. ) this first two talks were in Spanish, after a launch it was a breakout with 4 different options, the talks i have the opportunity to go were:
<p>
<ul>
<li>
<strong><a href="http://code.google.com/apis/opensocial/">Open Social</a> introduction by Chris Schalk:</strong>  Open Social is a technology that allow us to create applications for social networks with the advantage it will run on every platform that supports open socials ( Hi5, Orkut, IGoogle, Linkedin ) the talk was about Were Open Social is going, what can we do and what to expect from it, Google  friend connect,, how to create some basic application and how to implement on our how servers.
</li>
<li>
<strong><a href="http://www.google.com/ig">IGoogle</a> + gadgets by Bruno Bowden:</strong> IGoogle is you own personalized start page where you can add a lot of gadgets to it ( weather, jobs gmail, etc. ) This talk was about creating gadgets for IGoogle , and the new support of Open Social and the new canvas mode
</li>
<li>
<strong><a href="http://gears.google.com/">Gears</a> by Dion Almaer:</strong>  this was the talk i like the most, i really like the idea that we can use gears to create an offline version or speed a site up like wordpress.com is doing, but when i got home and try to install gears on my machine i realized that Linux 64 bits is not supported :-(
</li>
<li>
<strong><a href="http://code.google.com/apis/maps/">Google Maps API</a> Advanced by Pamela Fox:</strong> This talks was about using tile layers with Google maps so we can use our own maps, images or anything we want to zoom in using Google maps, right now i am using <a href="http://www.zoomify.com/">Zoomifyer</a> for this purpose but i hope with this info move to Google maps. pretty cool!
</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/06/24/google-developer-day-2008-mexico-city/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Test your sites on IE from linux</title>
		<link>http://www.mywebexperiences.com/2008/06/03/test-your-sites-on-ie-from-linux/</link>
		<comments>http://www.mywebexperiences.com/2008/06/03/test-your-sites-on-ie-from-linux/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 05:12:11 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[IE]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=27</guid>
		<description><![CDATA[
I work all the time on Linux, but unfortunately there are some bugs that happened just for Internet Explorer so i used to reboot, test on windows, fix it, and then reboot and continue working on linux.


This process is annoying reboot, fix, test, etc. but thanks to Wine. We can install Internet Explorer on Linux, [...]]]></description>
			<content:encoded><![CDATA[<p>
I work all the time on Linux, but unfortunately there are some bugs that happened just for Internet Explorer so i used to reboot, test on windows, fix it, and then reboot and continue working on linux.
</p>
<p>
This process is annoying reboot, fix, test, etc. but thanks to <a href="http://www.winehq.org/">Wine</a>. We can install Internet Explorer on Linux, for that we can use:
</p>

<a href="http://www.tatanka.com.br/ies4linux/page/Main_Page">IEs4Linux</a> this script can install several versions of IE 5, 5.5, 6 even you can install IE 7 (not fully supported)
</p>
<p>
Here are some screenshots of the process and IE running
<p>
<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/04/installing_ies.jpg'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/04/installing_ies-250x300.jpg" alt="" title="installing_ies" width="250" height="300" class="aligncenter size-medium wp-image-29" /></a>



<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/04/installing_ies_2.jpg'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/04/installing_ies_2-285x300.jpg" alt="" title="Installing IEs" width="285" height="300" class="aligncenter size-medium wp-image-30" /></a>

<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/04/ies_running.jpg'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/04/ies_running-300x187.jpg" alt="" title="ies_running" width="300" height="187" class="aligncenter size-medium wp-image-28" /></a>
<p>
Another option is to use <a href="http://www.wine-doors.org">Wine-Doors</a>, it&#8217;s an script that help us installing window&#8217;s software like Ares, Flash 8, Internet Explorer 6 etc.
</p>

<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot.png'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot-300x243.png" alt="" title="wine-doors" width="300" height="243" class="aligncenter size-medium wp-image-35" /></a>

<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot-2.png'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot-2-300x274.png" alt="" title="wine-doors-2" width="300" height="274" class="aligncenter size-medium wp-image-36" /></a>

<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot-3.png'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/06/screenshot-3-300x187.png" alt="wine-doors-3" title="Flash and Ares running" width="300" height="187" class="aligncenter size-medium wp-image-37" /></a>

<p>
With the previous options IE not always runs like on windows. There is another option running windows under Linux as a virtual machine for that purpose you can use virtual box, qemu, vmware.
</p>
<p>
My choose is Virtual Box Open Source Edition, here is  a <a href="http://lifehacker.com/367714/run-windows-apps-seamlessly-inside-linux">good tutorial</a> on how to install it and some screenshots of my virtual box running IE6 and IE7
</p>
<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/05/vb.png'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/05/vb-300x187.png" alt="Virtual Box" title="Virtual Box" width="300" height="187" class="aligncenter size-medium wp-image-34" /></a>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/06/03/test-your-sites-on-ie-from-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Configure Apache to serve PERL pages ( Ubuntu )</title>
		<link>http://www.mywebexperiences.com/2008/05/30/configure-apache-to-serve-perl-pages-ubuntu/</link>
		<comments>http://www.mywebexperiences.com/2008/05/30/configure-apache-to-serve-perl-pages-ubuntu/#comments</comments>
		<pubDate>Fri, 30 May 2008 23:59:17 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[PERL]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=33</guid>
		<description><![CDATA[
I just reinstalled my ubuntu distribution, and have to configure apache to serve perl pages outside of the cgi-bin directory, after a little bit of  googling i found the solution.


You have to edit the /etc/apache2/apache2.conf  and add to it the following lines.

&#160;
AddHandler cgi-script .cgi .pl
&#60;Files ~ &#34;\.pl$&#34;&#62;
Options +ExecCGI
&#60;/Files&#62;
&#60;Files ~ &#34;\.cgi$&#34;&#62;
Options +ExecCGI
&#60;/Files&#62;
&#160;]]></description>
			<content:encoded><![CDATA[<p>
I just reinstalled my ubuntu distribution, and have to configure apache to serve perl pages outside of the cgi-bin directory, after a little bit of  googling i found the solution.
</p>
<p>
You have to edit the <strong>/etc/apache2/apache2.conf</strong>  and add to it the following lines.
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">AddHandler cgi-script .cgi .pl</div></li>
<li class="li1"><div class="de1">&lt;Files ~ &quot;\.pl$&quot;&gt;</div></li>
<li class="li1"><div class="de1">Options +ExecCGI</div></li>
<li class="li2"><div class="de2">&lt;/Files&gt;</div></li>
<li class="li1"><div class="de1">&lt;Files ~ &quot;\.cgi$&quot;&gt;</div></li>
<li class="li1"><div class="de1">Options +ExecCGI</div></li>
<li class="li1"><div class="de1">&lt;/Files&gt;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/05/30/configure-apache-to-serve-perl-pages-ubuntu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stop apache showing incomplete urls</title>
		<link>http://www.mywebexperiences.com/2008/05/22/stop-apache-showing-incomplete-urls/</link>
		<comments>http://www.mywebexperiences.com/2008/05/22/stop-apache-showing-incomplete-urls/#comments</comments>
		<pubDate>Fri, 23 May 2008 03:51:20 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=32</guid>
		<description><![CDATA[
Apache was showing files even if i didn&#8217;t put the extension on the url, that behavior was messing with a mod rewrite rule i was working on. To solve this we just add the line below to the .htaccess  file and that&#8217;s it apache will stop showing incomplete urls

Options -MultiViews
&#160;]]></description>
			<content:encoded><![CDATA[<p>
Apache was showing files even if i didn&#8217;t put the extension on the url, that behavior was messing with a mod rewrite rule i was working on. To solve this we just add the line below to the <strong>.htaccess</strong>  file and that&#8217;s it apache will stop showing incomplete urls
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">Options -MultiViews</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/05/22/stop-apache-showing-incomplete-urls/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vaga - free icon set</title>
		<link>http://www.mywebexperiences.com/2008/04/08/vaga-free-icon-set/</link>
		<comments>http://www.mywebexperiences.com/2008/04/08/vaga-free-icon-set/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 17:40:13 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=23</guid>
		<description><![CDATA[
Today i found on the web a free icon set called vaga, that you can use for personal or commercial projects, it contains 60 icons 16&#215;16

]]></description>
			<content:encoded><![CDATA[<p>
Today i found on the web a free icon set called vaga, that you can use for personal or commercial projects, it contains 60 icons 16&#215;16
</p>
<a href='http://www.tenbytwenty.com/products/icon-sets/vaga'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/04/vaga.jpg" alt="" title="vaga" width="477" height="131" class="aligncenter size-full wp-image-25" /></a>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/04/08/vaga-free-icon-set/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Show videos on your site using PERL and Youtube API</title>
		<link>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/</link>
		<comments>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 04:34:47 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[APIs]]></category>

		<category><![CDATA[PERL]]></category>

		<category><![CDATA[video]]></category>

		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=12</guid>
		<description><![CDATA[This tutorial uses an old Youtube API, after google acquired Youtube a new API was released


In this brief tutorial i will show you how to show videos from youtube on you web page using PERL and Youtube API,  the idea of the script is that it will show by default the favorites videos of [...]]]></description>
			<content:encoded><![CDATA[<blockquote>This tutorial uses an old Youtube API, after google acquired Youtube a new API was released</blockquote>

<p>
In this brief tutorial i will show you how to show videos from youtube on you web page using PERL and Youtube API,  the idea of the script is that it will show by default the favorites videos of some users, and you will be able to navigate to the tags you specify.
</p>
<p>
For this script we will use some libraries from the CPAN:
</p>
<ul>
<li><strong>CGI</strong> we will use to get the data send by GET</li>
<li><strong>Template toolkit</strong> This is an excellent template library</li>
<li><strong>XML:DOM</strong> this library will help us to parse the XML file that is returned by youtube </li>
<li><strong>LWP::UserAgent</strong> This is needed by XML:DOM to parse the files in remote locations</li>
<li><strong>Unicode::String</strong> We will use this to convert data to UTF8</li>
</ul>

<p>
<a href="http://www.tlaxcala.tlax.com/cgi-bin/videos.pl">Click here</a> to see this script in action.
</p>

<p>
<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/04/youtube.zip'>Download the code</a>
</p>

<p>
<strong>index.pl</strong> this is the perl script.
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1"><span class="co1">#!/usr/bin/perl</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> CGI;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> Template;</div></li>
<li class="li2"><div class="de2"><span class="kw2">use</span> XML::<span class="me2">DOM</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> LWP::<span class="me2">UserAgent</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> POSIX <a href="http://perldoc.perl.org/functions/qw.html"><span class="kw3">qw</span></a><span class="br0">&#40;</span>strftime<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> Unicode::<span class="me2">String</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="co1"># you have to sign up to get a developer id</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$devId</span> = <span class="st0">&#8216;developerid&#8217;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co1"># we will show the favorites videos of this user as front page</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$userFavorites</span> = <span class="st0">&#8217;someuser&#8217;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co1"># this is an array of the tags we will allow to navigate throw</span></div></li>
<li class="li2"><div class="de2"><span class="kw1">my</span> <span class="re0">%tags</span> = <span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tlaxcala&#8217;</span>=&gt;<span class="st0">&#8216;Tlaxcala&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;huamantla&#8217;</span>=&gt;<span class="st0">&#8216;Huamantla&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;huamantlada&#8217;</span>=&gt;<span class="st0">&#8216;Huamantlada&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;feria huamantla&#8217;</span>=&gt;<span class="st0">&#8216;Feria Huamantla&#8217;</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;cacaxtla&#8217;</span>=&gt;<span class="st0">&#8216;Cacaxtla&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;apizaco&#8217;</span>=&gt;<span class="st0">&#8216;Apizaco&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tlaxco&#8217;</span>=&gt;<span class="st0">&#8216;Tlaxco&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;feria tlaxcala&#8217;</span>=&gt;<span class="st0">&#8216;Feria Tlaxcala&#8217;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$query</span> = <span class="kw2">new</span> CGI;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$action</span> = <span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;action&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">@videos</span> = <span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2"><span class="kw1">my</span> <span class="re0">$total</span> = <span class="nu0">0</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$values</span> = <span class="br0">&#123;</span><span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$url</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$tt</span> = Template-&gt;<span class="me1">new</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;Content-type: text/html;charset=UTF-8<span class="es0">\n</span><span class="es0">\n</span>&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">SWITCH:<span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$action</span> eq <span class="st0">&#8216;view&#8217;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">@comments</span> = <span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here we start parsing the XML</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$parser</span> = XML::<span class="me2">DOM</span>::<span class="me2">Parser</span>-&gt;<span class="me1">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.get_details&amp;dev_id=FIq6LWxC3RE&amp;video_id=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># we put this on eval to avoid errors</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/eval.html"><span class="kw3">eval</span></a><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i add all the commets to an array</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$comment</span> <span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;comment&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">@date</span> = <a href="http://perldoc.perl.org/functions/localtime.html"><span class="kw3">localtime</span></a><span class="br0">&#40;</span> <span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;time&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@comments</span>, <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; author=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;text&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a>=&gt;strftime<span class="br0">&#40;</span> <span class="st0">&#8216;%r&#8217;</span>, <span class="re0">@date</span> <span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; date=&gt;strftime<span class="br0">&#40;</span> <span class="st0">&#8216;%d-%m-%Y&#8217;</span>, <span class="re0">@date</span> <span class="br0">&#41;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i format the video time</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span><span class="br0">&#40;</span> <span class="re0">$seconds</span>,<span class="re0">$hours</span>,<span class="re0">$minutes</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$seconds</span> = <span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;length_seconds&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span> <span class="re0">$hours</span>, <span class="re0">$seconds</span> <span class="br0">&#41;</span> = <span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/int.html"><span class="kw3">int</span></a><span class="br0">&#40;</span> <span class="re0">$seconds</span>/<span class="nu0">3600</span> <span class="br0">&#41;</span>, <span class="re0">$seconds</span> % <span class="nu0">3600</span> <span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span> <span class="re0">$minutes</span>, <span class="re0">$seconds</span> <span class="br0">&#41;</span> = <span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/int.html"><span class="kw3">int</span></a><span class="br0">&#40;</span> <span class="re0">$seconds</span>/<span class="nu0">60</span> <span class="br0">&#41;</span>, <span class="re0">$seconds</span> % <span class="nu0">60</span> <span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i create an array of the data i will use and show the page using template toolkit</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">%data</span> = <span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; video=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; title=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;title&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; author=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rating_avg=&gt;<span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_avg&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tags=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;tags&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; description=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;description&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a>=&gt;sprintf<span class="br0">&#40;</span> <span class="st0">&#8216;%02s:%02s:%02s&#8217;</span>, <span class="re0">$hours</span>,<span class="re0">$minutes</span>, <span class="re0">$seconds</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; comments=&gt;\<span class="re0">@comments</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$tt</span>-&gt;<span class="me1">process</span><span class="br0">&#40;</span> <span class="st0">&#8216;videos_view.tt&#8217;</span>, \<span class="re0">%data</span> <span class="br0">&#41;</span> || <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="re0">$tt</span>-&gt;<span class="me1">error</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">last</span> SWITCH;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> eq <span class="st0">&#8221;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># i show the favorites of the user</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.users.list_favorite_videos&amp;dev_id=FIq6LWxC3RE&amp;user=&#8217;</span> . <span class="re0">$userFavorites</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span>=<span class="st0">&#8216;1&#8242;</span> <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> eq <span class="st0">&#8221;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i get videos by tab</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&amp;dev_id=FIq6LWxC3RE&amp;tag=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;page=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;per_page=20&#8242;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># since the api dosent support paging, i see if the next xml has data, to show next link</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$nextXML</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&amp;dev_id=FIq6LWxC3RE&amp;tag=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;page=&#8217;</span> . <span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> + <span class="nu0">1</span> <span class="br0">&#41;</span> . <span class="st0">&#8216;&amp;per_page=20&#8242;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$parser</span> = XML::<span class="me2">DOM</span>::<span class="me2">Parser</span>-&gt;<span class="me1">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># we put this on eval to avoid errors</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/eval.html"><span class="kw3">eval</span></a> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i create an array with the info for videos</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="re0">$video</span> <span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@videos</span>, <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;author&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;id&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;id&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;title&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;title&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;length_seconds&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;length_seconds&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;rating_avg&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_avg&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;rating_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;description&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;description&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;view_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;view_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;upload_time&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;upload_time&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;comment_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;comment_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tags&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;tags&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;url&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;url&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;thumbnail_url&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;thumbnail_url&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/defined.html"><span class="kw3">defined</span></a><span class="br0">&#40;</span> <span class="re0">$nextXML</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc2</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="re0">$nextXML</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$total</span> = @<span class="br0">&#123;</span> <span class="re0">$doc2</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#125;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">%data</span> = <span class="br0">&#40;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; total=&gt;<span class="re0">$total</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tag=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tags=&gt;\<span class="re0">%tags</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; videos=&gt;\<span class="re0">@videos</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; page=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># i show the page using template toolkit</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$tt</span>-&gt;<span class="me1">process</span><span class="br0">&#40;</span> <span class="st0">&#8216;videos_list.tt&#8217;</span>, \<span class="re0">%data</span> <span class="br0">&#41;</span> || <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="re0">$tt</span>-&gt;<span class="me1">error</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>
<strong>videos_list.tt</strong> The template where we see the list of videos.
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/ul.html"><span class="kw2">&lt;ul</span></a> <span class="kw3">id</span>=<span class="st0">&quot;videosList&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">[% FOREACH videos %]</div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><a href="http://december.com/html/4/element/li.html"><span class="kw2">&lt;li&gt;</span></a></span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?action=view&amp;amp;video=[% id %]&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/img.html"><span class="kw2">&lt;img</span></a> <span class="kw3">src</span>=<span class="st0">&quot;[% thumbnail_url %]&quot;</span> /<span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/h2.html"><span class="kw2">&lt;h2&gt;</span></a></span><span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?action=view&amp;amp;video=[% id %]&quot;</span><span class="kw2">&gt;</span></span>[% title %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span><span class="sc2"><span class="kw2">&lt;/h2&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/p.html"><span class="kw2">&lt;p&gt;</span></a></span>[% description %]<span class="sc2"><span class="kw2">&lt;/p&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><span class="kw2">&lt;/li&gt;</span></span></div></li>
<li class="li1"><div class="de1">[% END %]</div></li>
<li class="li2"><div class="de2"><span class="sc2"><span class="kw2">&lt;/ul&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">align</span>=<span class="st0">&quot;center&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;[% IF tag || ( page&gt;1 <span class="sc1">&amp;&amp; total&gt;0 ) %]</span></div></li>
<li class="li2"><div class="de2"><span class="sc1"> &nbsp;[% IF ( page &gt; 1 ) %]</span></div></li>
<li class="li1"><div class="de1"><span class="sc1"> &nbsp; &lt;a href=&quot;index.pl?tag=[% tag %]&amp;amp;</span>page=[% (page - 1) %]&quot; alt=&quot;Previous&quot; title=&quot;Previous&quot;&gt;Previous<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; [% END %]</div></li>
<li class="li1"><div class="de1">&nbsp; [% IF total&gt;0 %]</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?tag=[% tag %]&amp;amp;page=[% (page + 1) %]&quot;</span> <span class="kw3">alt</span>=<span class="st0">&quot;Next&quot;</span> <span class="kw3">title</span>=<span class="st0">&#8216;Next&#8217;</span><span class="kw2">&gt;</span></span>Next<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; [% END %]</div></li>
<li class="li1"><div class="de1">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;[% END %]</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;[% IF tag == '' %]Favorites[% ELSE %]<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl&quot;</span><span class="kw2">&gt;</span></span>Favorites<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span>[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;[% FOREACH key = tags.keys %]</div></li>
<li class="li1"><div class="de1">&nbsp; || [% IF tag == key %][% tags.$key %][% ELSE %]<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?tag=[% key %]&quot;</span><span class="kw2">&gt;</span></span>[% tags.$key %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span>[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;[% END %]</div></li>
<li class="li2"><div class="de2"><span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>
<strong>videos_view.tt</strong> The template where we see a specific video.
</p>

<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/h1.html"><span class="kw2">&lt;h1&gt;</span></a></span>[% title %]<span class="sc2"><span class="kw2">&lt;/h1&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">align</span>=<span class="st0">&quot;center&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li2"><div class="de2"><span class="sc2"><a href="http://december.com/html/4/element/object.html"><span class="kw2">&lt;object</span></a> <span class="kw3">width</span>=<span class="st0">&quot;425&quot;</span> <span class="kw3">height</span>=<span class="st0">&quot;350&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/param.html"><span class="kw2">&lt;param</span></a> <span class="kw3">name</span>=<span class="st0">&quot;movie&quot;</span> <span class="kw3">value</span>=<span class="st0">&quot;http://www.youtube.com/v/[% video %]&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/param&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/param.html"><span class="kw2">&lt;param</span></a> <span class="kw3">name</span>=<span class="st0">&quot;wmode&quot;</span> <span class="kw3">value</span>=<span class="st0">&quot;transparent&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/param&gt;</span></span><span class="sc2">&lt;embed <span class="kw3">src</span>=<span class="st0">&quot;http://www.youtube.com/v/[% video %]&quot;</span> <span class="kw3">type</span>=<span class="st0">&quot;application/x-shockwave-flash&quot;</span> wmode=<span class="st0">&quot;transparent&quot;</span> <span class="kw3">width</span>=<span class="st0">&quot;425&quot;</span> <span class="kw3">height</span>=<span class="st0">&quot;350&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;</span>/embed&gt;</span><span class="sc2"><span class="kw2">&lt;/object&gt;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Author:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;http://www.youtube.com/user/[% author %]&quot;</span> <span class="kw3">target</span>=<span class="st0">&quot;_blank&quot;</span><span class="kw2">&gt;</span></span>[% author %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Rating:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% rating_avg %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Tags:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% tags %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Time:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% time %]</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/p.html"><span class="kw2">&lt;p&gt;</span></a></span></div></li>
<li class="li1"><div class="de1">[% description %]</div></li>
<li class="li1"><div class="de1"><span class="sc2"><span class="kw2">&lt;/p&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">[% IF comments.size &gt; 0 %]</div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><a href="http://december.com/html/4/element/h2.html"><span class="kw2">&lt;h2&gt;</span></a></span>Comments<span class="sc2"><span class="kw2">&lt;/h2&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; [% FOREACH comment=comments %]</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">class</span>=<span class="st0">&#8216;textoComentarios&#8217;</span><span class="kw2">&gt;</span></span>[% comment.text %]<span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">class</span>=<span class="st0">&#8216;pieComentarios&#8217;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;| By <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&#8216;http://www.youtube.com/user/[% comentario.author %]&#8216;</span><span class="kw2">&gt;</span></span>[% comment.author %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span> | [% comment.date %] | [% comment.time %] | </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;[% END %]</div></li>
<li class="li1"><div class="de1">[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>

<p>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress 2.5</title>
		<link>http://www.mywebexperiences.com/2008/03/31/wordpress-25/</link>
		<comments>http://www.mywebexperiences.com/2008/03/31/wordpress-25/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 04:00:43 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[CMS]]></category>

		<category><![CDATA[release]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=20</guid>
		<description><![CDATA[
Wordpress 2.5 have been released, and i have just upgraded this blog to use this new version, i really like it! it looks a lot cleaner, includes built in gallery support, and a lot of new features that you can read
here

]]></description>
			<content:encoded><![CDATA[<p>
Wordpress 2.5 have been released, and i have just upgraded this blog to use this new version, i really like it! it looks a lot cleaner, includes built in gallery support, and a lot of new features that you can read
<a href="http://http://wordpress.org/development/2008/03/wordpress-25-brecker/">here</a>
</p>
<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/03/wordpress.jpg'><img src="http://www.mywebexperiences.com/wp-content/uploads/2008/03/wordpress-300x169.jpg" alt="Wordpress 2.5" title="Wordpress 2.5" width="300" height="169" class="aligncenter size-medium wp-image-21" /></a>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/03/31/wordpress-25/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Force download in apache</title>
		<link>http://www.mywebexperiences.com/2008/02/27/force-download-in-apache/</link>
		<comments>http://www.mywebexperiences.com/2008/02/27/force-download-in-apache/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 05:31:04 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/2008/02/27/force-download-in-apache/</guid>
		<description><![CDATA[
if you want to force certain kind of files to pop up the save as dialog box, you have to add the AddType directive with the value application/octet-stream to the .htaccess file like this:

&#160;
AddType application/octet-stream .csv
AddType application/octet-stream .xls
AddType application/octet-stream .doc
AddType application/octet-stream .avi 
AddType application/octet-stream .mpg
AddType application/octet-stream .mov
AddType application/octet-stream .pdf
&#160;
and that&#8217;s all, now everything works fine]]></description>
			<content:encoded><![CDATA[<p>
if you want to force certain kind of files to pop up the save as dialog box, you have to add the AddType directive with the value application/octet-stream to the .htaccess file like this:
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .csv</div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .xls</div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .doc</div></li>
<li class="li2"><div class="de2">AddType application/octet-stream .avi </div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .mpg</div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .mov</div></li>
<li class="li1"><div class="de1">AddType application/octet-stream .pdf</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>and that&#8217;s all, now everything works fine</p>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/02/27/force-download-in-apache/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
