Lightbox-Bildergalerie

ralf_si
Beiträge: 1
Registriert: Fr 18. Jan 2008, 16:16
Kontaktdaten:

Lightbox => Bilder nicht gleichmässig verteilt

Beitrag von ralf_si » Fr 18. Jan 2008, 16:22

Hallo,

ich habe Lightbox 1.2 installiert und es hat auf Anhieb funktioniert.
Jetzt habe ich das Problem dass bei nicht ganz ausgefüllten Seiten
(15 Bilder bei einer 4x4 Matrix) alles sehr unschön ausgerichtet wird.

Wo ist das zu korrigieren.

Vielen Dank schon einmal !



Ralf

Con_Explorer
Beiträge: 60
Registriert: Do 4. Jan 2007, 17:10
Kontaktdaten:

Beitrag von Con_Explorer » Fr 18. Jan 2008, 19:45

Die Templates und das CSS anpassen.
Exercitatio artem parat -
Übung macht den Meister
- Jeder fängt mal klein an

dlm-cm
Beiträge: 4
Registriert: Sa 19. Jan 2008, 16:09
Wohnort: Dülmen
Kontaktdaten:

MehrMandantenFähigkeit

Beitrag von dlm-cm » Do 24. Jan 2008, 20:41

Hallo,

erstmal vorweg: Super gute Gallery, macht auf jeden Fall etwas her und ist leicht zu konfigurieren. Und vorallem auch sehr individuell zu gestalten.


Nun zum Thema: mehrere Mandanten mit Lightbox-Gallery

Problem:
Als ich einem zweiten Mandanten das Modul einbinden wollte, ist mir jedoch ein kleinere "Fehler" aufgefallen:
Bei dem Modul werden im Backend bei der Konfiguration nicht die richtigen Pfade aus dem Upload-Ordner des jeweiligen Mandanten angezeigt, sondern von mehreren bzw. einem anderen! Diese Pfade kann er selbstverständlich im Frontend nicht ausführen, da diese bei dem Mandanten evtl. garnicht vorhanden sind. => Fehlermeldung im Frontend :!:

Problemlösung:
Darum sollte man das Modul (um es bei mehreren Mandanten innerhalb eines Contenidos verwenden zu können) wie folgt ändern:

In dem "Input"-Bereich des Moduls, Zeile 11:

Code: Alles auswählen

$sql = "SELECT DISTINCT dirname FROM ".$cfg['tab']['upl']." ORDER BY dirname";
um

Code: Alles auswählen

WHERE idclient = ".$client."
ergänzen, dies bewirkt das nur die Verzeichnisse des jeweils aktiven Mandanten angezeigt werden.

Das ganze sieht dann also komplett so aus:

Code: Alles auswählen

$sql = "SELECT DISTINCT dirname FROM ".$cfg['tab']['upl']." WHERE idclient = ".$client." ORDER BY dirname";


Vielleicht hilft es ja dem ein oder anderen hier.
Viel Spaß und weiter so ....

Gruß
dlm-cm[/i]

BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN » So 3. Feb 2008, 18:21

HY
hab jetzt doch endlich wieder hinbekommen die Lightbox zum Lauf zu bringen. Is echt Top jetzt hab ich nur noch das Problem das die .gif datein nich angezeigt werden :cry: Woran kann das liegen !?
Die gif datein sind im upload/lightgallery drin so wie es doch eigentlich auch sein muss oder?

hab die css hier auch nochmal für euch falls ihr da was seht :cry:
Mir is eben noch was aufgefallen wenn man während des Draufguckens auf das Bild klickt blättert der nich nach vorne sondern nach hinten weiter :roll:

link zur Gallery: http://bbpolo.bb.ohost.de/cms/front_con ... ?idart=105

Code: Alles auswählen

