links for 2007-12-01
-
A través de Blogger in Draft y por lo tanto sin que sea todavÃa algo definitivo, Blogger introduce la identificación mediante OpenID en su sistema de comentarios. Lo más interesante de la caracterÃstica…
Un buen y sencillo código para crear botones estilo web 2.0 con Imagick.
<?php
// Se crea el objeto Imagick
$im = new Imagick();
// Se crea un canvas vacio
$im->newImage( 200, 200, "white", "png" );
// Se crea el objeto para dibujar
$draw = new ImagickDraw();
// Color del botón
$draw->setFillColor( "#4096EE" );
// Se crea el cÃrculo exterior
$draw->circle( 50, 50, 70, 70 );
// Se crea el ciruclo transparente de la zona inferior
$draw->setFillColor( "white" );
// Color semi transparente
$draw->setFillAlpha( 0.2 );
// Se dibuja el cÃrculo
$draw->circle( 50, 50, 68, 68 );
// Se indica la fuente
$draw->setFont( "./test1.ttf" );
// Se crea el reflejo superior
$draw->setFillAlpha( 0.17 );
// Se dibuja la curva
$draw->bezier( array(
array( "x" => 10 , "y" => 25 ),
array( "x" => 39, "y" => 49 ),
array( "x" => 60, "y" => 55 ),
array( "x" => 75, "y" => 70 ),
array( "x" => 100, "y" => 70 ),
array( "x" => 100, "y" => 10 ),
) );
// Se dibuja la imagen
$im->drawImage( $draw );
// Se pone a opaco para el texto
$draw->setFillAlpha( 1 );
// Tamaño de la letra
$draw->setFontSize( 30 );
// Color del texto
$draw->setFillColor( "white" );
// Se escribe el texto
$im->annotateImage( $draw, 38, 55, 0, "go" );
// Se recorta la imagen
$im->trimImage( 0 );
// Se envÃa la imagen
header( "Content-Type: image/png" );
echo $im;
?>
Siempre que se hace este tipo de scripts en nuestras aplicaciones web, hay que recordar que Imagick consume muchos recurosos.
Una colección interesante de código Javascript, sin tener que usar frameworks de Javascript, teniendo en cuenta, que a mi parecer es conveniente antes saber Javascript y luego aprender un framework.
De los scrips que nos muestran, me gustarÃa destacar:
function addLoadListener(fn){
if(typeof window.addEventListener !='undefined') {
window.addEventListener('load',fn,false);
} else if(typeof document.addEventListener !='undefined') {
document.addEventListener('load',fn,false);
} else if(typeof window.attachEvent !='undefined') {
window.attachEvent('onload',fn);
} else {
var oldfn=window.onload
if(typeof window.onload !='function') {
window.onload=fn;
} else {
window.onload=function(){oldfn();fn();}
}
}
}
function addEvent(obj,type,fn){
if(obj.addEventListener) {
obj.addEventListener(type,fn,false);
} else if(obj.attachEvent){
obj["e"+type+fn]=fn;
obj[type+fn]=function(){obj["e"+type+fn](window.event);}
obj.attachEvent("on"+type,obj[type+fn]);
}
}
function removeEvent(obj,type,fn) {
if(obj.removeEventListener) {
obj.removeEventListener(type,fn,false);
else if(obj.detachEvent){
obj.detachEvent("on"+type,obj[type+fn]);
obj[type+fn]=null;
obj["e"+type+fn]=null;
}
}
function giT(evt){
var elem;
if (evt.target) {
elem = (evt.target.nodeType == 3) ?
evt.target.parentNode :
evt.target;
} else {
elem = evt.srcElement;
}
return elem;
}
Kohana es un framework de PHP que deriva de CodeIgniter, el cual ya he comentado aquà que me gusta bastante. Basado inicialmente en CI, posee las mismas caracterÃsticas que este: seguro, liviano, fácil de aprender, MVC, compatible con UTF-8 y fácilmente extensible.
¿Qué diferencias existen entre CI y Kohana?
Torii es una aplicación que desarrolla portales de forma sencilla mediante el uso y desarrollo de módulos. Incluye una extensa documentación y una serie de módulos iniciales como integración de feeds, tiempo, sistema de información, listas to-do y mucho más.
Además incluye temas que nos permite modificar el aspecto de nuestro portal de forma rápida.
No hace mucho uso de Javascript para evitar que el gasto innecesario de los recursos del navegador. A parte, el porta se cargan con mucha rapidez ya que los datos se cargan asÃncronamente más tarde.
Es necesario disponer de PHP 5.2 y las siguientes extensiones: SimpleXML, DOM, PCRE y SPL, JSON, PDO y PDO/SQLite, y Curl. PDO/SQLite es necesario porque algunos módulos necesitan almacenar información.
Torii
La verdad es que trabajar con fechas en Javascript suele ser un poco pesado. Con Datejs podremos trabajar con fechas de una forma increÃblemente fácil y potente.
No se trata únicamente de un parseador, sino que ofrece muchas más funcionalidades.
Algunos ejemplos que nos pueden hacer ver la potencia de esta librerÃa son:
// ¿Qué fecha es el próximo jueves?
Date.today().next().thursday();
// Añadir 3 dÃas a la fecha de hoy
Date.today().add(3).days();
// ¿Es hoy viernes?
Date.today().is().friday();
// Hace tres dÃas
(3).days().ago();
// Dentro de 6 meses
var n = 6;
n.months().fromNow();
// Ponerlo a las 8:30 AM del dÃa 15 de este mes
Date.today().set({ day: 15, hour: 8, mintue: 30 });
// Convertir un texto a una fecha
Date.parse(‘today’);
Date.parse(‘t + 5 d’); // hoy + 5 dÃas
Date.parse(‘next thursday’);
Date.parse(‘February 20th 1973′);
Date.parse(‘Thu, 1 July 2004 22:30:00′);
VÃa / Ajaxline
Data Recovery Toolkit for InnoDB es un conjunto de herramientas que comprueba los tablespaces de InnoDB y recuperan datos de un tablespaces dañado o de tablas que han sufrido drop o truncate.
Entre las caracterÃsticas que ofrece nos encontramos con:
Data Recovery Toolkit for InnoDB
VÃa / Homo-Adminus Blog
Un gran script que nos permite insertar sliders en nuestras webs, que sean accesibles y no obstrusivos. A parte, permiten ser manejados por las flechas del cursor, por las teclas de inicio y fin, o el ratón, incluido el scroll.
El script le asigna automáticamente a cada slider el rol slider requerido por ARIA y los estados valuemax, valuemin y valuenow.
Un ejemplo de uso para un slider horizontal con una llamada de función serÃa la siguiente:
class="fd_range_0_255 fd_classname_extraclass fd_callback_updateColor"
VÃa / WebAppers