public function import_user() { //导入前,检查会员名,是否有重复的,有重复的不能执行导入 ini_set("memory_limit", "100M"); $cfg = unserialize(fanweC('INTEGRATE_CONFIG')); // INTEGRATE_CONFIG $_SESSION['cfg']; //echo VENDOR_PATH."mysql.php"; exit; //include_once(VENDOR_PATH."mysql.php"); /* //include_once(__ROOT__."/app/source/class/mysql_db.php"); include_once(FANWE_ROOT."/core/class/db.class.php"); include_once(FANWE_ROOT."/core/class/mysql.class.php"); $db_cfg = array( 'DB_HOST'=>$cfg['db_host'], 'DB_NAME'=>$cfg['db_name'], 'DB_USER'=>$cfg['db_user'], 'DB_PWD'=>$cfg['db_pass'], 'DB_PORT'=>3306, 'DB_PREFIX'=>$cfg['db_pre'], ); $class = 'FDbMySql'; $ucdb = &FDB::object($class); $ucdb->setConfig($db_cfg); $ucdb->connect(); */ $db_cfg = array('dbhost' => $cfg['db_host'], 'dbname' => $cfg['db_name'], 'dbuser' => $cfg['db_user'], 'dbpwd' => $cfg['db_pass'], 'dbcharset' => $cfg['db_charset'], 'pconnect' => ''); Vendor('mysql'); $ucdb = new mysqldb($db_cfg); //dump($ucdb); exit; Log::record("==================uc会员整合 begin======================"); $item_list = M()->query("SELECT uid as id,user_name,password as user_pwd, ucenter_id, email, '' as last_ip,reg_time as create_time FROM " . C("DB_PREFIX") . "user ORDER BY `id` ASC"); foreach ($item_list as $data) { $salt = rand(100000, 999999); $password = md5($data['user_pwd'] . $salt); //uc口令方式:md5(md5(明文)+随机值) if (strtolower($cfg['db_charset']) == 'gbk') { $data['username'] = addslashes(utf8ToGB($data['user_name'])); } else { $data['username'] = addslashes($data['user_name']); } $uc_userinfo = $ucdb->fetchFirst("SELECT `uid`, `password`, `salt` FROM " . $cfg['db_pre'] . "members WHERE `username`='{$data['username']}'"); //dump($uc_userinfo); if (!$uc_userinfo) { $ucdb->query("INSERT INTO " . $cfg['db_pre'] . "members SET username='******'username']}', password='******', email='{$data['email']}', regip='{$data['last_ip']}', regdate='{$data['create_time']}', salt='{$salt}'", 'SILENT'); $lastuid = $ucdb->insertId(); $ucdb->query("INSERT INTO " . $cfg['db_pre'] . "memberfields SET uid='{$lastuid}'", 'SILENT'); M()->query("UPDATE " . C("DB_PREFIX") . "user SET `ucenter_id`='" . $lastuid . "' WHERE `uid`='" . $data['id'] . "'"); //Log::record("INSERT INTO ".$cfg['db_pre']."members SET username='******', password='******', email='$data[email]', regip='$data[last_ip]', regdate='$data[create_time]', salt='$salt'"); //Log::record("INSERT INTO ".$cfg['db_pre']."memberfields SET uid='$lastuid'"); //M()->query("UPDATE " . C("DB_PREFIX") . "user SET `id`= $lastuid "." where id = ".$data['id']); } else { M()->query("UPDATE " . C("DB_PREFIX") . "user SET `ucenter_id`='" . $uc_userinfo['uid'] . "' WHERE `uid`='" . $data['id'] . "'"); /* if ($merge_method == 1)//1:将与UC用户名和密码相同的用户强制为同一用户 { if (md5($data['user_pwd'].$uc_userinfo['salt']) == $uc_userinfo['password']) { //$merge_uid[] = $data['id']; $uc_uid[] = array('user_id' => $data['id'], //旧会员ID 'uid' => $uc_userinfo['uid'] //新会员ID ); continue; } } */ $ucdb->query("REPLACE INTO " . $cfg['db_pre'] . "mergemembers SET appid='" . UC_APPID . "', username='******'username']}'", 'SILENT'); //Log::record("REPLACE INTO ".$cfg['db_pre']."mergemembers SET appid='".UC_APPID."', username='******'"); } } //M()->query("UPDATE " . C("DB_PREFIX") . "user SET `ucenter_id`= ucenter_id_tmp"); //Log::record("==================uc会员整合 end======================"); //Log::save(); clearCache(); $this->assign('jumpUrl', u('Integrate/index')); $this->success('成功将会员数据导入到 UCenter'); }