/* Lightbox */
	#lightbox {
		position: absolute;
		top: 40px;
		left: 0;
		width: 100%;
		/*z-index: 100;*/
		z-index: 990;
		text-align: center;
		line-height: 0;
	}
	#lightbox a img { border: none; }
	#outerImageContainer {
		position: relative;
		background-color: #fff;
		width: 250px;
		height: 250px;
		margin: 0 auto;
	}
	#imageContainer {
		padding: 10px;
	}
	#loading {
		position: absolute;
		top: 40%;
		left: 0%;
		height: 25%;
		width: 100%;
		text-align: center;
		line-height: 0;
	}
	#hoverNav {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		/*z-index: 10;*/
		z-index: 970;
	}
	#imageContainer>#hoverNav { left: 0;}
	#hoverNav a { outline: none;}
	#prevLink, #nextLink {
		width: 49%;
		height: 100%;
		background: transparent url (upload/lightgallery/blank.gif) no-repeat; /* Trick IE into showing hover */
		display: block;
	}
	#prevLink { left: 0; float: left;}
	#nextLink { right: 0; float: right;}
	#prevLink:hover, #prevLink:visited:hover { background: url (upload/lightgallery/prevlabel.gif) left 15% no-repeat; }
	#nextLink:hover, #nextLink:visited:hover { background: url (upload/lightgallery/nextlabel.gif) right 15% no-repeat; }
	#imageDataContainer {
		font: 10px Verdana, Helvetica, sans-serif;
		background-color: #fff;
		margin: 0 auto;
		line-height: 1.4em;
	}
	#imageData {
		padding:0 10px;
	}
	#imageData #imageDetails{ width: 70%; float: left; text-align: left; }	
	#imageData #caption{ font-weight: bold;	}
	#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em;	}			
	#imageData #bottomNavClose{ width: 66px; float: right;  padding-bottom: 0.7em;	}	
	#overlay {
		position: absolute;
		top: 0;
		left: 0;
		/*z-index: 90;*/
		z-index: 980;
		width: 100%;
		height: 500px;
		background-color: #000;
		filter:alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.clearfix:after {
		content: "."; 
		display: block; 
		height: 0; 
		clear: both; 
		visibility: hidden;
	}
	* html>body .clearfix {
		display: inline-block; 
		width: 100%;
	}
	* html .clearfix {
		/* Hides from IE-mac \*/
		height: 1%;
		/* End hide from IE-mac */
	}
/* << */
MFG Benny

dlm-cm
Beiträge: 4
Registriert: Sa 19. Jan 2008, 16:09
Wohnort: Dülmen
Kontaktdaten:

Beitrag von dlm-cm » So 3. Feb 2008, 23:00

@BIG-BEN
Die gif datein sind im upload/lightgallery drin so wie es doch eigentlich auch sein muss oder?
Laut der Standardeinstellung, werden diese *.gif aus dem Verzeichnis "images/" geladen. Dies kannst du aber ändern, wie du es auch schon getan hast.
Allerdings ist deine Pfadangabe nicht ganz korrekt, probiere mal folgendes aus:

Code: Alles auswählen

#prevLink, #nextLink {
      width: 49%;
      height: 100%;
      background: transparent url (../upload/lightgallery/blank.gif) no-repeat; /* Trick IE into showing hover */
      display: block;
   }
   #prevLink { left: 0; float: left;}
   #nextLink { right: 0; float: right;}
   #prevLink:hover, #prevLink:visited:hover { background: url (../upload/lightgallery/prevlabel.gif) left 15% no-repeat; }
   #nextLink:hover, #nextLink:visited:hover { background: url (../upload/lightgallery/nextlabel.gif) right 15% no-repeat; } 
Änderungen sind lediglich die "../" vor dem "upload" bei den url-Angaben

Ich hoffe damit ist dein Problem behoben.

MfG
dlm-cm

BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN » Mo 4. Feb 2008, 05:43

HY
hat leider nich geklappt :cry:
Was kann ich noch machen?

MFG Benny

dlm-cm
Beiträge: 4
Registriert: Sa 19. Jan 2008, 16:09
Wohnort: Dülmen
Kontaktdaten:

Beitrag von dlm-cm » Mo 4. Feb 2008, 09:53

Hi,

