Boothby
20.10.2001, 22:24
Ich bin nen absoluter Newbie in Sachen PHP und MySQL und da ich mich da reinfinden will hab ich vor nen YaBB Converter zu basteln.
Ich hab mal angefangen die Memberdaten ins vB zu bekommen.
Aufbau einer Memberdatei. (Liegen alle im Pfad /Members und lauten Username.dat)
Password
Username
email@domain.de
Webseitenname
http://www.meine-domain.de
Signatur (Incl. BB-Code)
88 (Anzahl Postings)
Usergroup
ICQ
AIM
YIM
Geschlecht
Usertitle
Rank.gif
Wohnort
So hier nun die settings.php. Die sind eigentlich klar.
<?php
//settings.php
$yabb_path="D:/yabb";
$members_path="$yabb_path/Members";
$boards_path="$yabb_path/Boards";
$messages_path="$yabb_path/Messages";
$insert_members=1;
$insert_categories=1;
$insert_boards=1;
$insert_messages=1;
$servername="localhost";
$dbusername="vbulletin";
$dbpassword="";
$dbname="vbulletin";
$forum_id="2"; //Forum ID
//settings ende
$yabb_path=preg_replace("/\\\/","/",$yabb_path);
$members_path=preg_replace("/\\\/","/",$members_path);
$boards_path=preg_replace("/\\\/","/",$boards_path);
$messages_path=preg_replace("/\\\/","/",$messages_path);
?>
Jetzt die members.php
<?php
/* members.php
Fügt die Memberdaten ein.
*/
require "settings.php";
//special settings
$usergroupid="2"; //registered Member
$styleid="0"; //Style ID
$parentemail="";
$coppauser="0";
$yahoo="";
$adminemail="";
$showemail="";
$invisible="";
$usertitle="";
$customtitle="";
$joindate=time();
$cookieuser="1";
$daysprune="-1";
$lastvisit=time();
$lastactivity=time();
$lastpost=time();
$timezoneoffset="0";
$emailnotification="1";
$buddylist="";
$ignorelist="";
$pmfolders="";
$receivepm="0";
$emailonpm="0";
$pmpopup="0";
$avatarid="0";
$options="15";
$birthday="0000-00-00";
$maxposts="-1";
$startofweek="1";
$ipaddress="0.0.0.0";
$referrerid="0";
$nosessionhash="0";
$userid=3;
//special settings ende
$handle=opendir("$members_path");
if ($handle){
while ($file=readdir($handle)){
if (($file != ".") && ($file != "..")){
if (preg_match("/.dat/",$file)){$members_filelist[]=$file;}
}
}
closedir ($handle);
}
//print_r($members_filelist);
$insertdata="userid, usergroupid, username, password, email, styleid, parentemail, coppauser, homepage, icq, aim, yahoo, signature, adminemail, showemail, invisible, usertitle, customtitle, joindate, cookieuser, daysprune, lastvisit, lastactivity, lastpost, posts, timezoneoffset, emailnotification, buddylist, ignorelist, pmfolders, receivepm, emailonpm, pmpopup, avatarid, options, birthday, maxposts, startofweek, ipaddress, referrerid, nosessionhash";
mysql_connect ($servername,$dbusername,$dbpassword);
mysql_select_db ($dbname);
foreach ($members_filelist as $index =>$file){
$userdata=array ();
echo "<b>$file = $userid</b><br>";
$fh=fopen("$members_path/$file","r");
while ($line=fgets($fh,1024)){
$line=preg_replace("/[\n\r]/","",$line);
$userdata[]=$line;
// echo "$line<br>";
}
if ($fh){fclose($fh);}
$username=$userdata[1];
$username=preg_replace("/_/","\" \" ",$username);
$passwort=$userdata[0];
$email=$userdata[2];
$homepage=$userdata[4];
$icq=$userdata[8];
$aim=$userdata[9];
$signature=$userdata[5];
$posts=$userdata[6];
# $insertvalues="\$userid\",\"$usergroupid\",\"$username\",\"$password\",\"$email\",\"$styleid\",\"$parentemail\",\"$coppauser\",\"$homepage\",\"$icq\",\"$aim\",\"$yahoo\",\"$signature\",\"$adminemail\",\"$showemail\",\"$invisible\",\"$usertitle\",\"$customtitle\",\"$joindate\",\"$cookieuser\",\"$daysprune\",\"$lastvisit\",\"$lastactivity\",\"$lastpost\",\"$posts\",\"$timezoneoffset\",\"$emailnotification\",\"$buddylist\",\"$ignorelist\",\"$pmfolders\",\"$receivepm\",\"$emailonpm\",\"$pmpopup\",\"$avatarid\",\"$options\",\"$birthday\",\"$maxposts\",\"$startofweek\",\"$ipaddress\",\"$referrerid\",\"$nosessionhash\"";
$insertvalues="NULL,\"$usergroupid\",\"$username\",\"$password\",\"$email\",\"$styleid\",\"$parentemail\",\"$coppauser\",\"$homepage\",\"$icq\",\"$aim\",\"$yahoo\",\"$signature\",\"$adminemail\",\"$showemail\",\"$invisible\",\"$usertitle\",\"$customtitle\",\"$joindate\",\"$cookieuser\",\"$daysprune\",\"$lastvisit\",\"$lastactivity\",\"$lastpost\",\"$posts\",\"$timezoneoffset\",\"$emailnotification\",\"$buddylist\",\"$ignorelist\",\"$pmfolders\",\"$receivepm\",\"$emailonpm\",\"$pmpopup\",\"$avatarid\",\"$options\",\"$birthday\",\"$maxposts\",\"$startofweek\",\"$ipaddress\",\"$referrerid\",\"$nosessionhash\"";
$query="INSERT INTO user ($insertdata) VALUES ($insertvalues)";
mysql_query($query);
$insertdata2="userid, field1, field2, field3, field4";
$insertvalues2="\"$userid\",\"$field1\",\"$field2\",\"$field3\",\"$field4\"";
# $insertvalues2="NULL,\"$field1\",\"$field2\",\"$field3\",\"$field4\"";
$query2="INSERT INTO userfield ($insertdata2) VALUES ($insertvalues2)";
mysql_query($query2);
$userid++;
}
mysql_close();
?>
Ich habe jetzt speziell das Prob mit der userid. Wie kann ich die per Script ermitteln. Hier in meinem Code hab ich sie festgelegt ($userid=3; ).
Ich hab mal angefangen die Memberdaten ins vB zu bekommen.
Aufbau einer Memberdatei. (Liegen alle im Pfad /Members und lauten Username.dat)
Password
Username
email@domain.de
Webseitenname
http://www.meine-domain.de
Signatur (Incl. BB-Code)
88 (Anzahl Postings)
Usergroup
ICQ
AIM
YIM
Geschlecht
Usertitle
Rank.gif
Wohnort
So hier nun die settings.php. Die sind eigentlich klar.
<?php
//settings.php
$yabb_path="D:/yabb";
$members_path="$yabb_path/Members";
$boards_path="$yabb_path/Boards";
$messages_path="$yabb_path/Messages";
$insert_members=1;
$insert_categories=1;
$insert_boards=1;
$insert_messages=1;
$servername="localhost";
$dbusername="vbulletin";
$dbpassword="";
$dbname="vbulletin";
$forum_id="2"; //Forum ID
//settings ende
$yabb_path=preg_replace("/\\\/","/",$yabb_path);
$members_path=preg_replace("/\\\/","/",$members_path);
$boards_path=preg_replace("/\\\/","/",$boards_path);
$messages_path=preg_replace("/\\\/","/",$messages_path);
?>
Jetzt die members.php
<?php
/* members.php
Fügt die Memberdaten ein.
*/
require "settings.php";
//special settings
$usergroupid="2"; //registered Member
$styleid="0"; //Style ID
$parentemail="";
$coppauser="0";
$yahoo="";
$adminemail="";
$showemail="";
$invisible="";
$usertitle="";
$customtitle="";
$joindate=time();
$cookieuser="1";
$daysprune="-1";
$lastvisit=time();
$lastactivity=time();
$lastpost=time();
$timezoneoffset="0";
$emailnotification="1";
$buddylist="";
$ignorelist="";
$pmfolders="";
$receivepm="0";
$emailonpm="0";
$pmpopup="0";
$avatarid="0";
$options="15";
$birthday="0000-00-00";
$maxposts="-1";
$startofweek="1";
$ipaddress="0.0.0.0";
$referrerid="0";
$nosessionhash="0";
$userid=3;
//special settings ende
$handle=opendir("$members_path");
if ($handle){
while ($file=readdir($handle)){
if (($file != ".") && ($file != "..")){
if (preg_match("/.dat/",$file)){$members_filelist[]=$file;}
}
}
closedir ($handle);
}
//print_r($members_filelist);
$insertdata="userid, usergroupid, username, password, email, styleid, parentemail, coppauser, homepage, icq, aim, yahoo, signature, adminemail, showemail, invisible, usertitle, customtitle, joindate, cookieuser, daysprune, lastvisit, lastactivity, lastpost, posts, timezoneoffset, emailnotification, buddylist, ignorelist, pmfolders, receivepm, emailonpm, pmpopup, avatarid, options, birthday, maxposts, startofweek, ipaddress, referrerid, nosessionhash";
mysql_connect ($servername,$dbusername,$dbpassword);
mysql_select_db ($dbname);
foreach ($members_filelist as $index =>$file){
$userdata=array ();
echo "<b>$file = $userid</b><br>";
$fh=fopen("$members_path/$file","r");
while ($line=fgets($fh,1024)){
$line=preg_replace("/[\n\r]/","",$line);
$userdata[]=$line;
// echo "$line<br>";
}
if ($fh){fclose($fh);}
$username=$userdata[1];
$username=preg_replace("/_/","\" \" ",$username);
$passwort=$userdata[0];
$email=$userdata[2];
$homepage=$userdata[4];
$icq=$userdata[8];
$aim=$userdata[9];
$signature=$userdata[5];
$posts=$userdata[6];
# $insertvalues="\$userid\",\"$usergroupid\",\"$username\",\"$password\",\"$email\",\"$styleid\",\"$parentemail\",\"$coppauser\",\"$homepage\",\"$icq\",\"$aim\",\"$yahoo\",\"$signature\",\"$adminemail\",\"$showemail\",\"$invisible\",\"$usertitle\",\"$customtitle\",\"$joindate\",\"$cookieuser\",\"$daysprune\",\"$lastvisit\",\"$lastactivity\",\"$lastpost\",\"$posts\",\"$timezoneoffset\",\"$emailnotification\",\"$buddylist\",\"$ignorelist\",\"$pmfolders\",\"$receivepm\",\"$emailonpm\",\"$pmpopup\",\"$avatarid\",\"$options\",\"$birthday\",\"$maxposts\",\"$startofweek\",\"$ipaddress\",\"$referrerid\",\"$nosessionhash\"";
$insertvalues="NULL,\"$usergroupid\",\"$username\",\"$password\",\"$email\",\"$styleid\",\"$parentemail\",\"$coppauser\",\"$homepage\",\"$icq\",\"$aim\",\"$yahoo\",\"$signature\",\"$adminemail\",\"$showemail\",\"$invisible\",\"$usertitle\",\"$customtitle\",\"$joindate\",\"$cookieuser\",\"$daysprune\",\"$lastvisit\",\"$lastactivity\",\"$lastpost\",\"$posts\",\"$timezoneoffset\",\"$emailnotification\",\"$buddylist\",\"$ignorelist\",\"$pmfolders\",\"$receivepm\",\"$emailonpm\",\"$pmpopup\",\"$avatarid\",\"$options\",\"$birthday\",\"$maxposts\",\"$startofweek\",\"$ipaddress\",\"$referrerid\",\"$nosessionhash\"";
$query="INSERT INTO user ($insertdata) VALUES ($insertvalues)";
mysql_query($query);
$insertdata2="userid, field1, field2, field3, field4";
$insertvalues2="\"$userid\",\"$field1\",\"$field2\",\"$field3\",\"$field4\"";
# $insertvalues2="NULL,\"$field1\",\"$field2\",\"$field3\",\"$field4\"";
$query2="INSERT INTO userfield ($insertdata2) VALUES ($insertvalues2)";
mysql_query($query2);
$userid++;
}
mysql_close();
?>
Ich habe jetzt speziell das Prob mit der userid. Wie kann ich die per Script ermitteln. Hier in meinem Code hab ich sie festgelegt ($userid=3; ).