Archive for Octubre, 2009

Sistema de gestión de usuarios en PHP

UserCake es un sencillo sistema de gestión de usuarios desarrollado en PHP y mysql. Su objetivo es proporcionar una base para construir aplicaciones donde los usuarios puedan registrarse, legearse y editar sus datos de manera simple.

usrcake

Sus funcionalidades incluyen:

  • Login
  • Registro
  • Password perdido
  • Actualizar password
  • Actualizar detalles de usuario
  • Plantillas de email
  • seguridad SHA1 + Salt / Hash
  • Activación de cuenta
  • Grupos de usuario (Basic, id – group_name)

Incluye para ello funciones que cubren necesidades frecuentes como isUserLoggedIn() o isGroupMember($id) entre otras.

Vía webresourcesdepot

Generando passwords con JS

Hace algunos días vimos cómo generar passwords aleatorios en php. Hoy descubro vía jquery-howto un script con la misma finalidad escrito en javascript:

function password(length, special) {
  var iteration = 0;
  var password = "";
  var randomNumber;
  if(special == undefined){
      var special = false;
  }
  while(iteration < length){
    randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
    if(!special){
      if ((randomNumber >=33) && (randomNumber <=47)) { continue; }
      if ((randomNumber >=58) && (randomNumber <=64)) { continue; }
      if ((randomNumber >=91) && (randomNumber <=96)) { continue; }
      if ((randomNumber >=123) && (randomNumber <=126)) { continue; }
    }
    iteration++;
    password += String.fromCharCode(randomNumber);
  }
  return password;
}

Graficas con javascript

gRaphaël es una biblioteca javascript, basada en la biblioteca Raphaël, que permite crear gráficos de tarta, barras, líneas o puntos.
graficas
Para usarla descarga e incluye los ficheros raphael.js y g.raphael.js junto a alguno de sus complementos (g.line.js, g.bar.js, g.dot.js y g.pie.js) en el HTML de tu página y empieza a utilizarla con ejemplos como el siguiente:

// Creates canvas 640 × 480 at 10, 50
var paper = Raphael(10, 50, 640, 480);

// Creates pie chart at with center at 320, 200, radius 100
// and data: [55, 20, 13, 32, 5, 1, 2, 10]
r.g.piechart(320, 240, 100, [55, 20, 13, 32, 5, 1, 2, 10]);

La biblioteca, licencia bajo una licencia MIT, es compatible con los siguientes navegadores; Firefox 3.0+, Safari 3.0+, Opera 9.5+ e Internet Explorer 6.0+

Vía webmasterlibre.com

IEtester

IETester es una aplicación gratuita para windows que permite probar tus diseños/javascripts sobre múltiples versiones de Internet Explorer en una sola ventana, dividida en pestañas.

Todos sabemos lo tedioso que puede llegar a ser el testeo de una página web sobre los distintos navegadores. Pues bien, esta aplicación ayuda a que ese proceso sea algo más ameno integrando todas las versiones de iExplorer (5.5 – 8.0) en una sola ventana.
ietester

Una vez abierto el programa tan solo tendremos de introducir la url a testear y seleccionar las versiones de IE sobre las que queremos trabajar. Esto abrirá una pestaña por motor seleccionado, cada una de las cuales ocupará un proceso independiente para mejorar la estabilidad: El bloqueo de una de ellas no implica que el programa se venga abajo.

Para funcionar, IE Tester requiere una copia de Windows con IE7+ instalado

Vía webmasterlibre.com

Más sobre photoshop cs5

No hace ni un mes desde que Abode publico un vídeo donde se dejaban ver las nuevas herramientas que traería photoshop cs5: Mover la posición de los elementos, borrar objetos o reconstruirlos a partir de los datos recogidos por su entorno se convertirán en un juego de niños con esta nueva versión del software de retoque fotográfico más famoso.

A continuación os dejo un video que aporta más ejemplos sobre lo fácil que resultará borrar objetos de una imagen mediante la nueva herramienta Content-Aware Fill.

Sobre el minuto 3:20 se puede ver como se borra una fábrica al completo a partir de la información de los arboles de la izquierda, resulta impactante. Es cierto que esto ya era posible en versiones anteriores de photoshop gracias a la herramienta de clonado (y mucha paciencia) o a plugins de terceros, pero la simplicidad de la nueva herramienta es sorprendente.

6 meses ya

Hoy se cumplen 6 meses de la primera entrada del blog :) .

Cómo no tengo nada preparado para la ocasión, he pensado echar un poco la vista atrás y crear un pequeño listado con los posts más populares (basado en las estadísticas de feedburner) junto a algún que otro vídeo de youtube que de un poco de alegría a esta entrada.

Estos han sido los posts más populares:

Curiosamente los posts relacionados con PHP han tenido mucho más éxito que los posts que trataban temas javascript, aún y cuando los segundos son mucho más abundantes en este blog.

Read more

Aprendiendo Flash/AS3