also ich hab mir dein Prob jetzt mal genau auf deiner Seite angeschaut!
Und zwar habe ich mal geguckt wo der sich zum Beispiel das Gif für den CLOSE Button herholen will, dies will er aus dem Standardverzeichnis:
"http://bbpolo.bb.ohost.de/cms/images/closelabel.gif", nur du hast deine Gifs ja im Ordner upload/images/*.gif kann also nicht klappen.

Diese Daten müssen in der Skriptdatei "lightbox.js" geändert werden:

Code: Alles auswählen

//	Configuration
//
var fileLoadingImage = "images/loading.gif";		
var fileBottomNavCloseImage = "images/closelabel.gif";
Hier musst du auch den richtigen Pfad angeben (upload/lightgallery/)
Dann sollte schon mal wieder der Close-Button und das Loading-Gif vorhanden sein.
Zu deiner CSS mit der überarbeiteten URL klappt es bei mir einwandfrei, vllt hast du den Ordner doch anders benannt ? (evtl. Groß- und Kleinschreibung beachten!)

Andere Möglichkeit wäre sonst alles so zu belassen und die Bilder in das Standardverzeichnis (../images/ *.gif ) zu packen und deine CSS wieder anzupassen. Also alle URLs mit folgendem Code ausstatten:

Code: Alles auswählen

../images/prevlabel.gif
nur jeweils die richtige Gif Bezeichnung halt.

Hoffe es klappt dann diesmal ;-)

MfG
dlm-cm

BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN » Mo 4. Feb 2008, 16:06

Hy
also erstmal DANKE für deine Hilfe aber es hat leider noch nix geholfen :-(

Hab die gifs alle in images rein gemacht und die css wieder verändert

Code: Alles auswählen

{ background: url (../upload/images/prevlabel.gif) left 15% no-repeat; }


hat nix gebracht.

Dann hab ich die .js datei mal verändert:

Code: Alles auswählen

//	Configuration
//
var fileLoadingImage = "../upload/lightgallery/loading.gif";		
var fileBottomNavCloseImage = "../upload/lightgallery/closelabel.gif";
hat aber auch nix gebracht (der ordner lightgallery mit inhalt is noch da ;-))

Muss ich hier auch die links ändern in der .js?

Code: Alles auswählen

// The rest of this code inserts html at the bottom of the page that looks similar to this:
		//
		//	<div id="overlay"></div>
		//	<div id="lightbox">
		//		<div id="outerImageContainer">
		//			<div id="imageContainer">
		//				<img id="lightboxImage">
		//				<div style="" id="hoverNav">
		//					<a href="#" id="prevLink"></a>
		//					<a href="#" id="nextLink"></a>
		//				</div>
		//				<div id="loading">
		//					<a href="#" id="loadingLink">
		//						<img src="images/loading.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//		<div id="imageDataContainer">
		//			<div id="imageData">
		//				<div id="imageDetails">
		//					<span id="caption"></span>
		//					<span id="numberDisplay"></span>
		//				</div>
		//				<div id="bottomNav">
		//					<a href="#" id="bottomNavClose">
		//						<img src="images/close.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//	</div>
Eigentlich nich oder is ja nur kommentar.

Was kann ich noch machen :cry:

MFG Benny

dlm-cm
Beiträge: 4
Registriert: Sa 19. Jan 2008, 16:09
Wohnort: Dülmen
Kontaktdaten:

Beitrag von dlm-cm » Mo 4. Feb 2008, 19:31

Hab die gifs alle in images rein gemacht und die css wieder verändert
Code:

Code: Alles auswählen

{ background: url (../upload/images/prevlabel.gif) left 15% no-repeat; }

hat nix gebracht.
So war das auch nicht gemeint, du musst via FTP alle gif-dateien in das Verzeichnis "images" packen, dieses befindet sich NICHT im "upload" verzeichnis, sondern auf der gleichen Ebende wie das upload-Verzeichnis.

Soll heißen der richtige Pfad wäre gewesen:

Code: Alles auswählen

{ background: url (../images/prevlabel.gif) left 15% no-repeat; }
Da aber nun der Pfad komplett richtig in der lightbox.js angepasst wurde, sollte es auch mit deinem upload/lightgallery/ klappen.
Allerdings hast du noch eine Fehler in der .js gemacht, hier wird das "../" nicht benötigt.

Die "Links" in der .js musst du nicht anpassen, diese sind wirklich nur Kommentar, und werden aus dem nachfolgenden Quelltext gebildet und der holt sich die Bilderpfade aus der CSS.

Alle Pfadangaben sind so:
in der CSS:
"../upload/lightgallery/*.gif"
in der JS:
"upload/lightgallery/*.gif"
aber in Ordnung und der Fehler muss woanders liegen ...

In welchen Verzeichnis liegt deine Lighbox.js? Hast du Sie in das Verzeichnis: "js" geladen ?

Andere Frage ist, ist die CSS mit eingebunden in das Layout ?

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Do 7. Feb 2008, 13:12

hallo leute,

ich kapiere den genauen aufbau der eigentlichen lightbox noch nicht. das grundgerüst macht das template, klar. dann übernimmt die css einen teil und den rest die js-datei.
mein problem: ich habe das bild: closelabel.gif (66x22 px) ersetzt durch ein neues bild (88x22 px), da ich das wort 'close' durch das deutsche 'schließen' ersetzt habe. jetzt ragt das bild aber über den rechten lightboxrand hinaus. wo kann ich das neu konfigurieren?
weiterhin will ich auch dieses: 1 images of X durch eine deutsche meldung ersetzen und die schriftart ändern. schriftart wahrscheinlich wieder über css, aber wo steht dieses 'x images of y'?

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

Sundriver
Beiträge: 41
Registriert: Mo 21. Nov 2005, 17:06
Wohnort: BB
Kontaktdaten:

Beitrag von Sundriver » Do 7. Feb 2008, 16:44

Hallo@all,

Kann mir bitte jemand verraten was ich im Modulcode ändern muss damit die Bildbeschreibung nicht abgeschnitten wird?
Ich möchte gern die komplette Bildbeschreibung auf der Übersichtsseite haben. Erlaube ich mehr Zeichen darzustellen als vorhanden, zeigt er gar keine Beschreibung mehr an..

Thanx
cu
Sundriver

Powerkoffer
Beiträge: 23
Registriert: Di 16. Okt 2007, 13:43
Kontaktdaten:

Beitrag von Powerkoffer » Mi 13. Feb 2008, 22:48

Hallo
Kann mir vielleicht jemand sagen wie ich zwischen dem "Zurück" und "Vor" Link etwas mehr Absatnd reinbekomme?
Das ist bei mir so dicht zusammen, das gefällt mir nicht.
Danke für die Hilfe im voraus

casi1969
Beiträge: 71
Registriert: Mi 4. Aug 2004, 16:30
Wohnort: Köln
Kontaktdaten:

Beitrag von casi1969 » Do 14. Feb 2008, 14:59

@ tommykoeln,
tommykoeln hat geschrieben: Nun möchte ich auf einer Seite mehrere Bildergalerien einbinden, das heißt auf einer Seite zum Beispiel 4 Lighbox-Gallery Module, die jeweils auf vier verschiedene Verzeichnisse zugreifen.
Leider taucht dabei ein Problem auf, das wie folgt lautet:

Code: Alles auswählen

Fatal error: Cannot redeclare ig_getimagedescription() (previously declared in /var/www/htdocs/www.xxx.xxxxx.de/xxxxx/cms/front_content.php(884) : eval()'d code:604) in /var/www/htdocs/www.xxxxx.de/xxxxx/cms/front_content.php(884) : eval()'d code on line 865
Konntest Du das Problem lösen? Ich versuche mich auch gerade daran mit dem gleichen Ergebnis.

Hat sonst jemand einen Tipp?

Viele Grüße
Carsten

Coobi
Beiträge: 36
Registriert: So 17. Feb 2008, 19:48
Kontaktdaten:

Lightbox Bilderausrichtung !

Beitrag von Coobi » Mo 25. Feb 2008, 13:58

Hallo Leute,

habe mir die Lightbox installiert und Sie funktioniert auch wunderbar.
Hierfür schon mal vielen Dank für dieses super Modul.

Nun habe ich noch eine kleinigkeit. Und zwar möchte ich die Thumbnails
so ausrichten lassen das alle genau die gleiche Dimension haben.

So wie auf der Seite der Modulentwickler.

Kann mir dabei jemand behilflich sein.

Danke.

Gruss

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Beitrag von GaMbIt_ » So 16. Mär 2008, 20:31

Mei Coobi...

was hast Du für ein Glück :twisted:

Ich habe die Lightbox Gallery ein bischen angepasst da in der "normalen" Version die Thumbnails nur skaliert werden und keine Möglichkeit besteht die skalierten auch noch zu beschneiden.

In meiner Anpassung hab ich die Skalierungfunktion belassen und zusätzlich eine Beschneidungsfunktion eingefügt die auch über das Backend konfigurierbar ist.

Die Bilder können jetzt nach der skalierung auf genau die Größe zugeschnitten werden damit alle Thumbnails die selbe Größe haben, völlig egal ob das Seitenverhältnis unterschiedlich ist.
Man sollte nur darauf achten dass die Skalierung nicht kleiner skaliert als die Beschneidung das Bild beschneiden will...

Input:

Code: Alles auswählen

?>
<table>
  <tr>
    <td><?php echo mi18n("Spalten");?> x <?php echo mi18n("Zeilen");?></td>
    <td><input type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo "CMS_VALUE[2]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[3]"; ?>" value="<?php echo "CMS_VALUE[3]"; ?>" style="width:40px;"></td>
    <td></td>
  </tr><tr>
    <td valign="top"><b><?php echo mi18n("Skalierung");?></b><br /><?php echo mi18n("Breite").' x '.mi18n("H&ouml;he"); ?></td>
    <td valign="top"><input type="text" name="<?php echo "CMS_VAR[0]"; ?>" value="<?php echo "CMS_VALUE[0]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo "CMS_VALUE[1]"; ?>" style="width:40px;"></td>
    <td valign="top"><div style="border:1px solid #999999; background-color:#EDDBEB; padding:3px;"><?php echo mi18n("Beschreibung_scale");?></div></td>
  </tr>
<!-- Skalierung -->
<tr>
    <td valign="top"><b><?php echo mi18n("Beschneidung");?></b><br /><?php echo mi18n("Breite").' x '.mi18n("H&ouml;he"); ?></td>
    <td valign="top"><input type="text" name="<?php echo "CMS_VAR[7]"; ?>" value="<?php echo "CMS_VALUE[7]"; ?>" style="width:40px;"> x <input type="text" name="<?php echo "CMS_VAR[8]"; ?>" value="<?php echo "CMS_VALUE[8]"; ?>" style="width:40px;"></td>
    <td valign="top"><div style="border:1px solid #999999; background-color:#EDDBEB; padding:3px;"><?php echo mi18n("Beschreibung_crop");?></div></td>
  </tr>
<!-- Ende Skalierung -->

  <?php
  $sql = "SELECT DISTINCT dirname FROM ".$cfg['tab']['upl']." ORDER BY dirname";
  $db->query($sql);
  echo '<tr><td>'.mi18n("Verzeichnis auswählen").'</td><td colspan="2">
		<select name="CMS_VAR[4]" size="1" style="width: 320px">
			<option value="">'.mi18n("Nichts ausgewählt").'</option>';
			while ($db->next_record()) {
				if ( stristr($db->f("dirname"),'CVS/') === FALSE ) {
					if ($db->f("dirname")=="CMS_VALUE[4]") {
						echo '<option value="'.$db->f("dirname").'" selected="selected">'.$db->f("dirname").'</option>';
					} else {
						echo '<option value="'.$db->f("dirname").'">'.$db->f("dirname").'</option>';
					}
				}
			}
	echo '</select></td></tr>';?>

<?php
$sort = "";
if("CMS_VALUE[5]" == "asc" || "CMS_VALUE[5]" == "") {
 $asc = " checked";
} else {
 $desc = " checked";
}
?>
	<tr>
    	<td><?php echo mi18n("Sortierrichtung");?></td>
		<td colspan="2">
			<input type="radio" name="CMS_VAR[5]" value="asc"<?php echo $asc; ?>> <?php echo mi18n("Aufsteigend"); ?>
			<input type="radio" name="CMS_VAR[5]" value="desc"<?php echo $desc; ?>> <?php echo mi18n("Absteigend"); ?>
		</td>
	</tr><tr>
    <td><?php echo mi18n("Zeichenanzahl");?></td>
    <td colspan="2"><input type="text" name="<?php echo "CMS_VAR[6]"; ?>" value="<?php echo "CMS_VALUE[6]"; ?>" style="width:40px;"></td>
  </tr>
</table>
<?php
Output:

Code: Alles auswählen

<?php

cInclude("includes", "functions.api.images.php");

/* Gallery variables */
$bRecursive = false;

