UberGallery

De Banane Atomic
Révision datée du 12 janvier 2014 à 23:00 par Nicolas (discussion | contributions) (→‎Titre)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Présentation

UberGallery permet d'afficher une galerie de photo.
Écrit en PHP, sans utilisation de bases de données et supporte les images JPEG, GIF et PNG.
UberGallery on GitHub

Installation

GD

Bash.svg
sudo pacman -S php-gd
/etc/php/php.ini
extension=gd.so

UberGallery

Copiez le dossier UberGallery à la racine du site. (Au besoin le masquez en préfixant son nom d'un point)
Renommez le fichier sample.galleryConfig en galleryConfig
Supprimez le dossier gallery-images
Copiez le fichier index.php dans chaque dossiers contenant des images à afficher en galerie.

index.php
// $_SERVER['DOCUMENT_ROOT'] semble nécessaire pour atteindre la racine du serveur
require($_SERVER['DOCUMENT_ROOT'].'/.UberGallery/resources/UberGallery.php');

// spécifiez le dossier contenant les images
$galleryArray = $gallery->readImageDirectory('.');

Cache

Bash.svg
# Rendre le dossier de cache accessible en écriture
chmod 777 UberGallery/resources/cache

Modifications

UberGallery/resources/themes/uber-responsive/css/styles.css
/* masquer les credits */
.credit {
    display: none;
}

/* centrer le titre */
.brand {
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
UberGallery/resources/themes/uber-blue/css/styles.css
/* masquer les credits */
#credit {
    display: none;
}
 
/* centrer le titre */
#galleryWrapper>h1 {
	text-align: center;
}

Titre

UberGallery/resources/UberGallery.php
public function readImageDirectory($directory) {

    // Set relative image directory
    $this->setRelativeImageDirectory($directory);
    // si le titre n'a pas été définit dans le fichier index.php du dossier contenant les images
    // il est définit ici suivant le nom du dossier contenant les images
    if (empty($this->name)) {
        $this->name = basename($this->_imgDir);
    }
UberGallery/resources/themes/uber-blue/index.php
<head>
    <title><?php echo $gallery->name; ?></title>

<!-- ... -->

<div id="galleryWrapper">
    <h1><?php echo $gallery->name; ?></h1>
MonDossierPhotos/index.php
$gallery = new UberGallery();
$gallery->name = 'Mon Titre';

Gestion des liens symboliques

La méthode _getRelativePath ne gère pas les liens symboliques.

UberGallery/resources/UberGallery.php
private function _getRelativePath($fromPath, $toPath) {
    // pour un lien symbolique /srv/http/dossier_web/dossier_lien → /media/freebox/dossier
    $fromPath = str_replace("/media/freebox", "/srv/http/dossier_web", $fromPath);