--- /dev/null
+<?php
+/************************************************************************
+ * mt_konverter 0.1 Start: 07/18/2004 *
+ * ================ Last change: 09/05/2008 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mxchange.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Data converter for Danny Bubolz mail exchange *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Datenkonverter fuer Danny Bubolz's Mailtausch *
+ * -------------------------------------------------------------------- *
+ * *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder *
+ * For more information visit: http://www.mxchange.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// Verbindung oeffnen...
+require("config/config.php");
+
+// Header ausgeben
+echo "<DIV align=\"center\"><STRONG>Datenkonverter nach MXChange-Datenbank</STRONG></DIV><BR>\n";
+
+// Umgebung testen
+echo "Teste Umgebung.... ";
+if (!file_exists("tmp")) exit("Verzeichnis tmp mit CHMOD 777 bitte anlegen!");
+@touch("tmp/test.sql") or exit("Bitte CHMOD 777 auf tmp setzen!");
+unlink("tmp/test.sql");
+echo "<B>OKAY</B><BR>\n";
+
+echo "Konvertiere Daten... ";
+@touch("tmp/mxchange-db.sql");
+$fp = @fopen("tmp/mxchange-db.sql", 'w');
+
+// Daten geht's mit den Userdaten los!
+$result = mysql_query("SELECT ID,user,vorname,nachname,land,plz,strasse,ort,email,pwd,session,guthaben,refpunkte,bonuspunkte,extrapunkte,mailpunkte,mailsamtag,punkteabzug,geworbenvon,popuppunkte,jackpotpunkte,refpunkte1,refpunkte2,refpunkte3,refpunkte4,refpunkte5,refpunkte6,refpunkte7,refpunkte8,refpunkte9,refpunkte10,lastaction FROM mt_user ORDER BY ID")
+ or exit(__FILE__." (".__LINE__."): ".mysql_error());
+while ($DATA = mysql_fetch_array($result)) {
+ $data_k = array(); $data_v = array();
+ $points_k = array(); $points_v = array();
+ foreach ($DATA as $key=>$value) {
+ if ((intval($key) == "0") && ($key != "0")) {
+ switch ($key) {
+ case "ID":
+ echo "User <B>".$value."</B>...\n";
+ $data_k[] = "userid"; $data_v[] = $value;
+ $ID = $value;
+ break;
+
+ case "user":
+ $data_k[] = "nickname"; $data_v[] = $value;
+ $NICK = $value;
+ break;
+
+ case "vorname":
+ $data_k[] = "surname"; $data_v[] = $value;
+ break;
+
+ case "nachname":
+ $data_k[] = "family"; $data_v[] = $value;
+ break;
+
+ case "land":
+ $data_k[] = "country"; $data_v[] = $value;
+ break;
+
+ case "plz":
+ $data_k[] = "zip"; $data_v[] = $value;
+ break;
+
+ case "strasse":
+ $data_k[] = "street_nr"; $data_v[] = $value;
+ break;
+
+ case "ort":
+ $data_k[] = "city"; $data_v[] = $value;
+ break;
+
+ case "email":
+ $data_k[] = "email"; $data_v[] = $value;
+ break;
+
+ case "pwd":
+ $data_k[] = "password"; $data_v[] = md5($value);
+ break;
+
+ case "mailsamtag":
+ $data_k[] = "max_mails"; $data_v[] = $value;
+ $data_k[] = "receive_mails"; $data_v[] = $value;
+ break;
+
+ case "lastaction":
+ $data_k[] = "joined"; $data_v[] = $value;
+ $data_k[] = "last_online"; $data_v[] = $value;
+ $data_k[] = "last_module"; $data_v[] = "login";
+ $data_k[] = "last_update"; $data_v[] = $value;
+ break;
+
+ case "session":
+ $data_k[] = "user_hash"; $data_v[] = $value;
+ break;
+
+ case "geworbenvon":
+ $ref_res = mysql_query("SELECT ID FROM mt_user WHERE user='".$value."' LIMIT 1")
+ or exit(__FILE__." (".__LINE__."): ".mysql_error());
+ list($value) = mysql_fetch_row($ref_res);
+ if ($value == "") $value = "0";
+ $data_k[] = "refid"; $data_v[] = $value;
+ break;
+
+ /********* Ab hier Punkte! *********/
+ case "punkteabzug":
+ $data_k[] = "used_points"; $data_v[] = abs($value);
+ break;
+
+ case "guthaben":
+ $points_k['check'] = "check"; $points_v['check'] = $value;
+ break;
+
+ case "refpunkte":
+ case "bonuspunkte":
+ case "extrapunkte":
+ case "mailpunkte":
+ case "jackpotpunkte":
+ case "popuppunkte":
+ if (!in_array("points0", $points_k))
+ {
+ $points_k[] = "points0";
+ }
+ $pos = array_search("points0", $points_k);
+ $points_v[$pos] += $value;
+ break;
+
+ case "refpunkte1":
+ case "refpunkte2":
+ case "refpunkte3":
+ case "refpunkte4":
+ case "refpunkte5":
+ case "refpunkte6":
+ case "refpunkte7":
+ case "refpunkte8":
+ case "refpunkte9":
+ case "refpunkte10":
+ $ref = substr($key, 9);
+ $points_k[$ref] = "points".$ref.""; $points_v[$ref] = $value;
+ break;
+
+ default:
+ echo "Spalte <B>".$key."</B> mit Wert ".$value." konnte nicht konvertiert werden!<BR>\n";
+ }
+ }
+ }
+ $SQL = "INSERT INTO mxchange_user_data (";
+ foreach ($data_k as $key=>$value) {
+ $SQL .= $value.",";
+ }
+ $SQL .= "status) VALUES ('";
+ foreach ($data_v as $key=>$value) {
+ $SQL .= $value."','";
+ }
+ $SQL .= "CONFIRMED');\n";
+ fwrite($fp, $SQL); $lvl0 = false;
+ $lvl0_points = "0";
+ foreach ($points_v as $level=>$points) {
+ if ($level != "check") {
+ // Refs pruefen
+ $result_ref = mysql_query("SELECT user FROM mt_refs WHERE ref".$level."='".$NICK."'")
+ or exit(__FILE__." (".__LINE__."): ".mysql_error());
+ if ($points != "0.00") {
+ $SQL1 = "INSERT INTO mxchange_user_points (userid,ref_depth,points) VALUES ('".$ID."','".$level."','".$points."');\n";
+ $SQL2 = "INSERT INTO mxchange_refsystem (userid,level,counter) VALUES('".$ID."','".$level."','".mysql_num_rows($result_ref)."');\n";
+ fwrite($fp, $SQL1);
+ fwrite($fp, $SQL2);
+ }
+ } else {
+ if (!$lvl0) {
+ $lvl0_points = $points;
+ $lvl0 = true;
+ } else {
+ $lvl0_points = $lvl0_points + $points;
+ fwrite($fp, "INSERT INTO mxchange_user_points (userid,ref_depth,points) VALUES ('".$ID."','0','".$lvl0_points."');\n");
+ $lvl0_points = "0"; $lvl0 = false;
+ }
+ }
+ }
+}
+
+// Alles klar! (hoffentlich?)
+echo "<B>OKAY</B><BR>\n";
+fclose($fp);
+
+// Und wieder zu damit...
+mysql_close($db);
+
+echo "<BR>\n";
+echo "Datei <B>tmp/mxchange-db.sql</B> mit <B>".filesize("tmp/mxchange-db.sql")." Bytes</B> erzeugt.<BR><BR>Datenkonvertierung abgeschlossen...<BR>
+<BR>
+Bevor Sie jedoch den Dump einspielen, müssen Sie unbedingt die <A href=\"http://www.mxchange.org\">nickname-Erweiterung</A> meines Scriptes eingerichtet haben! Anderfalls kommt es zu Fehlermeldungen und die User-Daten konnten nicht importiert werden.\n";
+
+//
+?>