/* Input variables customized */
$iWidth_crop = "CMS_VALUE[7]";
$iHeight_crop = "CMS_VALUE[8]";
if ($iWidth_crop == 0) {
  $iWidth_crop = '';
}
if ($iHeight_crop == 0) {
  $iHeight_crop = '';
}
/* Cropping ? */
$iCrop = "CMS_VALUE[9]";

/* Input variables */
$iWidth = "CMS_VALUE[0]";
$iHeight = "CMS_VALUE[1]";
if ($iWidth == 0) {
  $iWidth = 300;
}
if ($iHeight == 0) {
  $iHeight = 300;
}

$iColumns = "CMS_VALUE[2]";
if ($iColumns == 0) {
  $iColumns = 2;
}

$iRows = "CMS_VALUE[3]";
if ($iRows == 0) {
  $iRows = 2;
}

$sPath = "CMS_VALUE[4]";
if ($sPath=='') {
	$sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "bildergalerie/";
} else {
	$sPath = $cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"] . "CMS_VALUE[4]";
}

$sort = "CMS_VALUE[5]";
if( $sort == "asc" ) {
	$sort = SORT_ASC;
} else {
	$sort = SORT_DESC;
}

$words = "CMS_VALUE[6]";

if (isset($start)) {
  $iCurrentPage = $start;
} else {
  $iCurrentPage = 1;
}

