Neue Version des Moduls Bilder-Galerie von Large Green Wood
-
- Beiträge: 32
- Registriert: Di 22. Jul 2003, 14:38
- Kontaktdaten:
die gd lib ist nicht unbedingt zu alt, nur sind die methoden im modul zu neu 
man kann auch mit einer gdlib < 2.0 mit durchaus akzeptablen ergebnissen bilder resizen. nur darf man dafür kein imagecopyresampled verwenden, sondern muss imagecopyresized verwenden (die erste der genannten funktionen wird nur von IM, nicht aber von der GDLib unterstützt). der unterschied zwischen resize und resample:
bei resize wird nach dem schema "nearest neighbour" skaliert.
bei resample wird bikubisch skaliert, das ergebnis ist qualitativ besser.

man kann auch mit einer gdlib < 2.0 mit durchaus akzeptablen ergebnissen bilder resizen. nur darf man dafür kein imagecopyresampled verwenden, sondern muss imagecopyresized verwenden (die erste der genannten funktionen wird nur von IM, nicht aber von der GDLib unterstützt). der unterschied zwischen resize und resample:
bei resize wird nach dem schema "nearest neighbour" skaliert.
bei resample wird bikubisch skaliert, das ergebnis ist qualitativ besser.
verdammt...
Hilfe....
Ich hab mir dieser Gallerie experimentiert, bzw. sie eingebaut...
Der einfachheit halber habe ich nicht den Dateiupload benutzt sondern die Bilder via FTP hochgeladen....
bisher hat die Dateiverwaltung dann bei Aufruf den inhalt neu indiziert und manuell hochgeladene Bilder angezeigt...
diesmal habe ich aber KEINE Dateiverwaltung mehr(!)
wenn ich die aufrufe werden mir keine Verzeichniss und keine Bilder mehr angezeigt.
WIE kann ich das beheben/eine neue indizierung erzwingen??????
Zum Modul:
ich bekomme auch nur links zu den Images angezeigt, keine Thumbs.
GD ist >2.0
Verzeichnisse sind angelegt
Schreibrechte erteilt
Thumbs werden nicht angelegt, auch keine 0 Byte Dateien
Momentan macht mich aber das Problem der Dateiverwaaltung viel wuschiger....help me (kill me)
greets
TimeSpirit
Ich hab mir dieser Gallerie experimentiert, bzw. sie eingebaut...
Der einfachheit halber habe ich nicht den Dateiupload benutzt sondern die Bilder via FTP hochgeladen....
bisher hat die Dateiverwaltung dann bei Aufruf den inhalt neu indiziert und manuell hochgeladene Bilder angezeigt...
diesmal habe ich aber KEINE Dateiverwaltung mehr(!)
wenn ich die aufrufe werden mir keine Verzeichniss und keine Bilder mehr angezeigt.
WIE kann ich das beheben/eine neue indizierung erzwingen??????
Zum Modul:
ich bekomme auch nur links zu den Images angezeigt, keine Thumbs.
GD ist >2.0
Verzeichnisse sind angelegt
Schreibrechte erteilt
Thumbs werden nicht angelegt, auch keine 0 Byte Dateien
Momentan macht mich aber das Problem der Dateiverwaaltung viel wuschiger....help me (kill me)
greets
TimeSpirit
Modul OK
Nachtrag:
=======
Modul OK, man(n) muss halt JPG nehmen und nicht GIF
nur was mach ich mit der blöden Dateiverwaltung?
=======
Modul OK, man(n) muss halt JPG nehmen und nicht GIF

nur was mach ich mit der blöden Dateiverwaltung?
nu aber
so,
Probleme behoben..Dateiverwaltung wieder da.
Hatte nichts mit dem Modul sondern mit dem Mandanten Pfad zu tun

