<?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>Hunk</title>
	<atom:link href="http://blog.hunk.com.mx/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hunk.com.mx</link>
	<description>Welcome to Fight Club</description>
	<lastBuildDate>Wed, 16 May 2012 18:42:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Instalando mongoDB en snow leopard</title>
		<link>http://blog.hunk.com.mx/instalando-mongodb-en-snow-leopard/</link>
		<comments>http://blog.hunk.com.mx/instalando-mongodb-en-snow-leopard/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 00:23:05 +0000</pubDate>
		<dc:creator>hunk</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[mongoDB]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://blog.hunk.com.mx/?p=390</guid>
		<description><![CDATA[Para instalar mongoDB en snow loepard debemos debemos hacer lo siguiente: &#160;cd /tmp &#160;wget http://downloads.mongodb.org/osx/mongodb-osx-i386-1.4.3.tgz &#160;tar zxvf mongodb-osx-x86_64-1.0.1.tgz &#160;sudo mv mongodb-osx-x86_64-1.0.1 /usr/local/mongodb &#160;sudo mkdir /usr/local/mongodb_data /var/log/mongodb &#160;sudo mkdir -p /data/db &#160;sudo chown -R root /usr/local/mongodb &#160;sudo chown -R root /data/db ahora añadimos el path de mongo: sudo sh -c 'echo &#34;/usr/local/mongodb/bin&#34; &#62; /etc/paths.d/mongodb' para iniciar [...]]]></description>
				<content:encoded><![CDATA[<p>Para instalar <a href="http://www.mongodb.org/" target="_blank">mongoDB</a> en snow loepard debemos debemos hacer lo siguiente:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>downloads.mongodb.org<span style="color: #000000; font-weight: bold;">/</span>osx<span style="color: #000000; font-weight: bold;">/</span>mongodb-osx-i386-1.4.3.tgz<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">tar</span> zxvf mongodb-osx-x86_64-1.0.1.tgz<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> mongodb-osx-x86_64-1.0.1 <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>mongodb<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>mongodb_data <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>mongodb<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>db<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> root <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>mongodb<br />
&nbsp;<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> root <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>db</div></div>
<p>ahora añadimos el path de mongo:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-c</span> <span style="color: #ff0000;">'echo &quot;/usr/local/mongodb/bin&quot; &gt; /etc/paths.d/mongodb'</span></div></div>
<p>para iniciar mongo hacemos los siguiente:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> mongod run</div></div>
<p>para hacer uso de la consola de mongo hacemos uso del comando &#8220;mongo&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hunk.com.mx/instalando-mongodb-en-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magic Fields</title>
		<link>http://blog.hunk.com.mx/magic-fields/</link>
		<comments>http://blog.hunk.com.mx/magic-fields/#comments</comments>
		<pubDate>Mon, 03 May 2010 04:12:58 +0000</pubDate>
		<dc:creator>hunk</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Magic Fields]]></category>
		<category><![CDATA[MagicFields]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpres]]></category>

		<guid isPermaLink="false">http://blog.hunk.com.mx/?p=381</guid>
		<description><![CDATA[Así es, bueno en el post pasado hablamos de cómo extender Magic Fields (MF), en esta ocasión hablaremos de lo que es Magic Fields. Magic Fields es un plugin para WordPress (WP) es el cual nos permite que hacer a WordPress un CMS o llegar a tener funcionalidades parecidas a un CMS. MF nos permite [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.hunk.com.mx/wp-content/uploads/2010/05/logo5_6_border_4.png"><img class="size-medium wp-image-384 alignnone" title="logo5_6_border_4" src="http://blog.hunk.com.mx/wp-content/uploads/2010/05/logo5_6_border_4-300x162.png" alt="logo5_6_border_4" width="300" height="162" /></a></p>
<p>Así es, bueno en el post pasado hablamos de cómo extender <a href="http://magicfields.org/" target="_blank">Magic Fields</a> (MF), en esta ocasión hablaremos de lo que es Magic Fields.</p>
<p style="text-align: left;">Magic Fields es un plugin para <a href="http://wordpress.org/" target="_blank">WordPress</a> (WP) es el cual nos permite que hacer a WordPress un CMS o llegar a tener funcionalidades parecidas a un CMS.</p>
<p>MF nos permite crear Write Panels, los cuales podemos verlos como un serie de post/page con la misma estructura de Custom Fields. Para cada Write Panel podemos agregarle Customs Fields, MF tienen 15 tipos de campos que se pueden agregar, entre los campos que podemos agregar están: Textbox, Multi Textbox, checkbox, dropdown, image, audio, color picker entre otros. Para saber cuales son todos los tipos de custom fields visita la<a href="http://wiki.magicfields.org/doku.php?id=es:type_of_custom_fields" target="_blank"> pagina del Wiki</a> donde podrás leer una explicación y un ejemplo de cada campo.</p>
<p>MF también cuenta con la posibilidad de agregar grupos de campos, es decir podemos agregar un grupo y que este grupo contenga campos. Los grupos y campos tienen la característica que se pueden duplicar. Con estas características podemos hacer un sin fin de estructuras para nuestro sitio.</p>
<p>MF cuenta con funciones para poder mostrar el valor de los campos y grupos que tengamos para nuestro Write Panel, dichas funciones funcionan dentro de la estructura del tema de WP. Tenemos por ejemplo get(‘nombre_de_campo’), get_group(‘nombre_del_grupo’), get_image(‘nombre_del_campo’) entre otras, para saber todas las funciones que puedes usar en tu tema puedes visitar la <a href="http://wiki.magicfields.org/doku.php?id=es:front-end_functions" target="_blank">pagina del Wiki dedicados a las funciones de front-end</a> donde además encontraras unos pequeños ejemplos de cómo se usan.</p>
<p>Con ayuda de WP+MF puedes armar una gran diversidad de sitios, solo debes tener bien claro como estructurar tu sitio.</p>
<p>Las instrucciones para instalar MF las pueden leer<a href="http://wiki.magicfields.org/doku.php?id=es:how_install_magic_fields" target="_blank"> aquí</a>.</p>
<p>Un futuros post veremos más acerca de MF y de cómo usarlo.</p>
<p><strong>byte</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hunk.com.mx/magic-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mostrar vídeos con ayuda de Magic Fields</title>
		<link>http://blog.hunk.com.mx/mostrar-videos-con-ayuda-de-magic-fields/</link>
		<comments>http://blog.hunk.com.mx/mostrar-videos-con-ayuda-de-magic-fields/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 04:03:26 +0000</pubDate>
		<dc:creator>hunk</dc:creator>
				<category><![CDATA[Magic Fields]]></category>

		<guid isPermaLink="false">http://blog.hunk.com.mx/?p=370</guid>
		<description><![CDATA[Así es, bueno como algunos de ustedes saben yo parte del equipo de desarrollo de Magic Fields, un plugin de WordPress que permite tener funcionalidades de CMS para este. Dejare para otro post un explicación de lo que es MF. Este post mostrare como tener tener la funcionalidad de vídeo para nuestro sitio con ayuda [...]]]></description>
				<content:encoded><![CDATA[<p>Así es, bueno como algunos de ustedes saben yo parte del equipo de desarrollo de Magic Fields, un plugin de WordPress que permite tener funcionalidades de CMS para este. Dejare para otro post un explicación de lo que es MF.</p>
<p>Este post mostrare como tener tener la funcionalidad de vídeo para nuestro sitio con ayuda de MF.</p>
<p>El sábado pasado me llego un email donde me decían si había forma de integrar un campo del tipo video a MF o si había forma de mostrar un video con MF.</p>
<p>En el equipo de desarrollo hemos hablado mucho acerca de este campo, lamentablemente es difícil agregarlo al core del MF, por que? Existe muchos formatos de vídeos y es difícil que algún player de vídeo soporte todos, esto aunado a que seguramente también se querrá que se pudiera mostrar vídeos enlazados de sitios como youtube, vimeo, etc. También tenemos la cuestión de que muchos servidores tienen un máximo de upload y la gran mayorías de los vídeos son pesado. Existe muchas variables a considerar. Por  un lado podríamos hacer un campo para vídeos que sean upload (solo para ciertos formatos) y otro campo donde coloquen la url del vídeo (youtube,vimeo, etc), pero aun así esto implicaría un muy buen análisis de players y lo menos que queremos es llenar el core de MF con muchos plugins externos y hacer más pesado el plugin. Tal vez ahora que ya hemos logrado muchas de nuestras metas a corto y mediano plazo en MF podemos analizar cual es la mejor forma de añadir un campo de vídeo.</p>
<p>Bueno en el email me comentaban que quería incluir el player flowplayer. La forma mas sencilla que encontré para hacer esto posible es usando MF para un upload del vídeo (campo tipo file), añadir flowplayer al tema del sitio y agregar unas cuantas funciones a nuestro functions.php del  tema.</p>
<p>Estos son los pasos a seguir para tener el player en nuestro sitio:</p>
<p>(ya que tenemos instalado correctamente MF en nuestro WP)<br />
1.- Creamos un Write Panel del tipo post (yo lo llame videos)</p>
<p><a href="http://blog.hunk.com.mx/wp-content/uploads/2010/04/WP_video.jpg"><img class="aligncenter size-full wp-image-376" title="WP_video" src="http://blog.hunk.com.mx/wp-content/uploads/2010/04/WP_video.jpg" alt="WP_video" width="429" height="142" /></a></p>
<p>2.-Al Write Panel videos le agregue un campos tipo file y lo llame video.</p>
<p><a href="http://blog.hunk.com.mx/wp-content/uploads/2010/04/CF_video.jpg"><img class="aligncenter size-medium wp-image-377" title="CF_video" src="http://blog.hunk.com.mx/wp-content/uploads/2010/04/CF_video-299x223.jpg" alt="CF_video" width="299" height="223" /></a><br />
Tenemos ya la estructura para crear Post con el Write Panel Video, donde podremos subir un video.</p>
<p><a href="http://blog.hunk.com.mx/wp-content/uploads/2010/04/post_video.jpg"><img class="aligncenter size-medium wp-image-378" title="post_video" src="http://blog.hunk.com.mx/wp-content/uploads/2010/04/post_video-300x144.jpg" alt="post_video" width="300" height="144" /></a></p>
<p>3.- Dentro de la carpeta de nuestro tema (wp-content/themes/nombre_de_nuestro_tema) creamos una carpeta y la llamamos flowplayer, descargamos flowplayer, descomprimimos el archivo y colocamos los siguientes archivos en la carpeta que creamos:<br />
* flowplayer-3.1.4.min.js<br />
* flowplayer-3.1.5.swf<br />
* flowplayer.controls-3.1.5.swf<br />
estos archivos son los necesarios para poder mostrar el video.</p>
<p>4.- en el archivo funtions.php de nuestro tema agregamos el siguiente código:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_head'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'script_flow_player'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> script_flow_player<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp; &nbsp; &nbsp; &lt;script type='text/javascript' src='<span style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'template_directory'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>/flowplayer/flowplayer-3.1.4.min.js'&gt;&lt;/script&gt;<br />
&nbsp; &nbsp; &nbsp; &lt;script&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; jQuery().ready(function() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jQuery(&quot;.mf_video&quot;).each( function(element){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flowplayer(jQuery(this).attr('id'), &quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'template_directory'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>/flowplayer/flowplayer-3.1.5.swf&quot;,{clip : {autoPlay: false}});<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });<br />
&nbsp; &nbsp; &nbsp; &nbsp; });<br />
&nbsp; &nbsp; &nbsp; &lt;/script&gt;<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_video<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span> <span style="color: #000088;">$groupIndex</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fieldIndex</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$params</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'w'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">520</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'h'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">330</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$url_video</span> <span style="color: #339933;">=</span> get<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span><span style="color: #000088;">$groupIndex</span><span style="color: #339933;">,</span><span style="color: #000088;">$fieldIndex</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url_video</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span><a href="http://www.php.net/sprintf"><span style="color: #990000;">sprintf</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id_<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">,</span><a href="http://www.php.net/uniqid"><span style="color: #990000;">uniqid</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #000088;">$size</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #000088;">$size</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/printf"><span style="color: #990000;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;a &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;href=&quot;%s&quot; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;style=&quot;display:block;width:%spx;height:%spx&quot; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id=&quot;%s&quot; class=&quot;mf_video&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &lt;/a&gt;'</span><span style="color: #339933;">,</span><span style="color: #000088;">$url_video</span><span style="color: #339933;">,</span><span style="color: #000088;">$size</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$size</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'h'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p><a href="http://gist.github.com/362293" target="_blank">Código en Gist</a></p>
<p>Primero tenemos el hook</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_head'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'script_flow_player'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>este hook nos permite añadir al wp_head de nuestro tema el contenido de la funcion script_flow_player y dicha función lo que hace es cargar el archivo de javascript de flowplayer y además tiene una pequeña función de javascript, la cual para todos los elementos con las clase mf_video le añada la funcionalidad de flowplayer (colocar el player).</p>
<p>También tenemos una función llamada get_video, esta función es la que va armar la estructura correcta para el elemento de vídeo. Dentro de ella se pide la ruta del archivo (path del video) y también armamos un id único para cada uno de los elementos, esto por que a flowplayer le tenemos que dar el id del elemento y como sabemos no podemos tener dos elementos con el mismo id. Es por eso que se genera un id unico.<br />
5.- para mostrar el vídeo en nuestro tema solo tenemos que colocar la siguiente línea de código:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> get_video<span style="color: #009900;">&#40;</span>‘video’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p>y mostrara el video en un tamaño de 520&#215;330.</p>
<p><a href="http://blog.hunk.com.mx/wp-content/uploads/2010/04/show_video.jpg"><img class="aligncenter size-medium wp-image-379" title="show_video" src="http://blog.hunk.com.mx/wp-content/uploads/2010/04/show_video-300x209.jpg" alt="show_video" width="300" height="209" /></a></p>
<p>La funcion get video tiene más parámetros</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> get_video<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span> <span style="color: #000088;">$groupIndex</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fieldIndex</span><span style="color: #339933;">,</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span></div></div>
<p>$fieldName =&gt; el nombre de nuestro campo<br />
$groupIndex =&gt; índice de nuestro grupo (en caso de pertenecer a un grupo duplicado)<br />
$fieldIndex =&gt; índice del campo (en caso de ser un campo duplicado)<br />
$params =&gt; un arreglo los cuales nos permitirán cambiar el tamaño del player.</p>
<p>Si nosotros queremos cambiar el tamaño del player podríamos colocar los siguientes códigos:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?</span> <span style="color: #b1b100;">echo</span> get_video<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'video'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'w'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">200</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'h'</span> <span style="color: #339933;">=&gt;</span> &nbsp;<span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p>o</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?</span> <span style="color: #b1b100;">echo</span> get_video<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'video'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'w'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">350</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'h'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p>flowplayer tiene muchas mas opciones de la que yo coloco de inicio (player en stop) si ustedes quieren añadir más opciones solo tendrían que agregarlos a la línea de javascript donde se agregar la funcionalidad de flowplayer.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">flowplayer<span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;&lt;?php bloginfo('template_directory'); ?&gt;/flowplayer/flowplayer-3.1.5.swf&quot;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span>clip <span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>autoPlay<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>bueno como verán es muy sencillo tener la funcionalidad de video con la base de MF. Espero que les sirva este pequeño tutorial.</p>
<p><strong>Byte</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hunk.com.mx/mostrar-videos-con-ayuda-de-magic-fields/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Búsquedas LIKE con acentos en SQL Server</title>
		<link>http://blog.hunk.com.mx/busquedas-like-con-acentos-en-sql-server/</link>
		<comments>http://blog.hunk.com.mx/busquedas-like-con-acentos-en-sql-server/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 06:13:45 +0000</pubDate>
		<dc:creator>hunk</dc:creator>
				<category><![CDATA[sql server]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.hunk.com.mx/?p=337</guid>
		<description><![CDATA[Hay ocasiones en las que tenemos que hacer búsquedas de palabras o que concuerden con el patrón en la base de datos, lo más común es usar LIKE. Por lo general esto basta, pero hay ocasiones donde en la BD se tiene acentos y no podemos decir aahhh saben que, pues deben poner los acentos [...]]]></description>
				<content:encoded><![CDATA[<p>Hay ocasiones en las que tenemos que hacer búsquedas de palabras o que concuerden con el patrón en la base de datos, lo más común es usar LIKE. Por lo general esto basta, pero hay ocasiones donde en la BD se tiene acentos y no podemos decir aahhh saben que, pues deben poner los acentos bien, para estos casos la DB nos permite hacer estas búsquedas con acentos si el COLLATION es correcto, pero hay ocasiones donde no podemos cambiarlo o no es correcto para hacer búsquedas con acentos en las palabras, para eso podemos hacer el pequeño truco que explicare continuación (Esto en SQL Server), pero veamos mi ejemplo y la solución para búsqueda con acentos.</p>
<p>En mi app tengo un campo que es autocomplete, esto es el usuario va escribiendo  la palabra y conforme escribe la palabra le mostraba los posibles resultados de sus búsqueda, podemos hacerlo fácilmente con el siguiente plugin de JQuery (<a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/">Autocomplete</a>) todo bien hasta este momento.</p>
<p>La query que el sistema hace es algo como esto:</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">SELECT</span> id<span style="color: #66cc66;">,</span>nombre <span style="color: #993333; font-weight: bold;">FROM</span> usuarios <span style="color: #993333; font-weight: bold;">WHERE</span> nombre <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%mi_palabra%'</span>;</div></div>
<p>Parece que todo esta funcionando correctamente, me regresa los usuarios que concuerdan con la palabra, por ejemplo si la palabra es “ponce” me regresa los nombres que contienen “ponce”, pero si la búsqueda es “gomez” regresa todos los que en la DB están como “gomez”, pero no los que están como “gómez”, y al escribir “gómez” regresa todos los que están como “gómez” y no los que están como “gomez”, por tanto no esta funcionado correctamente, después de una rápida búsqueda en Google de cómo hacer búsquedas con LIKE de palabras con acento en todas de las paginas encontré que se debe modificar el collation de la tabla o la DB, de la siguiente forma:</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> <span style="color: #66cc66;">&#91;</span>nombrebasededatos<span style="color: #66cc66;">&#93;</span> <span style="color: #993333; font-weight: bold;">COLLATE</span> Modern_Spanish_CI_AI</div></div>
<p>Pero en mi caso yo no puedo modificar el collation de la tabla o de la DB, yo no puedo modificar el collation de la tabla por que yo uso una vista de otra tabla y aquí es donde entra el problema, como hacer búsquedas con acentos si no podemos cambiar el collation de la tabla o de la BD por alguna circunstancia?</p>
<p>Durante estos años que he estado en el desarrollo de app siempre he podido darle la vuelta a este tipo de problemas, se que siempre hay una solución aun que no se tan elegante ni la mejor, siempre hay una solución.</p>
<p>Bueno sabemos que en las búsquedas de LIKE existen wildcarts (%,_) siempre había usado eso wildcarts en MySQL, busque la sentencia LIKE en la referencia de <a href="http://msdn.microsoft.com/en-us/library/ms179859.aspx">MSDN</a> dado que en esta ocasión estoy usando SQL Server y encontré el wildcart [ ], este wildcart  contiene la siguiente descripció:</p>
<blockquote><p>“Cualquier carácter individual del intervalo ([a-f]) o del conjunto ([abcdef]) que se ha especificado.”</p></blockquote>
<p>Con el siguiente párrafo como ejemplo</p>
<blockquote><p>“WHERE au_lname LIKE ‘[C-P]arsen’ busca apellidos de autores que terminen en arsen y empiecen por cualquier carácter individual entre C y P, como Carsen, Larsen, Karsen, etc. En las búsquedas de intervalos, los caracteres incluidos en el intervalo pueden variar, dependiendo de las reglas de ordenación de la intercalación.”</p></blockquote>
<p>Por lo tanto podemos hacer un query como lo siguiente:</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">SELECT</span> id<span style="color: #66cc66;">,</span>nombre <span style="color: #993333; font-weight: bold;">FROM</span> usuarios <span style="color: #993333; font-weight: bold;">WHERE</span> nombre <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%g[oó]mez%'</span>;</div></div>
<p>Y con eso obtendríamos todos los gomez y gómez. Podemos decir que gran parte del problema ya lo tenemos resuelto, solo nos resta identificar todas aquellas letras que pueden ser acentuadas, como por ejemplo cuando identifiquemos “o”,”ò”,”ó” o “ö” hacemos el remplazo por [oóòö] o las letras “u”,”ù”,”ú” o “ü” remplazariamos por [uúùü] dependiendo el lenguaje de programación que uses será la forma de remplazo ahí entra nuestro amigo expresiones regulares,  en mi caso use preg_replace y quedo solucionado el problema, la query final que hace el sistema para gomez es:</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">SELECT</span> id<span style="color: #66cc66;">,</span>nombre <span style="color: #993333; font-weight: bold;">FROM</span> usuarios <span style="color: #993333; font-weight: bold;">WHERE</span> nombre <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%g[oóòö]m[eèéë]z%'</span>;</div></div>
<p>Bueno espero que esto le sirva a alguien más.</p>
<p><strong>Byte</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hunk.com.mx/busquedas-like-con-acentos-en-sql-server/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>kses en CodeIgniter</title>
		<link>http://blog.hunk.com.mx/kses-en-codeigniter/</link>
		<comments>http://blog.hunk.com.mx/kses-en-codeigniter/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 00:08:15 +0000</pubDate>
		<dc:creator>hunk</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Hunk]]></category>
		<category><![CDATA[IdeasLabs]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://hunk.com.mx/?p=141</guid>
		<description><![CDATA[Así es, bueno en este post veremos como intregrar Kses a CodeIgniter (CI). pero iniciemos dando una pequeña descripcion de lo que es Kses. Kses es un proyecto de libre de PHP de filtrado de HTML y XHTML. kses nos permite filtrar tag de HTML /XHTML.  nos permite eliminar los tag que deseamos asi como [...]]]></description>
				<content:encoded><![CDATA[<p>Así es, bueno en este post veremos como intregrar <a href="http://sourceforge.net/projects/kses">Kses</a> a <a href="http://codeigniter.com/">CodeIgniter</a> (CI). pero iniciemos dando una pequeña descripcion de lo que es Kses.  </p>
<p>Kses es un proyecto de libre de PHP de filtrado de HTML y XHTML. kses nos permite filtrar tag de HTML /XHTML.  nos permite eliminar los tag que deseamos asi como los atributos que contengan. bastente ultil para cuando desamos que en formulario no contena dichos elementos. CI nos permite hacer un filtrado de codigo malicioso, y cumple bien su funcion, pero no tiene un filtrado de tags de HTML/XHTML y aqui es donde Kses no da una gran ayuda. </p>
<p>Para contar con la ayuda de kses primero lo descargamos del <a href="http://sourceforge.net/projects/kses">sitio oficial</a>. lo descomprimimos y dentro encontraremos un archivo llamado kses.php.  </p>
<p>kses lo usaremos como un helper en CI. lo que tenemos que hacer es colocar el archivo(kses.php) dentro de application/helpers con el nombre de kses_helper.php y ahora ya podemos hacer eso de kses como un helper.</p>
<p>ahora cuando necesitemos user kses lo llamamos de la siguiente forma:</p>
<p><script src="http://gist.github.com/164566.js"></script></p>
<p>si lo cesitamos en toda la app lo ponemos en el autoload y usamos su funcion de manera normal</p>
<p><script src="http://gist.github.com/164568.js"></script></p>
<p>donde $tag_permitidos es arreglos con los tags que queremos que no sean filtrados. por ejemplo para permitir los tags </p>
<p><script src="http://gist.github.com/164567.js"></script></p>
<p>usariamos:</p>
<p><script src="http://gist.github.com/164569.js"></script></p>
<p>otro ejemplo seria:  </p>
<p><script src="http://gist.github.com/164570.js"></script></p>
<p>Si ustedes desean que ninguna tag sea pemitida pasan una arreglo vacio.  </p>
<p>Como veran es una gran ayuda, Kses junto con el xss_clean de CI es una buena forma de filtrado.  </p>
<p><strong>Byte.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hunk.com.mx/kses-en-codeigniter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