$aValidExtensions = array("jpg", "jpeg", "gif", "png");

$iImagesPerPage = $iRows * $iColumns;

/* Read all gallery files */
$aGalleryFiles = scanDirectory($sPath, $bRecursive);
array_multisort($aGalleryFiles, $sort, SORT_STRING);

if (is_array($aGalleryFiles)) {
	/* Filter out non-images */
	foreach ($aGalleryFiles as $key => $aGalleryFile) {
		$sExtension = strtolower(getFileExtension($aGalleryFile));
		if (!in_array($sExtension, $aValidExtensions)) {
			unset($aGalleryFiles[$key]);
		}
	}
	
	/* Calculate effective variables */
	$iFileCount = count($aGalleryFiles);
	$iPages = ceil($iFileCount / $iImagesPerPage);
	
	$aImagesToDisplay = array_slice($aGalleryFiles, ($iCurrentPage - 1) * $iImagesPerPage, $iImagesPerPage);
	
	$oImageTpl = new Template;
	$oGalleryTpl = new Template;
	$oEmptyImageTpl = new Template;
	
	$aRenderedImages = array();
	
	$iRow = 0;
	$iImagesRendered = 0;
	
	foreach ($aImagesToDisplay as $sImageToDisplay) {
		/* Do Scaling */

/* ### Customized - changes by GaMbIt ### */
/* Image scale */
$sScaledImage_cr = cApiImgScale($sImageToDisplay, $iWidth, $iHeight, false, false);
/* path */
$sScaledImage_cr = str_replace($cfgClient[$client]["path"]["htmlpath"],"",$sScaledImage_cr);
/* Image crop */
$sScaledImage = cApiImgScale($sScaledImage_cr, $iWidth_crop, $iHeight_crop, true, true);  
/* path */
$sScaledImage = str_replace($cfgClient[$client]["path"]["htmlpath"],"",$sScaledImage);
/* ### End custom changes by GaMbIt ### */

		
		$link = str_replace($cfgClient[$client]['path']['frontend'],$cfgClient['htmlpath'],$sImageToDisplay);
		
		$media_name = ig_getMedienName($sImageToDisplay);
		
		$link_description = ig_getImageDescription($sImageToDisplay);
		
		if ($words != "" || $words != 0) {
			# Cutting text but preserving words and entities
			if(strlen($link_description) > $words){
			   $description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
			} else {
			   $description = "";
			}
		}
		
		if( $media_name != "" && $link_description != "") {
			$link_description = $media_name.': '.$link_description;
		} elseif( $media_name != "" ) {
			$link_description = $link_description;
		} elseif( $description != "" ) {
			$link_description = $link_description;
			$media_name = "&nbsp;"; 
		}
		
		$oImageTpl->reset();
		$oImageTpl->set("s", "FILE", $sScaledImage);
		$oImageTpl->set("s", "WIDTH", $iWidth);
		$oImageTpl->set("s", "HEIGHT", $iHeight);
		$oImageTpl->set("s", "LINK", $link);
		$oImageTpl->set("s", "MEDIANAME", $media_name);
		$oImageTpl->set("s", "DESCRIPTION", $description);
		$oImageTpl->set("s", "LINKDESCRIPTION", $link_description);
		
		$aRenderedImages[] = $oImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_image.html", true, false);
		
		$iImagesRendered++;
		
		if ($iImagesRendered == $iColumns) {
			$oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages));
			$oGalleryTpl->next();
			$iImagesRendered = 0;
			$aRenderedImages = array();
		}
	}
	
	if (count($aRenderedImages) < $iColumns && count($aRenderedImages) > 0) {
		$iEmptyCells = $iColumns - count($aRenderedImages);
		
		$oEmptyImageTpl->set("s", "WIDTH", $iWidth);
		$oEmptyImageTpl->set("s", "HEIGHT", $iHeight);
		
		$sEmptyCells = str_repeat($oEmptyImageTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_empty.html", true, false),$iEmptyCells);
		
		$oGalleryTpl->set("d", "COLUMNS", implode("", $aRenderedImages) . $sEmptyCells);
		$oGalleryTpl->next();
	}
	
	$aLinks = array();
	
	if ($iCurrentPage > 1) {
		$oPreviousTpl = new Template;
		$oPreviousTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage - 1));
		$oPreviousTpl->set("s", "TITLE", mi18n("Zurück"));
		$aLinks[] = $oPreviousTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_link.html", true, false);
	}
	
	if (($iCurrentPage < $iPages) && $iCurrentPage) {
		$oNextTpl = new Template;
		$oNextTpl->set("s", "LINK", $cfgClient[$client]["path"]["htmlpath"] . sprintf("front_content.php?idcatart=%s&start=%s", $idcatart, $iCurrentPage + 1));
		$oNextTpl->set("s", "TITLE", mi18n("Vor"));
		$aLinks[] = $oNextTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery_link.html", true, false);
	}
	
	$oGalleryTpl->set("s", "NAVIGATION", implode("", $aLinks));
	
	$oGalleryTpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/lightbox-gallery.html", false, false);
}

