Zum Inhalt springen

Frage zu jm_gallery

Erstellt am 12. Januar 2006 · 113 Antworten · letzte Antwort am 28. März 2008 · Seite 3 von 6

Tags: Bilder, Frage

Hobbit ·

Hallo alle zusammen,

habe fast das selbe Problem:
Imagemagick und GDlib sind beide installiert und funktionieren auch beide.

Allerdings sieht man keine Thumbnail und in der Singel ansicht wird ebenfalls kein Image gezeigt.
Die ext. legt zwar jeweils unterordner an (thumb,singel) dort sind aber keine Datein enthalten. Auch nicht wenn ich den Admin (fe_bereich) die Bilder syncronisiere.

Hat jemand das selbe Problem oder kann mir da weiter helfen ?

Gruß aus Köln

thomasweb ·

Sieht so aus als funzt alles, nur

plugin.tx_jmgallery_pi1.list_pid = 1
plugin.tx_jmgallery_pi1.album_pid = 2
plugin.tx_jmgallery_pi1.single_pid = 3
plugin.tx_jmgallery_pi1.properties_pid = 0

funktioniert nicht...

wo genau kommt das hin?
Modul Template > Constants??

Gruss und DANKE@M00re für das tolle Plugin!

m00re ·

Okay... ich habe mittlerweile rausgefunden dass es wohl an der Imagemagick Version liegt. Habe nun das Skalieren nochmals neu implementiert und dabei genau die gleichen Methoden benutzt wie Typo3 es tut. Probierts nochmal aus und macht bitte ggf. nochmal nen copy&paste von der Debug Ausgabe (beinhaltet nun ein paar mehr Informationen).

Gruß Jens

PS: Die aktuellste Version ist unter http://blog.m00re.de/fileadmin/blog.m00re.de/uploads/T3X_jm_gallery-0_3_8-z-200602191336.t3x zu haben.

captnfuture ·

yeah, nu geht's!

hier meine infos aus dem debug:
* Imagemagick: 1
* Path To Imagemagick: /usr/bin/
* Does convert exist in this directory?: Yes
* Checking for IM in different directory, found: /usr/bin/convert
* IM command for resizing:
/usr/bin/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg
* Did it work?: Successful
* Error message from IM:
* GDlib Version: 2.0 or higher
* Imagemagick Version:
Version: ImageMagick 6.2.4 01/17/06 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2005 ImageMagick Studio LLC

@thomasweb:
plugin.tx_jmgallery_pi1.list_pid = 1
plugin.tx_jmgallery_pi1.album_pid = 2
plugin.tx_jmgallery_pi1.single_pid = 3
plugin.tx_jmgallery_pi1.properties_pid = 0

das stellt man im constant editor ein...
also im edeffekt:
"wo genau kommt das hin?
Modul Template > Constants??"
ja ;-)

captnfuture ·

Moin,
ich hab noch mal ein paar Fragen/Anmerkungen:

1. wo finde ich das:

- Neue Code-Elemente: RANDOM und LATEST

Anmerkung: Ich benutz die Version mit dem Debug... ist LATEST dort evt. nicht drin!?

2. Ändert man im Admin-Bereich die Bilder-Einstellungen eines Albums und möchte das dann irgendwann wieder rückgängig machen, also die Default-Einstellung haben, wird in die Felder immer eine Null eingetragen, was dazu führt, dass nach dem "syncronize" als Thumbnails und Single-Ansicht die Bilder in der Original-Größe angezeigt werden!?!

3. Möchte ich die Bilder editieren, werden Änderung für "Caption" (das soll doch der Bildtitel sein, oder nicht?!?) nicht gespeichert.

Vielen Dank schon mal...

m00re ·
captnfuture schrieb

1. wo finde ich das:

- Neue Code-Elemente: RANDOM und LATEST

Anmerkung: Ich benutz die Version mit dem Debug... ist LATEST dort evt. nicht drin!?

RANDOM gibt es bereits, LATEST noch nicht.

captnfuture schrieb

2. Ändert man im Admin-Bereich die Bilder-Einstellungen eines Albums und möchte das dann irgendwann wieder rückgängig machen, also die Default-Einstellung haben, wird in die Felder immer eine Null eingetragen, was dazu führt, dass nach dem "syncronize" als Thumbnails und Single-Ansicht die Bilder in der Original-Größe angezeigt werden!?!

Das Zurückspringen auf die Default Einstellungen habe ich gerade gestern Nacht implementiert. Im Laufe der Woche wirds ne neue Version geben in der das dann geht.

