<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<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/"
	>

<channel>
	<title>SOFTr Utils</title>
	<link>http://utils.softr.net</link>
	<description>Recursos para gente ocupada</description>
	<pubDate>Tue, 20 Nov 2007 01:28:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Capa de Persistencia (acceso a datos)</title>
		<link>http://utils.softr.net/capa-de-persistencia-acceso-a-datos/</link>
		<comments>http://utils.softr.net/capa-de-persistencia-acceso-a-datos/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 01:23:41 +0000</pubDate>
		<dc:creator>Daniel Niquet</dc:creator>
		
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://utils.softr.net/capa-de-persistencia-acceso-a-datos/</guid>
		<description><![CDATA[softrDB
Qué es?
softrDB es una pequeña clase hecha en PHP para facilitar el acceso a base de datos. Funciona como una capa de persistencia.
Cómo funciona?
softrDB gestiona un archivo con extensión .json, ya que dicho archivo está escrito en esa notación. Ésta contiene en formato JSON todos los queries que se va a utilizar en una aplicación [...]]]></description>
			<content:encoded><![CDATA[<h1>softrDB</h1>
<h2>Qué es?</h2>
<p>softrDB es una pequeña clase hecha en PHP para facilitar el acceso a base de datos. Funciona como una capa de persistencia.</p>
<h2>Cómo funciona?</h2>
<p>softrDB gestiona un archivo con extensión .json, ya que dicho archivo está escrito en esa notación. Ésta contiene en formato JSON todos los queries que se va a utilizar en una aplicación web PHP. Una vez instanceada la clase softrDB, se pueden ejecutar los métodos de la misma, y traer información de la base de datos. Además permite la utilización de argumentos, que es posible pasarle al query que se desea ejecutar del archivo con extensión JSON.</p>
<h2>Elementos que lo conforman</h2>
<ul>
<li>cn.php<br />
El archivo de configuración de softrDB y conexión con base de datos.</li>
<li>JSON.php<br />
Libreria desarrollada por <a href="http://json.org/" alt="JSON" title="JSON">http://json.org/</a>, que facilita el uso de estructuras JSON.</li>
<li>softrDB.php<br />
La clase con los métodos para la capa de persistencia.</li>
<li>queries.php<br />
Archivo en notación JSON con los queries, clasificados en módulos, a utilizar en el proyecto.</li>
</ul>
<h2>Configuración</h2>
<ol>
<li>En el archivo cn.php:
<ul>
<li>Colocar la ruta donde se encuentran los archivos de la capa de Persistencia. Por default se verá $path=&#8217;Persistence/&#8217;, en donde &#8216;Persistence/&#8217; es el valor que deberá cambiarse en caso de que los archivos sean ubicados en una carpeta distinta</li>
<li>Colocar los datos de la base de datos.<br />
$hostname = &#8220;localhost&#8221;;<br />
$database = &#8220;ejemplo01&#8243;;<br />
$username = &#8220;root&#8221;;<br />
$password = &#8220;&#8221;;</li>
</ul>
</li>
<li>Colocar los queries el archivo queries.json . Deben tomarse en cuenta las siguientes consideraciones:
<ul>
<li>Iniciar el archivo con &#8216;{&#8217; y terminar con &#8216;}&#8217; para indicar que utilizaremos notación JSON</li>
<li>En primer término irán los nombres de los módulos en que se clasificaran los queries, éstos no van dentro de comillas simples ni dobles. Posteriormente, dentro de cada módulo los queries, que se compondrán de un ID con las mismas caracteristicas de los nombres de los módulos, seguidos de su valor que es propiamente el query.</li>
<li>Dentro del query, se pueden poner argumentos, que serán sustituídos con los valores al llamar el método. La nomenclatura a utilizar es &#8216;?A&#8217; para el primer argumento, &#8216;?B&#8217; para el segundo, &#8216;?C&#8217; para el tercero, y así para cada letra del alfabeto. Se puede utilizar más de una vez un mismo argumento, es decir, ?A puede aparecer muchas veces en un mismo query, conservando el valor que se le haya mandado en un inicio.</li>
<li>Ver el ejemplo para comprender lo anterior mejor:<br />
<small> </small></p>
<pre><small>
{
	customer:{
		CUS_L01:&#8217;SELECT * FROM mcustomer;&#8217;,
		CUS_L02:&#8217;SELECT * FROM mcustomer C INNER JOIN ccountry P ON C.cCou_ID=P.cCou_ID;&#8217;,
		CUS_L03:&#8217;SELECT * FROM mcustomer limit 5;&#8217;
	},
	country:{
		COU_L01:&#8217;SELECT * FROM ccountry;&#8217;,
		COU_L02:&#8217;SELECT * FROM ccountry WHERE cCou_Name like &#8220;%?A%&#8221;;&#8217;,
		COU_U01:&#8217;UPDATE ccountry SET cCou_Name=&#8221;JAPON&#8221; WHERE cCou_ID=?A LIMIT 1;&#8217;
	}
}
                    </small></pre>
<p>En este ejemplo, tenemos dos módulos: customer y country. cada uno de ellos tiene 3 queries. Se propone la nomenclatura para los nombres de identificación de los queries como sigue: NOM_NXX, donde &#8220;NOM&#8221; son 3 letras relacionadas con el nombre del módulo, &#8220;N&#8221; es una letra que nos indica qué tipo de query és (L=LOAD o SELECT, U=UPDATE, I=INSERT, D=DELETE), y &#8220;XX&#8221; es un número consecutivo. Estos nombre de ID de los queries se sugieren para mayor identificación, pero no tiene que ver con el funcionamiento de la clase.</li>
</ul>
</li>
</ol>
<h2>Utilización</h2>
<ul>
<li>Requerir el archivo cn.php: <strong>require &#8220;Persistence/cn.php&#8221;;</strong></li>
<li>Instancear la clase: <strong>$DB=new softrDB(&#8217;Persistence/queries.json&#8217;,'ejemplo01&#8242;);</strong><br />
El primer parámetro es la ruta donde se encuentra el archivo de queries con extensión .json y el segundo argumento es opcional, en caso de que se quiera poner un identificador para poder hacer uso de más de un archivo de queries con extensión .json</li>
<li>Ejecutar el query. <strong>$rsCustomers=$DB-&gt;loadQuery(&#8221;customer&#8221;,&#8221;CUS_L01&#8243;);</strong><br />
El primer parámetro es el módulo en el que se clasificó los queries, y el segundo argumento es el nombre del query a ejecutar.</li>
<li><strong>$rsCustomers</strong> en el punto anterior, es una variable que recibirá un arreglo con los datos que haya regresado el query. Esto es sólo en el caso de un SELECT, para los casos de UPDATE, INSERT o DELETE, no se requiere asignar a una variable. basta con <strong>$DB-&gt;loadQuery(&#8221;country&#8221;,&#8221;COU_U01&#8243;);</strong>. En el caso de SELECT, una vez asignado a una variable, ésta recibirá un arreglo con todos los datos devueltos por el query. Si ejecutamos $rsCustomers=$DB-&gt;loadQuery(&#8221;customer&#8221;,&#8221;CUS_L01&#8243;);, ahora $rsCustomers será un arreglo con la información de la tabla mcustomer, y si lo recorremos así
<pre>
&lt;?php
	$rsCustomers=$DB-&gt;loadQuery("customer","CUS_L01");
	foreach($rsCustomers as $item){?&gt;
		nombre: &lt;strong&gt;&lt;?=$item['mCus_Name'];?&gt;&lt;/strong&gt;
&lt;?php }?&gt;</pre>
<p>Obtendremos:</p>
<p>
        				nombre: <strong>Daniel Niquet</strong><br />
						nombre: <strong>Andrés Gutierrez</strong><br />
						nombre: <strong>Joan Castro</strong><br />
						nombre: <strong>Leonardo Valenzuela</strong><br />
						nombre: <strong>Luis Antonio Germon</strong></p>
<p>						nombre: <strong>Lorenzo Prieto </strong><br />
						nombre: <strong>Andrea Lozano</strong><br />
						nombre: <strong>Ana Torres</strong><br />
						nombre: <strong>Juan Lopez</strong><br />
						nombre: <strong>Lorena Gasca</strong></p>
</li>
</ul>
<h2>Métodos de la clase</h2>
<ul>
<li>$DB-&gt;loadQuery(&#8221;mod&#8221;,&#8221;query&#8221;,&#8221;parametro1|parametro2|parametro3&#8243;)<br />
Ejecuta un query. El primer argumento es el módulo del query, el segundo el ID del query a ejecutar, y el tercero los argumentos, los cuales se enviarán separados por el caracter PIPE &#8220;|&#8221;. Ejemplo: $DB-&gt;loadQuery(&#8221;country&#8221;,&#8221;COU_U01&#8243;,&#8221;2&#8243;). Al llamar a COU_U01 se referirá a &#8216;UPDATE ccountry SET cCou_Name=&#8221;JAPON&#8221; WHERE cCou_ID=?A;&#8217;, y al sustituir el parámetro enviado quedará como &#8216;UPDATE ccountry SET cCou_Name=&#8221;JAPON&#8221; WHERE cCou_ID=2;&#8217;</li>
<li>$DB-&gt;outQuery()<br />
Función para ayuda de debug. Imprime el query formado en pantalla. Útil sobre todo en el uso de parámetros. Si ejecutamos COU_L02 de country, al usar $DB-&gt;outQuery() tendremos:<br />
<small><br />
SELECT * FROM ccountry WHERE cCou_Name like &#8220;%niq%&#8221;;<br />
</small></li>
<li>$DB-&gt;outResultSet()<br />
Función para ayuda de debug. Imprime todo el resultset en pantalla. Útil sobre todo en el uso de parámetros. Por ejemplo, si ejecutamos CUS_L01 de customer, su outResultSet será:</p>
<pre><small>Array
(
    [mCus_ID] =&gt; 1
    [mCus_Name] =&gt; Daniel Niquet
    [cCou_ID] =&gt; 1
)

</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 2
    [mCus_Name] =&gt; Andrés Gutierrez
    [cCou_ID] =&gt; 2
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 3
    [mCus_Name] =&gt; Joan Castro
    [cCou_ID] =&gt; 1
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 4
    [mCus_Name] =&gt; Leonardo Valenzuela
    [cCou_ID] =&gt; 1
)

</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 5
    [mCus_Name] =&gt; Luis Antonio Germon
    [cCou_ID] =&gt; 3
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 6
    [mCus_Name] =&gt; Lorenzo Prieto
    [cCou_ID] =&gt; 3
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 7
    [mCus_Name] =&gt; Andrea Lozano
    [cCou_ID] =&gt; 4
)

</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 8
    [mCus_Name] =&gt; Ana Torres
    [cCou_ID] =&gt; 4
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 9
    [mCus_Name] =&gt; Juan Lopez
    [cCou_ID] =&gt; 3
)
</small></pre>
<pre><small>Array
(
    [mCus_ID] =&gt; 10
    [mCus_Name] =&gt; Lorena Gasca
    [cCou_ID] =&gt; 3
)

</small></pre>
</li>
<p><small>        </small></ul>
<h2>Descarga</h2>
<p><a href="http://utils.softr.net/softrDB.zip" alt="descarga softrDB" title="descarga softrDB">softrDB, ejemplos y script de BD de ejemplo</a></p>
<h2>Ejemplos (para verse en el código php)</h2>
<table>
<thead>
<th>Cliente</th>
<th>País</th>
<td>Daniel Niquet</td>
<td>Mexico</td>
<td>Joan Castro</td>
<td>Mexico</td>
</tr>
<tr>
<td>Leonardo Valenzuela</td>
<td>Mexico</td>
</tr>
<tr>
<td>Andrés Gutierrez</td>
<td>España</td>
</tr>
<tr>
<td>Luis Antonio Germon</td>
<td>USA</td>
</tr>
<tr>
<td>Lorenzo Prieto</td>
<td>USA</td>
</tr>
<tr>
<td>Juan Lopez</td>
<td>USA</td>
</tr>
<tr>
<td>Lorena Gasca</td>
<td>USA</td>
</tr>
<tr>
<td>Andrea Lozano</td>
<td>Argentina</td>
</tr>
<tr>
<td>Ana Torres</td>
<td>Argentina</td>
</tr>
</table>
<table>
<thead>
<th>Cliente</th>
<td>Daniel Niquet</td>
<td>Andrés Gutierrez</td>
</tr>
<tr>
<td>Joan Castro</td>
</tr>
<tr>
<td>Leonardo Valenzuela</td>
</tr>
<tr>
<td>Luis Antonio Germon</td>
</tr>
</table>
<table>
<thead>
<th>Cliente</th>
<th>País</th>
<td>Daniel Niquet</td>
<td>Mexico</td>
<td>Joan Castro</td>
<td>Mexico</td>
</tr>
<tr>
<td>Leonardo Valenzuela</td>
<td>Mexico</td>
</tr>
</table>
<table>
<thead>
<th>id</th>
<th>País</th>
<td>4</td>
<td>Argentina</td>
<td>5</td>
<td>Canada</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://utils.softr.net/capa-de-persistencia-acceso-a-datos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>contextMenoo - Menu contextual con Mootools</title>
		<link>http://utils.softr.net/contextmenoo-menu-contextual-con-mootools/</link>
		<comments>http://utils.softr.net/contextmenoo-menu-contextual-con-mootools/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 00:34:48 +0000</pubDate>
		<dc:creator>Daniel Niquet</dc:creator>
		
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://utils.softr.net/contextmenoo-menu-contextual-con-mootools/</guid>
		<description><![CDATA[contextMenoo es una simple y muy ligera solución basada en mooTools, para implementar menúes contextuales en tus proyectos web. Surge derivado del ruido que hizo en la web de forma inmediata, el script original proto.Menu, el cual está basado en prototype, y cuyo autor es Juriy Zaytsev.
 Características:

Ligero. 1.9kb
No obstrusivo.  Si deshabilitas Javascript, el [...]]]></description>
			<content:encoded><![CDATA[<p><strong>contextMenoo </strong>es una simple y muy ligera solución basada en mooTools, para implementar menúes contextuales en tus proyectos web. Surge <a href="http://www.webmasterlibre.com/2007/08/26/protomenu-un-menu-contextual-con-prototype/">derivado </a><a href="http://www.webadictos.com.mx/2007/08/27/protomenu-un-menu-contextual-ligero-en-javascript-utilizando-prototype/">del ruido</a> <a href="http://ajaxian.com/archives/protomenu-prototype-based-context-menu-solution">que hizo</a> <a href="http://www.ditii.com/2007/08/25/prototype-context-menu-protomenu/">en la web</a> de forma inmediata, el script original <a href="http://yura.thinkweb2.com/scripting/contextMenu/" title="proto.Menu">proto.Menu</a>, el cual está basado en <a href="http://www.prototypejs.org/" title="Prototype Javascript Framework">prototype</a>, y cuyo autor es <a href="http://yura.thinkweb2.com/scripting/contextMenu/" title="proto.Menu">Juriy Zaytsev</a>.</p>
<p><strong> Características:</strong></p>
<ul>
<li><strong>Ligero</strong>. 1.9kb</li>
<li><strong>No obstrusivo</strong>.  Si deshabilitas Javascript, el menú contextual propio del navegador aparecerá normalmente.</li>
<li><strong>Cross-browser</strong>. Soportado por la mayoría de los navegadores. (En el caso de <a href="http://www.opera.com/" title="Opera">opera</a>, es soportado con ctrl+click izquierdo)</li>
<li><strong>Personalizable</strong>. Utiliza hojas de estilo externas, para manejar el estilo al gusto o según el estilo de la página donde se usará. Es posible utilizar temas predifinidos, y cambiarlos en el momento es que se requiera.</li>
<li><strong>Rápido</strong>. El menú se crea sólo al cargar la página, y luego unicamente cambia de posición.</li>
</ul>
<p><strong>Especificaciones</strong></p>
<ul>
<li> Requiere MooTools v1.11
<ul>
<li>Dependencias:
<ul>
<li>Core: core.js</li>
<li>Class: Class.js, Class.Extras.js</li>
<li>Native: Array.js, String.js, Function.js, Number.js, Element.js</li>
<li>Element: Element.Event.js, Element.Filters.js, Element.Selectors.js, Element.Dimensions.js</li>
<li>Window: Window.Size.js, Window.DomReady.js</li>
<li>Effects: Fx.Base.js, Fx.CSS.js, Fx.Style.js</li>
</ul>
</li>
</ul>
</li>
<li>Probado en: Internet explorer 6, safari 3.03, Firefox 2.0.0.6, Opera 9.23. Todos en versiones para windows.</li>
<li>Última modificación: 30 de Agosto de 2007.</li>
<li>Autor: Daniel Niquet.</li>
<li>versión: 0.6</li>
</ul>
<p><strong>Instalación y uso</strong></p>
<ul>
<li><a href="http://utils.softr.net/contextMenoo/contextMenoo.zip" title="Descargar contextMenoo">Descarga contextMenoo</a>, y agrega en la sección HEAD de tu proyecto<br />
&lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/mootools.v1.11.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/contextMenoo.js&#8221;&gt;&lt;/script&gt;</li>
<li>Agrega el estilo. Puedes hacerlo con el estilo que viene por default<br />
&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;contextMenoo.css&#8221; type=&#8221;text/css&#8221; media=&#8221;screen&#8221; /&gt;</li>
<li>Crea un arreglo de los enlaces a mostrar en el menú.<br />
var myLinks = [<br />
{name: &#8216;Back&#8217;, callback: function(){alert(&#8217;back function called&#8217;)}},<br />
{name: &#8216;Forward&#8217;, callback: function(){alert(&#8217;Forward function called&#8217;)}},<br />
{separator: true},<br />
{name: &#8216;Reload&#8217;, callback: function(){alert(&#8217;Reload function called&#8217;)}},<br />
{name: &#8216;Disabled option&#8217;, disabled: true},<br />
{name: &#8216;Toggle previous option&#8217;, callback: function(){<br />
var item = oLinks.find(function(l){return l.name == &#8216;Disabled option&#8217;});<br />
item.disabled = item.disabled == false ? true : false;<br />
}}<br />
]</li>
<li>Crea la instancia para la clase contextMenoo, y pasale como parametro el arreglo definido en el punto anterior.<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
new contextMenoo({<br />
selector: &#8216;.contextmenu&#8217; // clase del elemento al hacer click<br />
className: &#8216;myContextMenu&#8217;, // clase para estilizar el menu<br />
menuItems: myLinks // el arreglo de enlaces<br />
})<br />
&lt;/script&gt;</li>
</ul>
<p><a href="http://utils.softr.net/contextMenoo/" title="contextMenoo en acción"> Ejemplo Funcionando</a></p>
<p><strong><br />
Descarga</strong></p>
<ul>
<li> ZIP con el MooTools a la medida, ejemplos y contextMenoo (15 kb)<br />
<a href="http://utils.softr.net/contextMenoo/contextMenoo.zip" title="Descargar contextMenoo">DESCARGAR contextMenoo</a></li>
</ul>
<p><strong>Cambios</strong></p>
<ul>
<li> <em>0.6</em>:
<ul>
<li>Bug corregido en internet explorer. Al dar click derecho sobre una parte fuera del elemento, salía el menú contextual propio del navegador, pero no desaparecía contextMenoo.</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://utils.softr.net/contextmenoo-menu-contextual-con-mootools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>softrCalendar</title>
		<link>http://utils.softr.net/softrcalendar/</link>
		<comments>http://utils.softr.net/softrcalendar/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 15:46:05 +0000</pubDate>
		<dc:creator>Daniel Niquet</dc:creator>
		
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://utils.softr.net/softrcalendar/</guid>
		<description><![CDATA[
softrCalendar es un script para generar los famosos &#8220;date picker&#8221; para seleccionar una fecha. Está inicialmente inspirado en  el date picker de P.O.R.K., pero corregido y aumentado.  La parte visual se inspira en el date picker de zapatec, pero sin ocupar los 103kb que el suyo ocupa.
softrCalendar está disponible en las versiones 1.0 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://utils.softr.net/_softrCalendar/screenshoot.png" title="softrCalendar" alt="softrCalendar" style="float: right" height="195" width="247" /></p>
<p><strong>softrCalendar </strong>es un script para generar los famosos &#8220;date picker&#8221; para seleccionar una fecha. Está inicialmente inspirado en  el date picker de <a href="http://www.schizofreend.nl/test/">P.O.R.K</a>., pero corregido y aumentado.  La parte visual se inspira en el date picker de <a href="http://www.zapatec.com/website/main/demo.jsp#example1.html" title="ZAPATEC - date picker">zapatec</a>, pero sin ocupar los 103kb que el suyo ocupa.</p>
<p><strong>softrCalendar </strong>está disponible en las versiones 1.0 (para aquellos que ya tengan un proyecto con esta versión) y 1.11 (mejorada y optimizada) de MooTools.</p>
<p><strong>Tamaño</strong>:</p>
<ul>
<li> versión 1.11: <strong>4.57 kb</strong> comprimido y <strong>7.68</strong> kb sin comprimir.</li>
<li>versión 1.0: <strong>4.18 kb</strong> comprimido y <strong>7</strong> kb sin comprimir.</li>
</ul>
<p><strong>Requerimientos:</strong></p>
<ul>
<li>Mootools 1.0 | Mootools 1.11
<ul>
<li>Dependencias:
<ul>
<li>Core - Core.js</li>
<li>Class - Class.js, Class.Extras.js</li>
<li>Native - Array.js, String.js, Function.js, Number.js, Element.js</li>
<li>Element - Element.Event.js, Element.Dimensions.js</li>
<li>Drag - Drag.Base.js, Drag.Move.js</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>Compatibilidad:</strong></p>
<ul>
<li>Se ha probado  en <a href="http://www.mozilla.com/en-US/" title="Mozilla Firefox" target="_blank">Mozilla Firefox </a>e <a href="http://www.microsoft.com/windows/ie_intl/es/" title="Microsoft Internet Explorer" target="_blank">Internet Explorer 6</a></li>
</ul>
<p><strong>Descarga:</strong></p>
<ul>
<li><a href="http://utils.softr.net/_softrCalendar/1.0.zip">softrCalendar 1.0 (librería comprimida y sin comprimir, MooTools y ejemplos) - 23kb (zip)</a></li>
<li><a href="http://utils.softr.net/_softrCalendar/1.11.zip">softrCalendar 1.11 (librería comprimida y sin comprimir, MooTools y ejemplos) - 17kb (zip)</a></li>
</ul>
<p>Cambios:</p>
<ul>
<li>Corregido bug para poder seleccionar el día en que comienza la semana<br />
$(&#8217;btnFecha&#8217;).addEvent(&#8217;click&#8217;,function(ev){new softrCalendar(&#8221;txtFecha&#8221;, {StartDay : 1}, ev);});</li>
</ul>
<p><strong>Instalación y uso:</strong></p>
<ol>
<li>Copiar la librería softrCalendar (softrCalendarSM.js) a tu proyecto, y hacer referencia a éste en la sección HEAD.
<ul>
<li>&lt;script type=&#8221;text/javascript&#8221; language=&#8221;javascript&#8221; src=&#8221;mootools.v1.11.js&#8221;&gt;&lt;/script&gt;</li>
</ul>
</li>
<li>Llamar al método &#8216;domready&#8217; del objeto window, para  instancear softrCalendar. <em>window.addEvent(&#8217;domready&#8217;,Site.start);</em></li>
<li><em>Llamar instancia de softrCalendar.</em>
<ol>
<li><em>var Site={<br />
start:function(){<br />
</em></p>
<blockquote><p>//El parámetro <em>ev </em>sólo es indispensable en la versión 1.11, y sirve para ubicar el calendario al dar click.</p></blockquote>
<p><em>        $(&#8217;btnFecha&#8217;).addEvent(&#8217;click&#8217;,function(ev){new softrCalendar(&#8221;txtFecha&#8221;,ev);});<br />
}<br />
}</em></li>
</ol>
</li>
<li><em>Personalizar el calendario a tu gusto en la hoja de estilo, softrCalendar.css<br />
</em></li>
</ol>
<p><strong>Documentación:</strong></p>
<ul>
<li>softrCalendarSM.js</li>
<li>clase: new softrRounded(/*string*/ targetInput, /*event*/ event);
<ul>
<li>targetInput: Es el elemento html input de tipo texto, que recibirá la fecha de softrCalendar.</li>
<li>event: Es el objeto event generado por el evento click de la imagen o elemento que funge como seleccionador.</li>
</ul>
</li>
<li>Ejemplos de la sintáxis:<br />
new softrCalendar(&#8221;txtFecha&#8221;,ev); // Para la versión 1.11<br />
new softrCalendar(&#8221;txtFecha&#8221;); // Para la versión 1.0</li>
</ul>
<p><a href="http://utils.softr.net/_softrCalendar/softrCalendar.php" title="Ejemplo de softrCalendar funcionando"><strong>Ejemplo Funcionando</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://utils.softr.net/softrcalendar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>softrRounded (Border Corners) con Google y MooTools</title>
		<link>http://utils.softr.net/softrrounded-border-corners-con-google-y-mootools/</link>
		<comments>http://utils.softr.net/softrrounded-border-corners-con-google-y-mootools/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 05:10:13 +0000</pubDate>
		<dc:creator>Daniel Niquet</dc:creator>
		
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://utils.softr.net/softrrounded-border-corners-con-google-y-mootools/</guid>
		<description><![CDATA[
softrRounded es una ligera librería(1.5kb) que gracias a Google y a MooTools permite generar diversos tipos de esquinas redondeadas de manera rápida y sencilla.
Requerimientos:

Mootools 1.11 (core, class, native, element, window)
Google groups beta 

Compatibilidad:

Se ha probado  en Mozilla Firefox e Internet Explorer 6

Descarga:

softrRounded 0.1 (librería, MooTools y ejemplos) - 22kb


Instalación y uso:

Copiar la librería softrRounded [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://utils.softr.net/images/softrRounded.png" title="softrRounded - Esquinas redondeadas con Google y MooTools" alt="softrRounded - Esquinas redondeadas con Google y MooTools" style="float: right" height="760" width="300" /><br />
<strong>softrRounded </strong>es una ligera librería(1.5kb) que gracias a <a href="http://google.com" title="Google">Google </a>y a <a href="http://mootools.net" title="MooTools">MooTools </a>permite generar diversos tipos de esquinas redondeadas de manera rápida y sencilla.</p>
<p><strong>Requerimientos:</strong></p>
<ul>
<li><a href="http://mootools.net">Mootools 1.11</a> (core, class, native, element, window)</li>
<li><a href="http://groups-beta.google.com/groups/roundedcorners?c=E66F57&amp;bc=D1CD72&amp;w=50&amp;h=50&amp;a=tr">Google groups beta </a></li>
</ul>
<p><strong>Compatibilidad:</strong></p>
<ul>
<li>Se ha probado  en <a href="http://www.mozilla.com/en-US/" title="Mozilla Firefox" target="_blank">Mozilla Firefox </a>e <a href="http://www.microsoft.com/windows/ie_intl/es/" title="Microsoft Internet Explorer" target="_blank">Internet Explorer 6</a></li>
</ul>
<p><strong>Descarga:</strong></p>
<ul>
<li><a href="http://utils.softr.net/softrRounded/softrRounded.zip" title="Descargar softrRounded">softrRounded 0.1 (librería, MooTools y ejemplos) - 22kb<br />
</a></li>
</ul>
<p><strong>Instalación y uso:</strong></p>
<ol>
<li>Copiar la librería softrRounded (softrRounded.js) a tu proyecto</li>
<li>Llamar al método &#8216;domready&#8217; del objeto window, para comenzar a instancear softrRounded en tantos elementos necesites.<br />
<em>window.addEvent(&#8217;domready&#8217;,Site.start);</em></p>
<ol>
<li>Instancear para cada elemento a redondear la clase softrRounded con sus respectivas opciones.var Site={<br />
start:function(){<br />
new softrRounded(&#8217;div1&#8242;,{&#8217;tl&#8217;:{&#8217;w':30,&#8217;h':30},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'687D95&#8242;});<br />
new softrRounded(&#8217;div2&#8242;,{&#8217;tr&#8217;:{ &#8216;w&#8217;:50, &#8216;h&#8217;:50},&#8217;bl&#8217;:{ &#8216;w&#8217;:50, &#8216;h&#8217;:50},&#8217;bg&#8217;:'7394B8&#8242;, &#8216;color&#8217;:'596B80&#8242;});<br />
new softrRounded(&#8217;div3&#8242;,{&#8217;tr&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;bl&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;br&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'CFD9E6&#8242;});<br />
new softrRounded(&#8217;div4&#8242;,{&#8217;all&#8217;:{ &#8216;w&#8217;:130, &#8216;h&#8217;:130},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'FFB900&#8242;});<br />
}<br />
};</li>
</ol>
</li>
</ol>
<p><strong>Documentación:</strong></p>
<ul>
<li>softrRounded.js</li>
<li>clase: new softrRounded(/*string*/ element, /*object*/ options);
<ul>
<li>element:<br />
El elemento DIV o HTML a redondear. Puede utilizarse un ID, como &#8216;div1&#8242; ó &#8216;div2&#8242;, para redondear objeto por objeto. También es posible redondear colecciones por medio de una clase css, como &#8216;.clase1&#8242; ó &#8216;.clase2&#8242;.</li>
<li>options:<br />
Recibe un objeto compuesto de:</p>
<ul>
<li>La o las esquinas a redondear. Ésta debe llamarse:
<ul>
<li>all(todas)|tl(top left)|tr(top right)|bl(bottom left)|br(bottom right) , y debe recibir como valor otro objeto compuesto de -w- width y -h- height.<br />
Ejemplo:<br />
&#8216;tl&#8217;:{&#8217;w':30,&#8217;h':30}<br />
&#8216;all&#8217;:{ &#8216;w&#8217;:130, &#8216;h&#8217;:130}</li>
</ul>
</li>
<li>La propiedad -bg- con el color de fondo de la esquina redondeada.<br />
Ejemplo:<br />
&#8216;bg&#8217;:'7394B8&#8242;</li>
<li>La propiedad -color- con el color de la esquina redondeada.<br />
Ejemplo:<br />
&#8216;color&#8217;:'FFB900&#8242;</li>
</ul>
</li>
</ul>
</li>
<li>Ejemplos de la sintáxis:</li>
</ul>
<blockquote>
<blockquote><p>new softrRounded(&#8217;div1&#8242;,{&#8217;tl&#8217;:{&#8217;w':30,&#8217;h':30},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'687D95&#8242;});<br />
new softrRounded(&#8217;div2&#8242;,{&#8217;tr&#8217;:{ &#8216;w&#8217;:50, &#8216;h&#8217;:50},&#8217;bl&#8217;:{ &#8216;w&#8217;:50, &#8216;h&#8217;:50},&#8217;bg&#8217;:'7394B8&#8242;, &#8216;color&#8217;:'596B80&#8242;});<br />
new softrRounded(&#8217;div3&#8242;,{&#8217;tr&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;bl&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;br&#8217;:{ &#8216;w&#8217;:30, &#8216;h&#8217;:30},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'CFD9E6&#8242;});<br />
new softrRounded(&#8217;div4&#8242;,{&#8217;all&#8217;:{ &#8216;w&#8217;:130, &#8216;h&#8217;:130},&#8217;bg&#8217;:'7394B8&#8242;,&#8217;color&#8217;:'FFB900&#8242;});</p></blockquote>
</blockquote>
<p><a href="http://utils.softr.net/softrRounded/"><strong>Ver ejemplo funcionando </strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://utils.softr.net/softrrounded-border-corners-con-google-y-mootools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>plOOtr</title>
		<link>http://utils.softr.net/plootr/</link>
		<comments>http://utils.softr.net/plootr/#comments</comments>
		<pubDate>Thu, 24 May 2007 17:36:15 +0000</pubDate>
		<dc:creator>Daniel Niquet</dc:creator>
		
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://utils.softr.net/?p=3</guid>
		<description><![CDATA[
Actualización: Lista la versión 0.2.0!!!! 
plOOtr es una librerí­a libre y gratuita para generar gráficas web utilizando el canvas html, y que está integrado totalmente con MooTools. Es realmente una adaptación de la librerí­a Plotr, la cual está integrada con Prototype, y que a su vez es una adaptación de PlotKit, que funciona con Mochikit.
Requerimientos:

MooTools [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://utils.softr.net/plOOtr2/screenshoot.jpg" title="plOOtr" alt="plOOtr" height="280" width="600" /></p>
<p align="right"><strong>Actualización: Lista la versión 0.2.0!!!! </strong></p>
<p>plOOtr es una librerí­a libre y gratuita para generar gráficas web utilizando el <a href="http://en.wikipedia.org/wiki/Canvas_(HTML_element)" title="Canvas HTML" target="_blank" ref.="â€">canvas html</a>, y que está integrado totalmente con <a href="http://mootools.net" title="MooTools" target="_blank">MooTools</a>. Es realmente una adaptación de la librerí­a <a href="http://solutoire.com/plotr/" title="Plotr" target="_blank">Plotr</a>, la cual está integrada con <a href="http://prototypejs.org/" title="Prototype Javascript Framework" target="_blank">Prototype</a>, y que a su vez es una adaptación de <a href="http://www.liquidx.net/plotkit/" title="PlotKit" target="_blank">PlotKit</a>, que funciona con <a href="http://www.mochikit.com/" title="MochiKit framework" target="_blank">Mochikit</a>.</p>
<p><strong>Requerimientos:</strong></p>
<ul>
<li><a href="http://mootools.net/" title="MooTools" target="_blank">MooTools 1.1</a> (no sé si con alguna versión más baja, sólo lo he probado con 1.1)</li>
<li><a href="http://excanvas.sourceforge.net/" title="Explorer Canvas" target="_blank">ExplorerCanvas</a></li>
</ul>
<p><strong>Compatibilidad:</strong></p>
<ul>
<li>Se ha probado  en <a href="http://www.mozilla.com/en-US/" title="Mozilla Firefox" target="_blank">Mozilla Firefox </a>e <a href="http://www.microsoft.com/windows/ie_intl/es/" title="Microsoft Internet Explorer" target="_blank">Internet Explorer 6</a></li>
</ul>
<p><strong>Cambios:</strong></p>
<ul>
<li> versión 0.20:
<ul>
<li>Optimización de código</li>
<li>Pueden usarse sombras</li>
<li>Gráficas de líneas sin relleno</li>
</ul>
<ul>
<li>Se agrega funcionalidad para mostrar leyendas</li>
<li>Se agrega a las gráficas la propiedad &#8220;<em>showInSide</em>&#8220;. Por default está en <em>false </em>y las leyendas se muestran en la parte inferior de las gráficas, al ponerla en <em>true </em>se muestra en la parte de un costado, a la derecha.</li>
</ul>
</li>
</ul>
<p><strong>Descarga:</strong></p>
<ul>
<li><a href="http://utils.softr.net/plOOtr2/plOOtr020.zip" title="Descargar plOOtr" target="_blank">plOOtr 0.2.0 (librerias con código fuente y ejemplos en zip - 54kb</a></li>
<li><strike><a href="http://utils.softr.net/plOOtr/plOOtr.zip" title="Descargar plOOtr" target="_blank">plOOtr 0.14 (librerias y ejemplos en zip - 52kb</a></strike></li>
</ul>
<p><strong>Instalación:</strong></p>
<ol>
<li>Copiar la carpeta lib a tu proyecto</li>
<li>Hacer la referencia a las librerias en la sección HEAD del documento.<br />
<small>&lt;script src=&#8221;lib/mootools/MT11.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script src=&#8221;lib/plotr/excanvas.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script src=&#8221;lib/plotr/Plotr.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</small></li>
<li>Poner el contenedor donde se visualizará el gráfico&lt;div class=&#8221;graph&#8221;&gt;&lt;canvas id=&#8221;plotr1&#8243; height=&#8221;500&#8243; width=&#8221;600&#8243;&gt;&lt;/canvas&gt;&lt;/div&gt;</li>
<li>Poner las opciones, y construir la gráfica. <small> </small><small>var Site={<br />
dataset1:{<br />
&#8216;myFirstDataset&#8217;: [[0, 1.4], [1, 3], [2, 1.414], [3, 1.73], [4, 2.56]]<br />
},<br />
options:{<br />
strokewidth: 1,<br />
backgroundColor: &#8216;#fff&#8217;,<br />
colorScheme: &#8216;blue&#8217;,<br />
xTicks: [{v:0, label:&#8217;Firefox&#8217;},<br />
{v:1, label:&#8217;Opera&#8217;},<br />
{v:2, label:&#8217;Safari&#8217;},<br />
{v:3, label:&#8217;IE6&#8242;},<br />
{v:4, label:&#8217;IE7&#8242;}<br />
]<br />
},<br />
graph:function(){<br />
/*Se llama la instancia para la grafica, se le pasan los datos y se construye*/<br />
var pie = new Plotr.PieChart(&#8217;plotr1&#8242;,Site.options);<br />
pie.addDataset(Site.dataset1);<br />
pie.render();</small><small>}<br />
/*Una vez listo el DOM, se llama la función que graficará*/<br />
window.addEvent(&#8217;domready&#8217;,Site.graph);</small><small></small></li>
<li>Disfruta tus gráficas.</li>
</ol>
<p><strong>Documentación:</strong></p>
<ul>
<li> Por ahora básicamente es la de <a href="http://media.liquidx.net/js/plotkit-doc/PlotKit.html" title="PlotKit" target="_blank">PlotKit,</a> a la brevedad pondré una versión adaptada a plOOtr, resumida y en español.</li>
</ul>
<p><strong>Ejemplos(0.20):</strong></p>
<ul>
<li><a href="http://utils.softr.net/plOOtr2/examples/barchart_example.html">Gráfica de barras</a><a href="http://utils.softr.net/plOOtr/examples/example_bar.html" title="GrÃ¡fica de Barras" target="_blank"> </a></li>
<li><a href="http://utils.softr.net/plOOtr2/examples/piechart_example.html">Gr</a><a href="http://utils.softr.net/plOOtr2/examples/piechart_example.html">á</a><a href="http://utils.softr.net/plOOtr2/examples/piechart_example.html">fica de pastel</a></li>
<li><a href="http://utils.softr.net/plOOtr2/examples/linechart_example.html">Gr</a><a href="http://utils.softr.net/plOOtr2/examples/linechart_example.html">á</a><a href="http://utils.softr.net/plOOtr2/examples/linechart_example.html">fica de lí­neas</a></li>
<li><a href="http://utils.softr.net/plOOtr2/examples/legend_example.html" title="GrÃ¡ficas a partir de tabla" target="_blank">Gráficas con leyendas<br />
</a></li>
</ul>
<p><strike><strong>Ejemplos(0.14):</strong></strike></p>
<ul>
<li><strike><a href="http://utils.softr.net/plOOtr/examples/example_bar.html" title="GrÃ¡fica de Barras" target="_blank">Gr</a><a href="http://utils.softr.net/plOOtr/examples/example_tables.htm" title="GrÃ¡ficas a partir de tabla" target="_blank">á</a><a href="http://utils.softr.net/plOOtr/examples/example_bar.html" title="GrÃ¡fica de Barras" target="_blank">fica de barras </a></strike></li>
<li><strike><a href="http://utils.softr.net/plOOtr/examples/example_pie.html" title="GrÃ¡fica de Pastel" target="_blank">Gr</a><a href="http://utils.softr.net/plOOtr/examples/example_tables.htm" title="GrÃ¡ficas a partir de tabla" target="_blank">á</a><a href="http://utils.softr.net/plOOtr/examples/example_pie.html" title="GrÃ¡fica de Pastel" target="_blank">fica de pastel</a></strike></li>
<li><strike><a href="http://utils.softr.net/plOOtr/examples/example_line.html" title="GrÃ¡fica de lÃ­neas" target="_blank">Gr</a><a href="http://utils.softr.net/plOOtr/examples/example_tables.htm" title="GrÃ¡ficas a partir de tabla" target="_blank">á</a><a href="http://utils.softr.net/plOOtr/examples/example_line.html" title="GrÃ¡fica de lÃ­neas" target="_blank">fica de lí­neas</a></strike></li>
<li><strike><a href="http://utils.softr.net/plOOtr/examples/example_tables.htm" title="GrÃ¡ficas a partir de tabla" target="_blank">Gráfica de los 3 tipos,  pero a partir de una tabla HTML</a></strike></li>
</ul>
<p><strong>Próximas mejoras:</strong></p>
<ul>
<li> Añadir eventos en las barras o en las rebanadas de las gráficas de barras y pastel, respectivamente.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://utils.softr.net/plootr/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
