Bildergalerie w3concepts.gallery.v1 :: neues Modul

Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Nuevo »

hallo,
ich bin ja recht neu hier, hab mir mal auf dem agenturserver (Lunix) das geniale Modul installiert... dort läuft alles super.
Bei mir zu hause auf einem WIndowssystem bekomme ich leider immer, diese Fehlermeldung, wenn ich einen artikel mit dem modul bearbeiten will:

[15-Mar-2005 00:11:34] PHP Warning: getimagesize(d:/webserver/htdocs/nowak/cms/upload/.) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: Permission denied in d:\webserver\htdocs\nowak\contenido\includes\include.con_editcontent.php(571) : eval()'d code on line 679

Leider kann ich im modul den bilderpfad nicht mal einstellen. Die dropdownbox ist einfach leer :-(

Weiß jemand rat?
Joey
Beiträge: 26
Registriert: Do 30. Dez 2004, 23:51
Wohnort: Rhein-Neckar-Kreis
Kontaktdaten:

Beitrag von Joey »

Hi Patrick,

lösche mal deinen gesamten Output Code im Galeriemodul und füge diesen dafür ein:

Code: Alles auswählen

<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :	    w3concepts.gallery.v1
* Author      :     Andreas Kummer
* Copyright   :     mumprecht & kummer w3concepts
* Created     :     30-08-2004
* Modified    :     30-08-2004
************************************************/

class gallery {

	function gallery() {
		// initialwerte setzen
		$this->setInitValues();

		// aussteigen, falls initialwerte nicht sinnvoll
		if (!$this->checkInitValues()) return false;

		// quellverzeichnis auslesen
		$this->readDir();

		// zeiger für showNextPicture setzen
		if (empty($_REQUEST['pos'])) {
			$this->showNextPictureSeq = -1;
		} else {
			$this->showNextPictureSeq = $_REQUEST['pos'] - 1;
		}

		// datenbankzugriff initialisieren
		$this->db = new DB_Contenido;

		// galerie ausgeben
		$this->showGallery();

		// gegebenenfalls navigation ausgeben
		$this->showNavigation();

	}

	function setInitValues() {
		// konfigurationswerte aus dem input-script
		// übernehmen
		$this->path['pictures'] = "CMS_VALUE[0]";
		$this->path['thumbs'] = "CMS_VALUE[1]";
		$this->path['upload'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'];
		$this->path['html'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['htmlpath'];
		$this->abspath['pictures'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['frontend'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$this->path['pictures'];
		$this->abspath['thumbs'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['frontend'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$this->path['thumbs'];
		$this->htmlpath = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['htmlpath'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'];
		$this->thumbnailSize['width'] = "CMS_VALUE[2]";
		$this->thumbnailSize['height'] = "CMS_VALUE[3]";
		$this->tableSize['cols'] = "CMS_VALUE[4]";
		$this->tableSize['rows'] = "CMS_VALUE[5]";
		$this->link['previous'] = "CMS_VALUE[6]";
		$this->link['next'] = "CMS_VALUE[7]";
	}

	function checkInitValues() {
		// prüfen, ob es sich bei den übergebenen pfaden
		// um tatsächlich vorhandene pfade im dateisystem
		// handelt. gegebenenfalls wird eine ausgabe
		// an den browser vorgenommen und false zurückgegeben.
		if (!chdir($this->abspath['pictures'])) {
			echo "<p>Das Verzeichnis '{$this->abspath['pictures']}' existiert im Dateisystem
				des Servers nicht. Entweder müssen Sie es noch anlegen oder die
				Konfiguration Ihres Modules anpassen.</p>";
			return false;
		}
		if (!chdir($this->abspath['thumbs'])) {
			echo "<p>Das Verzeichnis '{$this->abspath['thumbs']}' existiert im Dateisystem
				des Servers nicht. Entweder müssen Sie es noch anlegen oder die
				Konfiguration Ihres Modules anpassen.</p>";
			return false;			
		}

		if ($this->thumbnailSize['width'] == '') $this->thumbnailSize['width'] = 100;
		if ($this->thumbnailSize['height'] == '') $this->thumbnailSize['height'] = 100;

		if ($this->tableSize['cols'] == '') $this->tableSize['cols'] = 3;
		if ($this->tableSize['rows'] == '') $this->tableSize['rows'] = 3;

		if ($this->link['previous'] == '') $this->link['previous'] = '[:: rückwärts ]';
		if ($this->link['next'] == '') $this->link['next'] = '[ vorwärts ::]';


		// rückgabe im erfolgsfall
		return true;
	}

	function readDir() {
		$dir = opendir($this->abspath['pictures']);
		while ($file = readdir($dir)) {
			$bildinfo = getimagesize($this->abspath['pictures'].$file);
			if (!empty($bildinfo)) { 
				$picture[] = $file;
			}
		}
		sort($picture[]);
		closedir($dir);

		foreach ($picture as $picture2) {
			if (!empty($picture2)) $this->picture[] = $picture2;
		}
	}

	function showNextPicture() {
		// zeiger um eins erhöhen
		$this->showNextPictureSeq++;

		// wenn keine bild mehr vorhanden ist, false zurück geben
		if ($this->showNextPictureSeq >= count($this->picture)) return '';

		// thumbnail generieren falls erforderlich
		$size = $this->generateThumb($this->picture["{$this->showNextPictureSeq}"]);

		// originalgrösse des bildes ermitteln
		$originalsize = getimagesize($this->abspath['pictures'].$this->picture["{$this->showNextPictureSeq}"]);

		// referenz zurück geben
		//return "<a href=\"#\" onClick=\"window.open('{$this->path['html']}popupviewer.php?uri={$this->path['upload']}{$this->path['pictures']} {$this->picture[$this->showNextPictureSeq]}','bild','width={$originalsize[0]},height={$originalsize[1]},top=10,left=10,scrollbars=no,topmargin=0,leftmargin=0'); bild.document.body.style.margin=0;\"><img src= \"{$this->htmlpath}{$size['filename']}\" width=\"{$size['width']}\" height=\"{$size['height']}\" /></a>";
		return "<a href=\"javascript:window.open('{$this->path['html']}popupviewer.php?uri={$this->path['upload']}{$this->path['pictures']} {$this->picture[$this->showNextPictureSeq]}','bild','width={$originalsize[0]},height={$originalsize[1]},top=10,left=10,scrollbars=no,topmargin=0,leftmargin=0'); bild.document.body.style.margin=0;\"><img src= \"{$this->htmlpath}{$size['filename']}\" width=\"{$size['width']}\" height=\"{$size['height']}\" /></a>";
	}

	function generateThumb($filename) {

		$src_image_size = getimagesize($this->abspath['pictures'].$filename);

		// prüfen, ob thumbnail bereits vorhanden ist
		if (!file_exists("{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg")) {

			// ermitteln ob das bild auf bestimmte höhe oder bestimmte breite zu reduzieren ist
			// sowie ermitteln, um welchen faktor das bild zu verkleinern ist
			if ($src_image_size[0]/$src_image_size[1] > $this->thumbnailSize['width']/$this->thumbnailSize['height']) {
				$verkleinerungsfaktor = $this->thumbnailSize['width']/$src_image_size[0];
			} else {
				$verkleinerungsfaktor = $this->thumbnailSize['height']/$src_image_size[1];
			}

			// berechnen der thumbnailgrösse
			$bildhoehe = round($src_image_size[1] * $verkleinerungsfaktor);
			$bildbreite = round($src_image_size[0] * $verkleinerungsfaktor);

			// thumbnail erstellen
			$dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);
			if ($src_image_size[2] == 1) {
				$src_im = imagecreatefromGIF("{$this->abspath['pictures']}$filename");
			} elseif ($src_image_size[2] == 2) {
				$src_im = @ImageCreateFromJPEG("{$this->abspath['pictures']}$filename");
			} else {
				$src_im = @imagecreatefromgd("{$this->abspath['pictures']}$filename");
			}
			imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
			imagejpeg ($dst_im,"{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg",100);
			
			$size['width'] = $bildbreite;
			$size['height'] = $bildhoehe;
		} else {
			$thumbnailsize = getimagesize("{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg");
			$size['width'] = $thumbnailsize[0];
			$size['height'] = $thumbnailsize[1];
		}

		$size['filename'] = "{$this->path['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg";
	
		return $size;
	}

	function getDescription() {
		
		$sql = "SELECT description FROM {$GLOBALS['cfg']['tab']['upl']}
			WHERE
				filename = '{$this->picture[$this->showNextPictureSeq]}'
				AND dirname = '{$this->path['pictures']}'
			";

		$this->db->query($sql);
		$this->db->next_record();

		return $this->db->f("description");;
	}

	function showGallery() {

		$cellwidth = floor(100/$this->tablesize['cols']);
		echo "<table width=\"100%\">\n";
		for ($i = 0;$i < $this->tableSize['rows'];$i++) {
			$beschreibung = null;

			echo "<tr>\n";			
			for ($j = 0;$j < $this->tableSize['cols'];$j++) {
				echo "<td align=\"center\" valign=\"middle\" width=\"$cellwidth\">\n".$this->showNextPicture()."\n</td>\n";
				$beschreibung[] = $this->getDescription();
			}
			echo "</tr>\n";

			echo "<tr>\n";
			for ($j = 0;$j < $this->tableSize['cols'];$j++) {
				echo "<td  align=\"justify\" valign=\"top\" width=\"$cellwidth\" style=\"padding-bottom:5px; padding-left:10px; padding-right:10px;\">\n<font size=\"1\">\n{$beschreibung[$j]}\n</font>\n</td>\n";
			}
			echo "</tr>\n";
		}
		echo "</table>\n";
	}

	function showNavigation() {

		if ($this->tableSize['cols'] * $this->tableSize['rows'] < count($this->picture)) {
			echo "<table width=\"100%\">\n<tr>\n";

			if (!empty($_REQUEST['pos'])) {
				$pos = ($this->showNextPictureSeq <= $this->tableSize['cols'] * $this->tableSize['rows']) ? (0) : ($this->showNextPictureSeq - (2 * $this->tableSize['cols'] * $this->tableSize['rows']) + 1);
				$pos = ($pos < 0) ? (0) : ($pos);
				$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos");
				echo "<td style=\"text-align:left; width:33%\"><font size=\"2\"><a href=\"$link\">{$this->link['previous']}</a></font></td>";
			} else {
				echo "<td style=\"text-align:left; width:33%\">&nbsp;</td>";
			}

			echo "<td align=\"center\" width=\"33%\">&nbsp;</td>";

			if ($this->showNextPictureSeq + 1 < count($this->picture)) {
				$pos = $this->showNextPictureSeq + 1;
				$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos");
				echo "<td style=\"text-align:right; width:33%\"><font size=\"2\"><b><a href=\"$link\">{$this->link['next']}</a></b></font></td>";
			} else {
				echo "<td style=\"text-align:right; width:33%\">&nbsp;</td>";
			}

			echo "</tr>\n</table>\n";
		}
	}

}

$gallery = new gallery();
?>

Bei mir gehts so bestens...

Gruß

Joey
Lemmel
Beiträge: 15
Registriert: Sa 19. Feb 2005, 14:53
Kontaktdaten:

Beitrag von Lemmel »

Hallo Joey !!
Es hat wirklich geklappt, die Thums werden zentriert dargestellt :D
Jedoch habe ich jetzt folgende Fehlermeldungen in der errorlog

Warning: sort() expects parameter 1 to be array, null given in c:\contenido\htdocs\cms\front_content.php(567) : eval()'d code on line 548

Warning: Division by zero in c:\contenido\htdocs\cms\front_content.php(567) : eval()'d code on line 634

Das Division by zero Problem hatte Kummer schon hier gelöst:
http://www.contenido.org/forum/viewtopi ... c&start=30

Wenn ich die dort beschriebene Zeile aber ändere ist das Bild wieder linksbündig und die erste Fehlermeldung

Warning: sort() expects parameter 1 to be array, null given in c:\contenido\htdocs\cms\front_content.php(567) : eval()'d code on line 548

ist immer noch da !!

Woran kann das liegen ??

Gruß
Patrick
SSH
Beiträge: 23
Registriert: So 6. Mär 2005, 00:05
Kontaktdaten:

Beitrag von SSH »

Hallo zusammen!

Da bisher noch keine Antworten bezüglich:

...
Hat schon jemand das Problem "Hauptnavigation geht nicht, wenn auf der selben Seite die Bildgallerie ist" bei Contenido 4.4.5 gelöst?...

gekommen sind, hier mal die logische Konsequenz:

Hat überhaupt jemand das Problem oder lässt sich das Modul bei Euch problemlos in Contenido 4.4.5 einbauen?

Gruß

SSH
Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

Problem erkannt

Beitrag von Nuevo »

Hallo,
wenn ich mir den Quelltext angucke, wenn ich das Modul konfigurieren möchte steht das drin:

Code: Alles auswählen

<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />
<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />
<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>46</b><br />
</td><tr><td>Thumbnailpfad:</td><td><select size="1" name="C4CMS_VAR[1]" /><br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />
<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />
<br />
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>25</b><br />

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>d:\webserver\htdocs\nowak\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code</b> on line <b>46</b><br />

Kann damit jemand was anfangen? Ich würde so gerne das Modul einsetzen wollen.

Danke
T o b i
JCG
Beiträge: 12
Registriert: Mo 25. Okt 2004, 21:00
Kontaktdaten:

Beitrag von JCG »

Hallo ich hab diesen Thread jetzt aufmerksam verfolgt und durchgelsen leider konnte ich bei mir folgendens nicht lösen:
- im Backend ist keine Auswahl des Bilder- und Thumbnailpfades möglich
- folgender Feler wir angezeigt im Backend wie auch im Frontend ;

Code: Alles auswählen

Warning: sort() expects parameter 1 to be array, null given in /is/htdocs/wp1008326_LJS1F74GN7/www/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 646
wobei ich vermute dass dieser aus dem ersten resultiert
Für Hilfe wäre ich dankbar
Nuevo
Beiträge: 41
Registriert: Mo 7. Mär 2005, 14:18
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Nuevo »

Moinsen,
ich vermute es liegt an so einer windows/linux verzeichnis eigenheit.
Denn bei uns klappt alles auf den linuxservern.. bei mir zu hause auf einer windowskiste gehts nicht :-(


T o b i
JCG
Beiträge: 12
Registriert: Mo 25. Okt 2004, 21:00
Kontaktdaten:

Beitrag von JCG »

Ich denke nicht bei mir läuft das ganze auch auf einem Linuxserver.
Joey
Beiträge: 26
Registriert: Do 30. Dez 2004, 23:51
Wohnort: Rhein-Neckar-Kreis
Kontaktdaten:

Beitrag von Joey »

Habe eine kurze Frage (und keine Lust mehr zum experimentieren...)

Die Galerie erzeugt bei mir Thumbs mit dem Präfix der Höhe.Breite.FILENAME.jpg.jpg

Die müsste für die Thumberstellung verantwortlich sein:
// thumbnail erstellen
$dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);
if ($src_image_size[2] == 1) {
$src_im = imagecreatefromGIF("{$this->abspath['pictures']}$filename");
} elseif ($src_image_size[2] == 2) {
$src_im = @ImageCreateFromJPEG("{$this->abspath['pictures']}$filename");
} else {
$src_im = @imagecreatefromgd("{$this->abspath['pictures']}$filename");
}
imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
imagejpeg ($dst_im,"{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg",100);

$size['width'] = $bildbreite;
$size['height'] = $bildhoehe;
} else {
$thumbnailsize = getimagesize("{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg");
$size['width'] = $thumbnailsize[0];
$size['height'] = $thumbnailsize[1];
}

$size['filename'] = "{$this->path['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg";

return $size;
}
Möchte die doppelte Dateiendung weghaben und die vorangestellte Bildgrösse...
Hätte jemand ein Tip wie das ändern kann?
Merci und Gruß
Joey
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Jein.

Ohne mir das Modul weiter angesehen zu haben, ist es im Prinzip einfach: Du brauchst nur in Deinem Code-Schnipsel bei $filename.jpg das .jpg entfernen.

Damit entsteht aber ein Problem: Die Endung .jpg, die doppelt erscheint, kommt aus $filename. Wenn Du nur JPG-Dateien verwendest, macht Dir das keine Probleme. Aus anderen Dateien, z.B. GIF wird aber auch eine .jpg gemacht (-> Dateiname.gif.jpg).

Wenn Du nun generell das .jpg entfernst, ist das Modul an dieser Stelle nicht mehr universell und es dürfte aufgrund des falschen internen Dateityps Probleme bei Nicht-jpg-Dateien geben...

Daher würde ich damit leben...man weiss nie, wann man mal eine xyz-Datei in die Finger bekommt und dann denkt man nicht mehr dran.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Joey
Beiträge: 26
Registriert: Do 30. Dez 2004, 23:51
Wohnort: Rhein-Neckar-Kreis
Kontaktdaten:

Beitrag von Joey »

@HerrB
DANKE vielmals!!! Der Tip hat mir sehr geholfen! Habe es durch weglassen von ".jpg" hinbekommen. Da ich nur mit JPG's arbeite sollte es keine Probleme geben.
Merci nochmals und Grüße
Joey
s.geiling

Modul 2x benutzen?

Beitrag von s.geiling »

Hallo,

ich habe ein paar Seiten vorne schon mal gefragt, aber leider keine Antwort bekommen.

Ist es möglich die Bildergalerie 2 mal auf der gleichen Seite zu benutzen?

MfG Stefan
micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

frage zu gallerie-modifikation

Beitrag von micha667 »

hi zusammen,

für eine spezielle kombination der bildergallerie mit download-funktion (.tiff-bilder unter gleichem namen wie die angzeigten jpg´s) hab ich mir das modul soweit angepaßt, daß er statt der "bild-beschreibung" einen link "download" ausgibt, dem der bildername mit der endung .tiff statt -.jpg hinterlegt ist.

was ich bisher gemacht habe:

doppelung von:

Code: Alles auswählen

function showNextPicture() { 
      // zeiger um eins erhöhen 
      $this->showNextPictureSeq++; 

      // wenn keine bild mehr vorhanden ist, false zurück geben 
      if ($this->showNextPictureSeq >= count($this->picture)) return ''; 

      // thumbnail generieren falls erforderlich 
      $size = $this->generateThumb($this->picture["{$this->showNextPictureSeq}"]); 

      // originalgrösse des bildes ermitteln 
      $originalsize = getimagesize($this->abspath['pictures'].$this->picture["{$this->showNextPictureSeq}"]); 

      // referenz zurück geben 

return "<a href=\"javascript:window.open('{$this->path['html']}popupviewer.php?
uri={$this->path['upload']}{$this->path['pictures']}
{$this->picture[$this->showNextPictureSeq]}','bild','width={$originalsize[0]},
height=$originalsize[1]},resizable=yes,top=10,left=10,topmargin=0,leftmargin=0');
bild.document.body.style.margin=0;\"><img src=\"{$this->htmlpath}{$size['filename']}\" width=\"{$size['width']}\" height=\"{$size['height']}\" /></a>";

      } 
in:

Code: Alles auswählen

function showNextPicture22() { 

          // zeiger um eins erhöhen 
$this->showNextPicture22Seq++;
      // wenn keine bild mehr vorhanden ist, false zurück geben 
      if ($this->showNextPicture22Seq >= count($this->picture)) return ''; 
  // thumbnail generieren falls erforderlich 
      $size = $this->generateThumb($this->picture["{$this->showNextPicture22Seq}"]); 

      // originalgrösse des bildes ermitteln 
      $originalsize = getimagesize($this->abspath['pictures'].$this->picture["{$this->showNextPicture22Seq}"]); 

      // referenz zurück geben 
  return str_replace(".jpg",".tiff",($this->path['upload'].$this->path['pictures'].$this->picture[$this->showNextPicture22Seq]));
     
   }
dann weiter unten bei der ausgabe:

Code: Alles auswählen

 function showGallery() { 

      $cellwidth = floor(100/$this->tableSize['cols']); 
      echo "<table style='margin-left:14px;' width=\"100%\">\n"; 
      for ($i = 0;$i < $this->tableSize['rows'];$i++) { 
 $getifft=null;        

         echo "<tr>\n";          
         for ($j = 0;$j < $this->tableSize['cols'];$j++) { 

            echo "<td align=\"left\" valign=\"top\" width=\"$cellwidth%\">\n".$this->showNextPicture()."\n</td>\n"; 

$getifft[]=$this->showNextPicture22();

         } 
         echo "</tr>\n"; 
         echo "<tr>\n"; 
         for ($j = 0; $j < $this->tableSize['cols'];$j++) { 

            echo "<td align=\"left\" valign=\"top\" width=\"$cellwidth%\" style=\"padding-bottom:10px;\">\n<a href=\"".$getifft[$j]."\">Download</a></td>\n"; 
         } 
         echo "</tr>\n"; 

      } 
      echo "</table>\n"; 
   } 
funktioniert prinzipiell soweit gut, allerdings ist der download-link unter dem thumbnail immer um einen <td> versetzt. unter bild1 steht also der tiff-downloadlink zu bild2 usw. ich raff grade absolut nicht woran das liegt. außerdem füllt er die letzte <tr> am ende nochmit leeren download-links auf. also <td>´s die kein thumbnail mehr beinhalten, werden trotzdem von einem download-link unterlegt.

hat irgendjemand ne ahnung woran es bei den beiden probleme liegen könnte?

danke

gruß
micha
micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

Beitrag von micha667 »

bin drauf gekommen. hat sich also erledigt.

gruß
micha
Dinkel
Beiträge: 565
Registriert: Di 22. Mär 2005, 14:52
Kontaktdaten:

Beitrag von Dinkel »

Ich habe das Problem, dass immer Fehler ausgegeben werden, egal mit welcher Version:

Code: Alles auswählen

Warning: getimagesize(): Read error! in /home/www/ncd309/html/tkd/index.php(567) : eval()'d code on line 165

Warning: getimagesize(): Read error! in /home/www/ncd309/html/tkd/index.php(567) : eval()'d code on line 165

Warning: sort() expects parameter 1 to be array, null given in /home/www/ncd309/html/tkd/index.php(567) : eval()'d code on line 170

Warning: Division by zero in /home/www/ncd309/html/tkd/index.php(567) : eval()'d code on line 256
Hat jemand eine Idee? Die Bilder werden angezeigt und der PopUp geht auch.

[edit]
Habe vergessen, dass ich die index.php und config.php nicht im Verzeichnis CMS, sondern eine ebene darüber, aber selbst wenn ich das ändere geht es nicht...
[/edit]
Gesperrt