captnfuture schrieb

3. Möchte ich die Bilder editieren, werden Änderung für "Caption" (das soll doch der Bildtitel sein, oder nicht?!?) nicht gespeichert.

Ist auch ein bekannter Bug, und ist in der neuen Version dann gelöst.

Gruß Jens

Cimmie ·

derbst geile Extension! Genau nach sowas habe ich gesucht! Hätte mich schon fast mit der lz_gallery zufrieden gegeben :o
Was nun vielleicht noch interessant wäre, wäre eine Kommentarfunktion 8-)
eventuell könnte man das ve_guestbook dazu missbrauchen o.O
mal sehen, ich kann auch drauf verzichten.

Besten Dank auf jeden Fall für deine Arbeit, top!

test_bed ·

du wolltest die DEBUG infos:
bei mir sind keine bilder zu sehen, bzw nur defekte.
gruss+dank
stefan

Imagemagick: 1
Path To Imagemagick: /home/users/club/htdocs/bin/
Does convert exist in this directory?: No
Checking for IM in different directory, found:
IM command for resizing:
/home/users/club/htdocs/bin/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg
Did it work?: Failed
Error message from IM:
GDlib Version: bundled (2.0.28 compatible)
Imagemagick Version:

thomas.​b ·

Hallo,

bei mir werden keine Bilder angezeigt, Ordner werden aber erstellt.

Konfiguration:
jm_gallery: 0.4.1
Typo 3.8.0

ImageMagick enabled: 1
ImageMagick path: /usr/share/php/ (6.0.6)
ImageMagick path/LZW: /usr/share/php/ (6.0.6)
Version 5 flag: 1

GDLib enabled: 1
GDLib using PNG: 1
GDLib 2 enabled: 1
IM5 effects enabled: 0 (Blurring/Sharpening with IM 5+)
Freetype DPI: 96 (Should be 96 for Freetype 2)
Mask invert: 0 (Should be set for some IM versions approx. 5.4+)

jm_gallery DEBUG-INFO:
Imagemagick: 1
Path To Imagemagick: /usr/share/php/
Does convert exist in this directory?: No
Checking for IM in different directory, found: /usr/bin/convert
IM command for resizing:
/usr/share/php/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg
Did it work?: Failed
Error message from IM:
GDlib Version: 2.0 or higher
Imagemagick Version:
[/b]

m00re ·
test_bed schrieb

du wolltest die DEBUG infos:
bei mir sind keine bilder zu sehen, bzw nur defekte.
gruss+dank
stefan

Imagemagick: 1
Path To Imagemagick: /home/users/club/htdocs/bin/
Does convert exist in this directory?: No
Checking for IM in different directory, found:
IM command for resizing:
/home/users/club/htdocs/bin/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg
Did it work?: Failed
Error message from IM:
GDlib Version: bundled (2.0.28 compatible)
Imagemagick Version:

Dein Problem ist folgendes: Imagemagick ist in Typo3 aktiviert, und als Pfad ist "/home/users/club/htdocs/bin/" angegeben. Mein Script findet darin aber kein "convert" von Imagemagick. Ich bin mir jetzt nicht sicher, aber es kann sein dass das abschließende "/" im IM-Pfad stört. Bist du dir sicher das Imagemagick in Typo3 funktioniert?

Gruß Jens

m00re ·
thomas.b schrieb

jm_gallery DEBUG-INFO:
Imagemagick: 1
Path To Imagemagick: /usr/share/php/
Does convert exist in this directory?: No
Checking for IM in different directory, found: /usr/bin/convert
IM command for resizing:
/usr/share/php/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg
Did it work?: Failed
Error message from IM:
GDlib Version: 2.0 or higher
Imagemagick Version:

Bei dir das gleiche Problem. IM ist in Typo3 aktiviert, aber der Pfad ist in der Typo3-Installation falsch angegeben. Wie du oben siehst ist als Pfad "/usr/share/php/" eingetragen, was aber anscheinend nicht stimmt (eine Suche im PATH ergibt dass IM in "/usr/bin" liegt.)

Also entweder den IM-Path in der Typo3-Installation richtig setzen, oder IM deaktivieren und GDlib benutzen.

Gruß Jens

thomas.​b ·

Hallo und danke schonmal!

Es geht leider trotzdem nicht. Ich habe mit unserem Serveradmin gesprochen. Er hat darauf hingewiesen, dass bei uns aus Sicherheitsgründen ein "symbolischer Link" auf IM verweist.