function ig_getImageDescription($idupl){

	global $cfg, $cfgClient, $db, $client, $lang;
	
	$cApiClient = new cApiClient($client);
	$language_separator = $cApiClient->getProperty('language','separator');
	if ($language_separator == "") {
		//Sanity, if module used in client without set client setting
		$language_separator = "§§§";
		$cApiClient->setProperty('language','separator', $language_separator);
	}
	if(is_numeric($idupl)) {
		//ID is a number 
		$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
	} else {
		//ID is a string
		$path_parts = pathinfo($idupl);
		$upload = $cfgClient[$client]['upl']['frontendpath'];
		$len = strlen($upload);
		$pos = strpos($idupl,$upload);
		$dirname = substr($path_parts['dirname'],$pos+$len).'/';
		$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE (dirname = '".$dirname."') AND (filename='".$path_parts['basename']."') AND (filetype='".$path_parts['extension']."')";
	}
	$db->query($query);
	if($db->next_record()) {
		return htmlspecialchars(urldecode($db->f("description")));
	} else {
		return '';
	}
}

function ig_getMedienName($idupl) {
	
	global $cfg, $cfgClient, $db, $client, $lang;
	
	$cApiClient = new cApiClient($client);
	$language_separator = $cApiClient->getProperty('language','separator');
	if ($language_separator == "") {
		//Sanity, if module used in client without set client setting
		$language_separator = "§§§";
		$cApiClient->setProperty('language','separator', $language_separator);
	}
	if( is_numeric($idupl) ) {
		//ID is a number
		$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
	} else {
		//ID is a string
		$path_parts = pathinfo($idupl);
		$upload = $cfgClient[$client]['upl']['frontendpath'];
		$len = strlen($upload);
		$pos = strpos($idupl,$upload);
		$dirname = substr($path_parts['dirname'],$pos+$len).'/';
		$danis = $dirname.$path_parts['basename'];
		$query = "SELECT value FROM ".$cfg["tab"]["properties"]." WHERE itemid = '".$dirname.$path_parts['basename']."' AND name = 'medianame'";
	}
	$db->query($query);
	if( $db->next_record() ) {
		return htmlspecialchars(urldecode($db->f("value")));
	} else {
		return '';
	}
}
?>
Ich schick dem Poster von diesem Modul mal die exportierte XML weil da auch noch die Beschreibungen in der Übersetzung enthalten ist.

Gesperrt