#!/bin/bash
#######################################################################
# PhpWebGallery_create.sh
# Inspiré du script Rep2Thumb.sh de Gothico - http://forum.phpwebgallery.net/viewtopic.php?id=5522
# Inspiré du script gallery.sh de wiloo - http://forum.phpwebgallery.net/viewtopic.php?pid=37829
# Script de création de galerie pour PhpWebGallery
# A intégrer dans les nautilus script (applicable aux fichiers sélectionnés)
# Création de miniatures
# Création de photos redimensionnées
########################################################################
## CONFIGURATION                                                      ##
########################################################################
# Chemin complet de la galerie à créer
GALLERY_PATH="`pwd`"
##
GALERY_NAME="PhpWebGallery"
# Nom du répertoire à créer pour les miniatures
# ("thumbnail" par défaut dans phpwebgallery)
THUMB_DIR="thumbnail"
# Nom du répertoire à créer pour les images tailles réelles
# ("pwg_high" par défaut dans phpwebgallery)
REAL_DIR="pwg_high"
# Préfixe des miniatures
THUMB_PREFIX="TN-"
## L pour Largeur
## H pour Hauteur
# Taille des photos miniatures
THUMB_L="128"
THUMB_H="96"
# Taille des photos à afficher dans phpwebgallery
PICT_L="800"
PICT_H="600"
# Taille des photos images tailles réelles dans REAL_DIR
REAL_L="1280"
REAL_H="1024"
# Garder les données EXIF ou non
# Avec EXIF => ""
# Sans EXIF => "-strip"
EXIF=""
########################################################################
## TRAITEMENT DES IMAGES                                              ##
########################################################################
# Création des miniatures dans le répertoire configuré
mkdir "$GALLERY_PATH/$GALERY_NAME"
mkdir "$GALLERY_PATH/$GALERY_NAME/$THUMB_DIR"
mkdir "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR"
numParam=1
for parametre in "$@";
do
	# Netoyage nom de fichier à cause de gthunb qui renomme en série 019_2006-08-05--14.45.41.jpg double tiret, nettoyage en 019_2006-08-05_14.45.jpg
	new_name=`echo "$parametre" | sed s/--/_/g | cut -c1-20`.jpg
	# Sans nettoyage du nom, il faut commenter la ligne new_name=`echo $parametre | sed s/--/_/g | cut -c1-20`.jpg et décommenter la ligne ci dessous
	# new_name="$parametre"
	# Orientation de la photo
	L="`identify "$parametre" | cut -d\  -f3 | cut -dx -f1`"
	H="`identify "$parametre" | cut -d\  -f3 | cut -dx -f2`"
	if [ $L -gt $H ]
		then
			THUMB_SIZE="${THUMB_L}x${THUMB_H}"
			PICT_SIZE="${PICT_L}x${PICT_H}"
			REAL_SIZE="${REAL_L}x${REAL_H}"
		else
			THUMB_SIZE="${THUMB_H}x${THUMB_L}"
			PICT_SIZE="${PICT_H}x${PICT_L}"
			REAL_SIZE="${REAL_H}x${REAL_L}"
	fi
	# Déplacement de l'original dans le répertoire configuré pour les mages tailles réelles
	# cp "$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$new_name"
	# Augmente la compression en gardant la résolution originale
	# convert -density 72 $EXIF "$GALLERY_PATH/$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$new_name";
	# Réduit la résolition originale à REAL_SIZE sans compression
	convert $EXIF -resize $REAL_SIZE "$GALLERY_PATH/$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$new_name";
	# Création des images affichées dans la galerie
	convert -density 72 $EXIF -resize $PICT_SIZE "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$new_name" "$GALLERY_PATH/$GALERY_NAME/$new_name";
	# Création des miniatures dans le répertoire configuré pour les miniature	
	convert -thumbnail $THUMB_SIZE -density 72 "$GALLERY_PATH/$GALERY_NAME/$new_name" "$GALLERY_PATH/$GALERY_NAME/$THUMB_DIR/$THUMB_PREFIX$new_name";
let $[numParam += 1]
done