Oder um mit seinen Worten zu schreiben:
"Folgendes: Im Normalfall installiert sich IM im Pfad /usr/bin. Es ist jedoch völlig ausgeschlossen, darauf Zugriff zu gewähren (aus Sicherheitsgründen, ist in etwa so als ob du dir deinen Bank-PIN auf deine Stirn tätowierst und alle deine Freunde deine Bankkarte ausleihst). Deswegen habe ich eine "symbolische" Verknüpfung der IM-Programme nach /usr/share/php gemacht - ein ungefährliches Verzeichnis. Somit ist der richtige Pfad /usr/share/php, dieser ist auch in Typo3 angegeben (würde er nicht stimmen, würde Typo3 bekanntlich ständig meckern)."

Mit GDlib klappt es, nur leider funktioniert die Bilddarstellung dann nicht mehr im Content (z.B. tt_news).

Wäre ne Alternative den IM-Check auszukommentieren? So ein Vorschlag des Serveradmins.

m00re ·
thomas.b schrieb

Mit GDlib klappt es, nur leider funktioniert die Bilddarstellung dann nicht mehr im Content (z.B. tt_news).

Wäre ne Alternative den IM-Check auszukommentieren? So ein Vorschlag des Serveradmins.

Der IM-Check im DEBUG hat nur informelle Gründe und hat keinen Einfluß auf den Rest. Die Extension schaut wie gesagt ob in Typo3 IM aktiviert ist. Wenn ja, dann wird der in Typo3 angegebene Pfad zu IM benutzt um die Bilder zu erzeugen.

Die Sicherheitsgründe deines Admins verstehe ich nicht so ganz. Was sollte ein symbolischer Link verhindert, was ein direktes zugreifen möglich macht? Ich meine wenn du den symbolischen Link ausführst, dann führst du prinzipiell die gleiche Datei aus. Und da der Aufruf vom Webserver aus getätigt wird, läuft IM auch nur mit dessen Rechten.

Ich kann momentan nicht ganz verstehen wie tt_news mit IM zurecht kommt, denn der Beispielaufruf von IM

"/usr/share/php/convert -geometry 30x27! -quality 70 typo3/gfx/icon_ok.gif typo3temp/test.jpg"

der den symbolischen Link aufruft schlägt fehl. Ich würde an deiner Stelle einfach mal in der Typo3 Konfiguration den IM-Pfad auf "/usr/bin/" setzen und probieren ob das geht...

Gruß Jens

laufkraft ·

Hi...

Ich sehe auch keine Vorschaubilder,
habe auch die Debug-Ausgabe:

Imagemagick: 1
Path To Imagemagick: /usr/local/bin/
Does convert exist in this directory?: No
Checking for IM in different directory, found: /usr/local/bin/convert
IM command for resizing: 
/usr/local/bin/convert -geometry 30x27! -quality 70 "typo3/gfx/icon_ok.gif" "typo3temp/test.jpg"
Did it work?: Failed
Error message from IM:
GDlib Version: bundled (2.0.28 compatible)
Imagemagick Version:

Aber im Installtool wird IM in genau diesem Verzeichnis erkannt und funktioniert auch,

ABER: Ich bekomme noch folgende Meldungen (über meiner eigentlichen Webseite):

Warning: shell_exec() has been disabled for security reasons in /home/www/ph2s773/html/typo3/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php on line 842

Warning: shell_exec() has been disabled for security reasons in /home/www/ph2s773/html/typo3/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/www/ph2s773/html/typo3/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php:842) in /home/www/ph2s773/html/typo3/tslib/class.tslib_fe.php on line 2614

Was ist denn da los?

m00re ·

Hi!

Okay, das Problem liegt in der Deaktivierung von shell_exec() in PHP (safe_mode on). Ändere in der class.tx_jmgallery_pi1.php die Funktion "resizeImage()" wie folgt ab:

function resizeImage($width, $height, $quality, $source, $target) {
        $gfxObj = t3lib_div::makeInstance("t3lib_stdgraphic");
        if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['im'] == 1) {

            $stdGraphic = t3lib_div::makeInstance("t3lib_stdGraphic");
            $info = $stdGraphic->getImageDimensions($source);
            $options = array();
            $options["maxH"] = $height;
            $options["maxW"] = $width;
            $data = $stdGraphic->getImageScale($info, $width."m", $height."m", $options);    
            
            $params = '-geometry '.$data[0].'x'.$data[1].'! -quality '.$quality.' ';
            $cmd = t3lib_div::imageMagickCommand('convert', $params.' "'.$source.'" "'.$target.'"');
            
            $im = array();
            $im["string"] = $cmd;
            $im["error"] = exec($cmd.' 2>&1');
            return $im;
        } else {
            // Get new dimensions
            list($width_orig, $height_orig) = getimagesize($source);
            
            if ($width && ($width_orig < $height_orig)) {
               $width = ($height / $height_orig) * $width_orig;
            } else {
               $height = ($width / $width_orig) * $height_orig;
            }
            
            // Resample
            $image_p = imagecreatetruecolor($width, $height);
            $image = imagecreatefromjpeg($source);
            imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
            
            // Output
            imagejpeg($image_p, $target, $quality);
        }
    }

