Modultranslation 4.5.x Snapshots

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Modultranslation 4.5.x Snapshots

Beitrag von SkyBlader »

Moin all,

nachdem ich zeitlich die nächsten Tage nicht selber weiter suchen kann, hier mal ne kleine Beschreibung was bei mir auf mehreren System und 4.5.x Installationen auftritt: ( auch schon bei den 2 davor !!! )

habe es gerade eine reinen neuinstallation mit Demomandant + Modulen von dem Snapshot vom 22.10.2004 durchgeführt.

Danach habe ich im Outputteil vom Modul "BILD1" folgendes hinzugefügt:

Code:

Code: Alles auswählen

mi18n("blub"); 



und das Modul dann gespeichert.

Danach bin ich auf Modul-Übersetzung gegangen, und es erscheint eine Reihe dieser Meldung:

Zitat:
[26-Oct-2004 09:22:44] PHP Warning: d:\wwwroot\htdocs\tbfdev\contenido\classes\class.genericdb.php 1185: Tried to load a single line with field idmodtranslation and value 3 from con_mod_translations but found more than one row in d:\wwwroot\htdocs\tbfdev\contenido\includes\functions.general.php on line 1717

Hab nun den ganzen Morgen den Core durchgeschaut und mehrere Debugs/Tests durchgeführt um die Stelle zu finden an der es schief geht.

Bis jetzt konnte ich nur folgende finden, und zwar in der Datei class.module.php - CLASS cApiModuleTranslationCollection Funktion create(...).

Code:

Code: Alles auswählen

   function create ($idmod, $idlang, $original, $translation = false) 
   { 
      /* Check if the original already exists. If it does, 
         update the translation if passed */ 
      $mod = new cApiModuleTranslation; 
      $sorg = $mod->_inFilter($original); 
             
      $this->select("idmod = '$idmod' AND idlang = '$idlang' AND original = '$sorg'"); 
       
      if ($item = $this->next()) 
      { 
         if ($translation !== false) 
         { 
            $item->set("translation", $translation); 
            $item->store(); 
         } 
         return $item;    
      } else { 
         $item = parent::create(); 
         $item->set("idmod", $idmod); 
         $item->set("idlang", $idlang); 
         $item->set("original", $original); 
         $item->set("translation", $translation); 
         $item->store();       
         return $item; 
      } 
   } 

Der Else zweig erzeugt dann den eintrag in der mod_translation .... Nur leider tut er dies 3 Mal !!!!!!

Habe zum Test den Else-Zeig auskommentiert, und es wird dann gar kein eintrag generiert.

Aus Zeitgründen muß ich leider erstmal unterbrechen, aber vlt schaff ich es die Tage daran weiter zu suchen ( außer ihr habt die Lösung nicht schon. )

Gruß

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

mhh ...

man, das ganze debuggen und die zeit war völlig unnötig grml.


Problem ist gelöst.

Und zwar hat der eintrag in der Tabelle con_sequence nicht gepasst.

In der Tabelle con_mod_translation waren shon einträge enthalten ( Bsp Module ? Nwesletter ??? ), aber der eintrag in der con_sequenzse steht auf einem viel kleineren Wert.

Habe ihn einfach mal auf 20 gesetzt ( höchster idmodtranslation wert in tabelle war 18 , con squeenz auf 5 ).

Danach funzt es einwandfrei.

Eine andere frage .. sollte idmodtranslation nicht evtl sogar unique sein ? den die vorhandene einträge sind auch mehrmals enthalten.

Gruß

Stefan

P.S.: vlt vor dem nächsten csv die inst sql anpassen ;)
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

das problem ist, daß nicht jede DB unique unterstützt, deshalb ist das auch über die sequence gelöst, sonst könnten wir einfach auto_increment benutzen.

daß aber die con_sequence einträge nicht stimmen wundert mich, denn bei ner installation wird die automatisch upgedatet...aber danke für den tip, ich schau mal nach
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

timo, ich hatte es auf einer reinen neuinstallation mit beispielen in eine leere Datenbank installiert. ( die extra dafür angelegt wurde ).

Mich reut nur die investierte Zeit in der Code´suche, anstatt erstmal direkt die DB anzuschaun.

Naja,

bis denn

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
Antworten