Import Kunden in JTL Shop 5 aus JTL Shop 4

JtLerle

Aktives Mitglied
27. Juni 2019
4
0
Wir wollten unseren alten JTL Shop 4 auslaufen lassen, und paralell dazu haben wir einen neuen JTL Shop 5 angelegt. Dieser ist jetzt soweit fertig und soll live gehen. Wir dachten wir können die Kunden per WAWI in den neuen Shop übernehmen, das scheint aber nur einzeln zu gehen und ist für >2000 Kunden wenig angenehm. Die Datenbank tkunde zu exportieren geht auch nicht richtig, weil cNachnahme cFirma cStraße und Zusatz verschlüsselt sind. Welches Verfahren wird hier benutzt, kann man dies in einer Excel oder mit einem Decoder entschlüssen? (den alten Blowfish Key haben wir natürch noch und auch für den neuen Shop übernommen). Was wäre die Beste vorgehensweise?

Ideal wäre natürlich alle Kunden aus dem alten Shop mit deren Passwort zu übernommen, so dass sie sich direkt wieder einloggen können.

Vielen Dank für Eure Hilfe :)
 

JtLerle

Aktives Mitglied
27. Juni 2019
4
0
Ich hab jetzt einfach die Tabelle tkunde aus der alten DB genommen und in die neue imporitert auf SQL Ebene, das scheint geklappt zu haben, sehe keine Seiteneffekte. Oder spricht da etwas dagegen?
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Danke, dass hatte ich zu Beginn versucht, das PW wird auch richtig importiert, Nachname etc leider nicht, da steht dann der verschlüsselte Hash als String in der Datenbank ... und die Person heisst mit Nachnamen und Straße xwqdqw76d782678d2d7821d2d21
Moin,
es liegt evtl. daran, dass der BLOWFISH_KEY vom alten Shop nicht übernommen wurde
(findest Du in config.JTL-Shop.ini.php), dann werden evtl. auch die Kunden falsch angezeigt.
 

DominikQB

Aktives Mitglied
2. Oktober 2019
2
0
Moin moin,
ich hab gerade das selbe Problem....
Der BLOWFISH_KEY ist aber angepasst. Trotzdem werden Nachname und Straße kryptisch angezeigt.
Vielleicht hat einer von euch eine Idee. Vielen Dank schonmal....
 

JtLerle

