jan
/
sjqg
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
* getThumbNailInfo() zurückgegeben wird
*
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden
* und diese Funktion nur noch die Daten entsprechend aufbereiten
* @return ein Array mit einem assoziativen Array pro Thumbnail-Bild
* 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()
*/
function showThumbnails(&$thumbinfo) {
function getAllThumbnails(&$thumbinfo) {
$retval = array();
foreach ($thumbinfo[2] as $basename => $data) {
printf("<div class=\"thumbnail\"><img src=\"%s\" alt=\"\" \"%s\" /></div>",
GALLERYPREFIX . DIRECTORY_SEPARATOR . $data[0],
$data[1][3]);;
$retval[] = array('src' => GALLERYPREFIX . DIRECTORY_SEPARATOR . $data[0],
'sizes' => $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
* getThumbNailInfo() zurückgegeben wird
*
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden
* und diese Funktion nur noch die Daten entsprechend aufbereiten
* @return ein assoziatives Array mit den Keys @a title, @a full, @a
* 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()
*/
function showPreview(&$thumbinfo) {
foreach ($thumbinfo[2] as $basename => $data) {
$galleryname = $thumbinfo[1];
$fullname = GALLERYPREFIX . DIRECTORY_SEPARATOR . $galleryname .
DIRECTORY_SEPARATOR . $basename;
$scaledimage = getScaledImage($galleryname, $basename,
$GLOBALS["previewwidth"], false);
$scaledimagesize = getimagesize(realpath(GALLERYPREFIX .
DIRECTORY_SEPARATOR .
$scaledimage));
$label = getImageLabel($galleryname, $basename);
printf('<a class="lightbox" title="%s" href="%s" rel="lightbox">' .
'<img id="contentimg" src="%s%s%s" alt="%s" %s /></a>',
$label, $fullname, GALLERYPREFIX, DIRECTORY_SEPARATOR,
$scaledimage, $label, $scaledimagesize[3]);
break;
}
function getFirstPreview(&$thumbinfo) {
reset($thumbinfo[2]);
$basename = key($thumbinfo[2]);
$data = current($thumbinfo[2]);
$galleryname = $thumbinfo[1];
$fullname = GALLERYPREFIX . DIRECTORY_SEPARATOR . $galleryname .
DIRECTORY_SEPARATOR . $basename;
$scaledimage = getScaledImage($galleryname, $basename,
$GLOBALS["previewwidth"], false);
$scaledimagesize = getimagesize(realpath(GALLERYPREFIX .
DIRECTORY_SEPARATOR .
$scaledimage));
$label = getImageLabel($galleryname, $basename);
return array('title' => $label,
'full' => $fullname,
'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
* getThumbNailInfo() zurückgegeben wird
*
* @bug die HTML-Ausgabe sollte in die Ausgabeseite verschoben werden
* und diese Funktion nur noch die Daten entsprechend aufbereiten
* @return HTML-kodierte Beschreibung des Bildes
*
* @see getThumbNailInfo()
*/
function renderDescription(&$thumbinfo) {
foreach ($thumbinfo[2] as $basename => $data) {
print htmlentities(getImageLabel($thumbinfo[1], $basename));
break;
}
function getFirstDescription(&$thumbinfo) {
reset($thumbinfo[2]);
return htmlentities(getImageLabel($thumbinfo[1], key($thumbinfo[2])));
}
/**

View File

@ -98,7 +98,10 @@ a:active {
width="10" height="65" /></div>
<div id="imgscroller"><div id="scrollable"><?php
// 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 id="arrright"><img src="css/grafiken/aro-rt.png" alt="nach rechts"
width="10" height="65" /></div>
@ -108,7 +111,11 @@ a:active {
<div id="content_main">
<div class="bildposition"><?php
// 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 id="content_nav">
@ -119,7 +126,7 @@ a:active {
</div>
<div class="imgdescription" id="imagedescription"><?php
// liest die Bildbeschreibung für das jeweilige Bild (wenn definiert)
renderDescription($thumbinfo);
print getFirstDescription($thumbinfo);
?></div>
</div>
</div>