Aber man kennt mich ja, immer wieder habe ich neue (abstruse) Ideen
1. wäre es klasse, wenn man in das PopupFenster mit dem Bild einen Link einbinden könnte (klick auf`s Bild schliesst Fenster)
2. wäre es super, wenn man wahlweise auch die Beschreibung mit anzeigen könnte
Dann würde das pflegen der Beschreibungen auch Sinn machen und evtl. hätten die Besucher durch die angezeigte Beschreibung auch einen "Mehrwert"
ansonsten: Klasse Sache, funkt nun wie gewünscht und macht (bisher) keine Probleme.
Danke
TimeSpirit
Probleme behoben..Dateiverwaltung wieder da.
Hatte nichts mit dem Modul sondern mit dem Mandanten Pfad zu tun


Aber man kennt mich ja, immer wieder habe ich neue (abstruse) Ideen

1. wäre es klasse, wenn man in das PopupFenster mit dem Bild einen Link einbinden könnte (klick auf`s Bild schliesst Fenster)
2. wäre es super, wenn man wahlweise auch die Beschreibung mit anzeigen könnte
Dann würde das pflegen der Beschreibungen auch Sinn machen und evtl. hätten die Besucher durch die angezeigte Beschreibung auch einen "Mehrwert"
ansonsten: Klasse Sache, funkt nun wie gewünscht und macht (bisher) keine Probleme.
Danke
TimeSpirit
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Re: nu aber
Das duerfte nicht so schwierig sein. Guck Dir das Bildergalerie-Modul, welches Andreas ('kummer') vor 2-3 Tagen veroeffentlicht hat (im Forum). Da ist das mit dem Popup so gemacht, dass beim Anklicken das Fenster zugeht.Zeitgeist hat geschrieben:1. wäre es klasse, wenn man in das PopupFenster mit dem Bild einen Link einbinden könnte (klick auf`s Bild schliesst Fenster)
-
- Beiträge: 33
- Registriert: Di 6. Jul 2004, 19:18
- Kontaktdaten:
Hi,
die Galerie funktioniert einwandfrei. Habe jedoch folgende
Meldung im Errorlog:
Ich kann mich damit anfreunden sie zu ignorieren *g*. sicher
hat das etwas zu bedeuten...aber nur was ?
grüßels René
die Galerie funktioniert einwandfrei. Habe jedoch folgende
Meldung im Errorlog:
Code: Alles auswählen
[15-Jul-2004 09:37:20] PHP Warning: strstr(): Empty delimiter. in /homepages/38/d97470565/htdocs/cms/front_content.php(563) : eval()'d code on line 91
hat das etwas zu bedeuten...aber nur was ?
grüßels René
Hallo,
ich hab auch Fehlermeldungen....
und noch ein anderes Problem:
Wenn ein User ein Bild hochlädt, wird dieses 2-3x (in gross&Klein) auf dem Server gespeichert. Manchmal nur ein Dummy in dem nur das Wasserzeichen ist, aber manchmal eben auch 3fach (Unterschied nur der TimeStamp)
greets
TimeSpirit
ich hab auch Fehlermeldungen....
und noch ein anderes Problem:
Wenn ein User ein Bild hochlädt, wird dieses 2-3x (in gross&Klein) auf dem Server gespeichert. Manchmal nur ein Dummy in dem nur das Wasserzeichen ist, aber manchmal eben auch 3fach (Unterschied nur der TimeStamp)
greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen 
Keine Einträge im Errorlog
Contenido 4.4.4 - Firefox -

Keine Einträge im Errorlog

Contenido 4.4.4 - Firefox -
Hi,
habe in die galerie die popup funktion von Andreas Kummer
integriert. Das popup resize habe ich über javascript gelöst,
da mir die php variante zu viel zeit geraubt hat
:
hier ist der modifizierte output
(input gibt es auf seite [1])
Hier nun die Datei Popupviewer, diese platziert ihr in dem verzeichnis
in welchem sich die front_content.php befindet (/cms/):
(den code in eine datei kopieren und anschließend popupviewer.php
nennen)
das wars
gruß René
habe in die galerie die popup funktion von Andreas Kummer
integriert. Das popup resize habe ich über javascript gelöst,
da mir die php variante zu viel zeit geraubt hat

hier ist der modifizierte output
(input gibt es auf seite [1])
Code: Alles auswählen
<?
// Bildergalerie
// Imageresize über ImageMagick *ODER* GD
// Version: 15.01.2004
//
// Author: Large Green Wood vgl. http://www.contenido.de/front_dev/upload/1ImageGal.txt
// Modified by: Robert Strouhal www.clearcreative.de
echo "<p>\n";
// ANFANG OUTPUT
$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagetypes=explode(";","CMS_VALUE[4]");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";
$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";
$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";
$im_path="CMS_VALUE[9]";
//-- config ende -------------------------------------
function is_image($filename,$typearray) {
reset($typearray);
while($val=each($typearray)) {
if (strstr($filename,$val[value])!==false) {
return true;
}
}
}
// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
$source = ImageCreateFromJpeg($sourceFile);
$width = ImageSx($source);
$height = ImageSy($source);
if ($width > $height){ // Querformat
$newheight = $height*($newwidth/$width);
}else{ // Hochformat
$newwidth = $width*($newheight/$height);
}
$target = ImageCreateTrueColor($newwidth,$newheight);
// ÄNDERUNG vgl. Forums-Beitrag imagecopyresized ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJPEG($target,$targetFile,100);
}
//-- functions ende ----------------------------------
if (!isset($mmstart)) {
$mmstart=0;
}
// Anzeige eines Bildes oder Übersicht?
if ($subfile!="") {
// Bild anzeigen
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br>";
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
} else {
// Gallery anzeigen
$handle=opendir($imagedir);
echo "<table>";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
$filearray[]=$file;
}
}
reset($filearray);
// skip images...
for ($n=0;$n<$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
// generate thumbnail, if nessesairy. Now THIS is fun :)
// natuerlich nur, wenn imagemagick vorhanden ist...
if (!file_exists($thumbnails."/thb_".$file) ) {
if ($im_path!="") {
$cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;
exec($cmd);
// nochmal prüfen!
$thumbnail=file_exists($thumbnails."/thb_".$file);
} else{
// Bilder mit GD verkleinern
@ini_set("max_execution_time", 120);
@resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
$thumbnail=file_exists($thumbnails."/thb_".$file);
}
} else
$thumbnail=true;
if ($n%$cols==0)
echo "<tr>\n";
if ($image_idcat!=0)
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
else
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"#\" onClick=\"window.open('{$cfgClient[$client]["path"]["htmlpath"]}popupviewer.php?uri={$imagedir}/{$file}','bild','width=200,height=200,top=10,left=10,scrollbars=yes,topmargin=0,leftmargin=0');\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
$n++;
if ($n%$cols==0)
echo "</tr>\n";
// nur solange wie's not tut...
if ($n>=$rows*$cols)
break;
}
echo "<tr> <td colspan=\"$cols\" align=\"center\">";
if ($mmstart>0) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
echo "<a href=\"$url\">vorherige Bilder...</a>";
}
echo "<span style=\"font-size: 9pt;\">| zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." |</span>";
if ($n+$mmstart<count($filearray)) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
echo "<a href=\"$url\">weitere Bilder...</a>";
}
echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen
echo "</p>";
?>
Hier nun die Datei Popupviewer, diese platziert ihr in dem verzeichnis
in welchem sich die front_content.php befindet (/cms/):
(den code in eine datei kopieren und anschließend popupviewer.php
nennen)
Code: Alles auswählen
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 5">
<title></title>
<style media="screen" type="text/css"><!--
#layer1 { position: absolute; top: 0px; left: 0px; visibility: visible }
--></style>
<SCRIPT TYPE="text/javascript">
<!--
function targetopener(mylink, closeme, closeonly)
{
if (! (window.focus && window.opener))return true;
window.opener.focus();
if (! closeonly)window.opener.location.href=mylink.href;
if (closeme)window.close();
return false;
}
//-->
function resize() {
properwidth = Number( document.images["galeriebild"].width );
if (properwidth<250){
properwidth=250;
}
properheight = Number( document.images["galeriebild"].height )+10;
if (document.layers) {
window.innerWidth = properwidth+5;
window.innerHeight = properheight+5;
}
else {
window.resizeTo(properwidth+5, properheight+20);
window.innerWidth = properwidth+5;
window.innerHeight = properheight+20;
}
}
</SCRIPT>
</head>
<body onload="resize()" bgcolor="#ffffff">
<div id="layer1">
<a href="/" onClick="return targetopener(this,true,true)"><img src="<?print $_GET['uri'];?>" name="galeriebild" border="0"></a></div>
<p></p>
</body>
</html>
gruß René
Zuletzt geändert von ReneWho am Sa 17. Jul 2004, 10:25, insgesamt 3-mal geändert.
Hi,
ich habs noch nicht eingebaut, aber macht "zurück" in einem Popup Sinn?
Wäre "close" nicht sinnvoller?
Oder wenn "zurück" dann nicht auch "vor"?
Kann auch sein, dass ich "zu dumm" bin den Source richtig zu interpretieren
greets
TimeSpirit
ich habs noch nicht eingebaut, aber macht "zurück" in einem Popup Sinn?
Wäre "close" nicht sinnvoller?
Oder wenn "zurück" dann nicht auch "vor"?
Kann auch sein, dass ich "zu dumm" bin den Source richtig zu interpretieren
greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen 
Keine Einträge im Errorlog
Contenido 4.4.4 - Firefox -

Keine Einträge im Errorlog

Contenido 4.4.4 - Firefox -
Hallo Zeitgeist
ist der code bei der thumbausgabe. dort öffnet javascript
ein popup an das die url des originalbildes weitergegeben wird.
die passage "zurück" kann ignorriert oder gelöscht werden.
René
Das ist ein überbleipsel aus der "originalversion". relevantmacht "zurück" in einem Popup Sinn?
Wäre "close" nicht sinnvoller?
ist der code bei der thumbausgabe. dort öffnet javascript
ein popup an das die url des originalbildes weitergegeben wird.
die passage "zurück" kann ignorriert oder gelöscht werden.
René
Hallo Ihr fleißigen,
Ich habe mit die Bildergalerie angesehen und fand diese sehr simpel und deswegen sehr gut.
Lobend zu erwähnen "DIESES MODUL LÄUFT AUCH MIT EINER 2. NAVIGATION".
Leider kann ich von meinen Kunden nicht erwarten, dass diese sich mit Verzeichnissen und der Verlinkung von Dateien (in diesem Fall Bilder) auskennen.
Um es kurz zu machen ich habe euer Modul etwas umgeschrieben und Drop Down Feld für die Verzeichnissauswahl des Originalbildes und des Tumpnails eingebaut. Es werden alle Ordner und Unterordner im Verzeichniss "cms/upload" aufgelistet.
Zusätzlich habe ich eine Defaulteinstellung für die Dateitypen eingerichtet.
Defaultwert = ".jpg;.gif;.png"
Weiter habe ich die Möglichkeit eingebaut, das Modul abzustellen, da nicht jeder Artikel, der mit diesem Template konfiguriert wurde auch genug Bilder für eine Bilder-Galerie hat.
INFO: Version dieses Moduls ist die der ersten Seite ohne weitere Änderungen (außer meinen).
Hier der Code:
INPUT:
OUTPUT:
Leider kann ich keinen Support anbieten! Sorry, Sorry!!
Nochmals vielen Dank für eure Beiträge, Lob und Anerkennung!!!!
Ich habe mit die Bildergalerie angesehen und fand diese sehr simpel und deswegen sehr gut.
Lobend zu erwähnen "DIESES MODUL LÄUFT AUCH MIT EINER 2. NAVIGATION".
Leider kann ich von meinen Kunden nicht erwarten, dass diese sich mit Verzeichnissen und der Verlinkung von Dateien (in diesem Fall Bilder) auskennen.
Um es kurz zu machen ich habe euer Modul etwas umgeschrieben und Drop Down Feld für die Verzeichnissauswahl des Originalbildes und des Tumpnails eingebaut. Es werden alle Ordner und Unterordner im Verzeichniss "cms/upload" aufgelistet.
Zusätzlich habe ich eine Defaulteinstellung für die Dateitypen eingerichtet.
Defaultwert = ".jpg;.gif;.png"
Weiter habe ich die Möglichkeit eingebaut, das Modul abzustellen, da nicht jeder Artikel, der mit diesem Template konfiguriert wurde auch genug Bilder für eine Bilder-Galerie hat.
INFO: Version dieses Moduls ist die der ersten Seite ohne weitere Änderungen (außer meinen).
Hier der Code:
INPUT:
Code: Alles auswählen
$selected = "CMS_VALUE[0]";
class pfad {
function pfad($pfad) {
$this->pfad = $pfad;
$this->pathlen = strlen($this->pfad);
}
function getPath($root,$level = 0) {
$content = $this->readDir($root);
foreach ($content as $file) {
if (is_dir($root.$file)) {
$verzeichnis = substr($root,$this->pathlen);
$returnvalue["./upload/{$verzeichnis}{$file}"] = str_repeat(" ",$level * 5).$file;
$returnvalue = array_merge($returnvalue,$this->getPath($root.$file."/",$level+1));
}
}
return $returnvalue;
}
function readDir($path) {
$handle = opendir($path);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") $returnvalue[] = $file;
}
closedir($handle);
return $returnvalue;
}
function makeSelect($preselection) {
$pfad = $this->getPath($this->pfad);
foreach ($pfad as $key => $value) {
if ($preselection == $key) {
echo "<option value=\"$key\" selected=\"selected\">$value</option>";
} else {
echo "<option value=\"$key\">$value</option>";
}
}
}
}
//funktion für die checkboxen
function d_checked($which) {
if ($which != "") {
return "checked";
}
} // end function
$pfad = new pfad($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload']);
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr>
<td>Gallerie verwenden:</td>
<td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[10]")." name=\"CMS_VAR[10]\"><font size=\"-2\"> Wird empfolhlen, wenn mehr als 3 Bilder vorhanden sind!</font></td>
</tr>
<tr valign=\"top\">
<td>Einzelbild-Seite</td>
<td><select name=\"CMS_VAR[0]\">";
echo "<option value=1 "; if ($selected == 1){ echo " selected ";}
echo ">PopUp-Fenster</option>";
echo "<option value=0 "; if ($selected == 0){ echo " selected ";}
echo ">diese Seite</option>";
echo "</select></td>";
echo "</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Bilderpfad:</td>
<td><select size=\"1\" name=\"CMS_VAR[2]\" />";
$pfad->makeSelect("CMS_VALUE[2]");
echo " </td>
</tr>
<tr>
<td>Thumbnailpfad:</td>
<td><select size=\"1\" name=\"CMS_VAR[3]\" />";
$pfad->makeSelect("CMS_VALUE[3]");
echo " </td>
</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Image-Dateieendung (z.B. .jpg;.gif):</td>
<td><input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"></td>
</tr>
<tr>
<td>Thumbnailtabelle in Spalten x Zeilen:</td>
<td><input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=2 maxlength=3 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"></td>
</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Thumbnailgrösse in XxY:</td>
<td><input size=3 maxlength=3 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=3 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td>
</tr>
</table>";
Code: Alles auswählen
<?php
$allowGalerie="CMS_VALUE[10]";
if ($allowGalerie == "on"){
echo "<script language=\"JavaScript\">
function boo(){
}
</script>
<div class=\"htmltext\">";
// Bildergalerie
// Imageresize über ImageMagick *ODER* GD
// Version: 15.01.2004
//
// Author: ??
// Modified by: Robert Strouhal www.clearcreative.de
// Second modified by: Mr.O www.LG-Web.de
// ANFANG OUTPUT
$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagefiletypes="CMS_VALUE[4]";
if ("$imagefiletypes" == ""){$imagefiletypes=".jpg;.gif;.png";};
$imagetypes=explode(";","$imagefiletypes");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";
$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";
$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";
$im_path="CMS_VALUE[9]";
//-- config ende -------------------------------------
function is_image($filename,$typearray) {
reset($typearray);
while($val=each($typearray)) {
if (strstr($filename,$val[value])!==false) {
return true;
}
}
}
// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
$source = ImageCreateFromJpeg($sourceFile);
$width = ImageSx($source);
$height = ImageSy($source);
if ($width > $height){ // Querformat
$newheight = $height*($newwidth/$width);
}else{ // Hochformat
$newwidth = $width*($newheight/$height);
}
$target = ImageCreateTrueColor($newwidth,$newheight);
imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJPEG($target,$targetFile,100);
}
//-- functions ende ----------------------------------
if (!isset($mmstart)) {
$mmstart=0;
}
// Anzeige eines Bildes oder Übersicht?
if ($subfile!="") {
// Bild anzeigen
// echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
// echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br>";
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
} else {
// Gallery anzeigen
$handle=opendir($imagedir);
echo "<table>";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
$filearray[]=$file;
}
}
reset($filearray);
// skip images...
for ($n=0;$n<$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
// generate thumbnail, if nessesairy. Now THIS is fun :)
// natuerlich nur, wenn imagemagick vorhanden ist...
if (!file_exists($thumbnails."/thb_".$file) ) {
if ($im_path!="") {
$cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;
exec($cmd);
// nochmal prüfen!
$thumbnail=file_exists($thumbnails."/thb_".$file);
} else{
// Bilder mit GD verkleinern
@ini_set("max_execution_time", 120);
@resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
$thumbnail=file_exists($thumbnails."/thb_".$file);
}
} else
$thumbnail=true;
if ($n%$cols==0)
echo "<tr>\n";
if ($image_idcat!=0){
// Bilder in PopUp anzeigen
$imageSize = getimagesize($imagedir."/".$file);
$js = " onClick=\"javascript:window.open('".$imagedir."/".$file."','','height=".($imageSize[1]+30).",width=".($imageSize[0]+30)."')\" ";
$url = "javascript:boo();";
}else{
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
$js = "";
}
echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"$url\" $js>".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
$n++;
if ($n%$cols==0)
echo "</tr>\n";
// nur solange wie's not tut...
if ($n>=$rows*$cols)
break;
}
echo "<tr> <td colspan=\"$cols\" align=\"center\">";
if ($mmstart>0) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
echo "<a href=\"$url\">zurück</a>";
}
echo "<span style=\"font-size: 9pt;\"> | Bild ".($mmstart+1)." - ".($mmstart+$n)." | </span>";
if ($n+$mmstart<count($filearray)) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
echo "<a href=\"$url\">weiter</a>";
}
echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen
echo "</div>";
}; // End if allowGalerie
?>
Nochmals vielen Dank für eure Beiträge, Lob und Anerkennung!!!!
Bildbeschreibung aus der Dateiverwaltung
Ich benutze das Bildergaleriemodul von clear.creative und das funktioniert super.
Hat aber jemand einen Tipp, wie ich die Bildbeschreibung aus der Dateiverwaltung unter die Thumbs und die Bilder in der Großansicht bekomme.
Wie lese ich diese aus. Kann mir noch geholfen werden?
Danke für Eure Hilfe
Hier der von mir verwendete Code
Input:
Output:
Hat aber jemand einen Tipp, wie ich die Bildbeschreibung aus der Dateiverwaltung unter die Thumbs und die Bilder in der Großansicht bekomme.
Wie lese ich diese aus. Kann mir noch geholfen werden?
Danke für Eure Hilfe
Hier der von mir verwendete Code
Input:
Code: Alles auswählen
$selected = "CMS_VALUE[0]";
class pfad {
function pfad($pfad) {
$this->pfad = $pfad;
$this->pathlen = strlen($this->pfad);
}
function getPath($root,$level = 0) {
$content = $this->readDir($root);
foreach ($content as $file) {
if (is_dir($root.$file)) {
$verzeichnis = substr($root,$this->pathlen);
$returnvalue["./upload/{$verzeichnis}{$file}"] = str_repeat(" ",$level * 5).$file;
$returnvalue = array_merge($returnvalue,$this->getPath($root.$file."/",$level+1));
}
}
return $returnvalue;
}
function readDir($path) {
$handle = opendir($path);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") $returnvalue[] = $file;
}
closedir($handle);
return $returnvalue;
}
function makeSelect($preselection) {
$pfad = $this->getPath($this->pfad);
foreach ($pfad as $key => $value) {
if ($preselection == $key) {
echo "<option value=\"$key\" selected=\"selected\">$value</option>";
} else {
echo "<option value=\"$key\">$value</option>";
}
}
}
}
//funktion für die checkboxen
function d_checked($which) {
if ($which != "") {
return "checked";
}
} // end function
$pfad = new pfad($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload']);
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr>
<td>Gallerie verwenden:</td>
<td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[10]")." name=\"CMS_VAR[10]\"><font size=\"-2\"> Wird empfolhlen, wenn mehr als 3 Bilder vorhanden sind!</font></td>
</tr>
<tr valign=\"top\">
<td>Einzelbild-Seite</td>
<td><select name=\"CMS_VAR[0]\">";
echo "<option value=1 "; if ($selected == 1){ echo " selected ";}
echo ">PopUp-Fenster</option>";
echo "<option value=0 "; if ($selected == 0){ echo " selected ";}
echo ">diese Seite</option>";
echo "</select></td>";
echo "</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Bilderpfad:</td>
<td><select size=\"1\" name=\"CMS_VAR[2]\" />";
$pfad->makeSelect("CMS_VALUE[2]");
echo " </td>
</tr>
<tr>
<td>Thumbnailpfad:</td>
<td><select size=\"1\" name=\"CMS_VAR[3]\" />";
$pfad->makeSelect("CMS_VALUE[3]");
echo " </td>
</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Image-Dateieendung (z.B. .jpg;.gif):</td>
<td><input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"></td>
</tr>
<tr>
<td>Thumbnailtabelle in Spalten x Zeilen:</td>
<td><input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=2 maxlength=3 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"></td>
</tr>
<tr bgcolor=\"#E8E8EE\">
<td>Thumbnailgrösse in XxY:</td>
<td><input size=3 maxlength=3 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=3 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td>
</tr>
</table>";
Code: Alles auswählen
<?php
$allowGalerie="CMS_VALUE[10]";
if ($allowGalerie == "on"){
echo "<script language=\"JavaScript\">
function boo(){
}
</script>
<center>
<div class=\"htmltext\">";
// Bildergalerie
// Imageresize über ImageMagick *ODER* GD
// Version: 15.01.2004
//
// Author: ??
// Modified by: Robert Strouhal www.clearcreative.de
// Second modified by: Mr.O www.LG-Web.de
// ANFANG OUTPUT
$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagefiletypes="CMS_VALUE[4]";
if ("$imagefiletypes" == ""){$imagefiletypes=".jpg;.gif;.png";};
$imagetypes=explode(";","$imagefiletypes");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";
$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";
$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";
$im_path="CMS_VALUE[9]";
//-- config ende -------------------------------------
function is_image($filename,$typearray) {
reset($typearray);
while($val=each($typearray)) {
if (strstr($filename,$val[value])!==false) {
return true;
}
}
}
// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
$source = ImageCreateFromJpeg($sourceFile);
$width = ImageSx($source);
$height = ImageSy($source);
if ($width > $height){ // Querformat
$newheight = $height*($newwidth/$width);
}else{ // Hochformat
$newwidth = $width*($newheight/$height);
}
$target = ImageCreateTrueColor($newwidth,$newheight);
imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJPEG($target,$targetFile,100);
}
//-- functions ende ----------------------------------
if (!isset($mmstart)) {
$mmstart=0;
}
// Anzeige eines Bildes oder Übersicht?
if ($subfile!="") {
// Bild anzeigen
// echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
// echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br>";
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
} else {
// Gallery anzeigen
$handle=opendir($imagedir);
echo "<center><table>";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
$filearray[]=$file;
}
}
reset($filearray);
// skip images...
for ($n=0;$n<$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
// generate thumbnail, if nessesairy. Now THIS is fun :)
// natuerlich nur, wenn imagemagick vorhanden ist...
if (!file_exists($thumbnails."/thb_".$file) ) {
if ($im_path!="") {
$cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;
exec($cmd);
// nochmal prüfen!
$thumbnail=file_exists($thumbnails."/thb_".$file);
} else{
// Bilder mit GD verkleinern
@ini_set("max_execution_time", 120);
@resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
$thumbnail=file_exists($thumbnails."/thb_".$file);
}
} else
$thumbnail=true;
if ($n%$cols==0)
echo "<tr>\n";
if ($image_idcat!=0){
// Bilder in PopUp anzeigen
$imageSize = getimagesize($imagedir."/".$file);
$js = " onClick=\"javascript:window.open('".$imagedir."/".$file."','','height=".($imageSize[1]+30).",width=".($imageSize[0]+30)."')\" ";
$url = "javascript:boo();";
}else{
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
$js = "";
}
echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"$url\" $js>".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
$n++;
if ($n%$cols==0)
echo "</tr>\n";
// nur solange wie's not tut...
if ($n>=$rows*$cols)
break;
}
echo "<tr> <td colspan=\"$cols\" align=\"center\">";
if ($mmstart>0) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
echo "<a href=\"$url\">zurück</a>";
}
echo "<span style=\"font-size: 9pt;\"> | Bild ".($mmstart+1)." - ".($mmstart+$n)." | </span>";
if ($n+$mmstart<count($filearray)) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
echo "<a href=\"$url\">weiter</a>";
}
echo "</tr>\n";
echo "</table></center>";
} // Ende Gallery anzeigen
echo "</div>";
}; // End if allowGalerie
?>