Archived
1
0
Fork 0

Alle HTML-Ausgaben werden jetzt in index.php generiert (fixes #28)

This commit is contained in:
Jan Dittberner 2008-08-28 20:01:14 +00:00
parent f8a89b7ca1
commit e756510d21
2 changed files with 51 additions and 38 deletions

View file

@ -311,70 +311,76 @@ function getGalleryLinks() {
} }
/** /**
* Gibt die Thumbnail-Bilder die in @a $thumbinfo definiert sind aus. * Gibt für die Ausgabe aufbereitete Informationen über die
* Thumbnail-Bilder die in @a $thumbinfo definiert sind zurück.
* *
* @param &$thumbinfo Referenz auf ein Array, wie es von * @param &$thumbinfo Referenz auf ein Array, wie es von
* getThumbNailInfo() zurückgegeben wird * getThumbNailInfo() zurückgegeben wird
* *
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden * @return ein Array mit einem assoziativen Array pro Thumbnail-Bild
* und diese Funktion nur noch die Daten entsprechend aufbereiten * mit den Keys @a src, @a sizes und @a alt, die jeweils die relative
* URL des Thumbnail-Bildes, die Größenangaben für ein img-Tag sowie
* die Angaben für das alt-Attribut eines img-Tags enthalten
* *
* @see getThumbNailInfo() * @see getThumbNailInfo()
*/ */
function showThumbnails(&$thumbinfo) { function getAllThumbnails(&$thumbinfo) {
$retval = array();
foreach ($thumbinfo[2] as $basename => $data) { foreach ($thumbinfo[2] as $basename => $data) {
printf("<div class=\"thumbnail\"><img src=\"%s\" alt=\"\" \"%s\" /></div>", $retval[] = array('src' => GALLERYPREFIX . DIRECTORY_SEPARATOR . $data[0],
GALLERYPREFIX . DIRECTORY_SEPARATOR . $data[0], 'sizes' => $data[1][3],
$data[1][3]);; 'alt' => getImageLabel($thumbinfo[1], $basename));
} }
return $retval;
} }
/** /**
* Gibt das erste Vorschaubild aus @a $thumbinfo aus. * Gibt die Daten für das erste Vorschaubild aus @a $thumbinfo zurück.
* *
* @param &$thumbinfo Referenz auf ein Array, wie es von * @param &$thumbinfo Referenz auf ein Array, wie es von
* getThumbNailInfo() zurückgegeben wird * getThumbNailInfo() zurückgegeben wird
* *
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden * @return ein assoziatives Array mit den Keys @a title, @a full, @a
* und diese Funktion nur noch die Daten entsprechend aufbereiten * src, @a alt und @a sizes jeweils mit den Werten Titel des Bildes,
* relative URL der Vollbildansicht, relative URL des Vorschaubildes,
* Alternativtext für das Bild und Größenangaben des Bildes für ein
* img-Tag
* *
* @see getThumbNailInfo() * @see getThumbNailInfo()
*/ */
function showPreview(&$thumbinfo) { function getFirstPreview(&$thumbinfo) {
foreach ($thumbinfo[2] as $basename => $data) { reset($thumbinfo[2]);
$galleryname = $thumbinfo[1]; $basename = key($thumbinfo[2]);
$fullname = GALLERYPREFIX . DIRECTORY_SEPARATOR . $galleryname . $data = current($thumbinfo[2]);
DIRECTORY_SEPARATOR . $basename; $galleryname = $thumbinfo[1];
$scaledimage = getScaledImage($galleryname, $basename, $fullname = GALLERYPREFIX . DIRECTORY_SEPARATOR . $galleryname .
$GLOBALS["previewwidth"], false); DIRECTORY_SEPARATOR . $basename;
$scaledimagesize = getimagesize(realpath(GALLERYPREFIX . $scaledimage = getScaledImage($galleryname, $basename,
DIRECTORY_SEPARATOR . $GLOBALS["previewwidth"], false);
$scaledimage)); $scaledimagesize = getimagesize(realpath(GALLERYPREFIX .
$label = getImageLabel($galleryname, $basename); DIRECTORY_SEPARATOR .
printf('<a class="lightbox" title="%s" href="%s" rel="lightbox">' . $scaledimage));
'<img id="contentimg" src="%s%s%s" alt="%s" %s /></a>', $label = getImageLabel($galleryname, $basename);
$label, $fullname, GALLERYPREFIX, DIRECTORY_SEPARATOR, return array('title' => $label,
$scaledimage, $label, $scaledimagesize[3]); 'full' => $fullname,
break; 'src' => GALLERYPREFIX . DIRECTORY_SEPARATOR . $scaledimage,
} 'alt' => $label,
'sizes' => $scaledimagesize[3]);
} }
/** /**
* Gibt die Beschreibung des ersten Bildes aus @a $thumbinfo aus. * Gibt die Beschreibung des ersten Bildes aus @a $thumbinfo zurück.
* *
* @param &$thumbinfo Referenz auf ein Array, wie es von * @param &$thumbinfo Referenz auf ein Array, wie es von
* getThumbNailInfo() zurückgegeben wird * getThumbNailInfo() zurückgegeben wird
* *
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden * @return HTML-kodierte Beschreibung des Bildes
* und diese Funktion nur noch die Daten entsprechend aufbereiten
* *
* @see getThumbNailInfo() * @see getThumbNailInfo()
*/ */
function renderDescription(&$thumbinfo) { function getFirstDescription(&$thumbinfo) {
foreach ($thumbinfo[2] as $basename => $data) { reset($thumbinfo[2]);
print htmlentities(getImageLabel($thumbinfo[1], $basename)); return htmlentities(getImageLabel($thumbinfo[1], key($thumbinfo[2])));
break;
}
} }
/** /**

View file

@ -98,7 +98,10 @@ a:active {
width="10" height="65" /></div> width="10" height="65" /></div>
<div id="imgscroller"><div id="scrollable"><?php <div id="imgscroller"><div id="scrollable"><?php
// zeigt die eingelesenen Thumnails an // zeigt die eingelesenen Thumnails an
showThumbNails($thumbinfo); foreach (getAllThumbnails($thumbinfo) as $thumbdata) {
printf('<div class="thumbnail"><img src="%s" alt="%s" %s /></div>',
$thumbdata['src'], $thumbdata['alt'], $thumbdata['sizes']);
}
?></div></div> ?></div></div>
<div id="arrright"><img src="css/grafiken/aro-rt.png" alt="nach rechts" <div id="arrright"><img src="css/grafiken/aro-rt.png" alt="nach rechts"
width="10" height="65" /></div> width="10" height="65" /></div>
@ -108,7 +111,11 @@ a:active {
<div id="content_main"> <div id="content_main">
<div class="bildposition"><?php <div class="bildposition"><?php
// bindet die Bilder in den Hauptbereich ein // bindet die Bilder in den Hauptbereich ein
showPreview($thumbinfo); $data = getFirstPreview($thumbinfo);
printf('<a class="lightbox" title="%s" href="%s" rel="lightbox">' .
'<img id="contentimg" src="%s" alt="%s" %s /></a>',
$data['title'], $data['full'], $data['src'], $data['alt'],
$data['sizes']);
?></div> ?></div>
</div> </div>
<div id="content_nav"> <div id="content_nav">
@ -119,7 +126,7 @@ a:active {
</div> </div>
<div class="imgdescription" id="imagedescription"><?php <div class="imgdescription" id="imagedescription"><?php
// liest die Bildbeschreibung für das jeweilige Bild (wenn definiert) // liest die Bildbeschreibung für das jeweilige Bild (wenn definiert)
renderDescription($thumbinfo); print getFirstDescription($thumbinfo);
?></div> ?></div>
</div> </div>
</div> </div>