Seite 1 von 1
Module nach Speichern leer / Übersetzungen nicht verwaltbar
Verfasst: Mo 26. Okt 2015, 11:12
von achiboy
Ich bin mir nicht sicher, ob es am Upgrade von 4.9.7 zu 4.9.8 oder an der Umstellung auf SSL liegt.
Wenn ich ein Modul speichere wird der Inhalt gelöscht.
Die Übersetzungen kann ich nicht bearbeiten.
Im Fehlerlog erscheint keine Meldung.
Bei der Systemintegrität ist alles auf grün...
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Mo 26. Okt 2015, 12:48
von rethus
Ich tippe mal auf UTF-8 problem.
Erstelle bitte mal ein neues Modul, in dem du einfach
eingibst. Wird das gespeichert?
Wenn ja, gebe anschließend Umlaute ein und versuche es erneut:
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Mo 26. Okt 2015, 12:50
von achiboy
beides wird NICHT gespeichert
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Mo 26. Okt 2015, 14:10
von rethus
Die Probleme können überall liegen, den Einblick den du gewährst besagt nicht wirklich viel mehr als dass du ein Problem hast.
Da musst du jetzt ans Eingemachte.
Das heißt Code lokalisieren und Debugausgaben platzieren (oder wenn du xdebug installiert hast und damit vertraut bist, den Code darüber debuggen) und dich so Stück für Stück durchhangeln.
Fang damit an die Config-Dateien nach korrekten Pfaden und Protokollen (http: / https:) zu prüfen.
Schau in die logs deines Webservers
Prüfe die Zugriffsrechte auf cms/data/modules/
usw.
usw.
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Mo 2. Nov 2015, 21:17
von achiboy
Ich habe eine Spur gefunden.
z.B. beim Speichern des Layouts verschwindet der Code an folgender Stelle:
class.layout.handler.php Zeile 339
Code: Alles auswählen
$layoutCode = cString::recodeString($layoutCode, $this->_encoding, $fileEncoding);
Dies war in früheren Versionen
Code: Alles auswählen
$layoutCode = iconv($this->_encoding, $fileEncoding, $layoutCode);
$layoutCode ist bei der neuen Variante leer, wenn die Methode mit den Parametern ("xyz",utf-8 ,UTF-8) aufgerufen wird.
Bei mir läuft PHP 5.6.13
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Mo 2. Nov 2015, 21:34
von achiboy
Ich habe gerade gesehen, dass die Methode recodeString als erstes die Encodings vergleicht.
Code: Alles auswählen
public static function recodeString($string, $sourceEncoding, $targetEncoding) {
// If sourceEncoding and targetEncoding are the same, return
if ($sourceEncoding == $targetEncoding) {
return $string;
}
// Check for the "recode" support
if (function_exists('recode')) {
$sResult = recode_string("$sourceEncoding..$targetEncoding", $string);
return $sResult;
}
// Check for the "iconv" support
if (function_exists('iconv')) {
$sResult = iconv($sourceEncoding, $targetEncoding, $string);
return $sResult;
}
// No charset converters found; return with warning
cWarning(__FILE__, __LINE__, 'cString::recodeString could not find either recode or iconv to do charset conversion.');
return $string;
}
utf-8 ist ja nicht gleich UTF-8.
Probleme macht dann anschliessend die Funktion "recode".
Wenn diese nicht aktiviert ist, funktioniert es mit der "iconv" korrekt.
Bei der Mandantensprache kann ich halt nur Einträge auswählen, die da aufgeführt sind.
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Di 3. Nov 2015, 10:01
von rethus
Da lag ich mit meiner Vermutung "UTF8 Problem" scheinbar gar nicht so falsch
Was meinst du mit :
utf-8 ist ja nicht gleich UTF-8.
Hast du testweise mal die Parameter $sourceEncoding == $targetEncoding ausgegeben?
Funktioniert es denn, wenn du beide parameter mit einem strtolower() vorher bearbeitest (nur mal zum test)?
Kannst du mal prüfen ob in der data/config/production/config.inc der Charset für die DB auf utf8 gesetzt ist, und
ob in den Sprachen utf8, eine Sprache und ein Land gewählt ist,
und wie deine DB eingestellt ist:
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Di 3. Nov 2015, 10:06
von achiboy
ja, da hattest du einen guten Riecher
Ich habe es für mich mit strtolower gelöst...
Wie es im Core geändert werden soll, kann ich nicht entscheiden.
Es müsste aber sicher als BUG aufgenommen werden.
Re: Module nach Speichern leer / Übersetzungen nicht verwalt
Verfasst: Do 5. Nov 2015, 11:08
von frederic.schneider_4fb
Ich habe das in den Core-Code übernommen