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');
 }
Exemple #2
0
 function edit_user($uid, $newpw = '', $newemail = '', $username = '')
 {
     if ($this->charset == 'gbk') {
         $username = addslashes(utf8ToGB($username));
         $newpw = addslashes(utf8ToGB($newpw));
         $email = addslashes(utf8ToGB($email));
     } else {
         $username = addslashes($username);
         $newpw = addslashes($newpw);
         $newemail = addslashes($newemail);
     }
     list($uid, $uname, $email) = uc_get_user($uid, 1);
     //isuid:0:username; 1:uid
     $username = $uname;
     /*
     	    
     	    if (!empty($username)){
     	    	 $ucresult = uc_user_merge($uname,$username,$uid,'',$email);
     	    	 if ($ucresult > 0){
     	    	 	$username = $uname;
     	    	 }else if($uid == -1) {
     	    	 	$this->error = '用户名不合法';
     	    	 	return false;
     	    	 } elseif($uid == -2) {
     	    	 	$this->error = '包含要允许注册的词语';
     	    	 	return false;
     	    	 } elseif($uid == -3) {
     	    	 	$this->error = '用户名已经存在';
     	    	 	return false;
     	    	 }	    	 
     	    }else{
     	    	$username = $uname;
     	    }
     */
     $ucresult = uc_user_edit($username, '', $newpw, $newemail, 1);
     // echo $ucresult; exit;
     if ($ucresult == -1) {
         $this->error = '旧密码不对';
         return false;
     } else {
         if ($ucresult == -4) {
             $this->error = '无效的email格式';
             return false;
         } else {
             if ($ucresult == -5) {
                 $this->error = '限制注册的email';
                 return false;
             } else {
                 if ($ucresult == -6) {
                     $this->error = 'email已经存在';
                     return false;
                 } else {
                     if ($ucresult == -7) {
                         $this->error = '没用需要更新的数据';
                         return false;
                     } else {
                         if ($ucresult == -8) {
                             $this->error = '受保护的会员密码';
                             return false;
                         } else {
                             if ($ucresult >= 0) {
                                 //email不存在,可用
                                 return true;
                             }
                         }
                     }
                 }
             }
         }
     }
 }