mouth
Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

31.112 Beiträge in 6.477 Themen- von 6.477 Mitglieder - Neuestes Mitglied: Frideborg

02-06-2020 22:00:26
JOOM::GALLERY::FORUMArchivJoomGallery 1.5 MVCMigrationGelöste Themen: MigrationUmlaute in Kategorienamen werden in Verzeichnisnamen nicht ersetzt
Seiten: [1]
Drucken
Autor Thema: Umlaute in Kategorienamen werden in Verzeichnisnamen nicht ersetzt  (Gelesen 4232 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« am: 12-01-2009 19:21:47 »

Hallo,

bei der Migration auf die JoomGallery tauchte bei mir folgendes Problem auf:

Nachdem ich die korrigierte Version der admin.migratep2j.class.php heruntergeladen habe und eine neue Migration durchführte, überprüfte ich anschließend die angelegte Verzeichnisstruktur für die Bilder, Thumbs und Originalbilder. Die war nun ok  sm_smile .

Dabei fiel mir aber auf, daß alle Umlaute in den Verzeichnisnamen ersatzlos fehlten. Laut Quellcode sollen eigentlich Umlaute ersetzt werden. Darauf hatte ich bisher nie geachtet und ist auch für die Funktion der JoomGallery nicht weiter wichtig, da der Verzeichnisname auch ohne Umlautersetzungen in der Datenbank landet.

Das liegt wohl daran, denke ich, daß der Quellcode UTF-8 codiert ist.

Ich habe folgende Änderung in der admin.migratep2j.class.php gemacht:

Code:
928   function Joom_Migrate_FixCatname ($text) {
929     $text = trim($text);
930     if($text != "") {
931       $text = strip_tags($text);
932       $search = array("/\s/","/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/","/\xe4/","/\xf6/","/\xfc/","/\xc4/","/\xd6/","/\xdc/","/\xdf/");
933       $replace = array("_","ae","oe","ue","Ae","Oe","Ue","ss", "ae","oe","ue","Ae","Oe","Ue","ss");
934       $text = preg_replace($search, $replace, $text);
935       $text = strtolower ($text);
936       $text= preg_replace("/[^a-z0-9_]/","",$text);
937     }
938     return $text;
939   }

Danach wurden die Umlaute bei mir korrekt ersetzt.

Vielleicht gibt es eine noch elegantere Lösung mit regulären Ausdrücken?

Gruß Erftralle

Meine Umgebung:
JOOMGALLERY_V_1_0_0_BUILD_20081223
Joomla! 1.0.15
Php 5.2.4
Mysql 5.0.40
XAMPP for Linux 1.6.4
« Letzte Änderung: 10-02-2009 23:32:49 von Erftralle » Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #1 am: 10-02-2009 20:21:49 »

Hallo erftralle,
auch nach fast einem Monat ein wichtiges Thema....

Ich halte den von Dir beschriebenen Weg, nämlich die Überprüfung über den Hexcode, für gut.
Zumindest in der JoomGallery 1.0.0, die sozusagen zwei Codepagefamilien (ISO/Unicode) unter einen Hut bringen muss.
Er sollte deshalb auch Bestandteil von deren Migrationsscript sein.

Mal abgesehen davon, dass fest codierte Zeichen innerhalb einer Funktion nicht hilfreich sind, weil sie immer von der Kodierung der Datei an sich abhängen...
Zudem behandelt diese Funktion nur die Konvertierung von deutschen Sonderzeichen...

Ein wenig Selbstkritik ist nie schlecht...

Gruß
Andreas
Gespeichert
Erftralle
Sr. Member
****
Offline Offline

Beiträge: 803


« Antworten #2 am: 10-02-2009 23:31:55 »

Hallo aHa,
aber übertreiben sollte man es auch nicht mit der Selbstkritik  sm_wink .

Gruß
Erftralle
Gespeichert
Seiten: [1]
Drucken
Gehe zu:  

HOSTED BY SCHWARZKÜNSTLER ®

PROTECTED BY  ZB BLOCK  AND Project Honey Pot
Theme orange-lt created by panic

Bad Behavior has blocked 1694 access attempts in the last 7 days.