Zum Inhalt springen

Icon fehlt zum Teil

Erstellt am 21. Juli 2003 · 8 Antworten · letzte Antwort am 6. Januar 2004

Tags: Bilder, Frage

gecko ·

Hi zusammen,

Im Backend fehlt bei Versteckten Seiten das X oben rechts.
In Login Seiten fehlen auch die zusätzlich überlagerten Symbole.

Kann das irgendwie mit Imagemagick zu tun haben?

Bps ·
gecko schrieb

Hi zusammen,

Im Backend fehlt bei Versteckten Seiten das X oben rechts.
In Login Seiten fehlen auch die zusätzlich überlagerten Symbole.

Kann das irgendwie mit Imagemagick zu tun haben?

Habe hier ein ähnliches Problem.
Sysinfo: Apache 2.0.46 Win PHP 4.3.2 GD2 usw.

Es scheinen sich immer die genierierten Symbole zu verabschieden.
Ich nehme mal an das es sich hier um eine Unverträglichkeit mit PHP 4.3 .X und oder der GD Lib handelt.

[Anmerkung:]
wenn man sich den Link ansieht, der auf das Icon zeigt dann bekommt man dort etwas wie:
http://...../typo3/temp/icon_5090f35188.png
sieht man mal im Verzeichniss nach gibts da ne menge icon_xxxxxxxx.gif
aber keine png´s.
Es schein so als gäbe es da einen Bug der die Generierung der gif´s verhindert.
Weiß irgendwer in welcher php-datei die Generierung stattfindet?

Wenn da einer Erfahrungen dazu hat, Bitte melden.

Grüße
Bernd

Patric ·

Das Problem hab ich auch, aber nur wenn ich längere Zeit mit dem Backend arbeite. Wenn ich mich auslogge und wieder anmelde sind sie wieder da.

Ich tippe mal auf den Cache, das der das irgendwie durcheinander bringt...

Bps ·
Patric schrieb

Das Problem hab ich auch, aber nur wenn ich längere Zeit mit dem Backend arbeite. Wenn ich mich auslogge und wieder anmelde sind sie wieder da.

Ich tippe mal auf den Cache, das der das irgendwie durcheinander bringt...

Sind bei mir definitiv immer nicht vorhanden. Sobald ich eine seite auf "hidden" stelle oder eine Seite mit nem eingeschränkten Zugriff habe ist kein Icon mehr da.

Scheint wohl ein Problem mit Apache Win und PHP zu sein.

Patric ·

was für ein Windows benutzt du?

Hast du Apache usw. einzeln installiert, oder ein WAMP genommen?

gecko ·

bei mir läuft das ganze unter linux
suse 8.2
php 4.3.1
gdlib - keine ahnung... wie bekomme ich das raus?

gecko ·

hab nochwas rausbekommen.....

wenn ich
[GFX][gdlib_png] = 0
setze bekomme ich im baum gar keine einträge mehr.

bei
[GFX][gdlib_png] = 1
sieht wieder alles wie vorher aus, inhalt ist da aber mit kapuitten icons

gibt es eine möglichkeit das backend dazu zu veranlassen, anstelle der png icons die gif icons zu beutzen?

Bps ·

Hallo Leute,
nach langem herumprobieren und nachlesen habe ich das Problem mit den defekten Icons im Backend lösen können.

Was ich hier feststellen konnte, war daß in der class.t3lib_iconworks.php die dynamischen Icons im Backend nicht richtig generiert wurden. zurückblieben im Typo3temp Verzeichniss verschiedene temporäre png files die eigentlich keine sind. Das ist wohl eine unverträglichkeit der neueren gdlib 2.0x bundeld die GIF-read support hat. Deswegen funktioniert auch diese Lösung.

Lösung:

in der
typo3verzeichniss/t3lib/class.t3lib_iconworks.php und in der
typo3verzeichniss/typo3/t3lib/class.t3lib_iconworks.php
(hier unter Windows Apache 2)

folgendes ab Zeile 203 ändern: (natürlich erst die class.t3lib_iconworks.php sichern)

function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h) {
/*
The necessity of using this function for combining two images if GD is version 2 is that
GD2 cannot manage to combine two indexed-color images without totally spoiling everything.
In class.t3lib_stdgraphic this was solved by combining the images onto a first created true color image
However it has turned out that this method will not work if the indexed png-files contains transparency.
So I had to turn my attention to ImageMagick - my "enemy of death".
And so it happend - ImageMagick is now used to combine my two indexed-color images with transparency. And that works.
Of course it works only if ImageMagick is able to create valid png-images - which you cannot be sure of with older versions (still 5+)
The only drawback is (apparently) that IM creates true-color png's. The transparency of these will not be shown by MSIE on windows at this time (although it's straight 0%/100% transparency!) and the file size may be larger.
*/
/* hier Auskommentieren
if ($GLOBALS["TYPO3_CONF_VARS"]["GFX"]["gdlib_2"] && $GLOBALS["TYPO3_CONF_VARS"]["GFX"]["gdlib_png"]) { // Maybe I'll have to change this if GD2/gif does not work either...
if ($GLOBALS["TYPO3_CONF_VARS"]["GFX"]["im_path"]) {
$cmd=$GLOBALS["TYPO3_CONF_VARS"]["GFX"]["im_path"].
($GLOBALS["TYPO3_CONF_VARS"]["GFX"]["im_combine_filename"]?$GLOBALS["TYPO3_CONF_VARS"]["GFX"]["im_combine_filename"]:"combine").
" -compose over ";
$tempBaseName = PATH_site."typo3temp/ICRZ_".md5(uniqid("."));

ImagePng($im, $tempBaseName."_im.png");
ImagePng($cpImg, $tempBaseName."_cpImg.png");
exec($cmd.
$tempBaseName."_cpImg.png ".
$tempBaseName."_im.png ".
$tempBaseName."_out.png "
);
$im = imagecreatefrompng($tempBaseName."_out.png");
unlink($tempBaseName."_im.png");
unlink($tempBaseName."_cpImg.png");
unlink($tempBaseName."_out.png");
}

} else {
imagecopyresized($im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h);
}
*/
//imagecopyresized($im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h);

Sowie weiter unten :
function imagecreatefrom($file) {
$file = t3lib_div::read_png_gif($file, 0 );
//$file = t3lib_div::read_png_gif($file,$GLOBALS["TYPO3_CONF_VARS"]["GFX"]["gdlib_png"]);
if ($GLOBALS["TYPO3_CONF_VARS"]["GFX"]["gdlib_png"]) {
//return $file ? imagecreatefrompng($file) : -1;
return $file ? imagecreatefromgif($file) : -1;
} else {
return $file ? imagecreatefromgif($file) : -1;
}

Dann werden die Icons im Backend wieder richtig generiert.
Falls jemand noch eine bessere Lösung hat bitte Nachicht.

Grüße
Bernd

tovoe ·

Hi,

man ändere folgende Config-Einstellungen:

thumbnails_png=1
gdlib_png = disabled!!!

und erhalte einwandfreie Funktion!!!!

Tsö!