Seite 27 von 33

Re: Lightbox-Bildergalerie

Verfasst: Di 7. Apr 2009, 14:15
von Spider IT
Funzt jetzt anscheinend alles.

Gruß
René

Re: Lightbox-Bildergalerie

Verfasst: Di 7. Apr 2009, 14:19
von idea-tec
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

Re: Lightbox-Bildergalerie

Verfasst: Fr 1. Mai 2009, 13:18
von borand
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 '';
	}
}

?>

Re: Lightbox-Bildergalerie

Verfasst: Fr 1. Mai 2009, 14:55
von GaMbIt_
Hab ich das nicht schon mal geschrieben??

Ich dachte ich hätte das hier schon mal veröffentlicht ... :oops:

Re: Lightbox-Bildergalerie

Verfasst: Mi 13. Mai 2009, 10:06
von masch
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

Re: Lightbox-Bildergalerie

Verfasst: Mi 13. Mai 2009, 10:38
von Spider IT
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é

Re: Lightbox-Bildergalerie

Verfasst: Mi 13. Mai 2009, 11:03
von masch
: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

Re: Lightbox-Bildergalerie

Verfasst: Mi 13. Mai 2009, 11:10
von masch
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

Re: Lightbox-Bildergalerie

Verfasst: Mi 13. Mai 2009, 12:10
von Spider IT
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é

Re: Lightbox-Bildergalerie

Verfasst: Do 14. Mai 2009, 06:41
von masch
cool, das wars.
ich hatte das Problem schon mal in der Vergangenheit gelöst. Nur leider nicht notiert.
Danke noch mal

Probleme nach Update auf 4.8.12 AMR

Verfasst: So 24. Mai 2009, 09:02
von Supporter
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?

Fehler beim Blättern

Verfasst: Do 11. Jun 2009, 08:18
von yui
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

Re: Lightbox-Bildergalerie

Verfasst: Do 11. Jun 2009, 08:46
von Spider IT
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é

Re: Lightbox-Bildergalerie

Verfasst: Do 11. Jun 2009, 09:57
von yui
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

Re: Lightbox-Bildergalerie

Verfasst: Do 11. Jun 2009, 12:10
von Spider IT
Hast du denn die anderen Zeilen mal verglichen? :?