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

<channel>
	<title>JAB &#187; PHP</title>
	<atom:link href="http://blog.tempwin.net/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tempwin.net</link>
	<description>Just Another Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 23:14:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Diseñando webs para Wii</title>
		<link>http://blog.tempwin.net/2006/12/30/disenando-webs-para-wii/</link>
		<comments>http://blog.tempwin.net/2006/12/30/disenando-webs-para-wii/#comments</comments>
		<pubDate>Sat, 30 Dec 2006 11:05:52 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://blog.tempwin.net/2006/12/30/disenando-webs-para-wii/</guid>
		<description><![CDATA[Una de las -muchas- posibilidades de la nueva consola de Nintendo, Wii, es la capacidad de conexión a Internet vía WiFi (sin cables). Pero no hablaré aquí de las características de la consola o de los videojuegos sino de cómo adaptar o diseñar sitios web para ser vistos correctamente desde la Wii. El único requerimiento [...]]]></description>
			<content:encoded><![CDATA[<p><img class="right" src="http://blog.tempwin.net/img/wii.jpg" alt="Wii" />Una de las -muchas- posibilidades de la nueva consola de Nintendo, <strong>Wii</strong>, es la capacidad de <strong>conexión a Internet vía WiFi</strong> (sin cables). Pero no hablaré aquí de las características de la consola o de los videojuegos sino de <strong>cómo adaptar o diseñar sitios web para ser vistos correctamente desde la Wii</strong>.</p>
<p><strong>El único requerimiento para poder entender todo este rollo que cuento es tener algo de idea de diseño web.</strong></p>
<h2>El navegador de Wii</h2>
<p>Uno de los servicios más populares que nos ofrece Internet es la web: poder navegar a través de millones y millones de páginas web. Para <em>Wii</em> hay un navegador especialmente diseñado. Se trata de una versión del navegador <a href="http://www.opera.com" target="_blank">Opera</a> adaptada (y de momento en prueba), con las mejores características de éste, aunque con algunas limitaciones:</p>
<ul>
<li> Basado en la versión 9 de Opera</li>
<li> Plugin de Flash 7 (no hay problema para entretenerse con YouTube o Google Video, por ejemplo)</li>
<li> Soporte de Cookies</li>
<li> Soporte de JavaScript</li>
<li> <strong>No soporta</strong> Java</li>
<li> <strong>No soporta</strong> archivos de vídeo como Windows Media o Quicktime</li>
</ul>
<p>Ya sabemos un poco más del navegador web, vayamos ahora al tema :-)</p>
<h2>Resolución</h2>
<p>Aquí dependerá del televisor que estéis usando, pero se supone que se adapta a la mayor resolución que permita el televisor. En las pruebas que he hecho (y en modo 16:9), obtengo una resolución de 1024 píxeles de ancho por 500 de alto (<strong>1024&#215;500</strong>). En realidad, serían 600 de alto, pero 100 se los come la barra de herramientas del navegador.</p>
<p>Lo mejor es usar <strong>tamaños relativos</strong> en nuestro diseño. En lugar de definir una anchura de página de 800 píxeles, por ejemplo, decimos que será el 80% de la anchura total de la televisión. Así no importará qué resolución soporte el televisor, ya que el diseño se adaptará al 80% de la máxima anchura. Y así con el resto de capas que usemos.</p>
<h2>Fuentes y tamaño</h2>
<p>La mayoría de las fuentes (tipos de letra) que se usan en blogs o páginas web se ven perfectamente en el navegador de Wii, el único problema es el tamaño de dichas fuentes. Fuentes de menos de 15 pixels son bastante difíciles de leer por lo pequeñas que se ven, aunque esto no sea un gran problema pues podemos hacer Zoom con el mando, pero es un poco engorroso. Un <strong>tamaño ideal sería de 25 pixels</strong>, y de ahí, para arriba :-) </p>
<p>Si queréis usar el tipo de letra que se usa en el menú principal de Wii (la fuente oficial, digamos), se llama <strong><em>Wii NTLG PGothic JPN Regular</em></strong>.</p>
<h2>Seleccionar un estilo si es Wii</h2>
<p>Imaginemos que queremos que nuestra página muestre diseños distintos según se vea desde el navegador de la Wii o desde otro navegador, así podríamos tener un diseño general y luego uno adaptado, con letras más grandes, otro tipo de fuente, colores&#8230; para que sea cómodo de visualizar desde la consola.</p>
<p>Lo ideal es que en nuestra página web o weblog tengamos separado el contenido del continente, es decir, el contenido del diseño. Con lo cual tendremos por un lado nuestras páginas y por otra una o varias hojas de estilo (CSS). Así que para cambiar entre un diseño y otro, tan sólo hay que cargar una hoja de estilo u otra, sin apenas tocar código. Tendremos, por ejemplo, <code>style.css</code> que será nuestra hoja de estilo normal y <code>style-wii.css</code> que será una hoja de estilo que hemos creado para el caso de que nuestra página se vea desde la consola de Nintendo. Nos ayudaremos de código en PHP para hacer todo esto (así que debéis aseguraros de que vuestro servidor tiene instalado PHP o no funcionará). Nada de asustarse, que es muy sencillo :-)</p>
<p>La idea es detectar el navegador de la Wii y si es cierto, cargar la hoja de estilos adecuada. Así que en nuestra página principal, entre las etiquetas <code>&lt;head&gt; y &lt;/head&gt;</code>, ponemos algo así:</p>
<pre class="codigo">
&lt;?php
     if(eregi("wii",$_SERVER["HTTP_USER_AGENT"])) {
          echo "&lt;link rel='stylesheet' type='text/css' href='http://miweb.com/style-wii.css' title='style' /&gt;";
     } else {
          echo "&lt;link rel='stylesheet' type='text/css' href='http://miweb.com/style.css' title='style' /&gt;";
     }
