Global Translater 1.2.6 Codefehler + Fix

php-warnungGlobal Translator 1.2.6 (die derzeit aktuellste Version) hat laut Bloggerkollege Kenny, der hinsichtlich Programmierung in meinen Augen ein kompetenter Ansprechpartner ist, einen Fehler im Code. Der Fehler lässt sich in der Errorlog des Servers nachvollziehen, sucht folgende Zeile:

[Datum] [error] [client IP] PHP Warning: <>is_dir(): open_basedir restriction in effect. File (bla.bla) is not within the allowed path(s): (/Pfad/zu/den/httpdocs:/tmp) in wp-content/plugins/global-translator/translator.php on line 1520

In seinem Blogbeitrag zeigt er auch, wie sich dieser Fehler beheben lässt.
Öffnet die translator.php im Global Translator Pluginverzeichnis oder wählt im WordPress Adminbereich bei Plugins -> Editor das Plugin aus.

In Zeile 1535 (vlt. auch 1520) dürfte es etwa so aussehen:
php“>if ($item != ‚.‘ && $item != ‚..‘ && $item != ’stale‘ && !is_dir($item)){

Wenn nicht, sucht einfach in eurem Editor nach !is_dir($item) (Suchfunktion meist Tastenkombi Strg+F).

ändert es folgendermaßen ab:
php“>if ($item != ‚.‘ && $item != ‚..‘ && $item != ’stale‘ && !is_dir($cachedir . ‚/‘ . $item)){

Aus dem letzten && !is_dir($item)) wird also
&& !is_dir($cachedir . ‚/‘ . $item))

Danke Kenny für den Hinweis 🙂

3 Kommentare

  1. Wie bereits per Twitter angemerkt, stimmt die Zeilennummer sind so ganz. Grund ist, dass ich mein Global Translator gepatcht habe, damit es besser mit dem WebReader zusammenarbeitet. Durch den Patch kann man sich nämlich die vom Global Translator übersetzten Texte vorlesen lassen, anstatt trotz Übersetzung die original deutschen Texte zu hören. 😉

Schreibe einen Kommentar