Hace ya un par de semanas que me anime a aprender algo de Flash y Action Script 3, de momento ni siquiera me puedo considerar un novato en la materia, pero me gustaría compartir con vosotros el material que estoy utilizando para dar los primeros pasos.

  • Antes de empezar a programar es imprescindible conocer el medio, qué se puede hacer con la herramienta y cómo se hace. Dado que jamas había tocado el programa, lo primero fue aprender a crear algunas animaciones simples y coger algo de soltura dentro de la aplicación de Adobe. Para este cometido me esta siendo de gran ayuda el material de flashfacilito en youtube.
  • Una vez vistas las funcionalidades más generales me anime a programar algo, para esto me baje fue el curso de flash cs3 de illasaron.Ya he visto los 5 primeros videos y para mi sorpresa Actionscript tiene algunas similitudes importantes con javascript, cosa que se agradece si tienes experiencia con este lenguaje.
  • También procuro seguir algún ejercicio de flash.tutsplus.com cada semana, intercalándolo con los vídeos de Jesús Conde. Alguna de las prácticas que encontramos en esta web están realmente bien, cómo por ejemplo este curso para crear un reproductor de mp3 paso a paso con el que espero ponerme esta semana o la próxima.
  • Además tengo intención de hacerme con algún libro, probablemente el ActionScript 3.0 Cookbook de la casa oreilly. Este aún no lo he mirado, pero los libros de esta editorial me suelen gustar mucho, podéis echarle un vistazo en google books
  • En cristalab también hay numerosos tips para AS 3.0, de momento el nivel de la mayoría de ellos me viene grande. Los dejo para el futuro

¿Alguno de vosotros programa en AS? Se aceptan sugerencias :)

jQuery Highlighter

Highlighter es un plugin para jQuery que nos permite resaltar áreas en nuestra web a la vez que se oscurece el resto del contenido. Incorpora una funcionalidad mediante la cual es posible anidar una descripción a cada área del site, haciéndolo realmente práctico para secciones estilo “aprende a …”.

Además de las características ya nombradas cabe destacar la navegación mediante el teclado, autoload y autoplay entre otras.
highlighter

Podéis probarlo en esta demo o descargarlo directamente desde la web del proyecto.

Lo peor de la crisis ya ha pasado

Los buenos resultados del buscador google, más los de IBM, Intel y AMD hacen pensar que la crisis ya ha pasado para las empresas tecnológicas estadounidenses.

El Nasdaq, mercado de valores de empresas tecnológicas, ha subido un 38% este año y ya comienzan a escucharse declaraciones cómo las de Eric Schmidt, CEO de Google, asegurando que “lo peor de la recesión ya ha pasado” y que “ya se sienten confiados para invertir fuertemente en el futuro”.
google
Si nos centramos en google, los resultados del último trimestre son espectaculares:

  • Los beneficios del tercer trimestre han sido de 1.640 millones de dólares, frente 1.290 millones del año anterior. Esto significa un incremento del 27%
  • Los ingresos se han incrementado un 7,3%
  • Google ve signos de recuperación en Europa y Africa, particularmente en España
  • Las búsquedas desde el móvil han aumentado un 30% respecto el trimestre anterior


Fuentes: Elpais y gurusblog

Convertir PSD a CSS y XHTML

Hace poco más de un mes comenzó en cristalab un curso en vídeo sobre la maquetación de diseños photoshop en CSS y xHTML, creado por micha. El curso no ha finalizado aún pero ya alcanza su quinta entrega.

Os dejo con la primera parte: organización de carpetas y cortar las imágenes necesarias para empezar a maquetar.

Si os gusto el vídeo aquí tenéis los links al resto del material:

Proteger descargas con PHP

En ocasiones un proyecto requiere que ciertos ficheros solo puedan ser descargados por un perfil concreto de usuarios; usuarios registrados, admins, etc.

Ocultar los links a aquellos usuarios que no tiene acceso a estos documentos suele ser suficiente por lo general, pero debemos ser conscientes de que este método no impide que un usuario con acceso al fichero pueda compartir la url con otros.

Si este nivel de seguridad nos resulta insuficiente, una alternativa puede ser realizar las descargas por medio de un script PHP en lugar de apuntar al fichero directamente. Este método podría permitirnos incluso la descarga de ficheros que se encuentren fuera de los directorios a los que apache tiene acceso.

if($usuarioValido == true) {
$name = $_GET['file'];
header("Content-disposition: attachment; filename=$name");
header("Content-type: application/octet-stream");
readfile($directorio.'/'.$name);
} else {
echo "No puedes descargar este archivo";
}

Añade la potencia de PHP a tus CSS

Vía anieto2k descubro CssDispatcher, una biblioteca para manejar CSS sobre PHP que permite procesar múltiples hojas de estilo como plantillas PHP, unirlas, minimizarlas y servirlas dependiendo del navegador.

Mezclar las tecnologías de programación con el lenguaje de estilos CSS puede resultar interesante para grupos de trabajo en los que el diseñador tenga unos conocimientos básicos de programación, esta biblioteca es un claro ejemplo de como añadir potencia y comodidad a la hora de escribir, mantener y aumentar el rendimiento de las hojas de estilo.

Variables PHP en CSS

El uso de variables dentro de las CSS puede ayudarnos a realizar pequeñas modificaciones (cambios de colores o tamaños de texto) sin esfuerzo:

.paginacion { border: 1px solid <?=$rojo ?>; }
.paginacion a { color: <?=$rojo ?>; }

Hojas de estilo adaptadas al browser

Con CssDispatcher definir CSS específicas para el navegador es tan fácil como añadir un segundo parámetro en el constructor de la clase:

$styles = new CssDispatcher;
// Este CSS solo se enviará cuando sea Internet Explorer 6
$styles->add(new Css('ie-hacks.css.php', Css::UA_IE6));
$styles->add(new Css('general.css.php'));
$styles->render();

Puedes especificar las siguientes familias de navegadores: Internet Explorer 6, Internet Explorer > 6 , Gecko y WebKit. También puedes utilizar los sinónimos UA_MOZILLA, UA_FIREFOX, UA_SAFARI y UA_CHROME respectivamente.

Más info