]> git.mxchange.org Git - mailer.git/blobdiff - contrib/mt_konverter/mt_mxchange_converter.php
Moved to contrib/ in preperation for merge
[mailer.git] / contrib / mt_konverter / mt_mxchange_converter.php
diff --git a/contrib/mt_konverter/mt_mxchange_converter.php b/contrib/mt_konverter/mt_mxchange_converter.php
new file mode 100644 (file)
index 0000000..61686ea
--- /dev/null
@@ -0,0 +1,217 @@
+<?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&uuml;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";
+
+//
+?>