<?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>Cmacias.com &#187; php</title>
	<atom:link href="http://www.cmacias.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cmacias.com</link>
	<description>Otro blog más de diseño</description>
	<lastBuildDate>Sat, 06 Aug 2011 18:26:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Extraer imágenes de un post en WP</title>
		<link>http://www.cmacias.com/extraer-imagenes-de-un-post-de-wordpress/</link>
		<comments>http://www.cmacias.com/extraer-imagenes-de-un-post-de-wordpress/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 12:20:11 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=294</guid>
		<description><![CDATA[En principio esto no sería complicado sabiendo que hay muchos plugins que lo hacen, y en otras muchas webs te explican como hacerlo desde el propio código con funciones. Pero claro, estos plugins o explicaciones están fundamentados en el uso de la herramienta media del propio wordPress. Sinceramente, hay algo que no me gusta mucho [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.cmacias.com/wp-content/uploads/2009/10/miniaturas.jpg" alt="miniaturas" title="miniaturas" width="425" height="160" class="alignnone size-full wp-image-312" /></p>
<p>En principio esto no sería complicado sabiendo que hay muchos plugins que lo hacen, y en otras muchas webs te explican como hacerlo desde el propio código con funciones.</p>
<p>Pero claro, estos plugins o explicaciones están fundamentados en el uso de la herramienta <strong>media</strong> del propio wordPress. </p>
<p>Sinceramente, hay algo que no me gusta mucho de esta herramienta, y es que guarda todos los elementos (imágenes, audio, video) en la tabla wp_post de la base de datos, justo donde se guardan los post y las páginas, por lo que si eres amigo de adornar los post con imágenes, esta tabla termina saturada con &#8211; a mi entender &#8211; contenido innecesario.</p>
<p>Es por eso que utilizo editores externos para la inserción de imágenes, por lo que los que las soluciones para extraer las imágenes de un post no son válidas.</p>
<p>Para esto, se podría crear una función de este tipo, que extraiga todas las imágenes de un post, y seleccione la primera encontrada.</p>
<pre class="php">
function get_first_image_thumb()
{
    // Recuperamos el post
    $Html = strtolower(get_the_content());

    // Extraemos todas las imagenes
    $extrae = '/&lt;img .*src=["\']([^ ^"^\']*)["\']/';

    // Extraemos todas las imágenes
    preg_match_all( $extrae  , $Html , $matches );

    // donde
    // [1] -> segundo elemento del array "texto/imagenes"
    // [0] -> primera imagen del array de "imagenes"
    $image = $matches[1][0];

    if($image)
    {
        echo '&lt;div class="entry-thumb"/&gt;
              &lt;img src="'.$image.'" alt="" /&gt;
              &lt;/div&gt;';
    } else {
        return false;
    }
}</pre>
<p>Eso si, el tamaño de la miniatura ya dependería de vosotros. En mi caso como las imágenes no son muy grandes, modifico su tamaño con css.</p>
<p>Ahora simplemente nos quedaría llamar a esta función en la entrada del blog</p>
<pre class="html">
&lt;div class="entry"&gt;
    &lt;?php get_first_image_thumb(); ?&gt;
    &lt;?php the_excerpt(); ?&gt;
&lt;/div&gt;
</pre>
<p>Esta función es extrapolable a cualquier otro cms. Simplemente habría que cambiar el valor de la variable &#8220;$Html&#8221; por el del texto del cuál queramos extraer las imágenes.</p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a>, <a href="http://bitacoras.com/canales/wordress" title="en Bitacoras encuentre blogs que hablan acerca de  'wordress'." rel="tag">wordress</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/extraer-imagenes-de-un-post-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>AIE &#8211; Editor de imágenes Online</title>
		<link>http://www.cmacias.com/aie-editor-de-imagenes-online/</link>
		<comments>http://www.cmacias.com/aie-editor-de-imagenes-online/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 13:28:12 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[diseño]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=232</guid>
		<description><![CDATA[Es cierto que a medida que internet evoluciona, aparecen herramientas que nos hacen la vida más fácil. Los gestores de contenidos, los framework, y desde no hace mucho, los gestores de edición de imágenes. Estas últimas me atraen de forma especial. Te permiten realizar funciones básicas de edición sin necesidad de abrir un photoshop. Son [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.cmacias.com/wp-content/uploads/2009/20/aie.jpg" alt="AIE" width="425" height="202" /></p>
<p>Es cierto que a medida que internet evoluciona, aparecen herramientas que nos hacen la vida más fácil. Los gestores de contenidos, los framework, y desde no hace mucho, los gestores de edición de imágenes. Estas últimas me atraen de forma especial. Te permiten realizar funciones básicas de edición sin necesidad de abrir un photoshop.</p>
<p>Son varios los que hay en el mercado y mucho se ha hablado de ellas, aunque su principal pega (a mi parecer) es que están en servidores externos y no es posible tocar código para mejorar o añadir nuevas funcionalidades.</p>
<p>Y así era hasta hoy. Por medio de <a title="WebIntenta" href="http://www.webintenta.com/aie-editor-de-imagenes-ajax-open-source.html" target="_blank">webintenta</a>, me entero que existe <a title="AIE" href="http://www.ajax-image-editor.com/" target="_blank">AIE</a> (Ajax Image Editor). Es un completo editor de imágenes listo para descargar e instalar en tu propio servidor. Está basado en <a title="ExtJS" href="http://www.extjs.com" target="_blank">ExtJs</a> e <a title="ImageMagic" href="http://www.imagemagick.org/" target="_blank">ImageMagic</a> y la verdad es que le vo muchas utilidades, y como valor añadido para instalar en nuestros CMS.</p>
<p>[ <a title="AIE" href="http://www.ajax-image-editor.com/" target="_blank">AIE</a> ] [ <a title="AIE Demo" href="http://www.ajax-image-editor.com/demo/" target="_blank">Demo</a> ]</p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/dise%C3%B1o" title="en Bitacoras encuentre blogs que hablan acerca de  'diseño'." rel="tag">diseño</a>, <a href="http://bitacoras.com/canales/javascript" title="en Bitacoras encuentre blogs que hablan acerca de  'javascript'." rel="tag">javascript</a>, <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/aie-editor-de-imagenes-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php cheat sheet</title>
		<link>http://www.cmacias.com/php-cheat-sheet/</link>
		<comments>http://www.cmacias.com/php-cheat-sheet/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 21:49:30 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=112</guid>
		<description><![CDATA[Aunque es un tema un poco antiguo, nunca está de más hacer un recordatorio sobre esta chuleta, sobre todo si vas a hacer un post de php y no sale como debe. Desde luego que yo me lo voy a estudiar a fondo 8¬P &#160; &#160; Por cierto, la chuleta fué creada por Manz de [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque es un tema un poco antiguo, nunca está de más hacer un recordatorio sobre esta chuleta, sobre todo si vas a hacer un post de php y no sale como debe. Desde luego que yo me lo voy a estudiar a fondo 8¬P</p>
<p>&nbsp;</p>
<p>&nbsp;<img title="php cheat sheet" src="http://www.cmacias.com/wp-content/uploads/2008/06/php-cheat-sheet.jpg" alt="php cheat sheet" width="425" height="410" /><br style="clear:both" /></p>
<p>Por cierto, la chuleta fué creada por Manz de <a title="EmeZeta" href="http://www.emezeta.com" target="_blank"><strong>Emezeta</strong></a>.</p>
<p>[ <a title="Php Cheat Sheet" href="http://www.emezeta.com/articulos/emezeta-card-php-cheat-sheet" target="_blank">php cheat sheet</a> ]</p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/php-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Crear una lista dinámica</title>
		<link>http://www.cmacias.com/crear-una-lista-dinamica/</link>
		<comments>http://www.cmacias.com/crear-una-lista-dinamica/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:05:37 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=111</guid>
		<description><![CDATA[En ocasiones nos es necesario crear una lista (&#60;ul&#62;) de un determinado número de registros de una base de datos. Y para rizar el rizo, esos datos están entrelazados, es decir, que unos registros dependen de otros. Lo más fácil es crear un recordset, y dentro del bucle crear otro con los parámetros necesarios, pero [...]]]></description>
			<content:encoded><![CDATA[<p>En ocasiones nos es necesario crear una lista (&lt;ul&gt;) de un determinado número de registros de una base de datos. Y para rizar el rizo, esos datos están entrelazados, es decir, que unos registros dependen de otros.</p>
<p>Lo más fácil es crear un recordset, y dentro del bucle crear otro con los parámetros necesarios, pero ay!! que suele suceder que no nos resulta posible el saber cuantos registros habrán ni cuantos niveles de profundidad tendremos.</p>
<p>Vamos a partir de una base de datos llamada por ejemplo &#8220;registros&#8221;. &#8220;Registros&#8221; tendrá podría tener 3 campos (y añadir más no sería complicado).</p>
<pre class="sql">CREATE TABLE `registros` (
   `id` int(11) NOT NULL auto_increment,
   `sub_id` int(11) NOT NULL default '0',
   `registro` varchar(80) NOT NULL,
   PRIMARY KEY&nbsp; (`id`)
) ENGINE=MyISAM&nbsp; DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;</pre>
<p>Como podemos comprobar tenemos un campo &#8220;id&#8221; autonumérico, un campo &#8220;sub_id&#8221; por el cuál relacionaremos un registro con otro, y un último campo llamado &#8220;registro&#8221; ( en original no me gana nadie) y como decía antes, para muchos casos será necesario el añadir más campos, lo cuál se puede hacer con total normalidad.</p>
<p>La idea es relacionar una serie de ciudades, con sus provincias, y a estas con sus comunidades y países.<br />
Y como buen mago, guardo en el bolsillo todos esos registros.</p>
<pre class="sql">INSERT INTO `registros` VALUES (1, 0, 'España');
INSERT INTO `registros` VALUES (2, 0, 'Portugal');
INSERT INTO `registros` VALUES (3, 1, 'Galicia');
INSERT INTO `registros` VALUES (4, 1, 'Asturias');
INSERT INTO `registros` VALUES (5, 2, 'Oporto');
INSERT INTO `registros` VALUES (6, 2, 'Lisboa');
INSERT INTO `registros` VALUES (7, 2, 'Chaves');
INSERT INTO `registros` VALUES (8, 3, 'Pontevedra');
INSERT INTO `registros` VALUES (9, 3, 'La Coruña');
INSERT INTO `registros` VALUES (10, 3, 'Ourense');
INSERT INTO `registros` VALUES (11, 3, 'Lugo');
INSERT INTO `registros` VALUES (12, 4, 'Oviedo');
INSERT INTO `registros` VALUES (13, 8, 'Pontevedra');
INSERT INTO `registros` VALUES (14, 8, 'Vigo');
INSERT INTO `registros` VALUES (15, 8, 'Cangas');
INSERT INTO `registros` VALUES (16, 9, 'La Coruña');
INSERT INTO `registros` VALUES (17, 9, 'Santiago
                                          de Compostela');
INSERT INTO `registros` VALUES (18, 9, 'Ferrol');
INSERT INTO `registros` VALUES (19, 12, 'Oviedo');
INSERT INTO `registros` VALUES (20, 12, 'Gijón');</pre>
<p>Bueno, tenemos nuestra base de datos, la tabla y también los datos. Ahora solo nos queda plasmar la idea. Y como todo, es muy sencilla.Crearemos una función con un recordset cuya consulta vaya filtrada por su &#8220;sub_id&#8221; que es el que relaciona a un registro con otro y dentro de los resultados que nos devuelva la consulta, llamamos a la función que estamos creando, pasándole como parámetro el &#8220;id&#8221; de ese registro.</p>
<p>Y como es más fácil mostrarlo que contarlo, nos ponemos a ello.</p>
<pre class="php">&lt;?php
// Creamos la conexion
$hostname_conn = "localhost";
$database_conn = "pruebas";
$username_conn = "root";
$password_conn = "";
$conn = mysql_pconnect($hostname_conn,
   $username_conn, $password_conn) or
   trigger_error(mysql_error(),E_USER_ERROR);

function arbol($id=0)
{
   // Convertimos a globales el nombre de la bd y la conexion
   global $database_conn, $conn;

   // Creamos el recordset
   mysql_select_db($database_conn, $conn);
   $query_rsRegistro = 'SELECT * from registros
                        WHERE sub_id = '.$id;
   $rsRegistro = mysql_query($query_rsRegistro, $conn)
                   or die(mysql_error());
   $row_rsRegistro = mysql_fetch_assoc($rsRegistro);
   $totalRows_rsRegistro = mysql_num_rows($rsRegistro);

   // Comprobamos que no esta vacia
   if($totalRows_rsRegistro &gt; 0)
   {
      // Inicializamos la lista
      echo '&lt;ul&gt;';

      // Mostramos todos los resultados
      do
      {
          echo '&lt;li&gt;'.$row_rsRegistro['registro'];

         // Ejecutamos la funcion dentro de si misma
         // Y le pasamos el id del registro actual
         arbol($row_rsRegistro['id']);

         echo '&lt;/li&gt;';
      }
      while($row_rsRegistro = mysql_fetch_assoc($rsRegistro));

      echo '&lt;/ul&gt;';
   }
}
?&gt;</pre>
<p>Ahora solo nos queda realizar la llamada en el lugar que consideremos oportuno, haciéndolo de la siguiente manera</p>
<pre class="php">&lt;?php  arbol();?&gt;</pre>
<p>Fácil, no ? Esto nos devuelve algo similar a esto.</p>
<p>* España<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Galicia<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Pontevedra<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Pontevedra<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Vigo<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Cangas<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * La Coruña<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * La Coruña<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Santiago de Compostela<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Ferrol<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Ourense<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Lugo<br />
&nbsp;&nbsp;&nbsp;* Asturias<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; * Oviedo<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Oviedo<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Gijón<br />
* Portugal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Oporto<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Lisboa<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Chaves</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/crear-una-lista-dinamica/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>Jugar con la URL en php</title>
		<link>http://www.cmacias.com/jugar-con-la-url-en-php/</link>
		<comments>http://www.cmacias.com/jugar-con-la-url-en-php/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 23:31:46 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=97</guid>
		<description><![CDATA[Hay veces en las que nos es necesario recuperar la url y actualizar un valor determinado, como por ejemplo en un paginador en el que queremos cambiar el número de página, pero mantener el resto de parámetros. Por norma general (siempre y cuando no sea muy extensa) rehacemos la url en función de los parámetros [...]]]></description>
			<content:encoded><![CDATA[<p>Hay veces en las que nos es necesario recuperar la url y actualizar un valor determinado, como por ejemplo en un paginador en el que queremos cambiar el número de página, pero mantener el resto de parámetros. Por norma general (siempre y cuando no sea muy extensa) rehacemos la url en función de los parámetros que sabemos estamos pasando, pero y si no sabemos que parámetros estamos pasando ?</p>
<p>Para ello, esta pequeña pero útil función, nos permitirá cambiar un parámetro y asignarle el valor que queramos, respetando siempre el resto de la estructura de la url.</p>
<pre class="php">
< ?php
// Definimos la página que recibe
// los parámetros de la url
define('URL','index.php');

function urL($variable, $valor)
{
   // Recuperamos la url recibida
   // y la reseteamos por si ya fué utilizada
   reset($_GET);
   // Una vez reseteada la tratamos a nuestro gusto
   $url = URL.'?'.$variable.'='.$valor;

   // Creamos un bucle con todos los parámetros
   // recuperados de la url
   while(list($key, $val) = each($_GET))
   {
      // Metemos todos esos parámetros en una variable
      //  siempre que no sean iguales a los parametro
      //  que pasamos por la función ($variable)
      if($key != $variable)
      {
         if (strlen($url) > 1)
         {
            $url.= '&amp;';
         }
         $url.= $key.'='.urlencode($val);
      }
   }
   return $url;
}

/*
Modo de uso
Si queremos cambiar el parámetro idioma en la url
index.php?idioma=es&#038;id=150&#038;cat=10&#038;pagina=4
Haríamos lo siguiente:
urL('idioma','en');
o también
urL('idioma',$_GET['idioma']);
*/

?>
</pre>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/jugar-con-la-url-en-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Foros Vanilla</title>
		<link>http://www.cmacias.com/foros-vanilla/</link>
		<comments>http://www.cmacias.com/foros-vanilla/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 22:29:02 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=60</guid>
		<description><![CDATA[Aunque su última versión es de Octubre del 2007, la comunidad sigue activa desarrollando nuevos plugins que lo hacen más potente todavía. No hay más que entrar en la web de su comunidad para ver que este foro es totalmente distinto a lo que estamos acostumbrados. Yo he tenido la suerte de participar en la [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Vanilla" src="http://www.cmacias.com/wp-content/uploads/2008/vanilla.jpg" alt="Vanilla" width="425" height="108" /></p>
<p>Aunque su última versión es de Octubre del 2007, la comunidad sigue activa desarrollando nuevos plugins que lo hacen más potente todavía.</p>
<p>No hay más que entrar en la web de su comunidad para ver que este foro es totalmente distinto a lo que estamos acostumbrados. Yo he tenido la suerte de participar en la beta antes de que saliera a la luz y tengo que decir que me maravilló. Hasta el punto que es el foro que utilizamos en DWug.</p>
<p>Son foros creados totalmente con capas (no hay tablas) por lo que su rediseño (tiene themes) es muy sencillo. La gestión es fabulosa, la forma en que se gestionan los plugins es muy semejante a como se hace con WordPress, incluso hay un plugin que lo integra en el propio WordPress.</p>
<p>Lo que si es cierto, es que es una valiosa alternativa a la hora de elegir un foro, al margen de los phpBb-InvisionBoard-VBulletin.</p>
<p>[ <a title="Vanilla" href="http://www.getvanilla.com/" target="_blank">getVanilla</a> ] [ <a title="Vanilla" href="http://lussumo.com/community/" target="_blank">Comunidad Vanilla</a> ] [ <a title="AddOns" href="http://lussumo.com/addons/" target="_blank">AddOns</a> ]</p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/css" title="en Bitacoras encuentre blogs que hablan acerca de  'css'." rel="tag">css</a>, <a href="http://bitacoras.com/canales/javascript" title="en Bitacoras encuentre blogs que hablan acerca de  'javascript'." rel="tag">javascript</a>, <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/foros-vanilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solución al error de upload en WordPress 2.5</title>
		<link>http://www.cmacias.com/solucion-al-error-de-upload-en-wordpress-25/</link>
		<comments>http://www.cmacias.com/solucion-al-error-de-upload-en-wordpress-25/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 22:32:59 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=56</guid>
		<description><![CDATA[La gente de Ludicrous, acaba de publicar un parche en forma de plugin al error que se produce en algunos wordpress al subir archivos desde su gestor de archivos multimedia. Solamente hay que subir el archivo a la carpeta de plugins y activarlo. [ descargar parche ] Tags: wordpress, php]]></description>
			<content:encoded><![CDATA[<p>La gente de <a title="Ludicrous" href="http://lud.icro.us/" target="_blank">Ludicrous</a>, acaba de publicar un parche en forma de plugin al error que se produce en algunos wordpress al subir archivos desde su gestor de archivos multimedia.</p>
<p>Solamente hay que subir el archivo a la carpeta de plugins y activarlo.</p>
<p>[ <a title="Uploader Fix" href="http://downloads.wordpress.org/plugin/image-upload-http-error-fix.zip" target="_blank">descargar parche</a> ]<br style="clear:both" /></p>
<p class="tags">Tags: <a href="http://bitacoras.com/canales/wordpress" title="en Bitacoras encuentre blogs que hablan acerca de  'wordpress'." rel="tag">wordpress</a>, <a href="http://bitacoras.com/canales/php" title="en Bitacoras encuentre blogs que hablan acerca de  'php'." rel="tag">php</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/solucion-al-error-de-upload-en-wordpress-25/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>class.upload.php</title>
		<link>http://www.cmacias.com/classuploadphp/</link>
		<comments>http://www.cmacias.com/classuploadphp/#comments</comments>
		<pubDate>Thu, 08 May 2008 19:26:43 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=15</guid>
		<description><![CDATA[Esta clase en php sube imágenes y las manipula con mucha facilidad. Es posible cambiar el nombre, crear miniaturas, añadir textos, fusionar con otras imágenes, cambiar el brillo, saturación, contrastes, añadirle tintas en un solo paso. Su uso es muy sencillo. Añadimos el include a la clase, la iniciamos y le indicamos la carpeta de [...]]]></description>
			<content:encoded><![CDATA[<p>Esta clase en php sube imágenes y las manipula con mucha facilidad. Es posible cambiar el nombre, crear miniaturas, añadir textos, fusionar con otras imágenes, cambiar el brillo, saturación, contrastes, añadirle tintas en un solo paso.</p>
<p>Su uso es muy sencillo. Añadimos el include a la clase, la iniciamos y le indicamos la carpeta de destino.</p>
<pre class="php">include('class.upload.php');
$handle = new Upload($_FILES['foto']);
$carpeta = $_POST['carpeta'];</pre>
<p>Ahora por ejemplo redimensionamos la imagen y la comprimimos al 80%</p>
<pre class="php">
$handle-&gt;image_resize = true;
$handle-&gt;image_x = 640;
$handle-&gt;image_y = 480;
$handle-&gt;image_ratio = true;
$handle-&gt;jpeg_quality = 80;
$handle-&gt;Process($carpeta);
</pre>
<p>Y de la misma manera, creamos otra instacia, a la que cambiamos el nombre añadiéndo el prefijo &#8220;thmb_&#8221;, la redimensionamos a 200&#215;150 respetando la relación alto/ancho, y rellenamos de negro el espacio sobrante. También la comprimimos al 80%.</p>
<pre class="php">$handle-&gt;file_new_name_body =
         'thmb_'.$handle-&gt;file_src_name_body;
$handle-&gt;image_resize = true;
$handle-&gt;image_ratio_fill = 'C';
$handle-&gt;image_x = 200;
$handle-&gt;image_Y = 150;
$handle-&gt;jpeg_quality = 80;
$handle-&gt;image_background_color = '#000000';
$handle-&gt;Process($carpeta);
$handle-&gt; Clean();</pre>
<p>Como véis su uso es muy sencillo.<br />
Está en su versión 0.25 (y proximamente la 0.26) y está bajo licencia GPL.</p>
<p>[ <a title="class.upload.php" href="http://www.verot.net/php_class_upload_overview.htm" target="_blank">web </a>] [ <a title="class.upload.php" href="http://www.verot.net/php_class_upload_samples.htm" target="_blank">ejemplos</a> ] [<a title="class.upload.php" href="http://www.verot.net/res/sources/class.upload.html" target="_blank">documentación</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/classuploadphp/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PHP, multiple update y xhtml</title>
		<link>http://www.cmacias.com/php-multiple-update-y-xhtml/</link>
		<comments>http://www.cmacias.com/php-multiple-update-y-xhtml/#comments</comments>
		<pubDate>Wed, 07 May 2008 10:36:49 +0000</pubDate>
		<dc:creator>cmacias</dc:creator>
				<category><![CDATA[diseño]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.cmacias.com/?p=9</guid>
		<description><![CDATA[De sobra es conocido por todos (creo) como realizar un &#8220;multiple update&#8221; en php, simplemente añadimos un corchete al final del nombre del campo de formulario que queremos actualizar, y en la página que recibe los datos se manipulan de la forma < ?php $arrayCheckbox = $_POST['CheckboxGroup']; ?> Hasta aquí todo bien pero, eso nos [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cmacias.com/wp-content/uploads/2008/05/w3c.gif"><img class="aligncenter size-full wp-image-10" title="w3c" src="http://www.cmacias.com/wp-content/uploads/2008/05/w3c.gif" alt="w3c" width="200" height="60" /></a>De sobra es conocido por todos (creo) como realizar un &#8220;multiple update&#8221; en php, simplemente añadimos un corchete al final del nombre del campo de formulario que queremos actualizar, y en la página que recibe los datos se manipulan de la forma</p>
<pre class="php">< ?php $arrayCheckbox = $_POST['CheckboxGroup']; ?></pre>
<p>Hasta aquí todo bien pero, eso nos permite validar nuestro documento como Xhtml ? Depués de una rigurosa investigación de <a title="Tecnorama" href="http://www.tecnorama.org/log.php?ano=2008&amp;mes=05#273" target="_blank">Andrés</a>, la respuesta es <strong>si</strong>.</p>
<p>Lo que dice el W3C es que <strong>el valor para el atributo id debe ser del tipo texto y para name puede ser cdata</strong>. Por tanto, es válido usar los corchetes en name pero no en id.</p>
<p>Gracias por resolvernos la duda, <a title="Tecnorama" href="http://www.tecnorama.org" target="_blank">Andrés</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cmacias.com/php-multiple-update-y-xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