Aktives Mitglied
27. Juni 2019
4
0
Moin moin,
ich hab gerade das selbe Problem....
Der BLOWFISH_KEY ist aber angepasst. Trotzdem werden Nachname und Straße kryptisch angezeigt.
Vielleicht hat einer von euch eine Idee. Vielen Dank schonmal....
Genau, der Import über das CSV Tool im Backend klappte bei mir in keiner Konstellation, ich musste die Tabelle von Hand per SQL importieren, pass aber auf wenn du das machst weil die JTL 4 DB ist in latin codiert. Die neue hat ein anderes Format, wenn du das "automatisch" konvertierst zerhaut es dir alle Umlaute und Sonderzeichen wie "ß". Ich habe am Ende dann aus der WAWI doch alle Kunden mit Sonderzeichen nochmal an den Shop übertragen müssen :(
 

maxmuc

Mitglied
13. Dezember 2021
30
6
Gibt es hier seitens JTL inzwischen eine Lösung? Werden ja nicht die letzten sein, die versuchen die JTL-4 Kunden in JTL 5 zu importieren...
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
5.199
994
Berlin
Der vernünftigste Weg ist, die Kundendaten mit einem Script, zu exportieren und dann auch über ein Script im neuem Shop zu Importieren,
Oder man updated den alten 4er Shop und übernimmt dann die Tabelle und den Blowfishkey aus diesem Shop.

Es sollte aber schon darauf geachtet werden was mit eventuellen kundengruppenpreisen oder Kupons bzw. Attributen ist.
 

maxmuc

Mitglied
13. Dezember 2021
30
6
Also ich habe jetzt mal etwas quick and dirty etwas gebastelt. Kommentare teilweise dt. und englisch, weil aus alten Skripten zusammenkopiert.
Die CSV-Datei kann so im JTL5 Shop eingelesen werden. Attribute aus anderen Tabellen als tkunde werden nicht betrachtet. KundenIDs werden mit der Methode neu vergeben. Ich weiß nicht, ob das Probleme mit der JTL-Wawi gibt, wenn der Kunde im alten Shop schon unter anderer ID vorhanden war.

Hoffe es hilft jemandem.
Script muss in einem Unterverzeichnis des JTL4! shops liegen, um unangepasst zu funktionieren. Verzeichnis htaccess protecten!

PHP:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require_once('../includes/libs/xtea/xtea.class.php');
require_once('../includes/config.JTL-Shop.ini.php');

//Encrypted Fields
//Info: Passwort ist MD5-Encrypted und wird nach erstem Login in JTL5 in anderen Hash konvertiert
$encryptedFields = array(
    "cNachname",
    "cFirma",
    "cZusatz",
    "cStrasse",
);

$csvFile = fopen("tkunden.csv","w+");
$csvDataArray = array();

/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 
// Check connection
if($mysqli === false){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
 
// Print host information
echo "Connect Successfully. Host info: " . $mysqli->host_info;

// Query (Abweichung bei Newsletterfeld sonst = CSV)
$sql = "SELECT `cPasswort`,`cAnrede`,`cTitel`,`cVorname`,`cNachname`,`cFirma`,`cStrasse`,`cHausnummer`,`cAdressZusatz`,`cPLZ`,`cOrt`,`cBundesland`,`cLand`,`cTel`,`cMobil`,`cFax`,`cMail`,`cUSTID`,`cWWW`,`fGuthaben`,`nRegistriert`,`dGeburtstag`,`fRabatt`,`cHerkunft`,`dErstellt`,`cAktiv`,`cKundenNr`,`cZusatz` FROM `tkunde`";
//$sql .= " WHERE kKunde = '307'"; //Optionale Einschränkung für Tests
if($result = $mysqli->query($sql)){
    if($result->num_rows > 0){
        //Ausgabe CSV Header
        $csvDataArray[] = array("cPasswort","cAnrede","cTitel","cVorname","cNachname","cFirma","cStrasse","cHausnummer","cAdressZusatz","cPLZ","cOrt","cBundesland","cLand","cTel","cMobil","cFax","cMail","cUSTID","cWWW","fGuthaben","cNewsletter","dGeburtstag","fRabatt","cHerkunft","dErstellt","cAktiv","cKundenNr","cZusatz");

        //Field Info
        $fieldInfo = $result->fetch_fields();
        //print_r($fieldInfo);

        while($row = $result->fetch_array()){
            //CSV-Ausgabe
            $tempArray = array();
            for($i=0; $i < $result->field_count; $i++)  {
                //Datum mit 0000-00-00 bereinigen
                if( $row[$i] == "0000-00-00" )   {
                    //Leeres Feld statt 0000..
                    array_push($tempArray, '');
                    continue;
                }

                if( in_array($fieldInfo[$i]->name, $encryptedFields) )
                    {
                        //Verschlüsseltes Feld
                        array_push($tempArray, Jtl4ToJtl5DB($row[$i], TRUE));
                    }
                else
                    {
                        //Unverschlüsseltes Feld
                        array_push($tempArray, Jtl4ToJtl5DB($row[$i]));
                    }
                
            }
            $csvDataArray[] = $tempArray;
        }

        // Free result set
        $result->free();
    } else{
        echo "No records matching your query were found.";
    }
} else{
    echo "ERROR: Could not able to execute $sql. " . $mysqli->error;
}
 

//CSV erzeugen
print_r($csvDataArray);
foreach ($csvDataArray as $row) {
    fputcsv($csvFile, $row, ";","\"");
}
fclose($csvFile);

// Close connection
$mysqli->close();

function Jtl4ToJtl5DB($dbvalue, $enrcypted = 0) {
    if($enrcypted)   {
        return utf8_encode(entschluesselXTEA($dbvalue));
    }
    //return utf8_encode($dbvalue);
    return $dbvalue;
    
}


/**
 * @param string $cText
 * @return string
 */
function entschluesselXTEA($cText)
{
    if (strlen($cText) > 0) {
        $oXTEA = new XTEA(BLOWFISH_KEY);

        return $oXTEA->decrypt($cText);
    }

    return $cText;
}


/**
 * @param string $cText
 * @return string
 */
function verschluesselXTEA($cText)
{
    if (strlen($cText) > 0) {
        $oXTEA = new XTEA(BLOWFISH_KEY);

        return $oXTEA->encrypt($cText);
    }

    return $cText;
}
?>
 
  • Gefällt mir
Reaktionen: arm und JtLerle
Ähnliche Themen
Titel Forum Antworten Datum
Neu Fehler beim Import von abweichenden Lieferadressen JTL-Wawi - Fehler und Bugs 0
Neu Preis nach dem Import in der WAWI höher als im Webshop ? User helfen Usern - Fragen zu JTL-Wawi 7
Neu JTL Connector Product-Import mit Images, Type und ShippingClass Allgemeines zu den JTL-Connectoren 0
Neu Shopware Auftrag Import Versand = shippment User helfen Usern - Fragen zu JTL-Wawi 1
Neu Fehler bei Staffelpreise Import und Shop Synchronisation User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikelbilder SEO import Abbruch bei nicht Erreichbarkeit der URL JTL-Ameise - Fehler und Bugs 0
Import bricht bei Zeile 1607 ab JTL-Wawi 1.6 2
Neu JTL WAWI 1.6 - Import bestehender Angebote nicht möglich Amazon-Anbindung - Fehler und Bugs 4
In Diskussion JTL Voucher - Import bereits verkaufter Gutscheine Allgemeine Fragen zu JTL-POS 1
Neu Import eines Preises mit bsp.: 2.75 als 275 - überspringt immer Punkt JTL-Ameise - Fehler und Bugs 2
Neu Import Staffelpreise über Ameise funktioniert nicht! Bitte um HILFE User helfen Usern - Fragen zu JTL-Wawi 2
Neu 1.6.41.2 - Import Lieferadressen - keine UStID importierbar JTL-Ameise - Fehler und Bugs 0
Beantwortet JTL Ameise Auftrag Import - Artikel unbekannt User helfen Usern - Fragen zu JTL-Wawi 1
Neu Ameise Export / Import Artikel Rabatt in Prozent User helfen Usern - Fragen zu JTL-Wawi 1
Neu Import kyrillischer Zeichen funktioniert teilweise nicht JTL-Ameise - Fehler und Bugs 6
WAWI 1.6.40.0 XML Import über SQL wird nicht immer angelegt JTL-Wawi 1.6 4
Neu Import von Retouren CSV Schnittstellen Import / Export 1
Neu Import von Verpackungseinheiten VPE der Lieferanten per JTL-Ameise JTL-Ameise - Fehler und Bugs 3
Neu Lieferanten-Ansprechpartner - Ohne Anrede kein Import JTL-Ameise - Fehler und Bugs 4
Neu Lieferantenstammdaten - Import von Lieferantenwährung JTL-Ameise - Fehler und Bugs 3
Neu Import in Abhängigkeit von eigenen Feldern JTL-Ameise - Ideen, Lob und Kritik 4
Datanorm 5.0 - kann diese in JTL importiert werden und ist ein automatischer stündlicher Import irgendwie möglich? JTL-Wawi 1.6 3
Neu Wofür sind Anhänge im Angebot gut? Ich würde sie gern mit an den Kunden mailen... User helfen Usern - Fragen zu JTL-Wawi 3
Neu E-Mail Adressen von Kunden werden nicht in die WAWI importiert eBay-Anbindung - Fehler und Bugs 0
Neu Artikel einen bestimmten Kunden zuordnen Arbeitsabläufe in JTL-Wawi 2
Preise automatisch berechnen lassen für b2b Kunden / Kundenindividuell JTL-Wawi 1.6 5
Neu SQL Abfrage erstellen für Kunden "Shopregistrieung" User helfen Usern - Fragen zu JTL-Wawi 3
Neu Artikelsticker werden nicht unter "Ähnliche Artikel" und "Kunden kauften dazu folgende Artikel" angezeigt. Allgemeine Fragen zu JTL-Shop 0
Neu DHL Retourenlabel gehen nicht per Email raus an Kunden. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Es werden nicht alle Kunden importiert Shopware-Connector 0
Neu JTL Wawi Kunden filtern Arbeitsabläufe in JTL-Wawi 0
Neu Workflow - Pickliste erstellt Email an den Kunden User helfen Usern - Fragen zu JTL-Wawi 0
Beantwortet Kunden können sich nicht registrieren Allgemeine Fragen zu JTL-Shop 2
Neu Kunden können sich nicht registrieren Shopbetrieb / -pflege JTL-Shop3 5
Neu Workflow - Kunden - Erweiterte Eigenschaft User helfen Usern - Fragen zu JTL-Wawi 3
Beantwortet Frage: SQL Select Eigene Felder eines Kunden User helfen Usern - Fragen zu JTL-Wawi 6
Neu Kunden eigene Felder im Shop ausgeben Allgemeine Fragen zu JTL-Shop 2
Neu Nach Update funktioniert Shopware Connector nicht mehr. Auch Fehlermeldung nach Bestellung für Kunden Shopware-Connector 5
Neu Zahlungsziel aus Kunden, falls nicht vorhanden, dann Zahlungsziel aus Auftrag (Wawi 1.5.xxx) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Kunden aus POS werden nicht in die Wawi übertragen Arbeitsabläufe in JTL-Wawi 2
Neu Feld Kundenhistorie in Wawi 1.5.55.3 bei allen Kunden leer JTL-Wawi - Fehler und Bugs 1
Neu 1.6.41.2 Ansprechpartner von Kunden werden nicht exportiert JTL-Ameise - Fehler und Bugs 1
Zahlungsbestätigungen via E-Mail an Kunden versenden? JTL-Wawi 1.6 0
Neu Button für Weiter einkaufen soll den Kunden zurück in die Artikelliste führen Betrieb / Pflege von JTL-Shop 7
Neu Idee: JTL-URL* zum Direkten Öffnen von Aufträgen/Kunden o.Ä. JTL-Wawi - Ideen, Lob und Kritik 8
Nummernkreise definieren (Kunden) nach Entfernung von Duplikaten JTL-Wawi 1.6 1
Bestellung beim Lieferanten und Bestellungen vom Kunden JTL-Wawi 1.6 0
Neu Kunden 2 Kundengruppen zuweisen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Anzahl angezeigter Kunden in Liste nicht begrenzen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Name des Kunden in Picklistenübersicht Individuelle Listenansichten in der JTL-Wawi 4

Ähnliche Themen