?&gt;
</pre>
<p>Si el navegador se identifica como <strong>wii</strong>, se escribirá el código necesario para añadir la hoja de estilo adaptada a Wii (<code>style-wii.css</code>). En otro caso, usaremos la hoja de estilos normal (<code>style.css</code>).</p>
<p>Para el que sienta curiosidad, lo que devuelve la variable <code>HTTP_USER_AGENT</code> es:<br />
<code>Opera/9.00 (Nintendo Wii; U; ; 1309-9; es-es)</code>.</p>
<p>Acabáis de ver un caso práctico de por qué es bueno diseñar webs separando el diseño del contenido. Menos trabajo :-)</p>
<h2>Dámelo todo hecho</h2>
<p>Si usas <a href="http://wordpress.org" target="_blank">WordPress</a> para administrar tu sitio, seguramente te interese saber que hay un añadido (<em>plugin</em>) para este <acronym title="Content Management System, Sistema de gestión de contenidos">CMS</acronym> que permite modificar el estilo de nuestra página sin tener que tocar código. Lo podéis descargar desde <a href="http://harper.wirelessink.com/?p=104" target="_blank">aquí</a>. Ojo, no lo recomiendo porque cambia totalmente el diseño de tu página por el que trae el plugin por defecto, pero si eso no te importa, es muy cómodo. Por ejemplo, mirad cómo se ve el <a href="http://draxus.org/weblog" target="_blank">weblog de DraXus</a> (y así respondo a su pregunta ;-):</p>
<p><a href="http://draxus.org/weblog" target="_blank"><img class="center" src="http://blog.tempwin.net/img/draxus.jpg" alt="Weblog de DraXus" /></a></p>
<p>Y con el plugin:</p>
<p><a href="http://blog.tempwin.net/img/draxus-wii.JPG" target="_self"><img class="center" src="http://blog.tempwin.net/img/draxus-wii_s.JPG" alt="Weblog de Draxus visto desde Wii" /></a></p>
<p>Este texto no está ni cerca de estar completo. Según tenga más información y siga haciendo pruebas, iré poniendo los resultados.</p>
<p><strong>Actualización</strong> [14/04/2007]: Ha salido la versión final (hasta ahora era una <em>beta)</em> con las siguiente características:</p>
<ul>
<li> Opera 9.10</li>
<li> JavaScript 1.5</li>
<li> Plugin Flash 7.0 r68</li>
<li> Resolución: 800&#215;664</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempwin.net/2006/12/30/disenando-webs-para-wii/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Redireccionando, de una web a otra</title>
		<link>http://blog.tempwin.net/2006/09/05/redireccionando-de-una-web-a-otra/</link>
		<comments>http://blog.tempwin.net/2006/09/05/redireccionando-de-una-web-a-otra/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 09:54:41 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://blog.tempwin.net/2006/09/05/redireccionando-de-una-web-a-otra/</guid>
		<description><![CDATA[Cuando cambié de hosting y dominio para este blog, me encontré con el principal problema de hacer saber a la gente que entraba o había entrado en el antiguo, de que me había cambiado. Pensé que bastaría con un post donde comentaba que ahora se me podía encontrar en una nueva dirección, así cuando entrasen [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando cambié de hosting y dominio para este blog, me encontré con el principal problema de hacer saber a la gente que entraba o había entrado en el antiguo, de que me había cambiado. Pensé que bastaría con un post donde comentaba que ahora se me podía encontrar en una nueva dirección, así cuando entrasen en el blog antiguo, leerían esa nota en portada y se vendrían para aquí. Pero claro, muchos visitantes llegan a una página desde un navegador o desde algún enlace en otro sitio y que lo llevan a un post concreto de tu página y no ven la página principal o no leen más a allá de ese post que los ha traído hacia ti.</p>
<p>El otro problema es la pérdida del <em><strong>Pagerank</strong></em> (cuán popular es tu sitio para Google) o de los <strong><em>backlinks</em></strong> (enlaces a contenidos de tu página desde otras páginas). Afortunadamente, estas cosas tienen solución (bendita informática :-P)</p>
<p>Vamos a hacer uso de uno de los <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html" target="_blank">estados del servidor web</a>, concretamente el 301, que indica que la página web a la que estás accediendo ha sido movida a otro sitio. Esto es muy útil para los robots de los buscadores, que cuando rastrean nuestra página web, anotan que deben seguir la nueva dirección de la página. Muy bien, ¿y cómo hacemos esto? En PHP, basta con poner el siguiente código en la página principal de la página que queremos redireccionar:</p>
<pre class="codigo">
&#60;?php
     Header( "HTTP/1.1 301 Moved Permanently" );
     Header( "Location: http://www.direccion-nueva.com" );
?&#62;
</pre>
<p>Bastará con cambiar la parte que pone <em>Location</em>, con el sitio al que queremos que redireccione.</p>
<p>Puede suceder (es lo que me ocurrió a mí) que el sitio donde tengas alojada tu página, no permita incluir código PHP en su contenido, así que tendremos que echar mano de una solución algo cutre, pero también efectiva. Entre las etiquetas &#60;head&#62; y &#60;/head&#62;, ponemos:</p>
<pre class="codigo">
&#60;META HTTP-EQUIV="refresh" content="0;
          URL=http://www.direccion-nueva.com/"&#62;
</pre>
<p>Lo que hemos hecho es que la página que contiene ese código se actualice (<em>refresh</em>), a los 0 segundos de haber sido cargada, a la nueva página <a href="#">http://www.direccion-nueva.com</a>. Podéis ver cómo funciona entrando en <a href="http://jab.blogia.com" target="_blank">http://jab.blogia.com</a>, donde estaba antes este weblog. Debería traeros aquí de nuevo.</p>
<p>Y nada de perder visitantes ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempwin.net/2006/09/05/redireccionando-de-una-web-a-otra/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SPGM: una galería muy válida</title>
		<link>http://blog.tempwin.net/2006/08/31/spgm-una-galeria-muy-valida/</link>
		<comments>http://blog.tempwin.net/2006/08/31/spgm-una-galeria-muy-valida/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 11:25:50 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://blog.tempwin.net/2006/08/31/spgm-una-galeria-muy-valida/</guid>
		<description><![CDATA[Hoy en día hay un montón de generadores de galerías web. Tú sólo les das las fotos, y el script se encarga de crear la galería, sin tú tener que preocuparte de escribir código. Los hay muy buenos, pero hoy os voy a hablar de SPGM (Simple Picture Gallery Manager), por varias razones: Es código [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en día hay un montón de generadores de galerías web. Tú sólo les das las fotos, y el script se encarga de crear la galería, sin tú tener que preocuparte de escribir código. Los hay muy buenos, pero hoy os voy a hablar de <strong>SPGM</strong> (<em>Simple Picture Gallery Manager</em>), por varias razones:</p>
<p><img class="right" src="http://blog.tempwin.net/img/spgm-clean.jpg" width="282" height="200" alt="SPGM" /></p>
<ul>
<li> Es código abierto</li>
<li> No usa bases de datos</li>
<li> No usa la librería GD</li>
<li> Está en español</li>
<li> Las galerías que genera son <strong>XHTML 1.0 Strict válidas</strong>.</li>
</ul>
<p>Lo cierto es que la última opción fue la que me hizo decantarme por ella.</p>
<h2>Instalación</h2>
<p>Debemos tener instalada la versión 4 ó superior de <a href="http://www.php.net/" target="_blank">PHP</a>. Nos descargamos <a href="http://spgm.sourceforge.net/?lg=us&#038;id=download" target="_blank">la última versión</a> y lo descomprimimos en un directorio. Si lo subimos a nuestro espacio web, la dirección de la galería sería algo así: <a href="#" target="_self">http://www.tuweb.com/spgm-xxx/index.php</a>. spgm-xxx variará según la versión que te hayas descargado. Obviamente, puedes darle el nombre que quieras a ese directorio.</p>
<p>Pues la instalación era eso nada más. Ahora sólo queda meterle contenido :-)</p>
<h2>Creando galerías</h2>
<p>Por defecto, sólo tenemos que crear directorios dentro de la carpeta <code>gal</code>. Así que, si queremos crear una galería llamada Fotos, tendremos que crear un directorio con ese nombre en <code>gal</code>, de tal forma que nos quedaría <code>gal/Fotos/</code>. Los nombres de las galerías (los directorios) no pueden contener espacios, pero podemos escribir en su lugar un guión bajo &#8216;_&#8217; y el script lo interpretará como un espacio: <code>gal/Fotos_de_coches</code>.</p>
<p>Ahora metemos las fotos en esos directorios. Y nos falta un último paso, debemos crear nosotros las miniaturas (<em>thumbnails</em>) de las fotos. Sí esto puede ser algo engorroso, pero es la desventaja de no usar la librería GD para la manipulación de imágenes. Sin embargo, dentro de la carpeta <code>tools</code> nos incluyen un script tanto para Windows (<code>genthumb.bat</code>) como para Linux (<code>genthumb.sh</code>) que nos facilitarán el proceso, haciendo automáticamente las miniaturas de las fotos. De todos modos, por si os sirve, yo hice un script bastante más sencillo (<strong>para Linux</strong>):</p>
<pre class="codigo">
#!/bin/bash
for image in `ls *.jpg`
do
        convert $image -resize 150x113 _thb_$image
done
</pre>
<p><strong>Es necesario tener instalado el paquete <a href="http://www.imagemagick.org/" target="_blank">imagemagick</a></strong>. Lo que hace el script es que para todas las imágenes (en este caso, .jpg) que haya en el directorio donde se ejecute el script, las reduce a un tamaño de 150 píxels de ancho y 113 de alto, y les da un nuevo nombre (no borra las originales) de la forma <code>_thb_nombre_de_la_imagen_original.jpg</code>.</p>
<p>Para usar el script, primero copiáis las líneas de arriba en un fichero, lo llamáis como queráis (mejor algo descriptivo, claro) y le dais permisos de ejecución (en consola es <code>tempwin@linux:~$ chmod +x nombre_script</code>). Y lo ejecutáis tal que así: <code>tempwin@linux:~$ ./nombre_script</code> :-)</p>
<p>Venga, y ya tenéis la galería creada :-) Pongámonos ahora con la configuración/personalización.</p>
<h2>Archivos y directorios</h2>
<p>Así está estructurado SPGM junto con sus archivos importantes:</p>
<ul>
<li> <code>contrib/</code> &#8211; Donde está una librería javascript que usa SPGM para mostrar información EXIF.</li>
<li> <code>css/</code> &#8211; La hoja de estilo del aspecto superficial de la galería.</li>
<li> <code>flavors/</code> &#8211; Carpeta de temas, para modificar el aspecto de la galería.</li>
<li> <code>gal/</code> &#8211; Por defecto es el directorio donde se almacenarán los álbumes que queramos añadir a la galería.</li>
<li> <code>gal/spgm.conf</code> &#8211; Archivo de configuración de la galería, para editar algunos aspectos de la misma.</li>
<li> <code>lang/</code> &#8211; Carpeta con los archivos de lenguaje, para traducir la galería.</li>
<li> <code>tools/</code> &#8211; Herramientas para la creación automática de miniaturas.</li>
<li> <code>spgm.php</code> &#8211; Es el script que se encarga de crear la galería.</li>
</ul>
<h2>Idioma</h2>
<p>Dentro de la carpeta <code>lang</code> tienes bastantes idiomas para elegir. Por defecto, viene en inglés. Si queremos cambiar el idioma, tenemos que editar el archivo <code>spgm.conf</code>, que está dentro de la carpeta <code>gal</code>. Casi al final podemos ver una línea que pone <code>$cfg['conf']['language'] = 'en';</code>, por defecto, está comentada (con un # delante). Borramos el # y le ponemos el idioma, <code>es</code> para el Español.</p>
<h2>Número de miniaturas</h2>
<p>Otro aspecto que nos interesará, será el número de miniaturas que queremos que se muestre en cada página de nuestra galería. Lo podemos definir también en el mismo archivo que antes. En la línea <code>$cfg['conf']['thumbnailsPerRow'] = 4;</code>, le indicamos que queremos que aparezcan cuatro miniaturas por fila. Y en <code>$cfg['conf']['thumbnailsPerPage'] = 12;</code>, decimos que queremos 12 miniaturas por página.</p>
<h2>Modificando el aspecto</h2>
<p>Podemos cambiar la apariencia de la galería mediante unos estilos o sabores (<em>flavors</em>, como dicen ellos). Hay algunos disponibles en su <a href="http://spgm.sourceforge.net/?lg=us&#038;id=flavors" target="_blank">página web</a>. Tan sólo los descargamos, los metemos en la carpeta <code>flavors</code>, extramos el contenido, y en el fichero (¿a ver si lo adivinas?) <code>spgm.conf</code> le decimos el nombre del tema que queremos usar en la línea <code>$cfg['conf']['theme'] = 'clean';</code>. Para este ejemplo, es el tema <strong>clean</strong> (debes poner el nombre que tenga la carpeta del tema).</p>
<p>Sólo te hace falta saber algo de CSS y XHTML para hacer tus propios temas o modificar el aspecto de la galería a tu gusto.</p>
<h2>Alternativas</h2>
<ul>
<li> <a href="http://gallery.menalto.com/" target="_blank">Gallery</a> (la versión 1 no usa base de datos)</li>
<li> <a href="http://coppermine-gallery.net/index.php" target="_blank">Coppermine</a></li>
<li> <a href="http://www.plogger.org/" target="_blank">Plogger</a>: La mejor alternativa a SPGM aunque usa base de datos</li>
</ul>
<p>Ah, por cierto, <a href="http://tempwin.net/galleries/" target="_self">mi galería</a> está funcionando con SPGM ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempwin.net/2006/08/31/spgm-una-galeria-muy-valida/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

