par hika - 2005-07-03 11:27:24
crée le 2005-06-28 21:48:45

PHP Gallery Engine


Tout d'abord, c'est quoi Gallery Engine ?

Il s'agit d'un moteur de gestion de galerie photos pour PHP.
Ne vous attendez surtout pas une solution "clé en main". C'est à vous de gérer votre charte graphique.

Ce moteur se présente sous forme d'une classe PHP.
Ses fonctions sont les suivantes :
- Fonction de récupération d'informations d'un dossier, à savoir la liste des fichiers et dossiers ainsi que leurs attributs
- Génération automatique de thumbnails avec gd version 2.
- Système de cache pour les thumbnails
- Gestion de droits d'accès

Pour son utilisation, il y a un fichier de configuration à paramètrer, une base de données avec une table pour la gestion des droits d'accès.
Cette table peut très bien coexister avec les tables de votre base de données, et son nom est paramétrable.

En plus de cela, vous aurez besoin de la class Connect, gérant les accès à la base de données :

Ainsi que des fonctions wrapper SQL, db.inc.php

Voici un exemple de fichier de configuration :

<?php

  define
('GALLERY_ROOT''/var/bigdata/public/document/photo');
  
define('GALLERY_CACHE_DIR''/var/www/wwwphoto/img/cache');

  
// If false, thumbnail will always be regenerated
  // WARNING !!!! Use this with cautious, because memory always be consumed !!!!
  // If not defined, cache is used
  
define('GALLERY_USE_CACHE'true);

  
define('GALLERY_PARENT_FOLDER_NAME''Dossier parent');
  
  
// These parameters are regular expressions.
  // These only apply to file other than image
  
define('GALLERY_FILTER_FILENAME''\.*');
  
define('GALLERY_DOWNLOADABLE_FILENAME''\.zip|\.ZIP|\.MOV|\.mov');
  
  
define('GALLERY_PRIVILEGE_TABLE''gallery_access');
  
?>


Ce fichier permet de paramètrer :
  • le nom du dossier racine des images
  • le nom du dossier racine des images qui seront stockée en cache, de préférence un nouveau dossier vide
  • l'utilisation du cache ou non
  • une expression régulière pour filtrer l'affichage et le téléchargement des fichiers autre que image
  • une expression régulière pour n'autoriser le téléchargement que sur les fichiers choisis.
  • le nom de la table de base de données, gérant les droits d'accès.

Voici le source de la classe Gallery dans le fichier gallery_engine.inc.php


Voici l'ordre SQL de création de l'unique table, ici pour PostgreSQL :


CREATE TABLE gallery_access
(
  privilege_id int4 NOT NULL,
  path varchar(255) NOT NULL,
  username varchar(50),
  permit int2 NOT NULL DEFAULT 0,
  visible int2 NOT NULL DEFAULT 1,
  inherit int2 NOT NULL DEFAULT 1,
  enable int2 NOT NULL DEFAULT 1,
  CONSTRAINT privileges_pkey PRIMARY KEY (privilege_id),
  CONSTRAINT privileges_path_key UNIQUE ("path", username)

WITH OIDS;




Dès que j'aurai plus de temps, une documentation viendrait le jour pour facilement utiliser ce moteur.

par hika - 2005-07-03 11:27:24
crée le 2005-06-28 21:48:45

FreeBSD Mall Smarty Template Engine Page générée le Vendredi 29 Mars 2024 14:53:13 Powered by FreeBSD
POWERED BY FreeBSD, Apache, PHP, PostgreSQL, Code & design by Hika
BSD Daemon Copyright 1988 by Marshall Kirk McKusick. All Rights Reserved.