Fatal error: Call to undefined function _image_remove_derivatives() ...
am 06.11.2007 - 22:13 Uhr in
Wenn ich ein Bild in einem acidfree-Album drehen möchte (Rotate Image = clockwise) kommt folgende Fehlermeldung:
Fatal error: Call to undefined function _image_remove_derivatives() in /opt/drupal-5.2/modules/acidfree/class_image.inc on line 75
Folgendermaßen sieht die class_image.inc aus:
73 function _class_image_rotate(&$node) {
74 if ($node->rotate != 0) {
75 _image_remove_derivatives($node);
76 $large_path = file_create_path($node->images[IMAGE_ORIGINAL]);
77 acidfree_rotate_image($large_path, $node->rotate);
78 $filesize = filesize($large_path);
79 db_query("UPDATE {files} SET filesize=%d WHERE filename='%s' AND nid=%d",
80 $filesize, IMAGE_ORIGINAL, $node->nid);
81 _image_build_derivatives($node);
82 unset($node->rotate);
83 node_save($node);
84 }
Kann mir hier jemand weiterhelfen?
Gruß,
Achim
- Anmelden oder Registrieren um Kommentare zu schreiben
Um einen Post noch optimaler
am 06.11.2007 - 22:21 Uhr
Um einen Post noch optimaler zu gestalten. Kannst Du nicht gleich noch die eigentliche Frage in die Ueberschrift reinbringen?
Den Code kann ich gerade noch so auch ohne Zeilennummern lesen. Bitte poste Code ohne solchen Schnickschnack ganz einfach zwischen die Code- oder PHP-Tags.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Welche Acidfree Version
am 06.11.2007 - 23:22 Uhr
Welche Acidfree Version benutzt du denn?
tobee wrote: Welche
am 07.11.2007 - 00:21 Uhr
Welche Acidfree Version benutzt du denn?
@tobee,
korrekt.
Call to undefined function _image_remove_derivatives()
Das laestt auf eine eventuelle Inkompatibilitaet zwischen Drupal- und Acidfree Version schliessen. Oder das verwendete Modul hat eine Macke. Dann koennte man nach einer aktuelleren Version sehen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Problem geklaert.Du
am 07.11.2007 - 01:29 Uhr
Problem geklaert.
Du koenntest die CVS-Version des Modules. Dort ist das Problem gefixt.
Hier der aktuelle Code der CVS-Version von der Funktion aus der Datei "class_image.inc", die den Fehler verursacht:
function _class_image_rotate(&$node) {
if ($node->rotate != 0) {
_image_remove($node);
$large_path = file_create_path($node->images['_original']);
acidfree_rotate_image($large_path, $node->rotate);
$filesize = filesize($large_path);
db_query("UPDATE {files} SET filesize=%d WHERE filename='%s' AND nid=%d",
$filesize, '_original', $node->nid);
_image_build_derivatives($node);
}
}
Eventuell reicht es die bei Dir installierte Version der Datei "class_image.inc" mit der CVS-Version zu ersetzen. Der veraenderte Funktionsaufruf _image_remove($node) spricht das image.module an.
Nun entsteht aber ein neues Problem.
Es gibt verschiedene Versionen der Datei "image.module". Eine enthaelt die Funktion _image_remove($node). Eine andere enthaelt diese Funktion nicht.
Es gibt aber recht viele Versionen der "image.module"
Fazit, Problemloesung
Das klingt jetzt auch fuer mich ueberraschend. In den aktuellen 5-er Versionen sind die Module Image und Acidfree inkompatibel.
Mein Fazit:
Du benoetigst zu Deiner Acidfree Version eine bestimmte (etwas aeltere) Version des Image Modules. Z. Bsp. die Version 1.209.2.44
Ich habe eine Version (1.209.2.44) des Image Module angehangen die mit Deiner Acidfree Version funktionieren sollte, da die Datei "image.module" die Funktion _image_remove_derivatives($node) enthaelt.
Entferne bei der angehangenen Datei die Unterstriche und ".txt".
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Vielen Dank
am 07.11.2007 - 07:28 Uhr
Vielen Dank für die schnelle Hilfe.
Ich werde heute abend die ältere Image Modul-Version einspielen und mal sehen, ob es dann geht.
Gruß,
Achim
Kein Fehler mehr, aber Bild wird nicht gedreht
am 07.11.2007 - 21:51 Uhr
Ich nutze jetzt das ältere Image-Modul. Es kommt zwar die Fehlermeldung nicht mehr, aber das Bild kann ich trotzdem nicht drehen.
Wenn ich Rotate Image = clockwise auswähle und speichere, passiert gar nichts.
Puh, da bin ich jetzt am
am 07.11.2007 - 22:58 Uhr
Puh, da bin ich jetzt am Lateinende.
Bitte klicke Dich mal auf http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/ zu den beiden Modulen durch. Dort kannst Du nicht nur die verschiedenen Versionen downloaden sondern mit "view" den Code inspizieren.
Bei dem Image Modul koennte es, ausgehend von der von mir geposteten Version, eine neuere geben die einerseits die von AcidFree benoetigte Funktion enthaelt und andererseits auch die Funktion des Bilder drehen beherrscht. Ich wuerde die hoechstmoegliche Acidfree kompatible Image Modulversion verwenden. Mal sehen was damit geht.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
ich werde mal sehen und das Ergebnis posten
am 08.11.2007 - 07:22 Uhr
Dennoch vielen Dank für Deine Hilfe.
Wenn ich eine Lösung gefunden habe, werde ich das hier posten.
Gruß an alle,
Achim