<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blog tech-nico.com</title>
	
	<link>http://www.tech-nico.com/blog</link>
	<description>Informacion Tecnológica, Cultural y de la vida misma.!  Programacion Web: Ajax / XML / Php / Mysql / Flash MX / ActionScript / Javascript / CSS - WISP: Wi-Fi / Mikrotik / Ubiquiti / Routerboards / Seguridad.....</description>
	<lastBuildDate>Wed, 30 Jun 2010 14:12:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tech-nico" /><feedburner:info uri="tech-nico" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.feedness.com/alta/http://feeds.feedburner.com/tech-nico" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/tech-nico" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftech-nico" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:browserFriendly>www.tech-nico.com/blog</feedburner:browserFriendly><item>
		<title>Graficando la cantidad de túneles PPPoE (conectados simultáneamente) con DUDE 4</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/hgnDTE864VU/</link>
		<comments>http://www.tech-nico.com/blog/graficando-la-cantidad-de-tuneles-pppoe-conectados-simultaneamente-con-dude/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 14:04:34 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[mikrotik]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=178</guid>
		<description><![CDATA[Lo que queremos obtener es el numero de tuneles PPP simultanes en nuestro concentrador PPPoE Server Mikrotik. Que quedaria como la imagen que se muestra a continuacion: En primer lugar necesitamos crear una función: Para ello vamos al menu Tree, y &#8230; <a href="http://www.tech-nico.com/blog/graficando-la-cantidad-de-tuneles-pppoe-conectados-simultaneamente-con-dude/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lo que queremos obtener es el numero de tuneles PPP simultanes en nuestro concentrador PPPoE Server Mikrotik. Que quedaria como la imagen que se muestra a continuacion:</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/cantidad_tuneles.jpg"><img class="alignnone size-full wp-image-179" title="cantidad_tuneles" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/cantidad_tuneles.jpg" alt="" width="514" height="305" /></a></p>
<p><strong>En primer lugar necesitamos crear una función:</strong></p>
<p>Para ello vamos al menu Tree, y hacemos doble click en &#8220;Functions&#8221;.</p>
<p><img class="alignnone size-full wp-image-181" title="1dbl_click_functions" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/1dbl_click_functions.jpg" alt="" width="288" height="208" /></p>
<p>Presionamos entonces el Boton &#8220;+&#8221; como muestra la siguiente imagen.<br />
<a href="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/3pressMAS_rojo.jpg"><img class="alignnone size-full wp-image-182" title="3pressMAS_rojo" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/3pressMAS_rojo.jpg" alt="" width="795" height="333" /></a></p>
<p>En nombre de funcion ponemos: <strong>cant_pppoe_clients<br />
<span style="font-weight: normal;">En descripción: cantidad simultanea de clientes PPPoE .<br />
Y en codigo:</span></strong></p>
<blockquote><p><strong><span style="font-weight: normal;"> array_size(oid_column(&#8220;iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrQueues.mtxrQueueSimpleTable.mtxrQueueSimpleEntry.mtxrQueueSimpleName&#8221;))-8</span></strong></p></blockquote>
<p><strong><span style="font-weight: normal;"><span style="color: #888888;">Nota: Este Codigo cuenta la cantidad  de queues simples. En mi caso tengo justo 8 queues simples que agregue manualmente. Entonces como solo me interesa contar los Queues dinamicos, simplemente al final le resto 8. Es por eso el &#8220;-8&#8243; al final del codigo. Si no tienes queues manuales reemplaza por cero.</span></span></strong></p>
<p>Ahora que tenemos la Función creada, vamos de nuevo al menu Tree, y hacemos doble click en &#8220;Probes&#8221;, como muestra a continuacion.</p>
<p><img class="alignnone size-full wp-image-184" title="2dbl_click_probes" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/2dbl_click_probes.jpg" alt="" width="288" height="342" /></p>
<p>Luego presionar el boton &#8220;+&#8221; que se marca en rojo.<br />
<img class="alignnone size-full wp-image-185" title="5probes" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/5probes.jpg" alt="" width="520" height="552" /></p>
<p>Completamos con estos datos:<br />
<strong>Nombre</strong>: pppoe_probe<br />
<strong>Tips</strong>: Function<br />
<strong>Agente</strong>: por defecto<br />
<strong>Disponible</strong>: cant_pppoe_clients()<br />
<strong>Error</strong>: if(cant_pppoe_clients(),&#8221;",&#8221;")<br />
<strong>Valor</strong>: cant_pppoe_clients()<br />
<strong>Unidad</strong>: Clientes</p>
<p>En el menu Tree, doble click en &#8220;Local&#8221; para ir al diagrama de Red.<br />
<img class="alignnone size-full wp-image-186" title="4_iraredlocal" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/4_iraredlocal.jpg" alt="" width="230" height="318" /></p>
<p>Click derecho en el dispositivo PPPoE, y en el menu contextual click en &#8220;Configuraciones&#8221;.<br />
<img class="alignnone size-full wp-image-188" title="dispo_configuracion" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/dispo_configuracion.jpg" alt="" width="322" height="285" /></p>
<p>Click en la pestaña &#8220;Servicios&#8221; y luego en el boton &#8220;+&#8221; remarcado en rojo.<br />
<img class="alignnone size-full wp-image-190" title="Servicios_add" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/Servicios_add1.jpg" alt="" width="456" height="140" /></p>
<p>Donde dice Prueba: elegir &#8220;pppoe_probe&#8221;. Y presionar OK<br />
<img class="alignnone size-full wp-image-191" title="nuevo_servicio" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/nuevo_servicio.jpg" alt="" width="389" height="263" /></p>
<p>Deberia quedar asi. Presionamos de nuevo en OK.<br />
<img class="alignnone size-full wp-image-193" title="probe_added" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/probe_added.jpg" alt="" width="489" height="141" /></p>
<p>Click con boton derecho sobre el Dispositivo PPPoE, y click en apariencia.<br />
<img class="alignnone size-full wp-image-194" title="clickderecho_apariencia" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/clickderecho_apariencia.jpg" alt="" width="295" height="296" /></p>
<p>Finalmente editamos la &#8220;Etiqueta&#8221;, y agregamos</p>
<blockquote><p>﻿﻿[cant_pppoe_clients()] clientes conectados</p></blockquote>
<p><img class="alignnone size-full wp-image-195" title="device_apariencia" src="http://www.tech-nico.com/blog/wp-content/uploads/2010/06/device_apariencia.jpg" alt="" width="492" height="282" /></p>
<p>Finalizamos presionando OK.<br />
Eso es todo!!. <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  despues de 2 segundos aparece el contador.<br />
Recuerda que tienes que tener el SNMP habilitado en tu Mikrotik para poder leer el OID. Saludos<br />
_____________________<br />
Nicolas <a href="http://www.tech-nico.com/blog" target="_blank">Tech-nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/hgnDTE864VU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/graficando-la-cantidad-de-tuneles-pppoe-conectados-simultaneamente-con-dude/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/graficando-la-cantidad-de-tuneles-pppoe-conectados-simultaneamente-con-dude/</feedburner:origLink></item>
		<item>
		<title>Galeria de Fotos Flash II con Comentarios</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/1qYmO6tTo30/</link>
		<comments>http://www.tech-nico.com/blog/galeria-de-fotos-flash-con-comentarios-php/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 20:00:15 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fotolog]]></category>
		<category><![CDATA[guestbook]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=172</guid>
		<description><![CDATA[Por suerte la Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders tubo mucha aceptación; así que aquí va la &#8220;Versión del Galery en flash con comentarios&#8221; tipo fotolog Como varios me lo han pedido, aqui esta la version del galery en &#8230; <a href="http://www.tech-nico.com/blog/galeria-de-fotos-flash-con-comentarios-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Por suerte la <a style="color: #333333; text-decoration: none; display: block; font-weight: bold;" title="Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders." rel="bookmark" href="http://www.tech-nico.com/blog/galeria-de-fotos-en-flash-y-php-con-thumbs-gd-y-lectura-de-folders/">Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders</a> tubo mucha aceptación; así que aquí va la &#8220;Versión del Galery en flash con comentarios&#8221; tipo fotolog <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Como varios me lo han pedido, aqui esta la version del galery en flash con comentarios.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">El sistema de comentarios se basa en 1 solo archivo PHP llamado guestBook.php que se conecta a la base de datos e interactua con flash como gateway para postar comentarios o leerlos.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Tiene filtro de malas palabras, y para el que quiere tambien puede habilitar las lineas para que te avise por mail que alguien posteo un comment.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Con respecto a la base de datos: Esta hecho para mysql, y consiste de tan solo una sola tablita.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">CREATE TABLE `fotolog` (</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`name` CHAR( 200 ) NOT NULL ,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`nombrefoto` CHAR( 200 ) NOT NULL ,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`email` VARCHAR( 200 ) NULL ,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`comments` LONGTEXT NULL ,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">`time` TIME NULL</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">) ENGINE = innodb COMMENT = &#8216;comentarios galery comment&#8217;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">El funcionamiento es sencillo pero poco robusto <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Como las fotos no estan en la base de datos; tome en cuenta el nombre de la foto como ID, por lo tanto hay que tener mucho cuidado con los nombres de fotos duplicados.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Ademas; como no hay ningun Admin para administrar la galeria o comentarios, si eliminamos una foto por FTP el comentario &#8220;no se elimina&#8221;, entonces van quedan registros perdidos en la tabla de la base de datos.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Con una galeria que no tenga demaciado movimiento no va a haber problema (como fue en mi caso), pero si hay mucho trafico de fotos que se suben y se eliminan podria aparecer comentarios huerfanos.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Configuracion:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Abrir archivo guestBook.php y modificar las lineas siguientes por las de tu base de datos.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$DBhost = &#8220;localhost&#8221;;   // servidor</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$DBuser = &#8220;root&#8221;;            // usuario</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$DBpass = &#8220;&#8221;;            // clave</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$DBName = &#8220;fotolog&#8221;;            // nombre base de datos</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$table = &#8220;fotolog&#8221;;             // nombre tabla base de datos</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$numComments = 5;       // cantidad de comentarios por pagina.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To DO // Para hacer</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Lo ideal seria armar un mini admin que muestre las fotos y te permita eliminar la foto con el comentario relacionado.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Agregando un campito mas de &#8220;activate&#8221; podriamos mostrar los comentarios que solo esten aprobados.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Modificar BadWords desde el admin.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Agregar filtros de metacaracteres para evitar el sql injection.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Descargar Fla Modificado y guestBook.php</div>
<p>El sistema de comentarios se basa en 1 solo archivo PHP llamado <strong>guestBook.php</strong> que se conecta a la base de datos e interactua con flash como gateway para postear comentarios o leerlos.</p>
<p><strong><span style="font-weight: normal;"><img class="size-medium wp-image-173 alignnone" style="margin-left: 5px; margin-right: 5px;" title="galery_comment" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/12/galery_comment-300x243.gif" alt="galery_comment" width="300" height="243" /></span>Tiene filtro de malas palabras</strong>, y para el que quiere también puede habilitar las lineas para envié por mail un aviso en caso de que haya comentarios nuevos.</p>
<p>Con respecto a la base de datos:  Esta hecho para mysql, y consiste de tan solo una sola tablita.</p>
<p><em>CREATE TABLE `fotolog` (<br />
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,<br />
`name` CHAR( 200 ) NOT NULL ,<br />
`nombrefoto` CHAR( 200 ) NOT NULL ,<br />
`email` VARCHAR( 200 ) NULL ,<br />
`comments` LONGTEXT NULL ,<br />
`time` TIME NULL<br />
) ENGINE = innodb COMMENT = &#8216;comentarios galery comment&#8217;;</em></p>
<p><strong>El funcionamiento es sencillo pero poco robusto <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </strong></p>
<p>Como las fotos <span style="text-decoration: underline;">no </span><span style="text-decoration: underline;">están</span> en la base de datos; tome en cuenta el nombre de la foto como ID, por lo tanto hay que tener mucho cuidado con los nombres de fotos duplicadas.<br />
Ademas, como no hay ningún Admin para administrar la galería o comentarios, si eliminamos una foto por FTP, el comentario &#8220;no se elimina&#8221;, entonces van quedan registros perdidos en la tabla de la base de datos.<br />
Con una galeria que no tenga demaciado movimiento no va a haber problema (como fue en mi caso), pero si hay mucho trafico de fotos que se suben y se eliminan podria aparecer comentarios huerfanos.</p>
<p><strong>Configuracion:</strong></p>
<p>Abrir archivo <em>guestBook.php</em> y modificar las lineas siguientes por las de tu base de datos.</p>
<p>$DBhost = &#8220;localhost&#8221;;   // servidor<br />
$DBuser = &#8220;root&#8221;;            // usuario<br />
$DBpass = &#8220;&#8221;;            // clave<br />
$DBName = &#8220;fotolog&#8221;;            // nombre base de datos<br />
$table = &#8220;fotolog&#8221;;             // nombre tabla base de datos<br />
$numComments = 5;       // cantidad de comentarios por pagina.</p>
<p><strong>To DO // Para hacer</strong></p>
<ul>
<li>Lo ideal seria armar un mini admin que muestre las fotos y te permita eliminar la foto con el comentario relacionado.</li>
<li>Agregando un campito mas de &#8220;activate&#8221; podriamos mostrar los comentarios que solo esten aprobados.</li>
<li>Modificar BadWords desde el admin.</li>
<li>Agregar filtros de metacaracteres para evitar el sql injection.</li>
</ul>
<p><a href="http://www.tech-nico.com/blog/galery_S-Comentar.zip">Descargar Fla Modificado y guestBook.php</a></p>
<p>________________<br />
<a href="http://www.tech-nico.com/blog/">tech-nico.com/blog</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/1qYmO6tTo30" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/galeria-de-fotos-flash-con-comentarios-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/galeria-de-fotos-flash-con-comentarios-php/</feedburner:origLink></item>
		<item>
		<title>Micro Sitio dinamico en Ajax + XML (sin base de datos)</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/0dpBvqlLgBI/</link>
		<comments>http://www.tech-nico.com/blog/micro_sitio_dinamico_en_ajax_xml/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:11:55 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=163</guid>
		<description><![CDATA[Quiero compartir con todos ustedes, un mini sitio que diagrame hace un tiempo en el que necesitaba algo &#8220;dinámico&#8221; y tenia la restricción de no poder usar base de datos mysql. El micro sitio esta desarrollado en PHP, y el &#8230; <a href="http://www.tech-nico.com/blog/micro_sitio_dinamico_en_ajax_xml/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quiero compartir con todos ustedes, un mini sitio que diagrame hace un tiempo en el que necesitaba algo &#8220;dinámico&#8221; y tenia la restricción de no poder usar base de datos mysql.</p>
<p>El micro sitio esta desarrollado en PHP, y el Maquetado XHTML/CSS estan diagramados de forma limpia y accesible para todos los navegadores.<br />
Los contenidos están en archivos XML. Esta pensado para mostrar listados de Links en columnas. Pero con algunos conocimientos de programación podes modificarlo a tu gusto y antojo.</p>
<p><strong>Como ventajas:</strong></p>
<ul>
<li>es bonito y liviano</li>
<li>muy facil de modificar.</li>
<li>no usa base de datos</li>
</ul>
<p><strong>Desventajas:</strong></p>
<ul>
<li>Muy estructurado en el diseño.</li>
<li>No tiene CMS ni editor WYSIWYG.</li>
<li>No es practica la forma de presentar los contenidos.</li>
</ul>
<p>El Home del sitio se ve asi:<br />
<a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/sitio_inicio.gif" target="_blank"><img class="alignnone size-thumbnail wp-image-164" title="sitio_inicio" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/sitio_inicio-150x150.gif" alt="sitio_inicio" width="150" height="150" /></a></p>
<p><strong>Configuración:</strong><br />
1) abrir js/core.js<br />
<a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/editar_core.gif" target="_blank"><img class="alignnone size-thumbnail wp-image-165" title="editar_core" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/editar_core-150x150.gif" alt="editar_core" width="150" height="150" /></a><br />
2) modificar las lineas 4 y 5</p>
<p>Atención: Por defecto esta configurado para levantar inicialmente la sección id &#8220;inicio&#8221;. Esto lo pueden modificar mas abajo en la linea 130 donde dice &#8220;section?=inicio&#8221;.</p>
<p><strong>Para agregar solapas o modificarlas:</strong><br />
1) Abrir archivo index.php<br />
2) Duplicar las zonas seleccionadas en A y B (ver imagen Click para agrandar).<br />
<a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/add_layers.gif" target="_blank"><img class="alignnone size-medium wp-image-166" title="add_layers" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/10/add_layers-261x300.gif" alt="add_layers" width="261" height="300" /></a></p>
<p>3) Estan marcados con círculos Rojos las zonas que deben modificar con el ID &#8220;3&#8243; en el caso de los círculos. Solo basta con incrementarle el numero. Ejemplo reemplazar 3 por 4 o cualquier otro Nº que no se repita. Abajo dentro de &#8220;<strong>div_content</strong>&#8220; también va el mismo Nº.<br />
&#8220;Servicios&#8221; también esta seleccionado, para que vean que este es el nombre de la sección a levantar. Si la sección se llama &#8220;About Us&#8221; iría: ?section=about. Tienen que usarse solo palabras resumidas, ya que esta palabra también se usa para armar la URL permanente de la sección cargada con ajax.  Ejemplo: www.tech-nico.com/<strong>#about</strong>. Algo realmente útil y que por lo general es un problema en Ajax.  :p</p>
<p>4) Abrir <strong>callbacks.php</strong> y agregar en el Select Case la llamada para la nueva solapa. Duplicar cualquiera de los casos del select o switch, que van desde &#8220;case &#8216;xx&#8217;: &#8230;. hasta break; &#8221; y lo modificamos para que quede asi:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">case &#8216;about&#8217;: ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;script type=&#8221;text/javascript&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">actualizarPestanas(4);__exec_command(&#8216;content/about.htm&#8217;,'pest4&#8242;,&#8217;Acerca de&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/script&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php break;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Funciones de callbacks.php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">actualizarPestanas(id): Esta funcion oculta todos los divs contents y muestra solo el que tiene el ID que pasamos como parametro. Param id{es el id que le dimos en el paso 3}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">__exec_command(url, div_pestaña, titulo): Ejecuta por medio de Ajax la &#8220;url&#8221; y la muestra en &#8220;div_pestaña&#8221; y finalmente</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">modifica el titulo de la pagina por el que le proporcionemos. Aqui pueden levantar URL&#8217;s estaticas o dinamicas. Miren el codigo que esta facil de entender.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Contenido:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Todo el contenido del sitio esta dentro de la carpeta &#8220;content&#8221;. Y sea estatico o dinamico.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Estoy seguro de que se puede mejorar muchisimo. De hecho se podrian validar varias cosas con expressiones regulares pero eso que lo haga cada uno por su cuenta. Pense en armar un mini admin para poder cargar XML&#8217;s pero por cuestiones de tiempo se complica. De todos modos esta bueno para esos proyectos que necesitan arrancar con algo sencillo. Quizas este sea el esqueleto base.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Espero que les guste y sirva. Cualquier duda sera respondida por aqui.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Nicolas</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 785px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">blog tech-nico.com</div>
<p><em>case &#8216;about&#8217;: ?&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
actualizarPestanas(4); __exec_command(&#8216;content/about.htm&#8217;,'pest4&#8242;,&#8217;Acerca de&#8217;);&lt;/script&gt; &lt;?php break; </em><br />
Funciones de callbacks.php</p>
<p><strong>actualizarPestanas(id):</strong> Esta funcion oculta todos los divs contents y muestra solo el que tiene el ID que pasamos como parametro. Param id{es el id que le dimos en el paso 3}</p>
<p><strong>__exec_command(url, div_pestaña, titulo):</strong> Ejecuta por medio de Ajax la &#8220;url&#8221; y la muestra en &#8220;div_pestaña&#8221; y finalmente modifica el titulo de la pagina por el que le proporcionemos. Aquí pueden levantar URL&#8217;s estáticas o dinámicas. Miren el código que esta fácil de entender.</p>
<p><strong>Contenido:</strong><br />
Todo el contenido del sitio esta dentro de la carpeta &#8220;content&#8221;. Y sea estático o dinámico.</p>
<p>Estoy seguro que se puede mejorar muchísimo. De hecho se podrían validar varias cosas con expresiones regulares pero eso que lo haga cada uno. Pensé en armar un mini admin para poder cargar XML&#8217;s pero por cuestiones de tiempo se complica. De todos modos esta bueno para esos proyectos que necesitan arrancar con algo sencillo. Quizás este sea el esqueleto base.</p>
<p>Espero que les guste y sirva. Cualquier duda sera respondida por aquí.</p>
<p><a href="http://www.tech-nico.com/blog/sitio_tech-nico.rar">descargar el codigo </a></p>
<p>Nicolas</p>
<p><a title="tech-nico" href="http://tech-nico.com/blog" target="_blank">blog tech-nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/0dpBvqlLgBI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/micro_sitio_dinamico_en_ajax_xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/micro_sitio_dinamico_en_ajax_xml/</feedburner:origLink></item>
		<item>
		<title>Limpiemos internet entre todos: Proyecto bogon server</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/Pazhi9m34TQ/</link>
		<comments>http://www.tech-nico.com/blog/limpiemos-internet-entre-todos-proyecto-bogon-server/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 14:09:33 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[redes]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[bogon]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=144</guid>
		<description><![CDATA[Les había prometido escribir sobre el proyecto bogon que esta dando excelentes resultados para todos los que administramos redes o pertenecen a WISP. El proyecto es “totalmente gratuito” para los que se sumen y no requiere de recursos de hardware &#8230; <a href="http://www.tech-nico.com/blog/limpiemos-internet-entre-todos-proyecto-bogon-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Les había prometido escribir sobre el <strong>proyecto bogon</strong> que esta dando excelentes resultados para todos los que administramos redes o pertenecen a WISP. <span style="text-decoration: underline;"><strong>El proyecto es “totalmente gratuito”</strong></span> para los que se sumen y no requiere de recursos de hardware ni licencias especiales. Solo un Mikrotik ( en mi caso ) y algunas configuraciones de BGP. (Aquí solo voy a contarles algunos rasgos generales del proyecto para que mas o menos entiendan como funciona y de que se trata). Para mas detalles pueden acceder a <a href="http://www.capaocho.net/archivo/bogonserver/" target="_blank">Capaocho.net</a> que hay un how to muy bien explicadito.</p>
<p>En <a href="http://ar.dir.groups.yahoo.com/group/isparg/?v=1&amp;t=directory&amp;ch=web&amp;pub=groups&amp;sec=dir&amp;slk=2" target="_blank">ISPARG</a> (Foro hispano sobre Mikrotik moderado por <a href="http://www.maxid.com.ar" target="_blank">Maxi Dobladez</a>) fue donde di conocimientos a este proyecto que <a href="http://www.capaocho.net/informacion/" target="_blank">Ariel Weher</a> y Pablo Lucchetti embarcaron. Mas abajo un reportaje con Ariel nos cuenta como fue que iniciaron.</p>
<p>El<strong> &#8220;Proyecto Bogon Server&#8221; </strong>consiste en la configuración de nuestros Servidores<strong>*</strong>, mediante BGP, para conseguir finalmente el filtro de trafico.</p>
<p><strong>*</strong>Los <strong>servidores que entran en el proyecto</strong> pueden ser:</p>
<ul>
<li>Cisco IOS.</li>
<li>Mikrotik RouterOS.</li>
<li>GNU/Linux Zebra/Quagga.</li>
<li>GNU/Linux + IPTables.</li>
<li>BSD/Solaris/Otro UNIX.</li>
<li>Vyatta.</li>
<li>Huawei OS.</li>
<li>Juniper JunOS.</li>
<li>Force 10.</li>
<li>Otros.</li>
</ul>
<p><strong>Definiendo Bogon: </strong>En términos muy amigables seria todo aquel trafico proveniente de Internet o originado desde nuestros propios clientes hacia intente. Este trafico &#8220;basura&#8221; se origina en la mayoría de los casos desde rangos de IP que no fueron asignados o delegados por ningún organismo de Registro Regional de Internet (RIR&#8217;s). Las RIR&#8217;s se encargan de administrar / asignar los rangos IP o pools de IP para todas las empresas u organismos de modo que no hayan numeraciones repetidas.</p>
<blockquote>
<h3>¿Por qué es importante filtrar los Bogons?</h3>
<p><span style="color: #808080;">Según el conocimiento popular, se sabe que si se usa la conexión de un ISP para realizar tareas malintencionadas tales como hacer SPAM, escanear puertos, hacer ataques de denegación de servicio, etc., las autoridades pueden identificarme porque saben concretamente que esa IP desde donde realicé el ataque pertenece a un único ISP (o sistema autónomo).Entonces podrían rastrearme obligando al ISP a dar los datos del cliente que tenía esa IP en el momento del ataque, generalmente mediante acciones legales.</span></p>
<p><span style="color: #808080;">Ahora bien, como se sabe que los rangos IP publicados en el BOGON aún no son de nadie, contando con la infraestructura necesaria pueden adueñarse temporalmente de un rango libre, realizar el ataque y luego liberarlo, haciendo más difícil el rastreo (aunque no imposible).</span></p>
<p><span style="color: #808080;">Esto es debido a la negligencia de los mayoristas que no se fijan en las redes que publican sus clientes, pero eso es una cuestión más avanzada de BGP que por ahora no nos interesa.</span></p>
<p><span style="color: #808080;">Actualmente debemos saber que mientras más empresas dispongamos de filtros de Bogon, más dificil va a ser enviar basura a estos agresores que ganan millones a cuesta de nuestros servicios.</span></p>
<p><span style="color: #808080;">La práctica de filtrado trae como consecuencia en que vamos a disminuír la cantidad de ancho de banda gastado en “basura”, vamos a entregar un enlace a internet más “limpio” a nuestros abonados y vamos a asegurar que nuestro servicio no cause molestias al resto de internet.</span></p></blockquote>
<h3><strong>Actualizacion automatica de listas BOGON:</strong></h3>
<p><a href="http://www.team-cymru.org/" target="_self">Team Cymu</a> es una organización sin fines de lucro encargada de enviar las listas actualizadas de bogons.<br />
El problema es que para hacer contacto directo con ellos e incluso lograr las configuraciones se necesita no solo hablar ingles sino además cumplir con varios requisitos. Al parecer con Mikrotik se terminan las complicaciones.</p>
<h3><strong>Reportaje a Ariel Weher:</strong></h3>
<p><strong>tech-nico: </strong>¿Hace cuanto tiempo comenzaron con el proyecto?.<br />
<strong><br />
Ariel Weher:</strong> Allá por mayo de 2008 dicte un mini cursito de BGP en el curso avanzado de mikrotik y les prometí que iba a pasarles alguna configuración de BGP que sirva para algo útil.</p>
<p>El Team Cymru viene con este proyecto Bogons desde hace rato, el tema es que en el momento del inicio del proyecto los requerimientos para que te conectes con ellos eran medios elevados; y yo vi que con Mikrotik era posible hacerlo bastante fácil, entonces nos pareció mas fácil conectarnos nosotros con todos nuestros equipos al cymru y desde ahí redistribuir a todos los pequeños ISP que usan mikrotik y que ellos lidien directamente con nosotros.</p>
<p>Yo particularmente hace varios años que estoy tratando de generar algún tipo de concientización entre los ISP, porque hoy nadie le da bola a la seguridad y a no tirar basura hacia Internet. Este proyecto Bogon, digamos que era el pie de entrada para después profundizar con otros temas mas complejos y eficaces.<br />
<strong><br />
tech-nico: </strong>Esto debe ocupar mucho de tu valioso tiempo y ustedes lo hacen con la mejor onda y free. ¿No ven esto a futuro como un negocio?.<br />
<strong><br />
Ariel Weher: </strong>Llevó bastante tiempo sobre todo la etapa de pruebas.<br />
No, el negocio es que a la larga, cuando todos se sumen a mi me va a llegar menos basura. Por ende, el mega de Internet (que es caro) va a ser un mega mas limpio, lo que implica multiplexarlo mas y al fin de cuentas es mas dinero.</p>
<h3>¿Alguna duda?</h3>
<p>Si, “Es Gratuito!!!” podes aportar muchísimo:</p>
<ul>
<li>No solo limpiar tu trafico basura, sino también el de todos nosotros. Una vez en funcionamiento, recibirás de forma automática la lista de Bogons y dependiendo del Sistema Operativo que uses, se vera como eliminar el trafico en tu caso. ( En el caso del Mikrotik RouterOS, los bogons tienen asignado un gateway falso entonces routean por dicho gateway y mueren).</li>
<li>También se puede participar como colaborador en el proyecto brindando acceso a tus routers para que el resto acceda como vos lo haces con ellos.<a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/listasruteobogons.gif"><img class="alignnone size-medium wp-image-156" title="listasruteobogons" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/listasruteobogons-263x300.gif" alt="" width="263" height="300" /></a></li>
</ul>
<h3>Me quiero sumar al proyecto, ¿cuales son los pasos a seguir?</h3>
<p><strong>1) </strong>Ingresamos a capaocho.net</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/capaocho.gif"><img class="alignnone size-medium wp-image-154" title="capaocho" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/capaocho-300x60.gif" alt="" width="300" height="60" /></a></p>
<p><strong>2) </strong>En la derecha buscamos “Súmate Ya”</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/click_sumate.gif"><img class="alignnone size-medium wp-image-155" title="click_sumate" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/06/click_sumate-300x213.gif" alt="" width="300" height="213" /></a></p>
<p><strong>3) </strong>Llegamos al formulario de adhesión. Solo completamos todos los datos que nos pide.<br />
<strong>4) </strong>Esperamos!. Ariel o Pablo se pondrán en contacto para pasarte las configuraciones.</p>
<p>Espero que todos tomemos conciencia de lo importante que seria si todos tenemos nuestro ancho de banda correctamente filtrado y limpio. <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Vamos!! Ayudemos!!!</p>
<p>_____________________</p>
<p>Nicolás<br />
<a href="http://www.tech-nico.com/blog" target="_blank">tech-nico.com/blog</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/Pazhi9m34TQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/limpiemos-internet-entre-todos-proyecto-bogon-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/limpiemos-internet-entre-todos-proyecto-bogon-server/</feedburner:origLink></item>
		<item>
		<title>Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders.</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/OiDMXirPsd4/</link>
		<comments>http://www.tech-nico.com/blog/galeria-de-fotos-en-flash-y-php-con-thumbs-gd-y-lectura-de-folders/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:07:58 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=132</guid>
		<description><![CDATA[Hace mucho tiempo tuve que crear una galería de fotos en flash y PHP ( que me saco de muchos apuros ). Lo particularmente bueno de esta galería es que levanta las fotos on the fly desde carpetas del servidor &#8230; <a href="http://www.tech-nico.com/blog/galeria-de-fotos-en-flash-y-php-con-thumbs-gd-y-lectura-de-folders/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo tuve que crear una galería de fotos en flash y PHP ( que me saco de muchos apuros ).<a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/galeria_flash.gif"><img class="size-medium wp-image-134 alignnone" style="border: 0pt none; margin: 2px 9px;" title="galeria_flash" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/galeria_flash-300x191.gif" alt="" width="300" height="191" /></a></p>
<p><strong>Lo particularmente bueno de esta galería es que levanta las fotos on the fly desde carpetas del servidor que creemos o ya estén creadas. Entonces el cliente mismo puede generar galerías de fotos simplemente creando carpetas por FTP y haciendo copy paste de las imágenes que desea subir. Algo muy practico y sencillo para los clientes no entendidos.<br />
</strong>Mi propósito principal fue evitar que alguien tenga que editar un FLA&#8230; o un XML o mas engorroso aun tener que armar un admin con upload para el manejo de la galería.</p>
<p>Características de la galería:</p>
<ul>
<li>Usa Flash para precarga de fotos.</li>
<li>Lee varias carpetas de fotos.</li>
<li>Paginación de fotos (20 x página).</li>
<li>Librería GD de php para generar los thumbs con cacheo para agilizar la carga.</li>
<li>No usa base de datos ni XML.</li>
<li>Fácil configuración y mantenimiento.</li>
</ul>
<p>Dentro de la carpeta &#8220;galery&#8221; debe haber 5 archivos y 1 carpeta llamada &#8220;images&#8221;. Se recomienda no cambiar el nombre de la carpeta. (De lo contrario la galería no funciona).</p>
<p><strong>galery_tech_nico.fla</strong><br />
Archivo editable de Flash contenedor de la galería de fotos.</p>
<p><strong>galery_tech_nico.swf</strong><br />
Este archivo es la galería de fotos compilada y lista para embeber en tu web.</p>
<p><strong>folderImages.php</strong><br />
Recibe como parámetro un string (&#8220;nombre de carpeta&#8221;) y recorre en el servidor las imágenes que esta contenga. Finalmente devuelve sus rutas a flash.</p>
<p><strong>folders.php</strong><br />
Recorre todo el directorio &#8220;images&#8221; y devuelve a flash los nombres, rutas, tamaño de cada una de las fotos y además la cantidad de fotos por directorio.</p>
<p><strong>thumb.php</strong><br />
Recibe varios parámetros como alto, ancho, etc. y devuelve la imagen resampleada para generar los thumbnail de la galería.</p>
<p><strong>INSTALACION:</strong><br />
1) Editar archivo <strong>galery_tech_nico.fla</strong>.<br />
Escribe el nombre de tu dominio</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/config.gif"><img class="alignnone size-medium wp-image-135" title="config" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/config-300x220.gif" alt="" width="300" height="220" /></a></p>
<p>2) Editar <strong>folderImages.php</strong> y <strong>folders.php</strong>.</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/floderimages.gif"><img class="alignnone size-medium wp-image-136" title="floderimages" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/floderimages-300x28.gif" alt="" width="300" height="28" /></a></p>
<p>Esta versión también tenia para postear comentarios en las fotos. Pero esa parte usa una base de datos MySQL así que verán que en el archivo de flash esta comentado. (Si alguien los necesita subo los archivos.).<br />
Se que tiene muchas cosas por mejorar, pero ya cumplió su ciclo <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2009/05/galery.rar">descargar galery</a></p>
<p>Nicolas<br />
______________________<br />
www.tech-nico.com/blog</p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/OiDMXirPsd4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/galeria-de-fotos-en-flash-y-php-con-thumbs-gd-y-lectura-de-folders/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/galeria-de-fotos-en-flash-y-php-con-thumbs-gd-y-lectura-de-folders/</feedburner:origLink></item>
		<item>
		<title>Notebook Dell Studio 15, una muy buena elección</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/hUqutu727ss/</link>
		<comments>http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 00:04:30 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[tecnología]]></category>
		<category><![CDATA[laptop]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=118</guid>
		<description><![CDATA[Después de 1 mes sin aparecer por aquí; me decidí por escribir un poquitito sobre una nueva adquisición como para entrar en ritmo de nuevo. Hace aproximadamente 1 mes, me llego la Studio 15, el laptop se caracteriza básicamente por &#8230; <a href="http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if !mso]><span class="mceItemObject"   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></span><br />
<mce:style><!  st1\:*{behavior:url(#ieooui) } --></p>
<p><!--[endif]--></p>
<p><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]-->Después de 1 mes sin aparecer por aquí; me decidí por escribir un poquitito sobre una nueva adquisición como para entrar en ritmo de nuevo.</p>
<p>Hace aproximadamente 1 mes, me llego la <strong>Studio 15</strong>, el laptop se caracteriza básicamente por su diseño exterior, que es 1 de los 4 diseños que pude elegir en el momento de la compra: En mi caso, es especie de dibujo abstracto como si estaría aerografiado sobre la tapa . Este diseño fue bautizado por ellos como “Algas Marinas”. Lo bueno de esto es que no solo compramos un diseño bonito, sino que estamos aportando un granito de arena para la campaña de HIV de África.</p>

<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01801_small/' title='dsc01801_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01801_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01801_small" title="dsc01801_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01785_small/' title='dsc01785_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01785_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01785_small" title="dsc01785_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01791_small/' title='dsc01791_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01791_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01791_small" title="dsc01791_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01784_small/' title='dsc01784_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01784_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01784_small" title="dsc01784_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01787_small/' title='dsc01787_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01787_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01787_small" title="dsc01787_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01795_small/' title='dsc01795_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01795_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01795_small" title="dsc01795_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01793_small/' title='dsc01793_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01793_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01793_small" title="dsc01793_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01798_small/' title='dsc01798_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01798_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01798_small" title="dsc01798_small" /></a>
<a href='http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/dsc01786_small/' title='dsc01786_small'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/04/dsc01786_small-150x150.jpg" class="attachment-thumbnail" alt="dsc01786_small" title="dsc01786_small" /></a>

<p>Caracteristicas tecnicas Generales:</p>
<p><strong>Procesador: </strong>Intel® Pentium® T3200 (2.0GHz/667Mhz FSB/1MB cache)<br />
<strong>Color: </strong>Algas Marinas<br />
<strong>Memoria RAM: </strong>3GB de Memoria Doble Canal Compartido DDR2 a 800MHz<br />
<strong>Teclado: </strong>Spanish Back-lit Keyboard<br />
<strong>Pantalla LCD: </strong>Pantalla Amplia Brillante de 15.4&#8243; WLED (1280&#215;800)<br />
<strong>Video: </strong>Acelerador de Medios Gráficos Intel 4500MHD<br />
<strong>Disco Rigido:</strong> Disco Duro SATA de 160GB (5400RPM)<br />
<strong>Combo or DVD+RW Driv</strong>e     8X Slot Load CD / DVD Burner (Dual Layer DVD+/-R Drive)<br />
<strong>Sonido: </strong> High Definition Audio 2.0<br />
<strong>Red Inalámbrica:</strong> Tarjeta Inalámbrica Dell 1397 802.11g Half Mini-Card<br />
<strong>Camara:</strong> Cámara Integrada de 2.0M Pixeles<br />
<strong>Bluetooth: </strong>Dell Bluetooth 370 Interno (2.1)<br />
<strong>Batería Principal</strong> de Ión de Litio de 6 celdas [56 Watt-Horas]<br />
<strong>3 años de garanía<br />
</strong></p>
<p>En el proximo post voy a dar detalles de sus pro y sus contra, como tambien algunas sorpresitas interesantes.</p>
<p>__________________<br />
Nicolas.!<br />
Blog <a href="http://www.tech-nico.com/blog" target="_blank">Tech-nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/hUqutu727ss" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/notebook-dell-studio-15-una-muy-buena-eleccion/</feedburner:origLink></item>
		<item>
		<title>Atacaron forosdelweb.com y maestrosdelweb.com</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/es_sCobC88k/</link>
		<comments>http://www.tech-nico.com/blog/hackearon-forosdelwebcom-y-maestrosdelwebcom/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 14:10:15 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=110</guid>
		<description><![CDATA[Cvander(Christian Van Der Henst): creador de estos renombrados sitios webs fue victima de un ataque en sus correos. (Muchos comentan que se trataria de alguien muy cercano a su entorno). forosdelweb.com y maestrosdelweb.com (los foros hispanos con mas trayectoria), quedaron &#8230; <a href="http://www.tech-nico.com/blog/hackearon-forosdelwebcom-y-maestrosdelwebcom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cvander(Christian Van Der Henst): creador de estos renombrados sitios webs fue victima de un ataque en sus correos. (Muchos comentan que se trataria de alguien muy cercano a su entorno).</p>
<p><a href="http://forosdelweb.com">forosdelweb.com</a> y <a href="http://maestrosdelweb.com">maestrosdelweb.com</a> (los foros hispanos con mas trayectoria), quedaron desde ayer fuera de linea, &#8220;en mantenimiento&#8221;. Hoy el sitio muestra un banner publicitario hacia otro sitio web (¿del atacante?).</p>
<p><strong>Robo de identidad:</strong><br />
Primero accedieron a su cuenta de correo, y desde allí comenzaron a acceder en cascada a todo lo que encontraron en su camino: Hosting godaddy, Facebook, Twitter de cvander. Posteriormente consiguieron acceso a su gmail.</p>
<p>El soporte técnico del Hosting godaddy.com se rehusó a ayudarlo. (Como si estarían involucrados en algo).</p>
<p>Para los que quieran dar una mano, tan solo enviando un mail o llenando un formulario, son solo 5 minutos para colaborar con alguien que quizás podrías haber sido vos. Voy a hacer hincapié en lo mismo que pide cristalab.com, que me parece genial.</p>
<ol type="1">
<li><a class="arti_link" href="http://getsatisfaction.com/godaddy/topics/return_stolen_domains_to_christian_van_der_henst_maestrosdelweb_com_and_forosdelweb_com">Dejarle claro acá a la gente de GoDaddy</a> que deben devolver los dominios a Christian.</li>
<li><a class="arti_link" href="https://www.godaddy.com/gdshop/support_submit_question.asp?app_hdr=&amp;ci=2200">Mandar un correo a la gente de GoDaddy</a> pidiendo el retorno del dominio.</li>
<li>Hacer ruido de esto.</li>
</ol>
<p>Recuerda siempre:<br />
1)  En proyectos grandes nunca usar hostings con acceso por panel de control publico.<br />
2)  Nunca uses las mismas contraseñas en ningun lado.<br />
3)  No agrupes todas tus contraseñas en 1 sola cuenta de correo.</p>
<p>_______________<br />
Nicolas: <a href="../../blog">Tech-nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/es_sCobC88k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/hackearon-forosdelwebcom-y-maestrosdelwebcom/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/hackearon-forosdelwebcom-y-maestrosdelwebcom/</feedburner:origLink></item>
		<item>
		<title>Me llego la remera de Ubiquiti :) de Taiwan</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/UpCXfpIjI3k/</link>
		<comments>http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 15:33:16 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[wisp]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=91</guid>
		<description><![CDATA[Hace un tiempo la gente de Ubiquiti comenzo a regalar remeras a los que participaban del foro; asi que me registre y me sente a esperar si en verdad enviarian mi remera hasta Argentina   y aca esta el sobre y la remera &#8230; <a href="http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo la gente de <a href="http://www.ubnt.com" target="_blank">Ubiquiti</a> comenzo a regalar remeras a los que participaban del foro; asi que me registre y me sente a esperar si en verdad enviarian mi remera hasta Argentina <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   y aca esta el sobre y la remera para que vean como llega.  Demoro aprox 2 meses.</p>
<p>1 2 3 4.. espectaculo.!.</p>

<a href='http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/t-shirt_paquete/' title='t-shirt_paquete'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/01/t-shirt_paquete-150x150.jpg" class="attachment-thumbnail" alt="frente del paquete" title="t-shirt_paquete" /></a>
<a href='http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/paquete_remera/' title='paquete_remera'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/01/paquete_remera-150x150.jpg" class="attachment-thumbnail" alt="parte de atras del paquete" title="paquete_remera" /></a>
<a href='http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/remera/' title='remera'><img width="150" height="150" src="http://www.tech-nico.com/blog/wp-content/uploads/2009/01/remera-150x150.jpg" class="attachment-thumbnail" alt="La remera es de muy buena calidad. Y los dibujos excelentes.-" title="remera" /></a>

<p>_______________<br />
Nicolas: <a href="http://www.tech-nico.com/blog">Tech-nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/UpCXfpIjI3k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/me-llego-la-remera-de-ubiquiti-de-taiwan/</feedburner:origLink></item>
		<item>
		<title>Telefónica dejó sin servicio durante 6hs a miles de personas en la capital pampeana</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/PqtSZOpFx5w/</link>
		<comments>http://www.tech-nico.com/blog/telefonica-dejo-sin-servicio-durante-6hs-a-miles-de-personas-en-la-capital-pampeana/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 17:53:40 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[soporte]]></category>
		<category><![CDATA[tecnico]]></category>
		<category><![CDATA[wisp]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=88</guid>
		<description><![CDATA[Tanto los usuarios de Speedy como los clientes de la CPENet ( Cooperativa Popular de Electricidad)  de Santa Rosa quedaron ayer a la deriva, y sin ningun tipo de respuestas por parte del soporte tecnico. Tambien quedaron afectados los clientes de &#8230; <a href="http://www.tech-nico.com/blog/telefonica-dejo-sin-servicio-durante-6hs-a-miles-de-personas-en-la-capital-pampeana/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tanto los usuarios de <a href="http://www.speedy.com.ar">Speedy</a> como los clientes de la <a href="http://www.cpenet.com.ar" target="_blank">CPENet</a> ( Cooperativa Popular de Electricidad)  de Santa Rosa quedaron ayer a la deriva, y sin ningun tipo de respuestas por parte del soporte tecnico. Tambien quedaron afectados los clientes de Movistar. Pueden leer la notica completa en el diario <a href="http://www.laarena.com.ar">La Arena</a>.</p>
<blockquote><p>El corte de un enlace que provee la conectividad del servicio de internet a los usuarios de la Cooperativa Popular de Electricidad, dejó ayer a sin esta prestación a miles de usuarios. Ha sido la interrupción más grave hasta el momento, por lo prolongado en el tiempo y la cantidad de personas afectadas.<br />
El corte de internet comenzó sobre las 15.00 horas y recién empezó a normalizarse cerca de las 22.00. Durante todas esas horas, los miles de usuarios se quedaron con un servicio que se ha convertido en indispensable para muchas empresas, y una rutina para miles de abonados&#8230;</p></blockquote>
<p><a href="http://www.laarena.com.ar/la_ciudad-un_colapso_de_internet_afecto_a_toda_la_provincia-28792-115.html">http://www.laarena.com.ar/la_ciudad-un_colapso_de_internet_afecto_a_toda_la_provincia-28792-115.html</a></p>
<p>Nicolas <a href="http://www.tech-nico.com/blog" target="_blank">Tech-Nico.com</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/PqtSZOpFx5w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/telefonica-dejo-sin-servicio-durante-6hs-a-miles-de-personas-en-la-capital-pampeana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/telefonica-dejo-sin-servicio-durante-6hs-a-miles-de-personas-en-la-capital-pampeana/</feedburner:origLink></item>
		<item>
		<title>Embeber Objetos Audio y Video con Ajax usando swfobject</title>
		<link>http://feedproxy.google.com/~r/tech-nico/~3/Q6IGERG3tR0/</link>
		<comments>http://www.tech-nico.com/blog/75/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 05:09:35 +0000</pubDate>
		<dc:creator>soporte</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wp_player]]></category>

		<guid isPermaLink="false">http://www.tech-nico.com/blog/?p=75</guid>
		<description><![CDATA[Algo realmente curioso e interesante es ver que el wp-standalone-player utiliza la funcion Javascript para embeber Objetos Flash usando DOM creado por &#8220;Geoff Stearns, Michael Williams, y Bobby van der Sluis&#8221; Casualmente es muy util para los que quieran embeber &#8230; <a href="http://www.tech-nico.com/blog/75/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Algo realmente curioso e interesante es ver que el wp-standalone-player utiliza la<br />
funcion Javascript para <a href="http://code.google.com/p/swfobject" target="_blank">embeber Objetos Flash usando DOM creado por &#8220;Geoff Stearns, Michael Williams, y Bobby van der Sluis&#8221;</a><br />
Casualmente es muy util para los que quieran embeber Objetos Flash mediante AJAX.<br />
Es un problema muy tipico el querer embeber video de youtube y que el innerHTML no funcione. (Sinceramente da muchos dolores de cabeza).<br />
Pero con este pequeño include llamado player.js de tan solo 11kb solucionamos todos nuestros problemas y podemos embeber indistintamente Objetos Flash (SWF) Locales, como URL de Objetos, como es el caso de los videos de Youtube.</p>
<p>Vamos a aclarar que salio una version de &#8220;<a title="WordPress Standalone Player" href="http://wpaudioplayer.com/standalone" target="_blank">WordPress Audio Player</a>&#8220; version standalone. Por lo tanto podemos customizarla y usarla en cualquiera de nuestros sitios webs (aunque no tengan WP instalado).</p>
<p><strong>Entonces hasta aca tenemos:</strong><br />
- Funcion JS para embeber objetos flash con DOM de 11 Kb.<br />
- Reproductor de audio WordPress Audio Player (Standalone)<br />
- Y una funcion para incluir Objetos Flash (mas especificamente Videos Youtube)</p>
<p><strong>Aqui abajo les muestro como implementarlo:</strong></p>
<blockquote><p><span style="color: #808080;"><em>&lt;!&#8211; HEADER &#8211;&gt;<br />
&lt;script src=&#8221;player/player.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
</em></span><br />
<em><span style="color: #808080;">&lt;script type=&#8221;text/javascript&#8221;&gt;  <br />
</span></em><em><span style="color: #808080;"> // VIDEO DE YOUTUBE<br />
 function show_video(element_descripcion, video_objeto, video_descripcion){<br />
     var div_element_descrip = document.getElementById(element_descripcion); <br />
     <span style="color: #ff9900;">audioplayer_swfobject.embedSWF</span>(video_objeto, &#8220;main_video&#8221;, &#8220;295&#8243;, &#8220;237&#8243;, &#8220;9.0.0&#8243;);<br />
     div_element_descrip.innerHTML = video_descripcion;<br />
 }</span></em></p>
<p><em><span style="color: #808080;"> // WP_STANDALONE_PLAYER ( la siguiente linea, invoca el audioPlayer )<br />
        </span><span style="color: #ff9900;">AudioPlayer.setup(&#8220;</span></em><a href="http://&lt;?php"><em><span style="color: #808080;">http://&lt;?php</span></em></a><span style="color: #808080;"><em> echo $tudominio; ?&gt;/player/player.swf&#8221;, {  <br />
                width: 290  <br />
        });   <br />
&lt;/script&gt;</em> </span></p></blockquote>
<p> Son 2 funciones totalmente distintas; la primera, <span style="color: #808080;"><em>show_video( )</em></span><span style="color: #000000;">, es la que usaremos para embeber video.  Y <span style="color: #808080;"><em>AudioPlayer.setup( )</em>,</span> es la que invoca al reproductor de audio. Lo que tienen en comun, es que ambas funciones utilizan el mismo Include <em><span style="color: #808080;">player.js</span></em> con el que embeben los tags usando DOM.</span></p>
<p><strong>En el Body:</strong></p>
<blockquote><p><span style="color: #808080;"><em>&lt;!&#8211; BODY &#8211;&gt;<br />
</em> <span style="text-decoration: underline;">&lt;!&#8211; audio player &#8211;&gt;</span><br />
<em><strong>&lt;p id=&#8221;audioplayer_1&#8243;&gt;Alternative content&lt;/p&gt;  <br />
</strong>&lt;script type=&#8221;text/javascript&#8221;&gt; <br />
                 AudioPlayer.embed(&#8220;audioplayer_1&#8243;, {soundFile: &#8220;</em></span><a href="http://&lt;?php"><span style="color: #808080;"><em>http://&lt;?php</em></span></a><span style="color: #808080;"><em> echo $tudominio;?&gt;/&lt;?php echo $ruta_de_tu_audio .&#8217;/&#8217;. $nombre_archivo; ?&gt;&#8221;,transparentpagebg: &#8220;yes&#8221;,titles: &#8220;descripcion del audio&#8221;});   <br />
&lt;/script&gt;</em>                                    </span></p>
<p><span style="color: #808080;"><em> </em><span style="text-decoration: underline;">&lt;!&#8211; video player &#8211;&gt;</span><br />
<em>&lt;script type=&#8221;text/javascript&#8221;&gt; <br />
          show_video(&#8216;video_descripcion&#8217;, &#8217;http://www.youtube.com/v/codigovideo&#8217;,  &#8216;la descripcion del video desde la base de datos&#8217;);<br />
&lt;/script&gt;<br />
</em><strong><em> &lt;div id=&#8221;main_video&#8221;&gt;&lt;/div&gt;<br />
 &lt;div id=&#8221;video_descripcion&#8221;&gt;&lt;/div&gt;</em></strong></span> </p></blockquote>
<p><span style="color: #000000;"><strong>Multiples Instancias:<br />
</strong><br />
Los contenedores para cada reproductor son los que estab en <strong>negrita</strong>.<br />
</span><span style="color: #000000;">Para agregar multiples reproductores de audio, solo basta con cambiar el ID del contenedor y duplicar el codigo. Para el caso del reproductor de video habria que hacer unas minimas modificaciones en la funcion <em><span style="color: #808080;">show_video( )</span></em></span><span style="color: #000000;"><span style="color: #000000;">, y pasandole como parametro el identificador del DIV podriamos tener multiples reproductores de video.</span></span></p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2008/12/video_player.gif"><img class="alignnone size-medium wp-image-77" title="Video Player" src="http://www.tech-nico.com/blog/wp-content/uploads/2008/12/video_player.gif" alt="" width="300" height="269" /></a></p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2008/12/audio_player.gif"><img class="alignnone size-medium wp-image-76" title="wp_player (standalone)" src="http://www.tech-nico.com/blog/wp-content/uploads/2008/12/audio_player.gif" alt="" width="288" height="63" /></a></p>
<p>Bien!. veran que es muy facil!!!</p>
<p><strong>UN TIP &gt; USAR YOUTUBE COMO SERVIDOR DE VIDEO STREAM:</strong><br />
Esto es para los que ahorramos ancho de banda. (Hoy en dia los que tienen reproductores de video propios insertados en su sitio web, estimo que es porque el sitio les da mucha ganancia)  <img src='http://www.tech-nico.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Lo que yo hice fue guardar toda las rutas de los videos de youtube en mi base de datos. Para ello, se me presento un inconveniente; las URL&#8217;s de los videos son diferentes a la URL de publicacion que estan en los tags.. se entiende?.</p>
<p>Ejemplo: esta es la URL del video que esta en la barra de direcciones del navegador, <a href="http://www.youtube.com/watch?v=Mxo9D_aTrx4">http://www.youtube.com/<span style="color: #ff0000;">watch?v=Mxo9D_aTrx4</span></a>. <em>(Esta URL NO FUNCIONA!).</em><br />
pero si miramos la URL del objeto a insertar:</p>
<p><span style="color: #808080;"><code>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="</code><br />
</span><a href="http://www.youtube.com/v/G8whC4Me8d4&amp;hl=en&amp;fs=1%22%3E%3C/param%3E%3Cspan"><span style="color: #808080;">http://www.youtube.com/<span style="color: #ff0000;">v/G8whC4Me8d4&amp;hl=en&amp;fs=1</span>&#8220;&gt;&lt;/param&gt; &lt;param</span></a><span style="color: #808080;"> name=&#8221;allowFullScreen&#8221; value=&#8221;true&#8221;&gt;&lt;/param&gt;&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;&gt;&lt;/param&gt; &lt;embed src=&#8221;</span><a href="http://www.youtube.com/v/G8whC4Me8d4&amp;hl=en&amp;fs=1"><span style="color: #808080;">http://www.youtube.com/v/G8whC4Me8d4&amp;hl=en&amp;fs=1</span></a><span style="color: #808080;">&#8221; type=&#8221;application/x-shockwave-flash&#8221; allowscriptaccess=&#8221;always&#8221; allowfullscreen=&#8221;true&#8221; width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;/embed&gt;&lt;/object&gt;<br />
</span><br />
Ja, si!  es totalmente distinta; en mi caso, necesitaba guardar solo la URL en el campo de la Base de datos, entonces <strong>lo que hice fue armar una expresion regular que me devuelva la URL del video de forma limpia</strong>.</p>
<p><code>function validate_youtube(text_element) {<br />
if (text_element.value != ""){<br />
var matches = "";<br />
var expression = /((http:\/\/)|(www\.[^ \[\]\(\)\n\r\t]+)|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})\/)([^ \[\]\(\),;\"'&lt;&gt;\n\r\t]+)([^\. \[\]\(\),;\"'&lt;&gt;\n\r\t])|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})/gi;<br />
var rx = new RegExp(expression);<br />
var str = text_element.value;<br />
matches = str.match(rx);<br />
text_element.value=matches[0];<br />
}<br />
}</code></p>
<p>La podes agregar en el textfield con el evento onChange, entonces cuando hagas &#8220;Copy/Paste&#8221; del codigo &lt;object&#8230;/object&gt; en el textbox de tu CMS, obtendras la URL on the fly.</p>
<p>Esto ultimo tambien podria hacerce mucho mejor con el API de google para Youtube, y se podrian obtener hasta los comentarios de los videos (estuve viendo el codigo y no es para nada dificil). Pero yo necesitaba una solucion sencilla y rapida, asi que dejamos el API para el Upgrade del sitio.</p>
<p><a href="http://www.tech-nico.com/blog/wp-content/uploads/2008/12/player.rar">descargar archivos</a></p>
<p>Nicolas. <a href="http://www.tech-nico.com/blog/2008/12/03/75/">tech-nico.com/blog</a></p>
<img src="http://feeds.feedburner.com/~r/tech-nico/~4/Q6IGERG3tR0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tech-nico.com/blog/75/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tech-nico.com/blog/75/</feedburner:origLink></item>
	</channel>
</rss>
