2 /************************************************************************
3 * mt_konverter 0.1 Start: 07/18/2004 *
4 * ================ Last change: 09/05/2008 *
6 * -------------------------------------------------------------------- *
7 * File : mxchange.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Data converter for Danny Bubolz mail exchange *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Datenkonverter fuer Danny Bubolz's Mailtausch *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Verbindung oeffnen...
35 require("config/config.php");
38 echo "<DIV align=\"center\"><STRONG>Datenkonverter nach MXChange-Datenbank</STRONG></DIV><BR>\n";
41 echo "Teste Umgebung.... ";
42 if (!file_exists("tmp")) exit("Verzeichnis tmp mit CHMOD 777 bitte anlegen!");
43 @touch("tmp/test.sql") or exit("Bitte CHMOD 777 auf tmp setzen!");
44 unlink("tmp/test.sql");
45 echo "<B>OKAY</B><BR>\n";
47 echo "Konvertiere Daten... ";
48 @touch("tmp/mxchange-db.sql");
49 $fp = @fopen("tmp/mxchange-db.sql", 'w');
51 // Daten geht's mit den Userdaten los!
52 $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")
53 or exit(__FILE__." (".__LINE__."): ".mysql_error());
54 while ($DATA = mysql_fetch_array($result)) {
55 $data_k = array(); $data_v = array();
56 $points_k = array(); $points_v = array();
57 foreach ($DATA as $key=>$value) {
58 if ((intval($key) == "0") && ($key != "0")) {
61 echo "User <B>".$value."</B>...\n";
62 $data_k[] = "userid"; $data_v[] = $value;
67 $data_k[] = "nickname"; $data_v[] = $value;
72 $data_k[] = "surname"; $data_v[] = $value;
76 $data_k[] = "family"; $data_v[] = $value;
80 $data_k[] = "country"; $data_v[] = $value;
84 $data_k[] = "zip"; $data_v[] = $value;
88 $data_k[] = "street_nr"; $data_v[] = $value;
92 $data_k[] = "city"; $data_v[] = $value;
96 $data_k[] = "email"; $data_v[] = $value;
100 $data_k[] = "password"; $data_v[] = md5($value);
104 $data_k[] = "max_mails"; $data_v[] = $value;
105 $data_k[] = "receive_mails"; $data_v[] = $value;
109 $data_k[] = "joined"; $data_v[] = $value;
110 $data_k[] = "last_online"; $data_v[] = $value;
111 $data_k[] = "last_module"; $data_v[] = "login";
112 $data_k[] = "last_update"; $data_v[] = $value;
116 $data_k[] = "user_hash"; $data_v[] = $value;
120 $ref_res = mysql_query("SELECT ID FROM mt_user WHERE user='".$value."' LIMIT 1")
121 or exit(__FILE__." (".__LINE__."): ".mysql_error());
122 list($value) = mysql_fetch_row($ref_res);
123 if ($value == "") $value = "0";
124 $data_k[] = "refid"; $data_v[] = $value;
127 /********* Ab hier Punkte! *********/
129 $data_k[] = "used_points"; $data_v[] = abs($value);
133 $points_k['check'] = "check"; $points_v['check'] = $value;
140 case "jackpotpunkte":
142 if (!in_array("points0", $points_k))
144 $points_k[] = "points0";
146 $pos = array_search("points0", $points_k);
147 $points_v[$pos] += $value;
160 $ref = substr($key, 9);
161 $points_k[$ref] = "points".$ref.""; $points_v[$ref] = $value;
165 echo "Spalte <B>".$key."</B> mit Wert ".$value." konnte nicht konvertiert werden!<BR>\n";
169 $SQL = "INSERT INTO mxchange_user_data (";
170 foreach ($data_k as $key=>$value) {
173 $SQL .= "status) VALUES ('";
174 foreach ($data_v as $key=>$value) {
175 $SQL .= $value."','";
177 $SQL .= "CONFIRMED');\n";
178 fwrite($fp, $SQL); $lvl0 = false;
180 foreach ($points_v as $level=>$points) {
181 if ($level != "check") {
183 $result_ref = mysql_query("SELECT user FROM mt_refs WHERE ref".$level."='".$NICK."'")
184 or exit(__FILE__." (".__LINE__."): ".mysql_error());
185 if ($points != "0.00") {
186 $SQL1 = "INSERT INTO mxchange_user_points (userid,ref_depth,points) VALUES ('".$ID."','".$level."','".$points."');\n";
187 $SQL2 = "INSERT INTO mxchange_refsystem (userid,level,counter) VALUES('".$ID."','".$level."','".mysql_num_rows($result_ref)."');\n";
193 $lvl0_points = $points;
196 $lvl0_points = $lvl0_points + $points;
197 fwrite($fp, "INSERT INTO mxchange_user_points (userid,ref_depth,points) VALUES ('".$ID."','0','".$lvl0_points."');\n");
198 $lvl0_points = "0"; $lvl0 = false;
204 // Alles klar! (hoffentlich?)
205 echo "<B>OKAY</B><BR>\n";
208 // Und wieder zu damit...
212 echo "Datei <B>tmp/mxchange-db.sql</B> mit <B>".filesize("tmp/mxchange-db.sql")." Bytes</B> erzeugt.<BR><BR>Datenkonvertierung abgeschlossen...<BR>
214 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";