<?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/" version="2.0">

<channel>
	<title>Uno de los otros</title>
	
	<link>http://blog.jesusyepes.com</link>
	<description>Aqui hablamos de diseño web, photoshop, jquery, php, Linux y Mac</description>
	<pubDate>Thu, 29 Jul 2010 21:48:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/UnoDeLosOtros" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="unodelosotros" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Personalizar la foto del autor en wordpress, sin usar gravatar</title>
		<link>http://blog.jesusyepes.com/diseno-web/personalizar-la-foto-del-autor-en-wordpress-sin-usar-gravatar/</link>
		<comments>http://blog.jesusyepes.com/diseno-web/personalizar-la-foto-del-autor-en-wordpress-sin-usar-gravatar/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 16:44:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Diseño Web]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=500</guid>
		<description><![CDATA[Por defecto, la imagen de los autores de wordpress se gestiona mediante gravatar. Es decir, mediante el email del autor, usaremos el servicio de gravatar para ver si tiene una imagen asociada, y si la tiene, la asignamos. Esto es una ventaja, pero también un inconveniente. Ventaja por que, si alguno de nuestros autores publican [...]]]></description>
			<content:encoded><![CDATA[<p>Por defecto, la imagen de los autores de wordpress se gestiona mediante <a href="http://en.gravatar.com/" target="_blank">gravatar</a>. Es decir, mediante el email del autor, usaremos el servicio de gravatar para ver si tiene una imagen asociada, y si la tiene, la asignamos. Esto es una ventaja, pero también un inconveniente. Ventaja por que, si alguno de nuestros autores publican en varios blogs, no van a tener que proporcionar su imagen en cada blog, si no que asocian su imagen a su email en gravatar. Si quiere cambiar la imagen de todos los blogs en los que colabora, simplemente la cambiará en gravatar. El inconveniente es, que no todo el mundo usa, ni conoce gravatar. Es posible, en algunos casos, que queramos o necesitemos, asignar una imagen a nuestros autores sin usar gravatar.<span id="more-500"></span>Pensemos por ejemplo, que estamos desarrollando un sitio para un cliente, y va a tener varios autores (amigos, empleados de la empresa, lo que sea). No quiere, o no sabe, o no puede usar gravatar. Pensemos también que no podemos o queremos usar ningún plugin para esta tarea. En el panel de autor de wordpress, no tenemos ninguna opción de asignarle una imagen predeterminada, así que tendremos que inventarnos algo&#8230;. y el caso es que el invento es simple.</p>
<h3>Qué necesitamos</h3>
<p>Nos crearemos en nuestra carpeta de images de nuestro theme, una carpeta que se llame authors (o como queramos), de forma que nos queda algo así:</p>
<p><img class="aligncenter size-medium wp-image-509" title="captura-de-pantalla-2010-07-29-a-las-183359" src="http://blog.jesusyepes.com/wp-content/uploads/captura-de-pantalla-2010-07-29-a-las-183359-300x182.png" alt="captura-de-pantalla-2010-07-29-a-las-183359" width="300" height="182" /></p>
<p>Bien, usaremos el id del autor como nombre de fichero, de forma que dentro de esa carpeta tendremos los ficheros 1.jpg, 2.jpg, como sea (como muestra la captura anterior). Obviamente, necesitaremos saber el id de cada autor (nos ponemos en el panel de administración sobre el nombre de un autor, y vemos el enlace. Ahí podremos ver la id del autor).</p>
<p>Luego, donde queramos poner la imagen del autor pondriamos un código como el que sigue:</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;img src=&quot;&lt;?php bloginfo(&#39;template_directory&#39;) ?&gt;/images/authors/&lt;?php the_author_ID()?&gt;.jpg&quot; alt=&quot;&lt;?php the_author(); ?&gt;&quot; title=&quot;&lt;?php the_author(); ?&gt;&quot; /&gt;</div>
</li>
</ol>
</div>
<p>Y ya lo tenemos.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/94PTR58ly8E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/diseno-web/personalizar-la-foto-del-autor-en-wordpress-sin-usar-gravatar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Novedades en Internet Explorer 9</title>
		<link>http://blog.jesusyepes.com/diseno-web/novedades-en-internet-explorer-9/</link>
		<comments>http://blog.jesusyepes.com/diseno-web/novedades-en-internet-explorer-9/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 13:52:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Diseño Web]]></category>

		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=492</guid>
		<description><![CDATA[
Internet Explorer 9, el navegador de Microsoft, está en fase de pruebas. Desde la propia microsoft, podemos descargar la preview, para windows vista y windows 7. Vamos a darle un repaso a las novedades que trae, mientras cruzamos los dedos para ver si de una vez, Microsoft tiene en cuenta a los que vivimos del [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-493 ilustra" title="Internet Explorer 9 preview" src="http://blog.jesusyepes.com/wp-content/uploads/internet-explorer-9-preview.jpg" alt="Internet Explorer 9 preview" width="420" height="128" /></p>
<p><strong>Internet Explorer 9</strong>, el navegador de Microsoft, está en fase de pruebas. Desde la propia microsoft, podemos <a href="http://ie.microsoft.com/testdrive/" target="_blank">descargar la preview</a>, para <strong>windows vista</strong> y <strong>windows 7</strong>. Vamos a darle un repaso a las novedades que trae, mientras cruzamos los dedos para ver si de una vez, Microsoft tiene en cuenta a los que vivimos del desarrollo web y nos hace el día a día un poco más fácil.<span id="more-492"></span></p>
<h3>HTML 5 y CSS 3</h3>
<p>La nueva versión de HTML, de la que tanto y tanto se está hablando (y se hablará). Curiosamente, a pesar de que muchos estamos esperando que <strong>HTML 5</strong> se implante en todos los navegadores, la fecha de salida definitiva de HTML 5 es&#8230; el año 2022. Si, no es coña, 2022. Bueno, el esperado soporte a <strong>border-radius</strong>, <strong>multiples backgrounds</strong>, <strong>Canvas</strong> (ver más abajo), nuevas etiquetas, etc etc.</p>
<h3>H. 264</h3>
<p>Posiblemente, la próxima &#8220;guerra&#8221;, la de los formatos de vídeos en internet. Microsoft apuesta por <strong>h264</strong> (como Apple, o el de Apple, según quien lo mire, o como lo quiera mirar).</p>
<h3>Chakra, motor de javascript</h3>
<p>Internet Explorer 9 incluirá un <strong>nuevo motor de javascript</strong>, <strong>chakra</strong>. Técnicamente, se comenta que correrá el motor de javascript en otro core, en un proceso paralelo al navegador, haciéndolo <strong>mucho más rápido</strong>. Ya veremos cuando salga y la gente empiece a hacer tests y comparaciones.</p>
<h3>DirectX, aceleración de vídeo</h3>
<p>Usará <strong>directX</strong> para mejorar la experiencia de usuario a la hora de reproducir vídeos. Se comenta que, gracias a esto, el uso de recursos será mucho menor.</p>
<h3>Etiqueta Canvas</h3>
<p>Esto debería ir en dónde <strong>HTML5</strong>, por que es una etiqueta <strong>HTML5</strong>. <strong>Internet Explorer 9</strong> incluirá la etiqueta <strong>canvas</strong>, que será una parte central de <strong>HTML5</strong> (de hecho, diría que es la más esperada), y que es el corazón de todos los que dicen que HTML matará a flash. Básicamente, en <strong>canvas</strong> podremos renderizar lo que queramos en 2d, e interactuar con ellos mediante <strong>javascript</strong> en tiempo real. Obviamente, ya han salido mil experimentos para todo esto, motores para juegos que utilizan <strong>canvas</strong>, 3d, etc.</p>
<h3>¿Cambiará esto algo?</h3>
<p>No. <strong>Internet Explorer 9</strong> no es la panacea de nada, y que salga <strong>Internet Explorer 9</strong> no quiere decir que al día siguiente todo el mundo lo vaya a tener instalado en su equipo. El mayor problema que veo, es que <strong>no soportará windows XP</strong>, con lo cual, el navegador más moderno por parte de microsoft en windows xp será Internet Explorer 8.</p>
<p>¿Entonces? Pues <strong>Internet Explorer 9</strong> será un paso más en la transición de las tecnologías actuales a <strong>HTML5 y CSS3</strong>, que bajo mi punto de vista debería haber empezado con internet explorer 8. El hecho de que no vaya a funcionar en windows xp, nos va a dejar bastante igual, ya que windows xp es el sistema más usado en la actualidad, y algo de tiempo le queda aún.</p>
<h3>Más por leer y probar</h3>
<p>Podéis pasaros por la página de <a href="http://ie.microsoft.com/testdrive/" target="_blank">Microsoft para Internet Explorer 9</a>, en la que podéis ver todo lo nuevo que traerá el navegador, y varias pruebas.</p>
<p>En principio, no hay fecha de salida oficial, pero se espera que esté disponible a finales de este año, o a principios de 2011 (es decir, medio año aproximadamente).</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/-88TPQc_QZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/diseno-web/novedades-en-internet-explorer-9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducción a CodeIgniter: Las vistas</title>
		<link>http://blog.jesusyepes.com/codeigniter/introduccion-a-codeigniter-las-vistas/</link>
		<comments>http://blog.jesusyepes.com/codeigniter/introduccion-a-codeigniter-las-vistas/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 18:04:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=486</guid>
		<description><![CDATA[Siguiendo con el primer capítulo de la Introducción a CodeIgniter, en el que vimos qué es CodeIgniter, las principales ventajas de su uso, en que se basa y como usarlo, he creado el segundo capítulo, donde hablo un poco más en detalle de las vistas.
Tal y como el anterior capítulo, es una colaboración para Blog [...]]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con el primer capítulo de la Introducción a CodeIgniter, en el que vimos qué es CodeIgniter, las principales ventajas de su uso, en que se basa y como usarlo, he creado el segundo capítulo, donde hablo un poco más en detalle de las vistas.<span id="more-486"></span></p>
<p>Tal y como el anterior capítulo, es una colaboración para <a href="http://blogandweb.com/" target="_blank">Blog and Web</a>, y está publicado integramente en su <a href="http://blogandweb.com/php/code-igniter-vistas/" target="_blank">blog</a>.</p>
<p>Visita el capítulo dos de CodeIgniter, las Vistas, <a href="http://blogandweb.com/php/code-igniter-vistas/" target="_blank">desde aquí</a>.</p>
<p>Espero que os guste.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/qDoMl7Jia-o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/codeigniter/introduccion-a-codeigniter-las-vistas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>El servidor web perfecto: MacOS + MAMP</title>
		<link>http://blog.jesusyepes.com/administracion-de-sistemas/el-servidor-web-perfecto-macos-mamp/</link>
		<comments>http://blog.jesusyepes.com/administracion-de-sistemas/el-servidor-web-perfecto-macos-mamp/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 17:45:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Administración de sistemas]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[macos]]></category>

		<category><![CDATA[servidor web]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=470</guid>
		<description><![CDATA[Hace poco tiempo, escribí acerca de cómo montar un entorno de desarrollo completo bajo MacOs. El motivo de escribirlo, fue por que bajo mi criterio, hay mucho desconocimiento sobre los programas existentes en Mac para desarrollar páginas web, algunos gratuitos, otros bastante asequibles.
En dicho artículo, comentaba todos los programas que uso a diario en mi [...]]]></description>
			<content:encoded><![CDATA[<p>Hace poco tiempo, escribí acerca de cómo montar un <a href="http://blog.jesusyepes.com/diseno-web/entorno-de-desarrollo-web-perfecto-en-mac-os-x/" target="_blank">entorno de desarrollo completo bajo MacOs</a>. El motivo de escribirlo, fue por que bajo mi criterio, hay mucho desconocimiento sobre los programas existentes en Mac para desarrollar páginas web, algunos gratuitos, otros bastante asequibles.</p>
<p>En dicho artículo, comentaba todos los programas que uso a diario en mi flujo de trabajo, así como alguna alternativa. La parte más importante de dicho tutorial, la de montar un servidor web, la pasé bastante por encima, ya que no era el propósito de dicho artículo. En este, entraremos un poco más en detalle sobre como instalar desde cero <strong>MAMP</strong> (<strong>Apache</strong>, <strong>MySQL</strong> y <strong>PHP</strong>). Y creedme, es bastante fácil.<span id="more-470"></span></p>
<h2>¿Qué es MAMP?</h2>
<p>MAMP no es más que una recopilación de software (en realidad son <strong>servicios</strong>), que instalará de forma rápida. Si nos dedicamos (o queremos hacerlo) o simplemente por hobbie, al <strong>desarrollo web</strong>, tener un servidor web montado en casa o en la oficina va a acelerar todo el proceso de manera enorme. Así que, manos a la obra.</p>
<p>MAMP está formado por:</p>
<ul>
<li><strong>Apache</strong>: Es el <strong>servidor web</strong> más usado del mundo, por su velocidad, por que es seguro,  y por que es open source (osea, no hay que pagar ninguna licencia). <a href="http://www.apache.org/" target="_blank">Aquí tenéis su sitio oficial</a>.</li>
<li><strong>MySQL</strong>: Es un servidor de <strong>base de datos</strong>, también open source. La gran mayoría de las páginas web que visitáis a diario, almacenan sus datos en mysql. Digamos que es la base de datos más extendida en los <strong>servidores web</strong>. <a href="http://dev.mysql.com/downloads/" target="_blank">Aquí su página oficial</a>.</li>
<li><strong>PHP</strong>: Es un lenguaje de script interpretado con el cual programaremos páginas web. Tienes más información en su <a href="http://www.php.net" target="_blank">página oficial</a>, y si te das una vuelta por mi blog, verás que hay bastantes posts al respecto.</li>
</ul>
<p>Las dos primeras aplicaciones, corren como <strong>servicios del sistema</strong>. Es decir, una vez arrancados, no veremos nada, simplemente están a la escucha, esperando que les llegue una petición. El tercero, será el encargado de realizar tareas de lado del servidor, generar una respuesta, y mandársela al cliente que ha realizado la petición. Imaginaros que entráis en una página donde tenéis que introducir vuestro usuario y contraseña. <strong>Apache</strong> sería el encargado de mandaros la página que solicita el usuario y contraseña. Una vez los rellenemos, son devueltos de nuevo al <strong>servidor web</strong>, que mediante lo que hayamos programado en <strong>PHP</strong>, consultaremos la <strong>base de datos</strong> (<strong>mysql</strong>) y permitiremos o denegaremos la entrada.</p>
<p>Por ejemplo, el sistema de blogs mas usado del mundo (wordpress) usa estos tres sistemas. Al igual que el CMS más extendido (joomla), o que uno de los paneles de administración de servidores (Plesk).</p>
<h2>Descargando e instalando MAMP</h2>
<p>Bueno, que me enrollo, y seguro que si queréis instalar <strong>MAMP</strong> es por que todo lo de antes ya lo sabéis. Vamos a su <a href="http://www.mamp.info/en/index.html" target="_blank">página oficial</a>, y descargamos la versión gratuita (a fecha de escribir este tutorial, se incluyen la gratuita y la profesional, pero tranquilos, usaremos sólo la gratuita). Ahora vamos a por un café, por que son 160 megas&#8230;.</p>
<p style="text-align: center;"><img class="size-medium wp-image-471  aligncenter" title="Instalación de MAMP en Mac" src="http://blog.jesusyepes.com/wp-content/uploads/instalar-mamp-300x235.png" alt="instalar-mamp" width="300" height="235" /></p>
<p style="text-align: center;">Una vez descargado, moveremos la versión gratuita a nuestra carpeta de aplicaciones&#8230;. y ya está instalado. Así de simple, <strong>Apache</strong>, <strong>PHP</strong>, y <strong>MySQL</strong>.</p>
<h2>Poniéndolo todo en orden</h2>
<p>Por defecto, <strong>Apache</strong> escucha en el puerto 80, y <strong>MySQL</strong> en el 3306. En los servicios que instala MAMP, estos puertos están cambiados. Apache está en el puerto <strong>8888</strong> y MySQL en el <strong>8889</strong>. Esto es un engorro, ya que cuando queramos entrar a nuestras webs, lo tendremos que hacer mediante http://localhost:8888 y conectar a la base de datos por el 8889. Vamos a ponerlo como en cualquier sitio, en sus puertos de toda la vida. Tenemos dos opciones:</p>
<h3>1. La fácil, el modo visual</h3>
<p style="text-align: center;"><img class="size-medium wp-image-472  aligncenter" title="Ejecutando MAMP por primera vez" src="http://blog.jesusyepes.com/wp-content/uploads/localizacion-ejecutable-mamp-300x185.png" alt="localizacion-ejecutable-mamp" width="300" height="185" /></p>
<p style="text-align: center;">Vamos a nuestra carpeta de aplicaciones, entramos en el directorio MAMP y ejecutamos el fichero MAMP.</p>
<p>Se nos abrirá un pequeño panel de configuración en el que podremos <strong>iniciar los servicios, detenerlos</strong>, o cambiar la configuración (opción &#8220;preferencias&#8221;). Pinchamos en <strong>preferencias</strong>, vamos a la <strong>pestaña puertos</strong>, y pinchamos sobre &#8220;<strong>Usar los puertos por defecto de Apache y MySQL</strong>&#8220;. Ya de paso, vamos a la pestaña Iniciar/Detener, y desactivamos la cuarta opción &#8220;<strong>Abrir página de  inicio al arrancar</strong>&#8221; (yo al menos, la encuentro engorrosa, pero esto es al gusto de cada uno&#8230;.). Y ya, listo.</p>
<p style="text-align: center;"><img class="size-medium wp-image-476  aligncenter" title="Panel de inicio de MAMP" src="http://blog.jesusyepes.com/wp-content/uploads/inicio-mamp-300x252.png" alt="Panel de inicio de MAMP" width="300" height="252" /></p>
<h3>2.- La consola, la de toda la vida</h3>
<p>Nos dirigimos a Aplicaciones/MAMP/conf/Apache, y en el fichero <strong>httpd.conf</strong> podemos cambiar el puerto en el que escucha apache (recordamos, por defecto en MAMP 8888). Una vez guardado el fichero, será necesario <strong>reiniciar el servicio</strong>.</p>
<h2>Mas cositas&#8230;</h2>
<p>Pero pocas. Primero, en la carpeta Aplicaciones/MAMP tenemos un fichero que nos va a servir para agregarlo al <strong>dashboard como widget</strong>. Para mí, es supercómodo abrir el dashboard, pinchar en el widget del MAMP y ya está todo arrancado. La otra opción es poner  en el dock la aplicación de MAMP que hemos ejecutado antes, de forma que la tengamos siempre a mano (en este caso, quizá os resulte útil desmarcar la opción &#8220;Detener Servidores al para MAMP&#8221; en Iniciar/Detener).</p>
<p>Por defecto, Apache va a mirar el contenido de Aplicaciones/MAMP/htdocs. Supongamos que queremos que también sirva las páginas que tenemos en otra carpeta de nuestro disco duro, o mejor aún, en una carpeta de nuestro <strong>dropbox</strong> (<a href="https://www.dropbox.com/referrals/NTI1Mjg1Njk" target="_blank">no me cansaré de decirlo, si no lo usas ya, instalalo</a>). En mi caso, con el siguiente comando</p>
<p>ln -s /Users/jesus/Dropbox/webs /Aplications/MAMP/htdocs/dropbox</p>
<p>Obviamente, tendréis que cambiar la orden y adecuarlas a vuestras rutas.</p>
<p>Con eso, cuando acceso a http://localhost/dropbox veo todas las webs que tengo en mi <strong>dropbox</strong> (lo tengo así en casa, en la oficina, y en el portatil, de forma que modifique lo que modifique, lo tengo en todos los sitios actualizado).</p>
<p>Otra forma de hacer esto, es mediantes <strong>VHosts</strong> (Hosts Virtuales, Virtual Hosts). Esto require crear una entrada en nuestro archivo hosts local, y tocar el archivo de configuración de apache (httpd.conf). Pero esto, ya lo veremos más adelante, si no, de que voy a escribir?</p>
<p>Para realizar estas pruebas, he usado Snow Leopard con las últimas actualizaciones disponibles. No obstante, es posible realizar todo lo anterior en cualquier sistema Linux, y también en windows (ver <a href="http://www.wampserver.com/en/" target="_blank">WAMP</a> o XAAMP)</p>
<p>Espero vuestros comentarios, dudas y sugerencias.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/QDq5Q4fuG9U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/administracion-de-sistemas/el-servidor-web-perfecto-macos-mamp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Parche de seguridad para CodeIgniter 1.7.2</title>
		<link>http://blog.jesusyepes.com/php/parche-de-seguridad-para-codeigniter-172/</link>
		<comments>http://blog.jesusyepes.com/php/parche-de-seguridad-para-codeigniter-172/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:25:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=467</guid>
		<description><![CDATA[Los chicos de CodeIgniter han publicado un parche de seguridad para la versión 1.7.2. Puedes obtener el parche descargándolo por separado, o descargando la instalación de CodeIgniter. Todas las aplicaciones que usen la clase File Upload deberían instalar el parche para asegurarse que sus aplicaciones no son vulnerables.
A la vez que han solucionado el bug, [...]]]></description>
			<content:encoded><![CDATA[<p>Los chicos de <strong>CodeIgniter</strong> han publicado un parche de seguridad para la versión 1.7.2. Puedes obtener el parche <a href="http://codeigniter.com/download_files/CI_1.7.2_201007_sec_patch.zip" target="_blank">descargándolo por separado</a>, o descargando la <a href="http://codeigniter.com/download.php">instalación</a> de <strong>CodeIgniter</strong>. Todas las aplicaciones que usen la clase File Upload deberían instalar el parche para asegurarse que sus aplicaciones no son vulnerables.</p>
<p>A la vez que han solucionado el bug, han agregado algunas pequeñas mejoras a la <strong>Clase Upload</strong>, ahora puede renombrar el fichero. Anteriormente, debíamos &#8220;apañarnosla&#8221; un poco en el controlador para cambiar la extension. Ahora, usando el parámetro de configuración <strong>file_name </strong>se puede proporcionar el nombre completo, incluyendo la extensión, ignorando el nombre proporcionado por el navegador.</p>
<p>Después e aplicar el parche, necesitarás ajustar el code de acuerdo con la clase si usas la <strong>variable file_name</strong> en la <strong>Clase Upload</strong>. Los chicos de CodeIgniter comentan que no son partidarios de realizar este tipo de cambios entre versiones que pueden ser incompatibles con aplicaciones existentes, pero comentan que este cambio era una parte del parche de seguridad.</p>
<p><a href="http://codeigniter.com/news/codeigniter_1.7.2_security_patch/#When:22:23:38Z" target="_blank">Fuente oficial</a>.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/Cox9FeTSRNU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/php/parche-de-seguridad-para-codeigniter-172/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cub3er image slider, o cómo una idea original puede dejar de serlo</title>
		<link>http://blog.jesusyepes.com/diseno-web/cub3er-image-slider-o-como-una-idea-original-puede-dejar-de-serlo/</link>
		<comments>http://blog.jesusyepes.com/diseno-web/cub3er-image-slider-o-como-una-idea-original-puede-dejar-de-serlo/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 18:42:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Diseño Web]]></category>

		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=450</guid>
		<description><![CDATA[Cub3er es una forma de crear slideshows de imágenes bastante original (bueno, original en su día). Este post, es un pequeño resumen (¿critica constructiva? ¿autocritica a los que hacemos webs?) de cómo el uso y abuso de algo (cub3r y similares), puede llegar a cansar y matar cualquier atisbo de originalidad.Cuando ví por primera vez [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.progressivered.com/cu3er/" target="_blank">Cub3er</a> es una forma de crear slideshows de imágenes bastante original (bueno, original en su día). Este post, es un pequeño resumen (¿critica constructiva? ¿autocritica a los que hacemos webs?) de cómo el uso y abuso de algo (cub3r y similares), puede llegar a <strong>cansar y matar cualquier atisbo de originalidad</strong>.<span id="more-450"></span>Cuando ví por primera vez <a href="http://www.progressivered.com/cu3er/" target="_blank">cub3r</a> dije llamé a mi compañero en la oficina en plan: &#8220;hey, mira ven, tiene que ver esto&#8221;&#8230;. &#8220;y encima gratis!!&#8221;. Fué una de esas cosas que ves y piensas, en cuanto tenga un hueco lo miro tranquilamente, lo personalizo un poco y en alguna web para algún cliente seguro que lo uso. De esto, hace ya bastante tiempo&#8230; y afortunadamente no he tenido tiempo de probarlo, ya que la saturación de &#8220;cabeceras cool&#8221; que usan cub3r es enorme. Exagerada.</p>
<p>Basta con darse una vuelta por <a href="http://themeforest.net/" target="_blank">themeforest</a> para darse cuenta de la cantidad de temas que estos últimos meses hacen<strong> uso y abuso de cub3r</strong>, hasta el punto de que parece que si haces un tema que no tiene cub3r has hecho un tema que no está a la moda. A tu tema le falta algo.</p>
<p>Quizá escribo todo esto por que el uso y abuso de <strong>flash</strong>, hace unos años, me hizo huir de él, hasta el punto de practicamente ignorarlo (no, no me llamo Steve ni mi apellido es Jobs, en serio). Y cada día estoy más convencido de que hice lo correcto.</p>
<h3>Algunos ejemplos</h3>
<p style="text-align: center;"><a href="http://themeforest.net/item/explicit-business-blog-portfolio-wp-theme/full_screen_preview/113495" target="_blank"><img class="size-medium wp-image-453 aligncenter" title="Explicit Theme, en themeforest" src="http://blog.jesusyepes.com/wp-content/uploads/cub3r-1-300x189.png" alt="Explicit Theme, en themeforest" width="300" height="189" /></a></p>
<p style="text-align: center;"><a href="http://themeforest.net/item/podium-clean-and-elegant-business-theme/full_screen_preview/112658" target="_blank"><img class="size-medium wp-image-454 aligncenter" title="Podium Theme, en themeforest" src="http://blog.jesusyepes.com/wp-content/uploads/cub3r-2-300x189.png" alt="Podium Theme, en themeforest" width="300" height="189" /></a></p>
<p>No hace falta decir que los diseños me gusta, que no estoy criticando dichos themes (que sólo son dos ejemplos), pero sigo sin entender, a día de hoy, <strong>el uso de flash para estas cosas</strong>. Los <strong>frameworks de javascript </strong>han dado un salto enorme estos últimos años, haciendo posible muchas cosas que antes veías y decias &#8220;eso es flash&#8221;, ahora tengas que hacer click derecho para ver si es <strong>flash</strong> o no. Los navegadores cada vez son mas <strong>compatibles con css3 y html5</strong>, haciendo que aparezcan nuevas formas de presentar el contenido, antes también sólo al alcance de flash.</p>
<h3>Patada a cub3r?</h3>
<p><a href="http://appear.dk/" target="_blank"><img class="aligncenter size-medium wp-image-458" title="appear.dk" src="http://blog.jesusyepes.com/wp-content/uploads/appeardk-300x189.png" alt="appear.dk" width="300" height="189" /></a></p>
<p>Por ejemplo, el apartado cases de esta <a href="http://appear.dk">appear.dk</a> vemos una galería de trabajos con una presentación impecable&#8230; y no está hecha en flash. Seguro que más de uno conoce algún ejemplo similar, de cosas que hace 3 años eran <strong>exclusivas de flash</strong>, y que ahora <strong>están al alcance de javascript</strong>.</p>
<h3>Varias aclaraciones</h3>
<p>He puesto themeforest como ejemplo por que es una de las galerías de plantillas que más visito. No tengo nada contra themeforest, no tengo nada contra los autores de las plantillas citadas, y no soy autor de plantillas de themeforest ni de ningún sitio similar.</p>
<p>No utilizo Cub3r, no conozco al autor/autores, y no tengo nada contra el o ellos.</p>
<p>Este post, es simplemente una crítica no a cub3r en sí mismo, si no a cómo cuando sale algo nuevo en este mundillo, el uso y abuso de dicha tecnología tal cual y como sale de la caja (es decir, sin personalizar, sin modificar, tal cual viene) puede llegar a <strong>cansar</strong>, y de como algo que viste hace unos meses te pareció impactante, ahora lo miras con una sonrisa en la cara.</p>
<p>Tampoco quiero criticar a usanza, sin base alguna, el uso de <strong>flash</strong>. Hay cosas que sólo se pueden hacer con flash, como un reproductor de video totalmente compatible (casi) con todos los ordenadores de escritorio, sistemas de videochat, webs con películas de fondo (otras que tan de moda se están poniendo de moda últimamente) y similares. Pero sí soy un defensor de, si puedes hacer una cosa sin flash, aunque te cueste un poco más de trabajo, no uses flash.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/WaEtar3fnDU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/diseno-web/cub3er-image-slider-o-como-una-idea-original-puede-dejar-de-serlo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pleskbackup desde consola en Plesk 9</title>
		<link>http://blog.jesusyepes.com/administracion-de-sistemas/pleskbackup-desde-consola-en-plesk-9/</link>
		<comments>http://blog.jesusyepes.com/administracion-de-sistemas/pleskbackup-desde-consola-en-plesk-9/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 06:49:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Administración de sistemas]]></category>

		<category><![CDATA[plesk]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=440</guid>
		<description><![CDATA[Ya he escrito varias cosas sobre plesk, centradas en migrar datos existentes de un servidor con la versión 8 a otro con la 9, aquí y aquí. Ahora, toca el turno a hacer copias de seguridad de dominios por separado, desde la consola, en un servidor que tiene instalado Plesk 9, y montado sobre CentOS.El [...]]]></description>
			<content:encoded><![CDATA[<p>Ya he escrito varias cosas sobre plesk, centradas en migrar datos existentes de un servidor con la versión 8 a otro con la 9, <a href="http://blog.jesusyepes.com/administracion-de-sistemas/migrando-dominios-desde-un-servidor-que-usa-plesk-8-a-uno-que-usa-plesk-9/" target="_blank">aquí</a> y <a href="http://blog.jesusyepes.com/administracion-de-sistemas/migrando-dominios-a-traves-de-clientes-de-plesk-8-a-plesk-9/" target="_blank">aquí</a>. Ahora, toca el turno a hacer copias de seguridad de dominios por separado, desde la consola, en un servidor que tiene instalado Plesk 9, y montado sobre CentOS.<span id="more-440"></span>El comando sería algo así:</p>
<p>/usr/local/psa/bin/pleskbackup domains-name dominio.com &#8211;output-file=dominio -v</p>
<p>Nota: output-file va precedido de dos guiones.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/2FOUEIH9mB4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/administracion-de-sistemas/pleskbackup-desde-consola-en-plesk-9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Validar una dirección de email con Javascript</title>
		<link>http://blog.jesusyepes.com/jquery/validar-una-direccioin-de-email-con-javascript/</link>
		<comments>http://blog.jesusyepes.com/jquery/validar-una-direccioin-de-email-con-javascript/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:31:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[JQuery]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=434</guid>
		<description><![CDATA[Seguimos con las validaciones del lado del cliente, en este caso, una pequeña función para comprobar si una dirección de email es válida. Ya sabes, que tenga caracteres, una arroba, mas caracteres, un punto, más caracteres&#8230;. otra cosa es que el email luego sea válido!
function validarEmail(value) {
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
return filter.test(value);
}
Le pasamos la dirección de [...]]]></description>
			<content:encoded><![CDATA[<p>Seguimos con las validaciones del lado del cliente, en este caso, una pequeña función para <strong>comprobar si una dirección de email es válida</strong>. Ya sabes, que tenga caracteres, una arroba, mas caracteres, un punto, más caracteres&#8230;. otra cosa es que el email luego sea válido!<span id="more-434"></span></p>
<p>function validarEmail(value) {<br />
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;<br />
return filter.test(value);<br />
}</p>
<p>Le pasamos la dirección de email que queremos <strong>validar</strong>, y nos devuelve un boleano.</p>
<p>Esto nos sirves para validaciones rápidas sin tener que recargar la página completa, pero desde el lado del servidor tendremos que volver a <strong>validar los dato</strong>s, ya que no es aconsejable nunca fiarse de las validaciones en <strong>javascript</strong>&#8230;.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/hjjL8MPQw94" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/jquery/validar-una-direccioin-de-email-con-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Limpiar todos los campos de un formulario con JQuery</title>
		<link>http://blog.jesusyepes.com/jquery/limpiar-todos-los-campos-de-un-formulario-con-jquery/</link>
		<comments>http://blog.jesusyepes.com/jquery/limpiar-todos-los-campos-de-un-formulario-con-jquery/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:22:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[JQuery]]></category>

		<category><![CDATA[formulario]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=432</guid>
		<description><![CDATA[En ocasiones, tenemos formularios a los que queremos aplicar validación a algunos campos, y dependiendo de la acción tomada, podemos necesitar vaciar todo el contenido del formulario que el usuario haya rellenado. Si tenemos un formulario de 3 o 4 campos, podemos hacerlo a mano de forma rápida, del modo:
$(&#8221;#miInput&#8221;).val(&#8221;);
Pero si estamos trabajando con un [...]]]></description>
			<content:encoded><![CDATA[<p>En ocasiones, tenemos <strong>formularios</strong> a los que queremos aplicar <strong>validación</strong> a algunos campos, y dependiendo de la acción tomada, podemos necesitar <strong>vaciar todo el contenido del formulario</strong> que el usuario haya rellenado. Si tenemos un <strong>formulario</strong> de 3 o 4 campos, podemos hacerlo a mano de forma rápida, del modo:</p>
<p>$(&#8221;#miInput&#8221;).val(&#8221;);</p>
<p>Pero si estamos trabajando con un <strong>formulario</strong> grande, con varios tipos de campos, algo tan simple nos puede tomar mucho tiempo.<span id="more-432"></span>Buscando por internet y hechandole un ratillo, me he creado esta función (he comentado todas las líneas para que todo esté más claro):</p>
<p>function limpiaForm(miForm) {<br />
// recorremos todos los campos que tiene el formulario<br />
$(&#8217;:input&#8217;, miForm).each(function() {<br />
var type = this.type;<br />
var tag = this.tagName.toLowerCase();<br />
//limpiamos los valores de los campos&#8230;<br />
if (type == &#8216;text&#8217; || type == &#8216;password&#8217; || tag == &#8216;textarea&#8217;)<br />
this.value = &#8220;&#8221;;<br />
// excepto de los checkboxes y radios, le quitamos el checked<br />
// pero su valor no debe ser cambiado<br />
else if (type == &#8216;checkbox&#8217; || type == &#8216;radio&#8217;)<br />
this.checked = false;<br />
// los selects le ponesmos el indice a -<br />
else if (tag == &#8217;select&#8217;)<br />
this.selectedIndex = -1;<br />
});<br />
}</p>
<p>La función recibe un objeto de <strong>JQuery</strong> que representa el <strong>formulario</strong> que queremos vaciar. Supongamos que el <strong>formulario</strong> tiene como id &#8220;Formulario1&#8243;, lo haríamos de la siguiente forma:</p>
<p>limpiaForm($(&#8221;#Formulario1&#8243;));</p>
<p>&#8230; y todo el formulario limpio.</p>
<p>Incluso puede ser más fácil, si sólo tuviéramos <strong>inputs de texto</strong>, y algún <strong>textarea</strong>, podríamos hacer:</p>
<p>$(&#8221;#Formulario1 input, #Formulario1 textarea&#8221;).val(&#8221;);</p>
<p>Otra clara demostración de lo mal acostumbrado que nos tiene <strong>JQuery</strong>!</p>
<p>Pero aún más simple&#8230;</p>
<p>$(&#8221;#Formulario1&#8243;).reset();</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/1HrvByjeuuI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/jquery/limpiar-todos-los-campos-de-un-formulario-con-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducción a Code Igniter</title>
		<link>http://blog.jesusyepes.com/codeigniter/introduccion-a-code-igniter/</link>
		<comments>http://blog.jesusyepes.com/codeigniter/introduccion-a-code-igniter/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 17:15:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://blog.jesusyepes.com/?p=426</guid>
		<description><![CDATA[Hace poco leí que en Blog and Web (un blog que sigo durante hace bastante tiempo, el cual si no lo conocéis deberíais visitarlo) que buscaban colaboradores para escribir articulos/tutoriales que hablaran sobre el diseño web. Últimamente, he estado usando Code Igniter, y me ha gustado bastante, así que hablé con ellos, le comenté la [...]]]></description>
			<content:encoded><![CDATA[<p>Hace poco leí que en <a href="http://blogandweb.com/" target="_blank">Blog and Web</a> (un blog que sigo durante hace bastante tiempo, el cual si no lo conocéis deberíais visitarlo) que buscaban colaboradores para escribir articulos/tutoriales que hablaran sobre el diseño web. Últimamente, he estado usando Code Igniter, y me ha gustado bastante, así que hablé con ellos, le comenté la idea de hacer una pequeña introducción a dicho framework&#8230;. y voilá, <a href="http://blogandweb.com/php/introduccion-a-code-igniter-i/" target="_blank">esto</a> es lo que ha salido.</p>
<p>Visita la <a href="http://blogandweb.com/php/introduccion-a-code-igniter-i/" target="_blank">Introducción a Code Igniter</a>, y dinos que te ha parecido.</p>
<img src="http://feeds.feedburner.com/~r/UnoDeLosOtros/~4/kkcfGgiTjyY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesusyepes.com/codeigniter/introduccion-a-code-igniter/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
