Plugin MultiPicFilmStrip para Coppermine Photo Gallery

En mi galería de fotos montada con Coppermine he realizado varios cambios y modificaciones, pero siempre me quedo con el amargo regusto de hacerlo deprisa y corriendo, sin dedicarle el tiempo que se merece, por ello hace un par de semanas me mire el sistema de plugins de esta galería de fotos. Me sorprendio, es fácil y sencillo, en escasos minutos tienes tu primer plugin de pruebas instalado, configurado y funcionando. Después de esa grata sorpresa monte un plugin que modifica ligeramente el comportamiento de la tira de fotos que sale debajo de la vista de imágenes.

El comportamiento por defecto de la tira de imágenes de Coppermine es avanzar una imagen por cada vez que hacemos clic en la flecha de avanzar o retroceder, y resulta un poco molesto para mi gusto tener que estar haciendo clics uno tras otro para moverme por varias imágenes. Con el plugin que he creado, esa tira de imágenes mostrará seis nuevas imágenes cada vez que hagamos clic en la flecha correspondiente.

Para hacer funcionar el plugin únicamente necesitas descargar el archivo, descomprimirlo y subir la carpeta "moveMultiplePicsOnFilmstrip" a la carpeta plugins de tu Coppermine. Después lo activaremos desde la configuración de plugins de Coppermine, no hay que configurar nada, y desde ese momento, las fotos de la tira de imágenes avanzará seis fotos por cada clic que realicemos. He creado un pequeño vídeo para ver el comportamiento antes y después de la activación del plugin.

Información para desarrolladores:

Hacer un plugin para Coppermine es extremadamente sencillo, me ha sorprendido gratamente, y si sueles meterle mano a tus aplicaciones web para que se comporten exactamente como tu quieres, en el caso de esta galería de fotos creo que merece la pena dedicarle unos minutos para entender el funcionamiento de su sistema de plugins y hacer que tus modificaciones sean reutilizables.

En mi caso tuve un pequeño problema, y es que el código Javascript que hace funcionar el comportamiento de la tira de imágenes o filmstrip, es el archivo "displayImage.js", y por algún motivo, este archivo siempre es el último en añadirse al array de códigos Javascript de la galería. Ello me provocaba que los cambios que yo hacia en el comportamiento de código Javascript se machacaran con el comportamiento original. Una primera solución evidente es tocar el archivo Javascript original, pero eso es una solución que requería de acciones extra aparte de la simple instalación y activación del plugin. Es decir era una solución poco elegante y bastante chapucera, por ese motivo, tras pensarlo un poco más se me ocurrió una solución mejor; lo que necesitaba era desactivar el handler de JQuery al evento clic de la flecha, pero para eso tenía que ejecutar el "unbind" después de que Coppermine cargara todos los Javascript. Esto lo solucione haciendo uso de una llamada a mi función con un delay no bloqueante como puede verse a continuación.

La función "nextPic(false)" es una copia de la función original que se ejecutaba con el clic, solo que modificada para que pueda llamarse varias veces seguidas. Concretamente la función se auto-llama a si misma cinco veces (más la llamada original, seis) provocando el avance consecutivo de seis fotos.

En un futuro realizaré una segunda versión de este código que en la activación del plugin pregunte el número de fotos a avanzar, de forma que se pueda configurar fácilmente si se desea que avancen más o menos fotos.

Por último comentar que un buen inicio para trabajar los plugins es ver como están creados otros plugins, puedes consultar muchos aquí. Y para comenzar el desarrollo puedes empezar con la propia documentación que ofrece Coppermine aquí.

Plugin Coppermine MoveMultiplePicsOnFilmStrip
Plugin Coppermine MoveMultiplePicsOnFilmStrip
moveMultiplePicsOnFilmstrip.zip
Version: 0.1
6.1 KiB
79 Downloads
Details...

Create PDF from an image on PHP

Recently a friend asked me to create a script to make a PDF document from a set of images. The initial idea was get a table of 3x3 images randomly from a bunch. He need to run it into his web server, for this reason I think PHP (language supported) is the best option. He has a lot of cards, for example (the full set is about 25-30 cards):

Image of exampleExample cardExample card

And he want to allow people to download random cards from Internet. This random characteristic is the key he wants to reach. The solution is very simple as you can see below.

Example of final image of random cards

Example of final image of random cards

First, as always, I look for information on the net and I get a couple pages of interest.

Here we can get basics functions to create simple images as rectangles or lines:
http://bulma.net/body.phtml?nIdNoticia=671
As you can see the simplest way is use "gd" library. This library is commonly installed on PHP web servers. I make a couple of test and everything works, so I'll develop the script with it. Another solution will be "ImageMagick" library, in my case I can use both, but if you are interested you must test wich one you can use.

On this other page I find some function to get my image on a PDF file.
http://blog.unijimpe.net/crear-pdf-con-imagenes-en-php
With R&OS library you get "ezImage" function that is your solution. I must dig in by source code to understand all parameters because I can't find good documentation, but after couple tests I get my script work!

This script can be configured with the number of images on columns and rows. You can select the distance between images in pixels too. It's easy, I left some comments along the code.

I hope it will be usefull, here you can get my final script.

The script must be located on a folder next to all cards and the PDF library. I put here a compressed file with all together.

I hope it will be usefull, here you can get my final script.

Cards maker in PHP
Cards maker in PHP
creadorCartas.tar.bz2
525.2 KiB
201 Downloads
Details...