Um die Unterstützung weiterer Sprachen, außer der Default-Sprachen Deutsch und Englisch, in korrekter Form zu gewährleisten müsste in
/admin/cookie_consent.php beim Akt des Speicherns das Feld "fixed" in den beiden betroffenen DB-Tabellen berücksichtigt werden. Das ist nicht der Fall.
Nehmen wir an wir haben zusätzlich zu Deutsch und Englisch noch Französisch im Shop, mit der
languages_id 3.
Beim Ändern von Default-Einträgen werden nun, weil noch nicht vorhanden, die fehlenden Einträge für die neue Sprache in den beiden zuständigen DB-Tabellen (
cookie_consent_categories und
cookie_consent_cookies) gemacht. Allerdings wird dabei nicht berücksichtigt ob der Wert für das Feld "fixed" bei den Default-Sprachen auf 1 steht. Das sollte/müsste jedoch so sein und der Wert, wenn zutreffend, ebenfalls auf 1 gesetzt werden.
Das heißt, daß im
switch für
$_GET['saction'] jeweils in den cases
save_options und
save_values geprüft werden müsste
- z.B. anhand der Default-Sprache Englisch -
ob es sich um einen "fixed"-Eintrag handelt und das Feld dann für die neue Sprache ebenfalls setzen.
Soweit ich das sehe könnte das relativ leicht bewerkstelligt werden indem man in den Forms wo gepeichert wird ein hidden-Field (z.b. namens
set_fixed) mit dem "fixed"-Flag hinzufügt im Falle "fixed" für Englisch 1 ist und das
$sql_data_array für das Speichern dann optional mit dem Wert für "fixed" erweitert indem man auf
isset($_POST['set_fixed']) prüft.
Weitere Gedanken zum Modul:
Es werden in
/admin/cookie_consent.php immer wieder die Funktionen
xtc_get_cookies_categories_detail() und
xtc_get_cookies_detail() aufgerufen, um im Edit-Modus an die bereits gespeicherten Werte zu kommen, sodaß es zig Queries auf ein und dieselbe DB-Tabelle gibt. Das halte ich für in hohem Maße ineffizient.
Zwar sind wiederholte Queries (oder Queries in einem Loop) wegen der Mehrsprachigkeit bedingt notwendig
- könnte man auch anders lösen ist aber quer durch
modified so im Backend -
aber für jeden einzelnen Wert (_name, _description) einzelne Queries durchzuführen ist nun wirklich unnötig.
So, jetzt darf der volle Haß auf meine Besserwisserei losgelassen werden.
Gruß,
noRiddle
*NACHTRAG*
Eigtl. müsste man weitere Sprachen betreffend auch im System-Modul die Implementation so gestalten, daß durch einmal Deinstallieren und neues Installieren zusätzliche Sprachen automatisch mit angelegt werden. Die Werte kann man ja mit denen für Englisch füllen.