<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.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>TutsNT</title>
	
	<link>http://www.tutsnt.com</link>
	<description>Tips de Desarrollo Web y más...</description>
	<lastBuildDate>Thu, 23 Feb 2012 05:26:29 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tutsnt" /><feedburner:info uri="tutsnt" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>tutsnt</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Versión móvil de tu sitio con PHP</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/jDazB3JGLQA/</link>
		<comments>http://www.tutsnt.com/progra/php/version-movil-de-tu-sitio-con-php/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 23:44:47 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[User agent]]></category>
		<category><![CDATA[Vista móvil]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=490</guid>
		<description><![CDATA[Casi todos los Webmasters Redireccionan sus páginas web a otras páginas adaptadas para dispositivos móviles solo si el usuario entrante está en línea desde su Smartphone. Varían los modos de detectar de donde proviene la conexión pero la mas eficaz es analizando los Headers enviados por el visitante. Con esta<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/php/version-movil-de-tu-sitio-con-php/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/movil.png?9d7bd4"><img class="alignleft size-medium wp-image-492" src="http://www.tutsnt.com/wp-content/uploads/2012/02/movil-300x271.png?9d7bd4" alt="" width="300" height="271" /></a>Casi todos los <strong>Webmasters</strong> Redireccionan sus páginas web a otras páginas adaptadas para dispositivos <strong>móviles</strong> solo si el usuario entrante está en línea desde su <strong>Smartphone</strong>. Varían los modos de detectar de donde proviene la conexión pero la mas eficaz es analizando los <strong>Headers</strong> enviados por el visitante.</p>
<p>Con esta función <strong>Funci</strong><strong>ó</strong>n que muestro a continuación, se realizará de forma sencilla, empieza por detectar los <strong>Headers</strong>, luegos los analiza y nos da los resultados.<br />
Si el usuario está conectado desde su <strong>Android</strong>, <strong>Iphone</strong>, <strong>Windows Mobile</strong> será redireccionado a otra página muy ligera y adaptada para su dispositivo.<br />
El <strong>código</strong> está programado para los <a href="http://es.wikipedia.org/wiki/Agente_de_usuario"><strong>user agent</strong> </a> de las marcas más conocidas de teléfonos móviles.</p>
<p><strong>La Función</strong>:</p>
<pre>function isMobile()
{
 if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE']))
 return true;
 if (isset ($_SERVER['HTTP_ACCEPT']))
 {
 $accept = strtolower($_SERVER['HTTP_ACCEPT']);
 if (strpos($accept, 'wap') !== false)
 return true; function isMobile() {
if(isset($_SERVER["HTTP_X_WAP_PROFILE"])) {
return true;
}
if(preg_match("/wap.|.wap/i",$_SERVER["HTTP_ACCEPT"])) {
return true;
}
if(isset($_SERVER["HTTP_USER_AGENT"])){
$user_agents = array("midp", "j2me", "avantg", "docomo", "novarra", "palmos","android","palmsource", "240x320", "opwv", "chtml", "pda", "windows ce", "mmp/", "blackberry", "mib/", "symbian", "wireless", "nokia", "hand", "mobi", "phone", "cdm", "up.b", "audio", "SIE-", "SEC-", "samsung", "HTC", "mot-", "mitsu", "sagem", "sony", "alcatel", "lg", "erics", "vx", "NEC", "philips", "mmm", "xx", "panasonic", "sharp", "wap", "sch", "rover", "pocket", "benq", "java", "pt", "pg", "vox", "amoi", "bird", "compal", "kg", "voda", "sany", "kdd", "dbt", "sendo", "sgh", "gradi", "jb", "dddi", "moto");
foreach($user_agents as $user_string){
if(preg_match("/".$user_string."/i",$_SERVER["HTTP_USER_AGENT"])) {
return true;
}
}
}
if(preg_match("/iphone/i",$_SERVER["HTTP_USER_AGENT"])) {
return false;
}
return false;
}
 }
 if (isset ($_SERVER['HTTP_USER_AGENT']))
 {
 if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false)
 return true;
 if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false)
 return true;
 }
 return false;
}</pre>
<p>Si nos conectamos desde un <strong>Movil</strong> nos devolverá la valor <strong>True</strong> y si es al contrario nos dara la valor <strong>False</strong>.<br />
Ahora supongamos que la versión móvil de la pagina este en un subdominio, entonces se hace el redireccionamiento de la siguiente manera:</p>
<pre>if (isMobile()) {
header('Location: http://m.tutsnt.com');
}</pre>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/jDazB3JGLQA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/php/version-movil-de-tu-sitio-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/php/version-movil-de-tu-sitio-con-php/</feedburner:origLink></item>
		<item>
		<title>Asegurar el envío de variables POST y GET en PHP</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/eEv_za3NieQ/</link>
		<comments>http://www.tutsnt.com/progra/php/asegurar-el-envio-de-variables-post-y-get-en-php/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 01:50:27 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=480</guid>
		<description><![CDATA[Proteger el script web de todas las amenazas hacker es la prioridad principal de todo programador. Cuando alguna empresa contrata los servicios de algún desarrollador , en primer lugar suelen exigir la Seguridad de las aplicaciones. En nuestro caso os enseñare a proteger de forma sencilla un script PHP y para ser<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/php/asegurar-el-envio-de-variables-post-y-get-en-php/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/PHP-Virus.jpg?9d7bd4"><img class="alignleft size-medium wp-image-481" src="http://www.tutsnt.com/wp-content/uploads/2012/02/PHP-Virus-287x300.jpg?9d7bd4" alt="" width="287" height="300" /></a><strong>Proteger</strong> el script web de todas las amenazas <strong>hacker</strong> es la prioridad principal de todo programador. Cuando alguna empresa contrata los servicios de algún desarrollador , en primer lugar suelen exigir la <strong>Seguridad </strong>de las aplicaciones.<br />
En nuestro caso os enseñare a proteger de forma sencilla un script <strong>PHP</strong> y para ser más exactos aprenderéis como asegurar las variables <strong>POST</strong> y <strong>GET</strong>, las cuales son las principales causas de invulnerabilidades en el script como las famosas<strong> Sql Injection XSS</strong>.<br />
Para esto, se ha implementado un código que nos proporcionara el 99% de seguridad en las entradas <strong>POST</strong> y <strong>GET </strong> (El 100% de seguridad es imposible).</p>
<p><strong>Código PHP.</strong></p>
<pre>&lt;?php if(count($_GET)&gt;0)
{
 foreach($_GET as $key=&gt;$value)
 {
 $_GET[$key]=(is_int($value))?intval($value):addslashes(trim($value));
 }
}
if(count($_POST)&gt;0)
{
 if (preg_match("/" . $_SERVER['SERVER_NAME'] . "/i",$_SERVER['HTTP_REFERER']))
 {
 foreach($_POST as $key=&gt;$value)
 {
 $_POST[$key]=(is_int($value))?intval($value):addslashes(trim($value));
 }
 }
 else $_POST = NULL;
} ?&gt;</pre>
<p>Tras implementar este código después de <strong><span style="color: #ff0000;">&lt;?php</span></strong>,todas las entradas del script estarán aseguradas automáticamente, porque el código recupera todos los <strong>POST</strong> y <strong>GET</strong> del script, los filtra y los vuelve a enviar.</p>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/eEv_za3NieQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/php/asegurar-el-envio-de-variables-post-y-get-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/php/asegurar-el-envio-de-variables-post-y-get-en-php/</feedburner:origLink></item>
		<item>
		<title>Teléfonos HTC actualizados a Ice Cream Sandwich</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/FJZXv8Auxoo/</link>
		<comments>http://www.tutsnt.com/articulos/telefonos-htc-actualizados-a-ice-cream-sandwich/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 23:16:58 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Ice Cream Sandwich]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=447</guid>
		<description><![CDATA[Todos quieren Ice Cream en sus dispositivos Android, y todos preguntan si sus Smartphones serán actualizados a esta versión tan esperada. La respuesta a esta pregunta es muy difícil y varias empresas como LG &#38; MOTOROLA  no nos dan respuestas explicitas y claras así que tenemos que llegar a conclusiones<a title="Continuar leyendo..." href="http://www.tutsnt.com/articulos/telefonos-htc-actualizados-a-ice-cream-sandwich/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Android-icecream-sandwich" src="http://www.tutsnt.com/wp-content/uploads/2012/02/Android-icecream-sandwich.jpg?9d7bd4" alt="" width="217" height="252" />Todos quieren <strong>Ice Cream</strong> en sus dispositivos <strong>Android</strong>, y todos preguntan si sus <strong>Smartphones</strong> serán actualizados a esta versión tan esperada. La respuesta a esta pregunta es muy difícil y varias empresas como <strong>LG</strong> &amp; <strong>MOTOROLA  </strong>no nos dan respuestas explicitas y claras así que tenemos que llegar a conclusiones nosotros mismos en la mayoría de los casos. <strong>Samsung</strong> fue la más clara y la mejor al afirmar que todos sus <strong>móviles de doble núcleo</strong> creados en el 2011 serán actualizados a <strong>Ice Cream Sandwich</strong>.</p>
<p>Sin embargo <strong>HTC</strong> cada poco desvela 2 o 3 <strong>teléfonos</strong> que serán actualizados a la última versión de <strong>Android</strong>. Así que en este artículo les dejare la lista de <strong>teléfonos HTC</strong> que serán actualizados a la mejor versión <strong>Android</strong> hasta ahora:</p>
<p><strong>Actualizaciones Confirmadas</strong>:</p>
<ul>
<li>HTC Sensation</li>
<li>HTC Sensation 4G</li>
<li>HTC Sensation XE</li>
<li>HTC Sensation XL</li>
<li>HTC Rezound</li>
<li>HTC Vivid</li>
<li>HTC Amaze 4G</li>
<li>HTC EVO 3D</li>
<li>HTC EVO Design 4G</li>
<li>HTC Flyer</li>
<li>HTC Desire S</li>
<li>HTC Incredible S</li>
<li>DROID Incredible 2</li>
<li>HTC Thunderbolt</li>
<li>HTC Rhyme</li>
<li>HTC Desire HD</li>
<li>HTC Explorer</li>
</ul>
<p><strong>Actualizaciones Previstas</strong>:</p>
<ul>
<li>HTC Desire Z</li>
<li>T-Mobile G2</li>
<li>HTC Inspire 4G</li>
<li>myTouch 4G</li>
<li>myTouch 4G Slide</li>
<li>HTC Hero S</li>
<li>HTC Merge</li>
<li>HTC EVO Shift 4G</li>
</ul>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/FJZXv8Auxoo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/articulos/telefonos-htc-actualizados-a-ice-cream-sandwich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/articulos/telefonos-htc-actualizados-a-ice-cream-sandwich/</feedburner:origLink></item>
		<item>
		<title>Crear un TimeLine estilo Facebook con CSS y jQuery</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/_TCUUC0X3Pw/</link>
		<comments>http://www.tutsnt.com/progra/javascript/crear-un-timeline-estilo-facebook-con-css-y-jquery/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 23:03:28 +0000</pubDate>
		<dc:creator>Neysi</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[JavasScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Timeline]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=452</guid>
		<description><![CDATA[Hoy no será un día como los demás, porque les enseñaré como diseñar un Timeline como Facebook. Este último arrasó desde su lanzamiento hace aproximadamente tres meses y se convirtió en el sueño de cualquier programador Web. El Timeline de Facebook gano terreno con su simplicidad y buen diseño. Lo<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/javascript/crear-un-timeline-estilo-facebook-con-css-y-jquery/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hoy no será un día como los demás, porque les enseñaré como diseñar un Timeline como Facebook. Este último arrasó desde su lanzamiento hace aproximadamente tres meses y se convirtió en el sueño de cualquier programador Web. El Timeline de Facebook gano terreno con su simplicidad y buen diseño.</p>
<p style="text-align: justify;">Lo que haremos en este artículo será algo muy exclusivo, les mostraré paso a paso y con imágenes explicativas como programar el Timeline. Utilizaremos CSS &amp; el Framework jQuery.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/1.png?9d7bd4"><img class="aligncenter size-full wp-image-453" title="1" src="http://www.tutsnt.com/wp-content/uploads/2012/02/1.png?9d7bd4" alt="" width="550" height="300" /></a></p>
<h2>Paso 1: Crear diseño HTML.</h2>
<p>Primero crearemos un elemento DIV, La ID la llamaremos container. Luego creamos DIVS múltiples y le damos a la Class el valor ítem.</p>
<pre>&lt;div id="container"&gt;
&lt;div&gt;1&lt;/div&gt;
 &lt;div&gt;2&lt;/div&gt;
 &lt;div&gt;3&lt;/div&gt;
 &lt;div&gt;4&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Agregamos un poco de CSS para mejorar el diseño.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/2.png?9d7bd4"><img class="aligncenter size-full wp-image-454" title="2" src="http://www.tutsnt.com/wp-content/uploads/2012/02/2.png?9d7bd4" alt="" width="550" height="365" /></a></p>
<p><strong>Codigo CSS:</strong></p>
<pre>#container{width:860px; margin: 0 auto; }
 .item {
 width: 408px;
 margin: 20px 10px 10px 10px;
 float: left;
 background-color:#ffffff;
 border:solid 1px #B4BBCD;
 min-height:50px;
 text-align:justify;
 word-wrap:break-word;
 }</pre>
<h2>Paso 2: Quitar los espacios.</h2>
<p>Usaremos el plugin <a href="http://masonry.desandro.com/">Mansory</a> para eliminar los espacios entre las DIVS.</p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/
 ajax/libs/jquery/<strong>1.5</strong>/jquery.min.js"&gt;&lt;/script&gt;
 &lt;script type="text/javascript" src="jquery.masonry.min.js"/&gt;
 &lt;script type="text/javascript" &gt;
 $(<strong>function</strong>()
 {
 $('#container').masonry({itemSelector : '.item',});
 });
 &lt;/script&gt;</pre>
<p>Después de utilizar el plugin Mansory:</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/3.png?9d7bd4"><img class="aligncenter size-full wp-image-455" title="3" src="http://www.tutsnt.com/wp-content/uploads/2012/02/3.png?9d7bd4" alt="" width="550" height="365" /></a></p>
<h2>Paso 3: Navegador Timeline.</h2>
<p>Ahora crea un “<em>timeline_container” DIV dentro del DIV “container”. Este DIV contendrá un segundo Div, lo llamaremos </em>“plus”</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/4.png?9d7bd4"><img class="aligncenter size-full wp-image-456" title="4" src="http://www.tutsnt.com/wp-content/uploads/2012/02/4.png?9d7bd4" alt="" width="550" height="365" /></a></p>
<pre>&lt;div id="container"&gt;
 &lt;div&gt;
 &lt;div&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div&gt;1&lt;/div&gt;
 --------
 --------

 &lt;/div&gt;</pre>
<p>Ahora insertaremos un código Javascript para centrar el navegador del Timeline.</p>
<pre>$('.timeline_container').mousemove(<strong>function</strong>(e)
 {
 <strong>var</strong> topdiv=$("#containertop").height();
 <strong>var</strong> pag= e.pageY - topdiv-26;
 $('.plus').css({"top":pag +"px", "background":"url('images/plus.png')","margin-left":"1px"});}).
 mouseout(<strong>function</strong>()
 {
 $('.plus').css({"background":"url('')"});
 });</pre>
<p>Y un poco de CSS para dar estilo.</p>
<pre>.timeline_container{
 width: 16px;
 text-align: center;
 margin: 0 auto;
 cursor:pointer;
 display: block;
 }
 .timeline{
 margin: 0 auto;
 background-color:#e08989;
 display: block;
 float: left;
 height: 100%;
 left: 428px;
 margin-top: 10px;
 position: absolute;
 width: 4px;
 }
 .timeline:hover{cursor: pointer;margin: 0 auto;}
 .timeline div.plus{width: 14px;height: 14px;position: relative;left: -6px;}</pre>
<h2>Paso 4: Inyección de flechas en los contenedores.</h2>
<p>Buscaremos los contenedores con este código <em>$(&#8216;#container&#8217;).find(&#8216;.item&#8217;) y luego inyectaremos las flechas </em></p>
<pre><strong>function</strong> <strong>Arrow_Points</strong>()
 { 
 var s = $('#container').find('.item');
 $.each(s,<strong>function</strong>(i,obj){
 <strong>var</strong> posLeft = $(obj).css("left");
 $(obj).addClass('borderclass');
 if(posLeft == "0px")
 {
 html = "&lt;span class='rightCorner'&gt;&lt;/span&gt;";
 $(obj).prepend(html); 
 }
 else
 {
 html = "&lt;span class='leftCorner'&gt;&lt;/span&gt;";
 $(obj).prepend(html);
 }
 });
 }</pre>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/5.png?9d7bd4"><img class="aligncenter size-full wp-image-457" title="5" src="http://www.tutsnt.com/wp-content/uploads/2012/02/5.png?9d7bd4" alt="" width="550" height="365" /></a></p>
<p><strong>Código CSS:</strong></p>
<pre>.rightCorner { 
 background-image: url("images/right.png");
 display: block;
 height: 15px;
 margin-left: 408px;
 margin-top: 8px;
 padding: 0;
 vertical-align: top;
 width: 13px;
 z-index:2;
 position: absolute;
 }
 .leftCorner{
 background-image: url("images/left.png");
 display: block;
 height: 15px;
 width: 13px;
 margin-left: -13px;
 margin-top: 8px;
 position: absolute;
 z-index:2;
 }</pre>
<h2>Paso 5: Bloque de eliminación.</h2>
<p>Añadiremos Link para eliminar los contenedores seleccionados por el usuario.</p>
<pre>&lt;div id="container"&gt;

 &lt;div&gt;
 &lt;a href='#' class='deletebox'&gt;X&lt;/a&gt;
 1
 &lt;/div&gt;
 &lt;div&gt;
 &lt;a href='#' class='deletebox'&gt;X&lt;/a&gt;
 2
 &lt;/div&gt;
 -----------
 -----------
 -----------

 &lt;/div&gt;</pre>
<p><strong>Código Javascript:</strong></p>
<pre>$(".deletebox").live('click',<strong>function</strong>()
 {
 if(confirm("Are your sure?"))
 {
 $(<strong>this</strong>).parent().fadeOut('slow'); 
 $('#container').<strong>masonry</strong>( 'remove', $(<strong>this</strong>).parent() );
 $('#container').<strong>masonry</strong>( 'reload' );
 $('.rightCorner').hide();
 $('.leftCorner').hide();
 <strong>Arrow_Points</strong>();
 }
 return false;
 });</pre>
<h2>Paso 6: Contenedor para añadir estado.</h2>
<pre>&lt;div id="container"&gt;

 &lt;div&gt;1&lt;/div&gt;
 --------
 --------

 &lt;div id="popup" class='shade'&gt;
 &lt;div &gt; &lt;/div&gt;
 Que hay de Nuevo?
 &lt;textarea id='update'&gt;&lt;/textarea&gt;
 &lt;input type='submit' value=' Update ' id='update_button'/&gt;
 &lt;/div&gt;
 &lt;/div&gt;</pre>
<p><strong>Código Javascript:</strong></p>
<pre>$(".timeline_container").click(<strong>function</strong>(e)
 {
 <strong>var</strong> topdiv=$("#containertop").height();
 $("#popup").css({'top':(e.pageY-topdiv-33)+'px'});
 $("#popup").fadeIn();
$("#update").focus();
 }); 
 $("#popup").mouseup(<strong>function</strong>() {<strong>return false</strong>});
 $(document).mouseup(<strong>function</strong>(){$('#popup').hide();});
 $("#update_button").live('click',<strong>function</strong>()
 {
 <strong>var</strong> x=$("#update").val();
 $("#container").prepend('&lt;div class="item"&gt;&lt;a href="#" class="deletebox"&gt;X&lt;/a&gt;'+<strong>x</strong>+'&lt;/div&gt;');
 $('#container').<strong>masonry</strong>( 'reload' );
 $('.rightCorner').hide();
 $('.leftCorner').hide();
 <strong>Arrow_Points</strong>();
 $("#update").val('');
 $("#popup").hide();
 return false;
 });</pre>
<p><strong>Código</strong><strong> CSS:</strong></p>
<pre>#popup{ 
 display: block;width: 408px;
 float: left;margin-top:10px;
 background-color:#ffffff;
 border:solid 1px #A9B6D2;
 min-height:60px;display:none;
 position:absolute;margin:10px;
 }</pre>
<p>Ya tenemos nuestro Timeline finalizado solo queda <strong><a href="http://www.tutsnt.com/timeline/">ver la demostración</a> </strong>o<strong> <a href="http://http://www.tutsnt.com/timeline/Demo_timeline.zip">Descargar el ejemplo.</a></strong></p>
<blockquote><p>Tutorial original por <strong>9lessons</strong>, publicado con autorización oficial.</p></blockquote>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/_TCUUC0X3Pw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/javascript/crear-un-timeline-estilo-facebook-con-css-y-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/javascript/crear-un-timeline-estilo-facebook-con-css-y-jquery/</feedburner:origLink></item>
		<item>
		<title>Hoy Facebook con problemas de Phishing  (19.02.2012)</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/JvPWazgOjqk/</link>
		<comments>http://www.tutsnt.com/articulos/hoy-facebook-con-problemas-de-phishing-19-02-2012/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 04:39:40 +0000</pubDate>
		<dc:creator>Neysi</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Perfiles FB]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=423</guid>
		<description><![CDATA[A estas horas Facebook está siendo víctima del phishing masivo. Miles de usuarios  están teniendo problemas al intentar acceder a sus perfiles en esta popular red social. Muchas cuentas al estar haciendo uso Facebook, de repente sus sesiones son cerradas, advirtiéndoles que su cuenta esta siendo usada con fines maliciosos. Your Account has<a title="Continuar leyendo..." href="http://www.tutsnt.com/articulos/hoy-facebook-con-problemas-de-phishing-19-02-2012/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>A estas horas <strong>Facebook</strong> está siendo víctima del <strong>phishing </strong>masivo. Miles de usuarios  están teniendo problemas al intentar acceder a sus perfiles en esta popular red social.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/521128444.png?9d7bd4"><img class="aligncenter size-full wp-image-425" title="521128444" src="http://www.tutsnt.com/wp-content/uploads/2012/02/521128444.png?9d7bd4" alt="" width="320" height="127" /></a>Muchas cuentas al estar haciendo uso Facebook, de repente sus <strong>sesiones son cerradas</strong>, advirtiéndoles que su cuenta esta siendo usada con<strong> fines maliciosos</strong>.</p>
<blockquote><p><strong>Your Account has been temporarily suspended</strong></p>
<p>Suspicious activity has been detected on your Facebook account and it has been temporarily suspended as a security precaution. It is likely that your account was compromised as a result of entering your password on a website designed to look like Facebook.</p></blockquote>
<p>Los usuarios esta muy preocupados por su información personal, quejándose a través de los foros , blogs twitter y otros medios. Hasta el momento el<strong> blog oficial de Facebook</strong> no se ha reportado, sobre este problema, esperamos en las próximas horas lo haga y se solucione este inconveniente.</p>
<p>Una solución práctica es intentar ingresar a su cuenta; para comprobar tu identidad,  le pedirá ingresar un <strong>código <a title="¿Qué es captcha ?" href="http://es.wikipedia.org/wiki/Captcha">captcha</a> </strong>después identificar a 5 amigos por sus fotos, finalmente hacer un <strong>cambio de contraseña. </strong>El problema queda parcialmente solucionado.</p>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/JvPWazgOjqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/articulos/hoy-facebook-con-problemas-de-phishing-19-02-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/articulos/hoy-facebook-con-problemas-de-phishing-19-02-2012/</feedburner:origLink></item>
		<item>
		<title>Las pantallas OLED y sus ventajas</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/abDG6e0Yc1o/</link>
		<comments>http://www.tutsnt.com/articulos/las-pantallas-oled-y-sus-ventajas/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 23:20:11 +0000</pubDate>
		<dc:creator>Neysi</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[OLED]]></category>
		<category><![CDATA[Samsung TVs]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=413</guid>
		<description><![CDATA[Las nuevas pantallas OLED son una de las novedades más curiosas y llamativas que han salido al mercado no hace mucho. OLED quiere decir: diodo orgánico emisor de luz, asi que podremos tener en nuestras manos una pantalla tan delgada como la hoja de un papel. La tecnología OLED se<a title="Continuar leyendo..." href="http://www.tutsnt.com/articulos/las-pantallas-oled-y-sus-ventajas/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Las nuevas <strong>pantallas OLED</strong> son una de las novedades más curiosas y llamativas que han salido al mercado no hace mucho. <em>OLED quiere decir</em>: diodo orgánico emisor de luz, asi que podremos tener en nuestras manos una pantalla tan delgada como la hoja de un papel.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/hp-oled-flexible.jpg?9d7bd4"><br />
<img class="aligncenter" title="hp-oled-flexible" src="http://www.tutsnt.com/wp-content/uploads/2012/02/hp-oled-flexible.jpg?9d7bd4" alt="" width="427" height="440" /></a></p>
<p>La tecnología OLED se basa en <strong>puntos de luz orgánicos</strong>. Si transmitimos sólo un poco de electricidad, se encienden  de forma que si lo que buscamos es una imagen en negro, dejan de emitir luz y se apagan. Esto es uno de los pilares del <strong>bajo consumo</strong> y gran <strong>calidad de imagen</strong> que ofrecen estas pantallas. Un elemento OLED apagado no produce luz, por lo tanto, no consume.</p>
<p>Estas pequeñas bombillas <em>tardan mucho en fundirse y tiran poco de la energía</em>. Que cada punto de luz sea independiente y que para conseguir el negro haya una ausencia de total de la misma, hace que su <strong>contraste sea mayor</strong> y su calidad de imagen muy mejorada.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/psp-pantalla-oled.jpg?9d7bd4"><img class="aligncenter" title="psp-pantalla-oled" src="http://www.tutsnt.com/wp-content/uploads/2012/02/psp-pantalla-oled.jpg?9d7bd4" alt="" width="351" height="313" /></a></p>
<p>Por el contrario, las pantallas<strong> LCD</strong>, tan vendidas hasta ahora, pierden estas cualidades ya que <em>no muestran un verdadero color negro</em>. Lo componen de luz y esto hace que al mismo tiempo, consuman más energía.</p>
<p>Además del bajo consumo, mayor ángulo de visión y sus colores más vivos y brillantes, la tecnología de las pantallas <strong>OLED</strong> nos ofrece dos <strong>grandes ventajas</strong>. Una es el<span style="text-decoration: underline;"> grosor</span> tan mínimo que alcanzan, hablamos de hasta sólo 3 mm. Y quizá la más destacada es su<span style="text-decoration: underline;"> flexibilidad</span>. Podemos romper parte de la pantalla que seguirá funcionando, podemos incluso doblarla hasta hacernos una pulsera, que la pantalla continuará  intacta.</p>
<p>Todavía está en proceso de investigación y fabricación para <strong>mejorar algunos aspectos</strong>, y es que la duración es menor si las comparamos con las pantallas LCD. No hay que desanimarse por que <em>las compañías ya están intentando mejorar</em> este detalle alargando la duración de los puntos de luz azules, que son el gran inconveniente.</p>
<p><strong>Samsung</strong>, que ya ha sacado una pantalla de 31 pulgadas y 4 mm de grosor, se ha aliado con el fabricante Corling para mejorar aún más el bajo consumo y la flexibilidad, utilizando la tecnología <em>Lotus Glass</em>.</p>
<p><strong>Sony</strong> se ha retirado del mercado de ventas por la escasez de las mismas, y es que las pantallas OLED aún están en desarrollo y su coste todavía es muy elevado. Se espera que, no en mucho tiempo, sean la base de los diseños que actualmente se limitan por la rigidez de las pantallas.</p>
<p>Es un proyecto de mejora muy ambicioso que se centrará, a partir de ahora, en las <strong>tablets y smartphones</strong>, para quitarnos ese miedo de que se nos caiga al suelo y se rompa y para tener en nuestro teléfono móvil la tecnología más puntera con mayor calidad y menor consumo.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/new-psp2.jpg?9d7bd4"><img class="aligncenter" title="new-psp2" src="http://www.tutsnt.com/wp-content/uploads/2012/02/new-psp2.jpg?9d7bd4" alt="" width="468" height="395" /></a></p>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/abDG6e0Yc1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/articulos/las-pantallas-oled-y-sus-ventajas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/articulos/las-pantallas-oled-y-sus-ventajas/</feedburner:origLink></item>
		<item>
		<title>¿PHP6 Muerto?</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/9fHqIktXIx4/</link>
		<comments>http://www.tutsnt.com/progra/php/php6-muerto/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 23:08:07 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[PHP 6]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=405</guid>
		<description><![CDATA[¿PHP6 Muerto?  Es la pregunta más preguntada por los programadores en estos últimos años. Esta versión de PHP fue esperada durante 6 años por todos los desarrolladores web, pero esta famosa versión nunca verá la luz. Obviamente no es una noticia impactante porque la esperábamos para el 2008. Si esta<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/php/php6-muerto/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><strong>¿PHP6 Muerto?</strong>  Es la pregunta más preguntada por los programadores en estos últimos años. Esta versión de <strong>PHP</strong> fue esperada durante <strong>6 años</strong> por todos los desarrolladores web, pero esta famosa versión nunca verá la luz.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/php6_1.gif?9d7bd4"><img class="aligncenter size-full wp-image-406" style="border-style: initial; border-color: initial;" src="http://www.tutsnt.com/wp-content/uploads/2012/02/php6_1.gif?9d7bd4" alt="" width="350" height="270" /></a></p>
<p>Obviamente no es una noticia impactante porque la esperábamos para el <strong>2008</strong>.</p>
<p style="text-align: justify;">Si esta versión es tan soñada  por los programadores, solo es por una razón: la inclusión de <strong>Unicode(UTF-16)</strong>. Pero parece que este sueño se ha convertido en una pesadilla, el desarrollo de esta versión se volvió caótico. La introducción del soporte nativo para Unicode requiere un cambio profundo en  <strong>PHP</strong>. Lo que llevo a grandes problemas y pérdidas de tiempo. Día a día este proceso se convierte en más complejo.</p>
<p style="text-align: justify;">Ha sido entonces una reacción en cadena, los programaores de <strong>PHP</strong> pasaban muchísimo tiempo en <strong>V6</strong> lo que desaceleró el proceso de actualización de la V5, entonces no avanzaban en nada por lo tanto <strong>Rasmus Lerdorf </strong>(Creador De PHP) tomo la fuerte decisión de frenar el desarrollo de <strong>PHP6.</strong></p>
<p><strong>¿Entonces que hay con los cambios que nos prometieron?</strong></p>
<p>La mayoría de los cambios prometidos para <strong>V6</strong> han sido trasladados a la <strong>V5.4</strong>.</p>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/9fHqIktXIx4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/php/php6-muerto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/php/php6-muerto/</feedburner:origLink></item>
		<item>
		<title>Lector de Feed RSS con PHP, Muy fácil.</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/JEnGWGNQT1M/</link>
		<comments>http://www.tutsnt.com/progra/php/lector-de-feed-rss-con-php-muy-facil/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 19:39:05 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Feed]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=386</guid>
		<description><![CDATA[En este artículo les explicaré como programar con PHP un lector de RSS de formato XML que puede leer hasta el infinito de RSS. Utilizaremos una Clase que está construido a base de la Función simplexml_load_file, lo que hace la Función es analizar el código XML y dividirlo en segmentos. Primero,<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/php/lector-de-feed-rss-con-php-muy-facil/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>En este artículo les explicaré como programar con <strong>PHP</strong> un lector de <strong>RSS</strong> de formato <strong>XML</strong> que puede leer hasta el infinito de <strong>RSS</strong>. Utilizaremos una <strong>Clase</strong> que está construido a base de la <strong>Función</strong> <strong>simplexml_load_file</strong>, lo que hace la <strong>Función</strong> es analizar el código <strong>XML</strong> y dividirlo en segmentos.<br />
Primero, al archivo de la <strong>Clase</strong> la llamaremos rss.class.php.</p>
<pre>&lt;?php
 class rss {
 var $feed;
 function rss($feed)
  {
    $this-&gt;feed = $feed;
  }
  function parse()
  {
   $rss = simplexml_load_file($this-&gt;feed);
   $rss_split = array();
   foreach ($rss-&gt;channel-&gt;item as $item) {
      $title = (string) $item-&gt;title; // Title
      $link = (string) $item-&gt;link; // Url Link
      $description = (string) $item-&gt;description; //Description
      $rss_split[] = '&lt;div&gt;
      &lt;a href="'.$link.'" target="_blank" title="" &gt;
     '.$title.'
     &lt;/a&gt;
     &lt;hr&gt;
    &lt;/div&gt;';
  }
  return $rss_split;
  }
 function display($numrows,$head)
 {
  $rss_split = $this-&gt;parse();
  $i = 0;
  $rss_data = '&lt;div class="vas"&gt;
  &lt;div class="title-head"&gt;
  '.$head.'
  &lt;/div&gt;
  &lt;div class="feeds-links"&gt;';
  while ( $i &lt; $numrows )
  {
   $rss_data .= $rss_split[$i];
   $i++;
  }
  $trim = str_replace('', '',$this-&gt;feed);
  $user = str_replace('&amp;lang=en-us&amp;format=rss_200','',$trim);
  $rss_data.='&lt;/div&gt;&lt;/div&gt;';
  return $rss_data;
  }
 }
?&gt;</pre>
<p>Luego para darle un poco de estilo y profesionalidad, lo embelleceremos con <strong>CSS</strong>.</p>
<pre> .vas{
 float:left;
 width:270px;
 padding:10px;
 }
 .title-head {
 font-size:18px;
 font-weight:bold;
 text-align:left;
 background-color:#006699;
 color:#FFFFFF;
 padding:5px;}
 .feeds-links {
 text-align:left;
 padding:5px;
 border:1px solid #dedede;
 }</pre>
<p>Finalmente creamos un el fichero que ejecutará la <strong>Clase</strong>, incluyendo la clase  rss.class.php<br />
<!--?php  include('rss.class.php');  ?--></p>
<p>Declaramos una instancia de la clase <strong>rss </strong>y la imprimimos en la página.</p>
<pre>$feedlist = new rss('http://wwibox.com/es/rss.xml');
echo $feedlist-&gt;display(9,"WWiBox");</pre>
<p>La primera es el <strong>Url</strong> de la <strong>Feed</strong>, el número 9 es el numero te noticias que se mostrará, el tercer parámetro es el nombre de <strong>Feed</strong>.<br />
Duplicamos el ultimo código para un número infinito de <strong>Feeds, </strong>o para los que desea utilizar.<br />
<strong>Código Final:</strong></p>
<pre>&lt;?php
 $feedlist = new rss('URL');
 echo $feedlist-&gt;display(10,"Feed Name");
 $feedlist = new rss('URL');
 echo $feedlist-&gt;display(10,"Feed Name");
 $feedlist = new rss('URL');
 echo $feedlist-&gt;display(10,"Feed Name");
 $feedlist = new rss('URL');
 echo $feedlist-&gt;display(10,"Feed Name");
 ?&gt;</pre>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/JEnGWGNQT1M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/php/lector-de-feed-rss-con-php-muy-facil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/php/lector-de-feed-rss-con-php-muy-facil/</feedburner:origLink></item>
		<item>
		<title>Función Timestamp en PHP</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/spJvKyvoMXI/</link>
		<comments>http://www.tutsnt.com/progra/php/funcion-timestamp-en-php/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 01:49:03 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Timestamp]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=358</guid>
		<description><![CDATA[En este tutorial les enseñaremos como programar una función en PHP para mostrar el TimeStamp al estilo Social Media, esta función nos será de una gran utilidad en el futuro porque ofrecerá al usuario una manera más simple de organizar su tiempo en tu red. Para comenzar con el tutorial<a title="Continuar leyendo..." href="http://www.tutsnt.com/progra/php/funcion-timestamp-en-php/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>En este tutorial les enseñaremos como programar una función en <strong>PHP</strong> para mostrar el <strong>TimeStamp</strong> al estilo <strong>Social Media</strong>, esta función nos será de una gran utilidad en el futuro porque ofrecerá al usuario una manera más simple de organizar su tiempo en tu red.</p>
<p><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/Timestamp.png?9d7bd4"><img class="aligncenter size-full wp-image-370" src="http://www.tutsnt.com/wp-content/uploads/2012/02/Timestamp.png?9d7bd4" alt="" width="498" height="271" /></a></p>
<p>Para comenzar con el tutorial solo utilizaremos las funciones <strong>Time</strong> y <strong>Round</strong> y la sentencia <strong>IF</strong>.</p>
<p>Primero creamos la función, nosotros la llamaremos Tutsnt, tendrá un único parámetro llamado $time.</p>
<pre>&lt;?php
function Tutsnt($time)
{
}
?&gt;</pre>
<p>Ahora haremos la sustracción de la hora $time  de la hora actual Time().</p>
<pre>$time_difference = time() - $time;</pre>
<p>Lo que aremos ahora es dividir el tiempo en <strong>segundos</strong>, <strong>minutos</strong>, <strong>horas</strong>, <strong>días</strong>, <strong>semanas</strong>, <strong>meses</strong> y <strong>años</strong>.</p>
<pre>$seconds = $time_difference ;
$minutes = round($time_difference / 60 );
$hours = round($time_difference / 3600 );
$days = round($time_difference / 86400 );
$weeks = round($time_difference / 604800 );
$months = round($time_difference / 2419200 );
$years = round($time_difference / 29030400 );</pre>
<p>Lo siguiente es crear sentencias <strong>IF</strong> para comprar los <strong>tiempos</strong>, por ejemplo si la hora es superior a 59 segundos mostrar ‘Publicado hace un minuto’…</p>
<pre>// Seconds
if($seconds &lt;= 60)
{
 echo "hace $seconds segundos";
}
//Minutos
else if($minutes &lt;=60)
{
 if($minutes==1)
{
echo "hace un minuto";
}
else
{
echo "hace $minutes minutos";
}
}
//Horas
else if($hours &lt;=24)
{
if($hours==1)
{
echo "hace una hora";
}
else
{
echo "hace $hours horas";
}
}
//Dias
else if($days &lt;= 7)
{
if($days==1)
 {
echo "hace un dia";
 }
else
 {
 echo "hace $days dias";
 }
}
//Semanas
else if($weeks &lt;= 4)
{
if($weeks==1)
{
 echo "hace una semana";
}
else
{
 echo "hace $weeks semanas";
}
}
//Meses
else if($months &lt;=12)
{
if($months==1)
{
echo "hace un mes";
}
else
{
echo "hace $months meses";
}
}
//Anos
else
{
if($years==1)
{
 echo "hace un ano";
}
else
{
  echo "hace $years anos";
}
}</pre>
<p>Ya terminamos con lo que es la <strong>función</strong>, ahora vamos a hacer un test.</p>
<p>Para probar el ejemplo solo haremos una llamada a dicha función <strong>función , </strong>de la siguiente forma:</p>
<pre>$ntime = 1264326122;
echo Tutsnt($ntime);</pre>
<p>Cambias el Numero 1264326122 Por el <strong>Timestamp</strong> que quieres comparar con la hora actual.</p>
<p><strong>El código final:</strong></p>
<pre>&lt;?php
function Tutsnt($time)
{
$time_difference = time() - $time;
$seconds = $time_difference ;
$minutes = round($time_difference / 60 );
$hours = round($time_difference / 3600 );
$days = round($time_difference / 86400 );
$weeks = round($time_difference / 604800 );
$months = round($time_difference / 2419200 );
$years = round($time_difference / 29030400 );
// Seconds
if($seconds &lt;= 60)
{
   echo "hace $seconds segundos";
}
//Minutos
else if($minutes &lt;=60)
{
 if($minutes==1)
 {
   echo "hace un minuto";
  }
 else
 {
   echo "hace $minutes minutos";
 }
}
//Horas
else if($hours &lt;=24)
 {
 if($hours==1)
 {
  echo "hace una hora";
 }
else
 {
  echo "hace $hours horas";
 }
}
//Dias
else if($days &lt;= 7)
{
 if($days==1)
 {
 echo "hace un dia";
 }
else
 {
 echo "hace $days dias";
 }
}
//Semanas
else if($weeks &lt;= 4)
{
 if($weeks==1)
 {
 echo "hace una semana";
 }
else
 {
 echo "hace $weeks semanas";
 }
}
//Meses
else if($months &lt;=12)
{
if($months==1)
{
echo "hace un mes";
}
else
{
echo "hace $months meses";
}
}
//Anos
else
{
if($years==1)
 {
 echo "hace un ano";
 }
else
  {
  echo "hace $years anos";
 }
}
}
$ntime = 1264326122;
echo Tutsnt($ntime);
?&gt;</pre>
<p>Espero que les haya servido <img src="http://www.tutsnt.com/wp-includes/images/smilies/icon_wink.gif?9d7bd4" alt=';)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/spJvKyvoMXI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/progra/php/funcion-timestamp-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/progra/php/funcion-timestamp-en-php/</feedburner:origLink></item>
		<item>
		<title>Círculos giratorios al estilo Google+, con jQuery y CSS3</title>
		<link>http://feedproxy.google.com/~r/tutsnt/~3/C6S0r27xh0A/</link>
		<comments>http://www.tutsnt.com/tutoriales/css/circulos-giratorios-al-estilo-google-con-jquery-y-css3/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 21:56:52 +0000</pubDate>
		<dc:creator>abdellah</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.tutsnt.com/?p=348</guid>
		<description><![CDATA[Google nos ofrece  una nueva experiencia en redes sociales con su novedoso Google+ de la cual destaca su interfaz con un gran diseño rico en Css3 y JavaScript. Sin duda lo que más me llamó la atención fue la novedosa UI de círculos. En este tutorial les explicaré como crear<a title="Continuar leyendo..." href="http://www.tutsnt.com/tutoriales/css/circulos-giratorios-al-estilo-google-con-jquery-y-css3/"> continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Google nos ofrece  una nueva experiencia en redes sociales con su novedoso <strong>Google+</strong> de la cual destaca su interfaz con un gran diseño rico en <strong>Css3</strong> y JavaScript. Sin duda lo que más me llamó la atención fue la novedosa <strong>UI de círculos</strong>.</p>
<p>En este tutorial les explicaré como crear efectos de <strong>Fadout</strong> circulares para dar más estilo a vuestros proyectos, utilizaremos la famosa UI para <strong>Javascript jQuery</strong> y la nueva <strong>CSS3</strong>.</p>
<p style="text-align: center;"><a href="http://www.tutsnt.com/wp-content/uploads/2012/02/TutsNt.png?9d7bd4"><img class="size-medium wp-image-349 aligncenter" src="http://www.tutsnt.com/wp-content/uploads/2012/02/TutsNt-300x198.png?9d7bd4" alt="" width="300" height="198" /></a></p>
<p>Para que podamos empezar con el tutorial necesitaremos un nuevo navegador como <strong>Google Chrome</strong>, <strong>Mozilla Firefox</strong> o <strong>Safari</strong>.</p>
<p>Empezaremos por <a href="http://jquery.com/">descargar el <strong>Framework jQuery</strong></a> ,  si no quieres enlazarla desde la <a href="http://code.google.com/intl/es-ES/apis/libraries/devguide.html">librería de APIs de Google</a> , también descargargamos<a href="http://gsgd.co.uk/sandbox/jquery/easing/"> jQuery Easing</a> para los efectos.</p>
<p>Comenzamos incluyendo los archivos JavaScript (jQuery y <strong>jQuery Easing)</strong>  dentro del <strong>&lt;head&gt;</strong> , de la siguiente manera:</p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/<strong>1.5</strong>/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="easing.min.js"&gt;&lt;/script&gt;</pre>
<p>Ahora vamos a incluir el código<strong> jQuery</strong> para crear la animación.</p>
<pre>&lt;script type="text/javascript"&gt;
$(document).ready(<strong>function</strong>()
{
$(<strong>".square"</strong>).click(<strong>function</strong>()
{
 $(<strong>this</strong>).<strong>animate</strong>({width:'100px',height:'100px'}, 500, 'linear',<strong>function</strong>()
  {
  $(<strong>this</strong>).<strong>addClass</strong>(<strong>'circle-label-rotate'</strong>);
  })<strong>.</strong><strong>addClass</strong>(<strong>'circle'</strong>).<strong>html</strong>('&lt;div class="innertext"&gt;Bye&lt;/div&gt;').<strong>animate</strong>({"opacity":"0","margin-left":"510px"},1500);
    $(<strong>this</strong>)<strong>.</strong><strong>slideUp</strong>({duration: 'slow',easing: 'easeOutBounce'})<strong>.</strong><strong>hide</strong>();
});
});
&lt;/script&gt;</pre>
<p><strong>$(document).ready(function()</strong> : Abrimos la Función de jQuery, el código que hay dentro de esta Función se efectuará  cuando este la página cargada totalmente.</p>
<p><strong>$(&#8220;.square&#8221;).click(function()</strong> : El código que está dentro de esta función se efectuará cuando hayamos clicado en el div que tiene la <strong>clase</strong> difinida como <strong>.square.</strong></p>
<p><strong>$(this).slideUp({duration: &#8216;slow&#8217;,easing: &#8216;easeOutBounce&#8217;}).hide();</strong>  : Aquí podemos modificar la velocidad de la animación cambiando ‘slow’ por ‘fast’, o un valor numérico.</p>
<p>Ahora añadimos el código <strong>CSS3</strong> para diseño del círculo.</p>
<pre>.<strong>circle</strong>
{
border-radius: 50px; // Chrome &amp; IE9
-moz-border-radius: 50px; // Firefox
-webkit-border-radius: 50px; // Safari
height:100px;
width:100px;
background:#dedede;
}</pre>
<p>Podemos cambiar el diámetro del círculo modificando el valor 50px.</p>
<p>Luego diseñaremos el estilo rotatorio para el circulo con <strong>CSS3</strong>.</p>
<pre>@-webkit-keyframes <strong>rotateThis</strong><strong> </strong>
{
from {-webkit-transform:scale(1) rotate(0deg);}
to {-webkit-transform:scale(1) rotate(360deg);}
}
.<strong>circle-label-rotate</strong>
{
-webkit-animation-name: <strong>rotateThis</strong>;
-webkit-animation-duration:2s;
-webkit-animation-iteration-count:infinite;
-webkit-animation-timing-function:linear;
}</pre>
<p>Y finalmente el <strong>CSS2</strong> para el <strong>DIV</strong> que contiene todo el diseño.</p>
<pre>.<strong>square</strong>
{
height:100px;
width:500px;
border:dashed 1px #000;
margin-top:10px;
}</pre>
<img src="http://feeds.feedburner.com/~r/tutsnt/~4/C6S0r27xh0A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tutsnt.com/tutoriales/css/circulos-giratorios-al-estilo-google-con-jquery-y-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tutsnt.com/tutoriales/css/circulos-giratorios-al-estilo-google-con-jquery-y-css3/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 602/760 objects using disk: basic

Served from: www.tutsnt.com @ 2012-02-23 00:51:56 -->

