Hallo,
ich habe ein Platzer mit dem ich ein Bildverzeichnis auslesen kann.
Die Bilder werden dann mit lightbox angezeigt.
Das Problem ist jetz die Blätterfunktion. Hier kann ich die zweite Seite nicht anzeigen lassen wenn mehrere Galerien auf einer Seite vorkommen.
Wenn nur eine Galerie per Platzhalter eingebunden ist funktioniert die Blätterfunktion.
Hier ist mal der Code der den Platzhalter für eine Galerie verarbeitet.
Mfg Maffylein
ich habe ein Platzer mit dem ich ein Bildverzeichnis auslesen kann.
Die Bilder werden dann mit lightbox angezeigt.
Das Problem ist jetz die Blätterfunktion. Hier kann ich die zweite Seite nicht anzeigen lassen wenn mehrere Galerien auf einer Seite vorkommen.
Wenn nur eine Galerie per Platzhalter eingebunden ist funktioniert die Blätterfunktion.
Hier ist mal der Code der den Platzhalter für eine Galerie verarbeitet.
PHP-Code:
// Galerie Platzhalter finden und Bildordner anzeigen
// Bsp: {galerie,ostsee,oslo}
preg_match_all("/\[galerie:(([^]]+))]/i", $acticon, $galeriefund);
foreach ($galeriefund[1] as $albumpara_komp) {
// Für Blätterfunktion
$limit = 6; // pro Seite
$offset = 0;
$curPage = 1;
$entries = 0;
$pages = 1;
$count = 0;
$imgfiles = array();
// Parameter trennen
$albumpa = explode(",", $albumpara_komp);
// Bilderordner
if (!empty($albumpa[0])) {
$image_folder1 = "$albumpa[0]/";
}
// Unterverzeichniss
if (!empty($albumpa[1])) {
$image_folder2 = "$albumpa[1]/";
}
$bild_dir = "upload/{$image_folder1}{$image_folder2}";
$galerietitel = $albumpa[2];
// Lehrzeichen entfernen
$bilder_folder = str_replace(' ','',$bild_dir);
$image_folder1 = str_replace(' ','',$image_folder1);
$image_folder2 = str_replace(' ','',$image_folder2);
// Bildordner ausgeben
$galeriecontent ="<h1>$galerietitel:</h1>";
$galeriecontent .="<div id='bildkasten'>";
// Verzeichnis scannen und bilder ausgeben
foreach (array_slice(scanDir($bilder_folder), 2) as $file) {
$ext = explode('.',$file);
$size = count($ext);
// Erlaubte Dateitypen anzeigen
if (($ext[$size-1] == 'png' || $ext[$size-1] == 'jpg' || $ext[$size-1] == 'gif') && $file != '.' && $file != '..') {
// Manuel Thumbnailgröße erstellen
$img_array = GetImageSize("{$bilder_folder}{$file}");
if($img_array[0] > $img_array[1]){
$th_width = 100;
$th_height = (int)(100 * $img_array[1] / $img_array[0]);
} else {
$th_width = (int)(100 * $img_array[0] / $img_array[1]);
$th_height = 100;
}
#####################################
# Exifdaten suchen
#####################################
// Section FILE
if ($exif = exif_read_data("{$bilder_folder}{$file}", 'FILE')) {
// File Date
if($exif["FileDateTime"])
$dateidatumzeit="D: ".date("d.m.Y – H:i:s",$exif["FileDateTime"]);
}
// Section IFDO
if ($exif = exif_read_data("{$bilder_folder}{$file}", 'IFD0')) {
// Bildtitel
if (is_string($exif['Title']) && !empty($exif['Title']) && strlen($exif['Title']) > 3) {
$Bildtitel = $exif['Title'];
} else {
$Bildtitel = $file;
}
// aufnahmedatum
$fulldatetime = $exif["DateTimeOriginal"];
if ($fulldatetime == "") {
$processeddatetime = "";
} else {
$tmp = explode(" ",$fulldatetime); // Datum von Uhrzeit trennen (YYYY:MM:DD HH:MM:SS)
$time = substr($tmp[1], 0, 5); // Sekunden abschneiden (HH:MM:SS)
$tmp = explode(":",$tmp[0]); // Datum trennen (YYYY:MM:DD)
$date = "$tmp[2].$tmp[1].$tmp[0]";
$processeddatetime = "A: $date, $time";
}
}
// GPS Daten aus dem Exif Header lesen
if ($exif = exif_read_data("{$bilder_folder}{$file}", 'GPS')) {
// GPS Latitude
if($exif["GPSLatitude"]) {
$a = $exif['GPSLatitude'];
@eval("\$deg = $a[0]; \$min = $a[1]; \$sec = $a[2];");
$lat = $deg + $min / 60.0 + $sec / 3600.0;
}
if($exif["GPSLongitude"]){
$b = $exif['GPSLongitude'];
@eval("\$deg = $b[0]; \$min = $b[1]; \$sec = $b[2];");
$lng = $deg + $min / 60.0 + $sec / 3600.0;
}
// Google Map Link und Geokodierung anzeigen
$gps = "Breitengrad: {$lat} Längengrad: {$lng}";
}
// Galeriebilder in Array ausgeben
$imgfiles[$file] = "<div id=\"lichtkasten\"><a href=\"{$bilder_folder}{$file}\" rel=\"lightbox[$albumpa[2]]\" title=\"$albumpa[2]\"
class=\"lichtkasten\"><img src=\"{$bilder_folder}{$file}\"
class=\"bilder\" border=\"0\" alt=\"{$Bildtitel}\" width=" . $th_width . " height= " . $th_height . " hspace='5' vspace='5'/></a>
<br>{$Bildtitel} <br><small>{$processeddatetime} {$gps}</small></div>\n\n";
$count = $count+1;
}
}
###############################################
# Blätterfunktion
###############################################
$entries = count($imgfiles); // Dateien zaehlen
// Aufrunden, damit auch die letzte Seite Einträge enthält
$pages = ceil($entries / $limit);
if (isset($_GET['page']) && $_GET['page'] > 0) {
if ($_GET['page'] > $pages) {
$_GET['page'] = $pages;
}
$curPage = $_GET['page'];
$offset = ($curPage - 1) * $limit;
}
$relevant = array_slice($imgfiles, $offset, $limit);
foreach ($relevant as $row) {
$galeriecontent .= $row;
}
for ($i = 1; $i <= $pages; $i++) {
if ($curPage == $i) {
$galeriecontent .= $i . ' ';
} else {
$galeriecontent .= "[ <a href=\"?$aktion&page=$i\">$i</a> ] ";
}
}
$galeriecontent .= "<br clear=\"all\" /></div>";
// Fundstellen für Bildergalerieen ausgeben
$muster = "/\[galerie:($albumpara_komp)]/i";
$acticon = preg_replace($muster, $galeriecontent, $acticon);
}
Kommentar