En los ultimos dias estube buscando por internet una galeria de imagenes lo mas basica posible donde el usuario pudiera ver un conjunto de "vistas miniaturas" (preview) de las imagenes y seleccionar la que quisieran ver mas grande. Eso era todo.
En mi etapa de busqueda di con una libreria que hacia exactamente lo que yo queria, me parecio excelente, la pude conseguir en la pagina http://bolgallery.free.fr/. Esta libreria permite colocar una serie de imagenes en un directorio "images", a partir de estas imagenes la galeria genera las vistas en miniatura de las imagenes, ademas permite generar dos tipos de vistas miniatura que explicare mas adelante. Es muy facil de configurar e instalar.
Cuando vi esta galeria decidi realizarle unas mejoras para permitir el uso de multiples etiquetas sobre una foto, una base de datos para llevar estadisticas de la cantidad de veces que se ha visto una foto, subir las fotos remotamente, aplicar etiquetas, etc.
En resumen la galeria que mejore ofrece las siguientes funcionalidades:
- Permite asignar nuevas o viejas etiquetas a una fotografia.
- Permite agregar fotografias de manera remota y aplicarle las etiquetas dinamicamente.
- Permite visualizar conjuntos de imagenes a partir de la combinacion de una o mas etiquetas de manera simultanea, colocando la variable "labels" en el URL de la pagina igualada a las etiquetas deseadas separadas por comas. Ej: migaleria.php?labels=etiqueta1,etiqueta2,etiqueta3
- Genera dinamicamente las vistas previas de las fotografias subidas.
- Las vistas previas generadas pueden ser de dos tipos: Version a escala de la fotografia a visualizar o recorte aleatorio de una porcion de la fotografia (definido por el webmaster).
- Maneja estadisticas de las vistas o clicks que el usuario ha realizado para cad auna de las fotografias.
- Autenticacion de usuario para permitir que solo los usuarios autorizados (aministradores) puedan modificar las fotos. Para aprender mas sobre esto puedes ir a mi tutorial de autenticación de usuario.
Para su utilización no hace falta mas que colocar la carpeta "galeria" en cualquier directorio del servidor, la carpeta llamada "images" será donde se ubicarán todas las imagenes agregadas.
Luego se procede a crear la base de datos y tablas con el script bd.sql ubicado en el directorio raiz de la galeria.
El directorio donde se encontraría ubicada la galeria quedaria con los archivos index.php, admin.php, bd.sql, leeme.txt y las siguientes carpetas:
- images.
- autenticación.
- galeria_de_fotos.
Explicacion de los directorios:
-Images: Debe tener todos los permisos de escritura. Donde se irán guardando todas las imagenes de la galeria, las vistas previas de guardarán automaticamente dentro de este directorio en una carpeta llamada bolGallery.
- Autenticación: contiene todo el modulo para la logica de seguridad. esta carpeta no debe ser modificada. Contiene el archivo registro.php que tiene el formulario para la creación de un nuevo usuario, es importante mantener esta pagina bien oculta (o eliminarla una vez creado el usuario administrador) para que nadie pueda registrarse y modificar, subir o eliminar las fotos.
- Galeria_de_fotos: contiene dos paginas importantes:
1) index.php: Es el front de la galeria de imagenes, es decir, la pagina que verán lo usuarios finales, los que visiten la galeria, puede ser modificado a placer siempre que se mantenga la llamada a la funcion bolGallery del archivo bolGallery.php. El siguiente es un ejemplo de una llamada:
include("bolGallery.php");
if(isset($_GET['labels']))
{
$array = split(",", $_GET['labels']);
bolGallery("../images/",$array, 6, 150, 150,1);
}
else
bolGallery("../images/",null, 6, 150, 150,1);
La funcion bolGallery recive los siguientes parametros:
a) URL de el directorio donde se encuentran las imagnes: esto no debe modificarse.
b) tablas de referencia: No debe modificarse.
c) cantidad de columnas que se quiere que tenga la galeria.
d) el ancho en pixeles de las vistas previas de la galeria.
e) el alto en pixeles de las vistas previas de la galeria.
f) un booleano que es "true" si se desea colocar una vista previa en tamaño escala de la imagen o "false" si se desea un recorte aleatorio de una porcion de la fotografia.
2) admin.php: El modulo de administrador, esa página no se debe modificar.
Espero que todo les funcione correctamente, cualquier duda no duden en entrar a mi pagina enviarme un correo a: aalejo@gmail.com. Para ver un ejemplo de la galeria en funcionamiento puedes hacer click aqui. Recuerda crearte un usuario para poder modificar las imagenes.
Continuar leyendo...