Lightbox-Bildergalerie

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » Di 7. Apr 2009, 14:15

Funzt jetzt anscheinend alles.

Gruß
René

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von idea-tec » Di 7. Apr 2009, 14:19

ja, so wie es aussieht, geht alles.
bei mir erscheint das bild in der lightbox, ich kann durchblättern und bei den beiden bildern ganz unten rechts erhalte ich einen text.

gruß, Karsten
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

borand
Beiträge: 2
Registriert: Di 24. Feb 2009, 21:17
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von borand » Fr 1. Mai 2009, 13:18

small change module_Out Lightbox Gallery 1.2.1
http://www.ittool.de/cms-module-lightboxgallery.html
changes:
- replased by ig_getImageInfo functions ig_getImageDescription() and ig_getMedienName()
- changed sql query by using _upl_meta and $lang

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);
		
		$mediaInfo = ig_getImageInfo($sImageToDisplay);	
		
		$media_name = $mediaInfo['medianame'];
		$link_description = $mediaInfo['description'];
		
		if ($words != "" || $words != 0) {
			# Cutting text but preserving words and entities
			if(strlen($link_description) > $words){
			   $description = htmlentities(capiStrTrimAfterWord($link_description, $words)."...");
			} else {
			   $description = $link_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_getImageInfo($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 
		".$cfg["tab"]["upl"].".description AS udescription,
		".$cfg["tab"]["upl_meta"].".description AS description,
		".$cfg["tab"]["upl_meta"].".medianame AS medianame
		FROM ".$cfg["tab"]["upl"]." 
		LEFT JOIN ".$cfg["tab"]["upl_meta"]." ON (".$cfg["tab"]["upl"].".idupl = ".$cfg["tab"]["upl_meta"].".idupl)
		WHERE (dirname = '".$dirname."') 
				AND (filename='".$path_parts['basename']."') 
				AND (filetype='".$path_parts['extension']."') 
				AND (".$cfg["tab"]["upl_meta"].".idlang='".$lang."')";
		//echo $query.'<br />';
	}
	$db->query($query);
	if($db->next_record()) {
		$arr['description'] = htmlspecialchars(urldecode($db->f("description")));
		if(strlen($arr['description']<2)) $arr['description'] = htmlspecialchars(urldecode($db->f("udescription")));
		
		$arr['medianame'] = htmlspecialchars(urldecode($db->f("medianame")));
		return $arr;
		
	} else {
		return '';
	}
}

?>

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

Re: Lightbox-Bildergalerie

Beitrag von GaMbIt_ » Fr 1. Mai 2009, 14:55

Hab ich das nicht schon mal geschrieben??

Ich dachte ich hätte das hier schon mal veröffentlicht ... :oops:
Nützliche Contenido Infos gibts hier: Contenido Wiki

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von masch » Mi 13. Mai 2009, 10:06

hi ho

folgendes nervt mich gerade ein wenig.
kann ich die Ordneranzeige initialisieren?
Zur Selektion welche Bilder anzuzeigen sind, wählt man ja einen Ordner aus. Aber neu angelegte Ordner will der mir partout net anzeigen.
Welches Modul oder Template müsste dafür verhauen werden, um auch neu erstellte Ordner einbinden zu können?

danke und mfg

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » Mi 13. Mai 2009, 10:38

Die Gallerie listet aus der DB alle Ordner auf in denen sich Dateien befinden.
Um den Ordner in die DB zu kriegen muss dieser zumindest im Backend unter "Dateiverwaltung" einmal ausgewählt worden sein.
Generell empfiehlt sich aber, die Ordner und Dateien hierüber und nicht per FTP zu erstellen/hoch zu laden.

Gruß
René

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von masch » Mi 13. Mai 2009, 11:03

:P :oops:
danke
nun weiss ich woher der Spruch kommt ich bin zu alt für den Sche***
jetzt wo ich es lese. fällts mir auch wieder ein das ich das schon mal hatte so.
So ein Klaps auf den Hinterkopf erhöht wirklich das Denkvermögen :mrgreen:

nochmals Danke

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von masch » Mi 13. Mai 2009, 11:10

menno
ich habe gerade mal in der Zwischenzeit das update auf x.12 gemacht.
Bei der Galerie bekomm ich nu lustige Aussagen:

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /contenido/includes/functions.api.images.php on line 409

Warning: imagecopy(): supplied argument is not a valid Image resource in /contenido/includes/functions.api.images.php on line 410

Warning: imagejpeg(): supplied argument is not a valid Image resource in /contenido/includes/functions.api.images.php on line 429

bitte noch um einen weiteren Klaps auf den Hinterkopf - danke

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » Mi 13. Mai 2009, 12:10

Hmmm, wahrscheinlich keine Angaben für die Beschneidung gemacht (muss auch nicht).
In einem früheren Beitrag hier habe ich eine Lösung hierfür gepostet.
Versuchs erstmal damit.

Gruß
René

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von masch » Do 14. Mai 2009, 06:41

cool, das wars.
ich hatte das Problem schon mal in der Vergangenheit gelöst. Nur leider nicht notiert.
Danke noch mal

Supporter
Beiträge: 124
Registriert: Mo 12. Mai 2008, 14:21
Wohnort: In the middle of something...
Kontaktdaten:

Probleme nach Update auf 4.8.12 AMR

Beitrag von Supporter » So 24. Mai 2009, 09:02

Ich habe die LBG auf einer 4.8.7er Installation mit AMR installiert, soweit alles bestens - bis gestern...

Da habe ich ein Update auf die 4.8.12er mit AMR gemacht und seit dem funktioniert die Blätterfunktion nicht mehr, also das Navigieren.

So wie es aussieht, wird die Umwandlung der Links vom Modul oder dem Advanced ModRewrite nicht mehr korrekt durchgeführt. Denn die erzeugten URLs vom Modul werden dem HTML-Quelltext nach nicht umgeschrieben... Hat jemand eine Idee was angepasst werden muss?
Ειμαστε στη μεση απο κατι...

yui
Beiträge: 140
Registriert: Di 17. Jun 2003, 17:55
Kontaktdaten:

Fehler beim Blättern

Beitrag von yui » Do 11. Jun 2009, 08:18

Hallo zusammen,

ich habe das Modul in der Contenido-Version 4.8.12 eingebaut und alles funktioniert wunderbar, nur das Blättern nicht. Klicke ich auf "vor" steht dort http://www.meinedomian.ltd/cms/front_co ... 30&start=2, ich lande aber auf meiner Fehlerseite. Es erscheint keine Fehlermeldung im Errorlog.

Hat jemand eine Ahnung, woran das liegen kann?

Eingebunden habe ich

Code: Alles auswählen

<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
<script src="js/effects.js" type="text/javascript"></script>
SChöne Grüsse
yui
Ich weiß, dass ich nichts weiß. Sokrates

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » Do 11. Jun 2009, 08:46

Hallo yui,

dein Problem ist anscheinend das Lesen.
Es wurde hier und im Paket bereits mehrfach beschrieben, dass die Angaben im Layout die folgenden sind:

Code: Alles auswählen

    <script language="javascript" type="text/javascript" src="js/prototype.js"></script>
    <script language="javascript" type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
    <script language="javascript" type="text/javascript" src="js/lightbox.js"></script>
    <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
Vergleiche das mal mit dem was du gepostet hast ;)

Gruß
René

yui
Beiträge: 140
Registriert: Di 17. Jun 2003, 17:55
Kontaktdaten:

Re: Lightbox-Bildergalerie

Beitrag von yui » Do 11. Jun 2009, 09:57

Hallo René,

vielen Dank für Deinen Hinweis. Die CSS habe ich natürlich eingebunden sie aber hier nicht gepostet, da sie m.E. für den Fehler nicht verantwortlich sein können, wird doch kein Seite = Fehlerseite angezeigt. Entschuldige bitte diese Unvollständigkeit. Zunächst hatte ich die CSS als @import url... eingebunden, aber auch als <link rel="stylesheet"... bleibt es beim Fehler.

yui
Ich weiß, dass ich nichts weiß. Sokrates

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Lightbox-Bildergalerie

Beitrag von Spider IT » Do 11. Jun 2009, 12:10

Hast du denn die anderen Zeilen mal verglichen? :?

Gesperrt