Ebenso für die generateCover() Methode

function generateCover($cover, $album, $properties) {
        $input = $album["default_dir"]."/".$cover["filename"];
        $output = $album["default_dir"]."/covers/".$this->conf["properties_pid"]."_".$cover["filename"];
        $this->checkDir($album["default_dir"]."/covers");
        
        if ($this->conf["coverEffectEnable"]) {
            
            if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['im'] == 1) {
                
                $stdGraphic = t3lib_div::makeInstance("t3lib_stdGraphic");
                $info = $stdGraphic->getImageDimensions($input);
                $options = array();
                $options["maxH"] = $this->conf["cover."]["maxHeight"];
                $options["maxW"] = $this->conf["cover."]["maxWidth"];
                $data = $stdGraphic->getImageScale($info, $width."m", $height."m", $options);
            
                $dimension = $data[0].'x'.$data[1];
                
                $params = str_replace("###DIMENSION###", $dimension, $this->conf["cover."]["effect"]);
                $params = str_replace("###SOURCE###", '"'.$input.'"', $params);
                $params = str_replace("###TARGET###", '"'.$output.'"', $params);
                $cmd = rtrim($GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path'],'/')."/convert ".$params; 
                
                $im = array();
                $im["string"] = $cmd;
                $im["error"] = exec($cmd.' 2>&1');
                return $im;
            } else {
                return null;
            }
        } else {
            return $this->resizeImage($this->conf["cover."]["maxWidth"], $this->conf["cover."]["maxHeight"], $this->conf["cover."]["quality"], $input, $output);
        }
    }

Anmerkung: Geändert wurde nur der IM-Aufruf von shell_exec(...) nach exec(...).

Gruß Jens

laufkraft ·

Guten morgen Jens,

hab es geänder, aber nur mit wenig Erfolg:

Imagemagick: 1
Path To Imagemagick: /usr/local/bin/
Does convert exist in this directory?: No
Checking for IM in different directory, found: /usr/local/bin/convert
IM command for resizing: 
/usr/local/bin/convert -geometry 30x27! -quality 70 "typo3/gfx/icon_ok.gif" "typo3temp/test.jpg"
Did it work?: Successful
Error message from IM:
GDlib Version: bundled (2.0.28 compatible)
Imagemagick Version:

Bilder erscheinen keine und es kommt noch diese Meldung oben in der Website:

Warning: shell_exec() has been disabled for security reasons in /home/www/ph2s773/html/typo3/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/www/ph2s773/html/typo3/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php:173) in /home/www/ph2s773/html/typo3/tslib/class.tslib_fe.php on line 2614

schonmal Danke im Voraus!
Oli

laufkraft ·

...
habe nun die schell_exec() Meldungen weg, war noch eine Zeile zu editieren:

$convert = exec($GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path']."convert -version");

Aber ich sehe nur an einer Stelle ein Bild, nämlich in der Administration, wo ich ein Einzelbild editieren kann, sonst keine Bilder zu sehn...

Liegt das noch daran:

Imagemagick: 1
Path To Imagemagick: /usr/local/bin/
Does convert exist in this directory?: No
Checking for IM in different directory, found: /usr/local/bin/convert
IM command for resizing: 
/usr/local/bin/convert -geometry 30x27! -quality 70 "typo3/gfx/icon_ok.gif" "typo3temp/test.jpg"
Did it work?: Successful
Error message from IM:
GDlib Version: bundled (2.0.28 compatible)
Imagemagick Version:

😉

foppaxl ·

Hallo Jens,
folgendes Problem tritt bei mir gerade auf:
Ich synchronisiere und erstelle die thumbs, singles etc.
Will ich mir das Album dann anschauen, sehe ich zwar die thumbs und auch das cover, die singles jedoch nicht.
Obwohl sie erstellt und abgelegt wurden im Ordner Singles, versucht die Extension sie im Ordner 89_singles (den es nicht gibt) zu laden.
Woran kann denn das liegen?

Danke,
Heiko