Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Händlerbund Aktualisieren der Rechtstexte nicht möglich

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Hallo,

    die Aktualisierung der Texte ist plötzlich nicht mehr möglich. Es kommt nach dem Klick auf "Import starten" eine leere Seite (siehe Bild).
    Woran liegt das?

    Gruß

    Robert

    Linkback: https://www.modified-shop.org/forum/index.php?topic=38478.0
    Werbung / Banner buchen

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #1 am: 16. Januar 2018, 11:31:45
    Hat einer eine Idee, warum das nicht funktioniert? Das eilt auch, da einiges dringend erneuert werden muss.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #2 am: 17. Januar 2018, 14:27:02
    Folgende Fehlermeldung wird von Shop nach dem Klicken auf "Import" ausgegeben:

    UNDEFINED_ERROR   : LoggingManager: Call to undefined function mysql_error() in File: /www/htdocs/w01xxxxxx/shop/XXXXXXXXX/includes/haendlerbund/haendlerbund_importer.php on Line: 141
    [17-01-2018 12:14:31] UNDEFINED_ERROR   : LoggingManager: Call to undefined function mysql_error() in File: /www/htdocs/w01xxxxxx/shop/XXXXXXXXX/includes/haendlerbund/haendlerbund_importer.php on Line: 141
    [17-01-2018 14:05:36]

    Vielleicht weiß einer nun woran das liegen könnte?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #3 am: 17. Januar 2018, 14:46:40
    Teste mal folgendes.

    Suche in 'admin/includes/haendlerbund/haendlerbund_importer.php' on Line: 141 folgenden Code

    Code: PHP  [Auswählen]
    if(!mysql_error()) {

    und ersetze ihn mit diesem Code.

    Code: PHP  [Auswählen]
    if(!mysqli_error()) {

    Hintergrund -> http://php.net/manual/de/function.mysql-error.php

    Gruss
    Hanspeter

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #4 am: 17. Januar 2018, 15:10:05
    Danke, Hanspeter, jetzt geht es wieder. Ich hatte mir schon gedacht, dass es an mysqli lag, der Shop wurde vor einiger Zeit auf PHP7 und mysqli umgestellt.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Ich muss das Problem noch einmal ansprechen, da das so doch nicht korrekt gelöst ist. Wenn ich die Zeile 141 von mysql in if(!mysqli_error()) { ändere, also so

    Code: SQL  [Auswählen]
             $return = xtc_db_query("UPDATE content_manager SET content_text='".$content_text."' WHERE content_id=".$content_id." LIMIT 1");
            IF(!mysqli_error()) {
                                    $return = 1;
                            }
          RETURN $return;
        }
     

    erhalte ich bei einem Kunden, der bei 1und1 ein Webhosting hat (PHP 7.0) eine Warnmeldung und die Rechtstexte vom Händlerbund werden nicht importiert, sondern es steht in den Contentseiten Impressum, AGB, Widerruf usw. folgendes:

    400 Bad RequestBad Request
    Your browser sent a request that this server could not understand.


    Als Warnmeldung wird in der Log-Datei folgendes ausgegeben:

    Code: SQL  [Auswählen]
    E_WARNING       : LoggingManager: mysqli_error() expects exactly 1 parameter, 0 given IN File: /homepages/4/dxxxxxxxx/htdocs/shop20/xxxxxxxxxx/includes/haendlerbund/haendlerbund_importer.php ON Line: 141
    [25-05-2018 20:56:57] E_WARNING : LoggingManager: Backtrace #0 - /homepages/4/dxxxxxxxxxx/htdocs/shop20/xxxxxxxx/haendlerbund.php called at Line 78
    [25-05-2018 20:56:57] E_USER_WARNING    : LoggingManager: 1064 - You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'LIMIT 1' at line 1<br/><br/>UPDATE content_manager SET content_text='

    Um eine Abmahnung zu vermeiden, muss ich die Texte erst einmal manuell einstellen.

    Gruß

    Robert

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Mich wundert nur, dass hier keiner, der auf PHP 7 und mysqli umgestellt hat, beim Händlerbund ist. Denn dann müsste er auch eine Warnmeldung erhalten. Das Problem wurde doch schon hier aufgenommen https://trac.modified-shop.org/ticket/1287, aber nicht behoben.

    Die Zeilen 140 und 141
    Code: SQL  [Auswählen]
    $return = xtc_db_query("UPDATE content_manager SET content_text='".$content_text."' WHERE content_id=".$content_id." LIMIT 1");
    IF (!mysql_error()) {

    habe ich durch diese ersetzt:

    Code: SQL  [Auswählen]
        $return = xtc_db_query("UPDATE content_manager SET content_text='".$content_text."' WHERE content_id='".$content_id."' LIMIT 1");
        IF (!mysqli_error(xtc_db_connect())) {
     

    M. E. fehlen da auch nach content_id= die beiden Hochkommas, seitdem erhalte ich nämlich keine Warnmeldung mehr.

    Leider werden die Rechtstexte nach dem Import mit Klick auf den Button "Import starten" unter "Händlerbund AGB Service" immer noch nicht eingefügt, obwohl angezeigt wird, dass dieser erfolgt sei. Es steht dann in allen Textfeldern der Contentseiten bei den AGB, Widerrufsrecht, Datenschutz, Impressum immer noch folgendes:

    400 Bad RequestBad Request
    Your browser sent a request that this server could not understand.


    Hat keiner eine Idee. woran das liegen könnte?

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.169
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #7 am: 25. Oktober 2019, 12:59:24
    Gerade in einem Kundenshop auf PHP 7.1 mit Shopversion 2.0.4.2 festgestellt, das dieser Fehler noch immer vorhanden ist!

    Gab es da eine Lösung die hier nicht gepostet wurde oder sollte das als Ticket an das Team gehen?
    Ist immerhin ein System-Modul.

    Zitat
    Leider werden die Rechtstexte nach dem Import mit Klick auf den Button "Import starten" unter "Händlerbund AGB Service" immer noch nicht eingefügt, obwohl angezeigt wird, dass dieser erfolgt sei. Es steht dann in allen Textfeldern der Contentseiten bei den AGB, Widerrufsrecht, Datenschutz, Impressum immer noch folgendes:

    400 Bad RequestBad Request
    Your browser sent a request that this server could not understand.

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #8 am: 25. Oktober 2019, 19:43:45
    Hallo swolfram,

    im Update Update 2.0.3.0 rev 10907 zu 2.0.4.0 rev 11204 ist der Importer geändert.

    Code: PHP  [Auswählen]
        #updateContent Methode: Eigentliche Import-Methode fuer die Texte in die DB
       function updateContent($content_id, $content_text) {
          $return = xtc_db_query("UPDATE content_manager SET content_text='".$content_text."' WHERE content_id=".$content_id." LIMIT 1");
          return $return;
        }
    Müßtest also mal prüfen, ob alle Updates durchgeführt worden.
    VG Bert

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.169
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #9 am: 25. Oktober 2019, 19:46:21
    Es handelt sich um eine neue Installation. Hab die Datei angeschaut, sieht genau so aus. Dennoch besagtes Problem.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #10 am: 25. Oktober 2019, 21:24:58
    Beim Erscheinen von 400 Bad RequestBad Request nach dem Import-Versuch der Rechtstexte kann es daran liegen, das im Feld, wo die API eingetragen wird, ein Leerzeichen am Anfang oder am Ende steht. Das darf nicht sein, kann aber beim Kopieren und Einfügen passieren.

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.169
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #11 am: 25. Oktober 2019, 21:56:14
    Guter Hinweis, das hatte ich tatsächlich auch geprüft, aber es ist kein Leerzeichen drin.
    Auch sagt HB es soll alles auf UTF-8 laufen. Das tut es. Auch cURL ist aktiviert und verfügbar.

    Allerdings hat sich bei HB einiges getan in den letzten Monaten, das Teil heisst mittlerweile "Schnittstelle-Code "statt "API-Sicherheitsschlüssel" und die Anleitungen passen vorn und hinten nicht mehr zum aktuellen Modified. Der Händlerbund sendet einem per Mail ein anderes Modul zu, das man erst auf dem FTP installieren soll. Scheint mir wie das alte von der Version 1.06.

    Die Texte wurden jetzt erstmal manuell übertragen, aber das ist halt nicht der Sinn einer integrierten Schnittstelle.

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.169
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #12 am: 25. Oktober 2019, 22:08:34
    Folgendes im Admin-Log vom Shopsystem:
    Code: SQL  [Auswählen]
    [2019-10-25 11:54:19]   [warning]       [modified]      [pid:24892]     1064 - You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'LIMIT 1' at line 1<br/><br/>UPDATE content_manager SET content_text='      400 Bad Request      Bad Request   <p>Your browser sent a request that this server could not understand.<br />   </p>      ' WHERE content_id= LIMIT 1 IN File: /mnt/web409/a2/68/5188068/htdocs/brezing.net/inc/db_functions_mysqli.inc.php ON Line: 161      {}      {}
    [2019-10-25 11:54:19]   [warning]       [modified]      [pid:24892]     Backtrace #0 - /mnt/web409/a2/68/5188068/htdocs/shop.net/admin_NFPN6N3HZ/includes/haendlerbund/haendlerbund_importer.php called at Line 140     {}      {}
    [2019-10-25 11:54:19]   [warning]       [modified]      [pid:24892]     Backtrace #1 - /mnt/web409/a2/68/5188068/htdocs/shop.net/admin_NFPN6N3HZ/includes/haendlerbund/haendlerbund_importer.php called at Line 74      {}      {}
    [2019-10-25 11:54:19]   [warning]       [modified]      [pid:24892]     Backtrace #2 - /mnt/web409/a2/68/5188068/htdocs/shop.net/admin_NFPN6N3HZ/haendlerbund.php called at Line 78     {}      {}
     

    Wie man sieht, wird content_id nicht befüllt.
    Dennoch müsste aber zuvor schon der richtige Text in der Anweisung stehen, statt dem "400 Bad Request", oder?

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.169
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #13 am: 25. Oktober 2019, 22:24:22
    Der Fehler ist gefunden, jetzt klappt es.

    In Zeile 74 steht das
    Code: PHP  [Auswählen]
    if($this->updateContent($this->getConfigurationValue($agb),utf8_decode(str_replace('style="font-size: medium;"',"",str_replace('style="font-size: 14px;"',"",$result)))

    Hab das utf8_decode entfernt, weil ja bereits alles auf UTF8 läuft im Shop. Und jetzt klappt es reibungslos.
    Code: PHP  [Auswählen]
    if($this->updateContent($this->getConfigurationValue($agb),str_replace('style="font-size: medium;"',"",str_replace('style="font-size: 14px;"',"",$result))) == "1") {

    Außer noch ein anderer Fehler. Chrome läd die Seite des Importers nicht richtig im Adminbereich, weil der Shop komplett auf HTTPS läuft, aber der Importer unbedingt einen Google-Font über eine HTTP-Verbindung laden will.
    Zitat
    haendlerbund.php: Zeile 119

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Re: Händlerbund Aktualisieren der Rechtstexte nicht möglich
    Antwort #14 am: 26. Oktober 2019, 15:42:58
    Wäre das denn nicht besser, weil für alle Shops nutzbar
                        
    Code: PHP  [Auswählen]
    if($this->updateContent($this->getConfigurationValue($agb),mb_convert_encoding(str_replace('style="font-size: medium;"',"",str_replace('style="font-size: 14px;"',"",$result)), strtoupper($_SESSION['language_charset']), "UTF-8")) == "1") {
                                                    $_SESSION["import_message"] = "Import erfolgreich abgeschlossen!";
                            }
     

    Ändere mal die Zeile 30 der haendlerbund.php auf

    Code: PHP  [Auswählen]
    <link href="https://fonts.googleapis.com/css?family=Cuprum" rel="stylesheet" type="text/css" />
     
    2 Antworten
    716 Aufrufe
    20. August 2022, 18:07:04 von Timm
    12 Antworten
    6255 Aufrufe
    09. Januar 2013, 01:07:47 von uweli
    5 Antworten
    3287 Aufrufe
    26. November 2014, 18:43:39 von webald
    2 Antworten
    2102 Aufrufe
    08. November 2010, 05:41:20 von avena