JTL/Amicron Import/Export: Probleme mit LogControl und xtc_cleanName

Thema wurde von Modellbauer24, 4. November 2014 erstellt.

  1. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    ich bin seit geschlagenen 5 Tagen dran den Testshop an die JTL - WaWi zu verbinden. Mittlerweile habe ich auch keine response im JTL-Forum. Wahrscheinlich ist es zu sehr Gambio - lasstig. Da ich aus den gefundenen Treads erkennen kann das sich Gambio und JTL die Bälle immer zuschmeissen aber keiner die Unfunktionalität des Connectors nicht an die Fahne schreiben möchte. JTL sagt zurecht durch die Blume, User das ist ein nice to have und obendrein kostenlos. Gambio sagt sich dies ist ein Fremdmodul und nicht unsere Baustelle.

    Nun habe ich einen dritten Testshop installiert mit zuerst der 2.0.15.1, den xtc - Connector installiert. Wunderbar bekomme ein DB - ping und somit keine Fehlermeldung. Dann habe ich das Update auf 2.1.0.6.
    durchgeführt auch hier wunderbar keine Fehlermeldung.Update auf 2.1.2.1. PENG!!! Fehlermeldung.

    Fatal error: Class 'LogControl' not found in /homepages/XXX/XXXXXXX/htdocs/XXXXXXX/inc/xtc_db_query.inc.php on line 31


    habe mir die ganzen Dateien angesehen, aber das ist so ein blödes rumstochern, da ich nicht php kann.

    Wer kann mir helfen, der die gleiche Problematik mit dem LogControl in der xtc_db_query.inc.php hatte.

    und. PS: ja ich habe auch hier die Hilfe und Suche durchgeforstet. Gebe ich die beiden Begriffe nimmt mir die Suche die Suche nicht an da zuviele Treffer vorhanden sind. ICH WILL JA NUR EINE RICHTIGE ANTWORT und nicht alles lesen:(:cool:
     
  2. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    In der 2.1. Version gibt ews kein LogControl mehr:

    Aber, die xtc_db_query der 2.1 verwendet das auch nicht mehr...
     
  3. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    Hi Avenger,

    danke für die prompte Antwort, aber ich verstehe Sie nicht, mein skilling ist hier nicht unbedingt das Beste. Kannst Du mir kurz erklären was das für mich heißt? Das ich den JTL - Connector mit der 2.1.2.1. Version nicht verwenden kann oder muss ich die xtc_db_query.php löschen? Sorry das ich so nachfrag ich versteh es einfach nicht (fachlich).
     
  4. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Hallo,
    die LogControl gibt es immer noch bzw. ist erst mit v2.1 dazugekommen.

    Das Problem wird vermutlich ein fehlender require sein. Leider weiss ich aktuell nicht, welche application_top der Connector einbindet. Bitte prüfe mal folgende Dateien, ob dort der benötigte include enthalten ist (Suche nach LogControl):
    PHP:
    includes/application_top.php
    includes
    /application_top_callback.php
    includes
    /application_top_export.php
    includes
    /application_top_main.php
    Wenn dort kein require enthalten ist, kannst du direkt über folgendem:
    PHP:
    require_once(DIR_FS_CATALOG.'gm/inc/check_data_type.inc.php'); 
    require_once(
    DIR_FS_CATALOG.'gm/inc/gm_get_env_info.inc.php'); 
    require_once(
    DIR_FS_CATALOG.'system/gngp_layer_init.inc.php');
    folgendes einbauen:
    PHP:
    require_once(DIR_FS_CATALOG .'system/core/logging/LogEvent.inc.php'); 
    require_once(
    DIR_FS_CATALOG .'system/core/logging/LogControl.inc.php'); 
    require_once(
    DIR_FS_CATALOG .'gm/classes/ErrorHandler.php');
     
  5. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    32.343
    Danke erhalten:
    9.972
    Danke vergeben:
    1.455
  6. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    #6 Modellbauer24, 4. November 2014
    Zuletzt bearbeitet: 4. November 2014
    @ Barbara,

    den Tread hatte ich gelesen bevor ich die niedrige Version 2.0.15.1 installiert hatte. Die Vorgehensweise funktioniert nicht, da wenn man sich an den Lösungsansatz mit Zeile 16 hält, erscheint dann eine Fehlermeldung referenziert auf einer anderen Datei. Deshalb hab ich mir gesagt, ok. bevor ich jetzt etwas zerschiesse, installiere ich einen neuen Testshop mit niedriger Versionsnummer (unter welcher das ja auch funktioniert hat und hoffte das dann einfach die Funktionalität vererbt wird auf die 2.1.2.1.) was aber offensichtlich nicht der Fall gewesen ist. :-(

    @ Timo teilweise habe ich den Anstatz diesen Codes hier gefunden:

    HTML:
    require_once(DIR_FS_CATALOG.'gm/inc/check_data_type.inc.php'); 
    require_once(DIR_FS_CATALOG.'gm/inc/gm_get_env_info.inc.php'); 
    require_once(DIR_FS_CATALOG.'system/gngp_layer_init.inc.php');

    admin/includes/modules/jtlwawi_connector/dbeS/syncindlude.php

    Aber vielleicht stell ich mich auch an und es ist eigentlich nicht so schwer... :)
    Ich probiere es gleich mal aus....


    PS.: die LogControl Dateien habe ich auch im Filezilla suchen lassen und habe gleich drei gefunden aber nicht gewusst welche jetzt die richtige ist...

    a) /XXXXXX/includes/system/core/logging/
    b) /XXXXXX/cache/system/core/logging/
    c) /XXXXXX/system/core/logging/
     
  7. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    #7 Modellbauer24, 4. November 2014
    Zuletzt bearbeitet: 4. November 2014
    @ Timo

    -->application_top.php

    Änderung:
    PHP:
    require_once(DIR_FS_CATALOG.'system/core/logging/LogEvent.inc.php');#1 paste
    require_once(DIR_FS_CATALOG .'system/core/logging/LogControl.inc.php');#2 paste
    require_once(DIR_FS_CATALOG.'gm/classes/ErrorHandler.php');#3 paste
    require_once(DIR_FS_CATALOG.'gm/classes/FileLog.php');
    require_once(
    DIR_FS_CATALOG.'gm/inc/check_data_type.inc.php');#1 ok
    require_once(DIR_FS_CATALOG.'gm/inc/gm_get_env_info.inc.php');#2 ok
    require_once(DIR_FS_CATALOG.'system/gngp_layer_init.inc.php');#3 ok

    -->application_top_callback.php

    Änderung:
    PHP:

    require_once(DIR_FS_CATALOG 'system/core/logging/LogEvent.inc.php');#1 paste
    require_once(DIR_FS_CATALOG 'system/core/logging/LogControl.inc.php');#2 paste
    require_once(DIR_FS_CATALOG 'gm/classes/ErrorHandler.php');#3 paste
    require_once(DIR_FS_CATALOG 'gm/inc/check_data_type.inc.php');#1 ok
    require_once(DIR_FS_CATALOG 'gm/inc/gm_get_env_info.inc.php');#2 ok
    require_once(DIR_FS_CATALOG 'system/gngp_layer_init.inc.php');#3 ok
    -->application_top_export.php

    Änderung:
    PHP:

    require_once(DIR_FS_CATALOG .'system/core/logging/LogEvent.inc.php'); #1 paste
    require_once(DIR_FS_CATALOG .'system/core/logging/LogControl.inc.php'); #2 paste
    require_once(DIR_FS_CATALOG .'gm/classes/ErrorHandler.php'); #3 paste

    require_once(DIR_FS_CATALOG.'gm/inc/check_data_type.inc.php');#1 ok
    require_once(DIR_FS_CATALOG.'gm/inc/gm_get_env_info.inc.php');#2 ok
    require_once(DIR_FS_CATALOG.'system/gngp_layer_init.inc.php');#3 ok

    -->application_top_main.php

    Änderung:
    PHP:

    require_once(DIR_FS_CATALOG 'system/core/logging/LogEvent.inc.php');#1 paste
    require_once(DIR_FS_CATALOG 'system/core/logging/LogControl.inc.php');#2 paste
    require_once(DIR_FS_CATALOG 'gm/classes/ErrorHandler.php');#3 paste
    require_once(DIR_FS_CATALOG 'gm/inc/check_data_type.inc.php');#1 ok
    require_once(DIR_FS_CATALOG 'gm/inc/gm_get_env_info.inc.php');#2 ok
    require_once(DIR_FS_CATALOG 'system/gngp_layer_init.inc.php');#3 okk
    in der application_export.php und in der application_top.php, waren die Zusätze nicht drin.

    Ich habe jetzt alle vier Dateien durchgenudelt, aber ich hab immer noch die Fehlermeldung in JTL :-(
     
  8. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    Hallo,

    hat keiner einen Tipp woran es doch noch liegen könnte?

    Gruß und Dank

    Bojan
     
  9. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Hallo,
    kannst du nochmal den Connector starten. Ich bräuchte mal die komplette Fehlermeldung. Idealerweise aktivierst du im Adminbereich unter Logging Optionen alle Darstellungsvarianten bei den Errors. Dann erhält man noch ein paar mehr Infos.
     
  10. Modellbauer24

    Modellbauer24 Erfahrener Benutzer

    Registriert seit:
    30. Mai 2013
    Beiträge:
    113
    Danke erhalten:
    1
    Danke vergeben:
    42
    #10 Modellbauer24, 6. November 2014
    Zuletzt bearbeitet: 6. November 2014
    Hallo Timo,

    vielen Dank hierzu, ich beschreibe jetzt genau die Fehlermeldung die beim Webshopabgleich im JTL-Client aufpopt:

    * Webshopabgleich
    * checkbox auf den Testshop gesetzt
    * Starten Button geklickt

    Fehlermeldung als Auszug des HTML Codesnipsels

    <br />
    <b>Fatal error</b>: Class `LogControl` not found in
    <b> /homepages/X/XXXXXXX/htdocs/XXXX/inc/xtc_db_query.inc.ph
    p</b> on line <b>32</b><br/>

    die XXX hab ich gesetzt da das mein echter originärer Pfad ist. Den will ich nicht umbedingt posten, die Line 32 ist ursprünglich die 31 hab nur ein zusätzliches Return reingehaut damit der Code übersichtlicher in der xtc_db_query.inc.php ist.

    so wie ich das sehe kann JTL nicht an den WebShop (Testshop) senden den in der Fortschrittsanzeige nach dem Bestätigen der Fehlermeldungspopupanzeige, kann ich für ca. 1 Sek. sehen das er mir anzeigt das er irgendetwas holt, d.h. zum Webshop ist wahrscheinlich irgendwo der Wurm drin.
     
  11. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Kannst du mir den Ablauf verraten? Wo liegt das Skript? Welche Dateien werden von dem Connector aufgerufen?
     
  12. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.957
    Danke erhalten:
    449
    Danke vergeben:
    367
    amicron 10 macht dieselben probleme: "fatal-error: Class LogControl not found in ...../system/core/Mainfactory.inc.php"
     
  13. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Letztendlich muss an einer gewissen Stelle nur der LogController samt ErrorHandler etc. eingebunden werden. Die Frage ist aktuell nur noch, wo. Da ich die Schnittstellen nicht kenne, müsstest ihr da mal schauen. Irgendwo gibt es doch eine Datei die aufgerufen wird.
     
  14. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.957
    Danke erhalten:
    449
    Danke vergeben:
    367
    Hi Timo,
    yepp, wir haben gestern abend noch den Dreizeiler in die /system/core/Mainfactory.inc.php eingebunden
    Und danach war Ruhe und das der Connector funzte wieder:

    PHP:
    require_once(DIR_FS_CATALOG 'system/core/logging/LogEvent.inc.php'); 
    require_once(
    DIR_FS_CATALOG 'system/core/logging/LogControl.inc.php'); 
    require_once(
    DIR_FS_CATALOG 'gm/classes/ErrorHandler.php');
     
  15. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    2.975
    Danke erhalten:
    594
    Danke vergeben:
    212
    #15 Christian Mueller, 9. November 2014
    Zuletzt bearbeitet: 9. November 2014
    Der Connector für Amicron10 nennt sich ist /export/af10_xtscript.php, bzw. für das aktuelle Amicron11 /export/af11_xtscript.php.


    Nachtrag:

    Ich habe es gerade ausprobiert: mit 2.1.2.1 und Amicron11 gibt es keine Probleme.
     
  16. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Hallo,
    die MainFactory ist eigentlich die falsche Stelle. Der 3-Zeiler müsste in die Datei af11_xtscript.php für Amicron. Idealerweise direkt unter dem include der configure. Vielleicht hängt ihr mal die Datei an. Dann könnte ich kurz schauen, wo die Zeilen am besten eingesetzt werden sollten.
     
  17. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    2.975
    Danke erhalten:
    594
    Danke vergeben:
    212
    Wie oben bereits geschrieben: mit af11_xtscript.php läuft es ohne Änderungen problemlos in 2.1.2.1
     
  18. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.957
    Danke erhalten:
    449
    Danke vergeben:
    367
    Hi Timo,
    danke für's kümmern, hab den Dreizeiler verlegt, anbei die Datei.
     

    Anhänge:

  19. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    2.975
    Danke erhalten:
    594
    Danke vergeben:
    212
    #19 Christian Mueller, 11. November 2014
    Zuletzt bearbeitet: 11. November 2014
    Nun hab ich doch einen Fehler: Beim Auftragsimport gibt es folgende Fehlermeldung:


    Muss es dort nicht

    Code:
    return xtc_clean_name($p_string);
    heissen?
     

    Anhänge:

  20. Timo (Gambio)

    Timo (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.686
    Danke erhalten:
    648
    Danke vergeben:
    46
    Die Funktion xtc_cleanName ist nicht bekannt. Diese müsste ebenfalls mittels require einmal eingebunden werden. Könnt ihr direkt unter den anderen requires packen:

    PHP:
    require('../includes/application_top_export.php');

    require_once(
    DIR_FS_CATALOG .'system/core/logging/LogEvent.inc.php');
    require_once(
    DIR_FS_CATALOG .'system/core/logging/LogControl.inc.php');
    require_once(
    DIR_FS_CATALOG .'gm/classes/ErrorHandler.php');
    require_once(
    DIR_FS_CATALOG .'inc/xtc_cleanName.inc.php');