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

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

joegi ·

Morgen zusammen
hatte die Gallery unter V3.8 am laufen und hat bestens funktioniert.
Nach dem update auf 4.0 ist jetzt alles leer. Habe Extensin bereits neu aus dem ter installiert aber leider ohne Erfolg.
wer weiss weiter?

Stephan_Cordes ·

Hallo,
ich habe beobachtet, dass jm_gallery in einigen Browswen nicht richtig funktioniert.
Unter Linux im Firefox muss die Seite immer wieder neu geladen werden, damit überhaupt irgend etwas zu sehen ist.
In Opera werden keine Bilder angezeigt, sindern nur ein kleines Kästchen mit dem Text "Bild".
In anderen Browsern scheint es zu funktionieren.

Woran kann das liegen?
Ist das ein Bug, oder habe ich etwas falsch gemacht?

Viele Grüsse
Stephan

kulli ·

Moin

Ich bin gerade am experimentiern mit jm_gallery, haut soweit auch alles hin.
Jetzt wollte ich "generate polaroid like covers" test und bekomme es nicht hin #angry#

Ohne den Zusatz im Constant Bereich wurde das ausgewählte Cover angezeigt, wenn ich aber den Code aus der Anleitung dazunehme und das ganze "aktualisiere" wird nur ein Link angezeigt, so als hätte ich kein Cover ausgewählt.

Code im CONSTANT Bereich:

# to generate polaroid like covers
plugin.tx_jmgallery_pi1 {
    coverEffectEnable = 1
    cover.effect = ###SOURCE### -thumbnail '###DIMENSION###>' -bordercolor white -border 6 -bordercolor grey60 -border 1 -background none -rotate -9 -background black \( +clone -shadow 60x4+4+4 \) +swap -background '#3c3c3c' -flatten -quality 100 ###TARGET###
}

maxHeight & Width sind über den Constant-Editor festgelegt worden und auch übernommen worden.

Der DEBUG gibt folgendes aus:

# magemagick: 1
# Path To Imagemagick: /usr/bin/
# Does convert exist in this directory?: No
# 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.0.6 01/28/06 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2004 ImageMagick Studio LLC

warscheinlich habe ich da einen ganz doofen Denkfehler drin, aber bitte stozt mich da mal mit der Nase drauf.

Ich bin mir nicht ganz sicher was ich jetzt mit den Platzhaltern anfagen soll, bleiben die so oder muß ich das Template noch anpassen - dann könnte ich den Fehler gefunden haben, da habe ich jetzt nix geändert.

Gruß
Kulli

m00re ·
foppaxl schrieb

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

Hi!

Du hast noch Album Properties auf deiner Seite 89 gespeichert. Am besten definiert ihr KEINE thumbnail/single Settings im Admin Frontend. D.h., du löschst am besten alle Album Propertie Records auf Seite 89, setzt deine Single/Thumbnail Einstellungen per TS Constants und Synchronisierst nochmal neu.

Gruß Jens

m00re ·
joegi schrieb

Morgen zusammen
hatte die Gallery unter V3.8 am laufen und hat bestens funktioniert.
Nach dem update auf 4.0 ist jetzt alles leer. Habe Extensin bereits neu aus dem ter installiert aber leider ohne Erfolg.
wer weiss weiter?

Unter Typo3 4.0 habe ich die Extension noch nicht getestet. Du bist aber nicht der erste der mir von Problemen in Verbindung mit T3 4.0 berichtet. Da musst du leider noch auf die nächste Version warten.

Gruß Jens

m00re ·
Stephan_Cordes schrieb

Hallo,
ich habe beobachtet, dass jm_gallery in einigen Browswen nicht richtig funktioniert.
Unter Linux im Firefox muss die Seite immer wieder neu geladen werden, damit überhaupt irgend etwas zu sehen ist.
In Opera werden keine Bilder angezeigt, sindern nur ein kleines Kästchen mit dem Text "Bild".
In anderen Browsern scheint es zu funktionieren.

Woran kann das liegen?
Ist das ein Bug, oder habe ich etwas falsch gemacht?

Viele Grüsse
Stephan

Da du der erste bist der von solchen Phänomenen erzählt, tippe ich mal dass du etwas falsch gemacht hast. Da ich jetzt nichts über dein Setup weiß, verweise ich einfach mal auf mein Tutorial Video unter http://blog.m00re.de/fileadmin/blog.m00re.de/uploads/jm_gallery-setup-tutorial.avi

kulli schrieb

Moin

Ich bin gerade am experimentiern mit jm_gallery, haut soweit auch alles hin.
Jetzt wollte ich "generate polaroid like covers" test und bekomme es nicht hin #angry#

Ohne den Zusatz im Constant Bereich wurde das ausgewählte Cover angezeigt, wenn ich aber den Code aus der Anleitung dazunehme und das ganze "aktualisiere" wird nur ein Link angezeigt, so als hätte ich kein Cover ausgewählt.

Hi!

Also mit deiner Imagemagick Version (6.0.6) geht dieser Effekt sowieso nicht (steht aber glaub auch im Manual drin). D.h. das Cover wird nicht generiert, da Imagemagick abbricht mit einer Fehlermeldung.

Bezüglich der Covers hier ein Auszug aus 2 eMails:

Also die Platzhalter ###SOURCE###, ###DIMENSION### und ###TARGET### sind
Platzhalter für mein Script. An diesen Stellen werden das Originalbild,
die maximale Coverbreite/Coverhöhe und die Zieldatei gesetzt.

Beispiel:

cover.effect = ###SOURCE### -thumbnail '###DIMENSION###>' -bordercolor
white -border 6 -bordercolor grey60 -border 1 -background none -rotate
-9 -background black \( +clone -shadow 60x4+4+4 \) +swap -background
'#3c3c3c' -flatten -quality 100 ###TARGET###

Wird als Cover nun die Datei "xyz.jpg" gewählt (die sich im Ordner
fileadmin/gallery/album/ befindet), dann wird aus dem Kommando oben
folgendes Kommando:

"fileadmin/gallery/album/xyz.jpg -thumbnail '300x300>' -bordercolor
white -border 6 -bordercolor grey60 -border 1 -background none -rotate
-9 -background black \( +clone -shadow 60x4+4+4 \) +swap -background
'#3c3c3c' -flatten -quality 100 fileadmin/gallery/album/covers/xyz.jpg"

Ich hoffe das ist verständlich 😉 Wenn nicht, melde dich einfach
nochmal.

[...Antwort...]

Ich glaube du hast mich missverstanden. Du ersetzt in dienem TS nicht
die Marker ###SOURCE### ###TARGET### usw... das macht meine Extension
automatisch. Sprich, wenn du einfach nur die Cover Effekte aktivierst
(plugin.tx_jmgallery_pi1.coverEffectEnable = 1) und alles andere so
lässt wie es ist, dann werden die Covers mit dem Polaroid Effekt
generiert.

Der TS Wert plugin.tx_jmgallery_pi1.cover.effect ist nur dafür gedacht,
wenn man den Effekt anpassen will, sprich ein eigenes IM-Kommando
ausführen will. Da bei einem IM-Kommando die Dimension, Quelldatei und
Zieldatei nicht immer an der gleichen Stelle stehen, kann man dafür die
Platzhalter ###SOURCE### usw. benutzen, an deren Stelle meine Extension
dann die richtigen Werte hinschreibt.

Gruß und frohe Ostern,
Jens

Gruß Jens

kulli ·
m00re schrieb

[...]
Hi!

Also mit deiner Imagemagick Version (6.0.6) geht dieser Effekt sowieso nicht (steht aber glaub auch im Manual drin). D.h. das Cover wird nicht generiert, da Imagemagick abbricht mit einer Fehlermeldung.
[...]

Gruß Jens

Moin Jens

Im Beispiel des Manuals steht:

Example: This will only work with IM6+

# to generate polaroid like covers
plugin.tx_jmgallery_pi1 {
    coverEffectEnable = 1
    cover.effect = ###SOURCE### -thumbnail '###DIMENSION###>' -bordercolor white -border 6 -bordercolor grey60 -border 1 -background none -rotate -9 -background black \( +clone -shadow 60x4+4+4 \) +swap -background '#3c3c3c' -flatten -quality 100 ###TARGET###
}

Wo ist den der Unterschied zwischen IM6+ und Imagemagick v6.0.6?

Gruß aus dem Norden
Kulli

joegi ·
m00re schrieb
joegi schrieb

Morgen zusammen
hatte die Gallery unter V3.8 am laufen und hat bestens funktioniert.
Nach dem update auf 4.0 ist jetzt alles leer. Habe Extensin bereits neu aus dem ter installiert aber leider ohne Erfolg.
wer weiss weiter?

Unter Typo3 4.0 habe ich die Extension noch nicht getestet. Du bist aber nicht der erste der mir von Problemen in Verbindung mit T3 4.0 berichtet. Da musst du leider noch auf die nächste Version warten.

Gruß Jens

Problem hat sich für mich gelöst beim Update wurden die Kategorien gelöscht habe diese neu erstellt und jetzt läufts wieder.

Danke für Deine Hilfe Jens

gruss jürg

m00re ·
kulli schrieb

Wo ist den der Unterschied zwischen IM6+ und Imagemagick v6.0.6?
Gruß aus dem Norden
Kulli

Oh, dann hab ich das falsch in Erinnerung. Tut mir Leid.

Gruß Jens

Stephan_Cordes ·

Hallo m00re,

ich habe es auf verschiedenen Rechnern ausprobiert: Unter Linux ließ sich die Galerie weder mit Firefox noch mit Opera benutzen, wenn ich Typo3 Version 4.0 benutze.
Nach einem Update von htmlArea RTE auf die Version 1.4.1 ging wieder alles.

Was hatte das damit zu tun?

Naja, hauptsache es geht wieder.

Grüße,
Stephan

Ted ·

ich hänge meine Frage mal hier an:

ich habe die aktuelle jm_gallery auf meinem Typo3 4.0 mit imagemagick 5.5.4 auf all-inkl.com installiert und zum Laufen gebracht. Jetzt würde ich gerne solche gedrehten Polaroidrahmen für die Albumvorschaubilder generieren, der TS der Docu berücksichtigt aber nur Imagemagic 6+, funktioniert folglich bei mir nicht, wenn der TS-Code aus der Docu läuft wird gar kein Albumvorschaubild gerendert, wenn ich es wieder rausnehme gehts wieder (aber ohne Effekt)...

hat jemand das passende Typoscript für Imagemagic 5.5.4 (oder 4.2.9) herausgefunden?

das kommt beim Debug heraus:

# Imagemagick: 1
# Path To Imagemagick: /usr/bin/
# Does convert exist in this directory?: Yes
# Checking for IM in different directory, found:
# 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: bundled (2.0.28 compatible)
# Imagemagick Version:
Version: ImageMagick 5.5.4 02/01/03 Q16 http://www.imagemagick.org Copyright: Copyright (C) 2003 ImageMagick Studio LLC

danke und Gruß,
Ted