<?php
class miniGallery {
public function getGalleryImages($dirName, $pages) {
if($this->checkImages($dirName) == false) {
$this->getGalleryList($dirName);
$counter = count($this->aGallery); for($i = 0; $i < $counter; $i++) {
$this->imageCreator(dirname(__FILE__) . '/' . $dirName . '/' . $this->aGallery[$i]); }
}
/*
* Kopiowanie tablicy aGallery do tablicy originalImages
*/
$counter = count($this->aGallery); for($i = 0; $i < $counter; $i++) {
$originalImages[$i] = $this->aGallery[$i];
}
$this->getGalleryList(dirname(__FILE__) . '\gallery\thumbs'); /*
* Selekcja miniaturek
*/
$counter = count($this->aGallery); $j = 0;
for($i = 0; $i < $counter; $i++) {
if($originalImages[$i] == $this->aGallery[$i]) {
$miniatureImages[$j] = $this->aGallery[$i];
$j++;
}
}
/*
* Oblicznie stronnicowania
*/
$numPages = ceil((count($originalImages) / ($this->horizontall * $this->verticall))); if($pages == '') {
$i = 0;
$pages = 1;
} else {
$i = ($this->horizontall * $this->verticall) * ($pages - 1);
}
/*
* Wyświetlenie galerii obrazów
*/
$horizontall = 0; //Licznik poziomu
$verticall = 0; //Licznik pionu
$counter = count($miniatureImages); for($i; $i < $counter; $i++) {
$horizontall++;
$verticall++;
echo '<a href="./' . $dirName . '/' . $originalImages[$i] . '" rel="lightbox[roadtrip]">'; echo '<img src="./gallery/thumbs/' . $miniatureImages[$i] . '" id="img"> '; if($horizontall % $this->horizontall == 0)
if($verticall % ($this->verticall * 3 + $this->verticall) == 0)
break;
}
/*
* Wyświetlenie stronnicowania
*/
for($i = 1; $i <= $numPages; $i++) {
if($i == $pages) {
echo '<span id="pages_selected"> '; } else
echo '<a href="index.php?pages=' . $i . '" name="pages" id="pages"> ' . $i . ' </a> '; }
}
private function checkImages($dirName) {
//Pobranie listy dużych zdjęć
$this->getGalleryList($dirName);
$counter = count($this->aGallery); for($i = 0; $i < $counter; $i++) {
$originalImages[$i] = $this->aGallery[$i];
}
//Czyszczenie tablicy aGallery
$counter = count($this->aGallery); for($i = 0; $i < $counter; $i++) {
$this->aGallery[$i] = 0;
}
//Pobranie listy miniatur
$this->getGalleryList(dirname(__FILE__) . '\gallery\thumbs'); $counter = count($this->aGallery); for($i = 0; $i < $counter; $i++) {
$miniatureImages[$i] = $this->aGallery[$i];
}
//Sprawdzanie czy wszystkie zdjęcia mają miniaturę
$counter = count($originalImages); $j = 0; //Musi być równe zmiennej $counter
for($i = 0; $i < $counter; $i++) {
if($originalImages[$i] == $miniatureImages[$i])
$j++;
}
if($j == $counter)
return true;
else
return false;
}
private function getGalleryList($dirName) {
$counter = 0;
while($dir = readdir($sCatalogs)) { if($dir != '.' && $dir != '..' && $dir != 'Thumbs.db') {
$this->aGallery[$counter] = $dir;
$counter++;
}
}
}
private function imageCreator($fileName) {
if(!$img = imagecreatefromjpeg($fileName)) {
return false;
}
$imgW = imagesx($img); //Szerokość zdjęcia
$imgH = imagesy($img); //Wysokość zdjęcia
$ratio = $imgW / $imgH; //Stosunek szerokości do wysokości
if($ratio > 1) {
$newImgW = $this->imgSize;
$newImgH = ($this->imgSize / $ratio);
} else {
$newImgW = ($imgW * $ratio);
$newImgH = $this->imgSize;
}
$tempImg = imagecreatetruecolor($newImgW, $newImgH);
imagecopyresampled($tempImg, $img, 0, 0, 0, 0, $newImgW, $newImgH, $imgW, $imgH);
$newName = explode('/', $fileName); $name = dirname(__FILE__) . '\gallery\thumbs\\' . $newName[3
]; imagejpeg($tempImg, $name);
}
private $imgSize = 135; //Rozmiar miniatury
private $aGallery;
private $horizontall = 3; //Ilość zdjęć w poziomie
private $verticall = 4; //Ilość zdjęć w pionie
}
?>