示例#1
0
 public function actionAdd($password, $discuz_uid, $type = 'User')
 {
     //TODO 这个之后一定要写进配置文件而非硬编码
     if ($password !== 'ngpt_2333') {
         Yii::warning("Wrong Password!!!!!!" . $password . "uid : {$discuz_uid}");
         return ['result' => 'failed', 'extra' => 'wrong password'];
     }
     if (is_numeric($discuz_uid) && intval($discuz_uid) <= 0) {
         Yii::warning("uid not a number : {$discuz_uid}");
         return ['result' => 'failed', 'extra' => 'discuz_uid should be numeric'];
     }
     $discuz_uid = intval($discuz_uid);
     /** @var User $user */
     $user = User::findOne(['discuz_user_id' => $discuz_uid]);
     if (!empty($user)) {
         return ['result' => 'succeed', 'extra' => $user->passkey];
     }
     $user = new User();
     $user->discuz_user_id = $discuz_uid;
     $user->passkey = User::genPasskey();
     Yii::info($user->attributes);
     if ($user->insert()) {
         return ['result' => 'succeed', 'extra' => $user->passkey];
     } else {
         Yii::warning("Insert to user table failed");
         return ['result' => 'failed', 'extra' => 'Database error'];
     }
 }
    public function actionUser()
    {
        User::deleteAll();
        $this->fdb->createCommand('DELETE FROM ngpt_ngpt_user')->query();
        //获取所有的User
        $offset = 0;
        $limit = 1000;
        QUERY:
        $sql = <<<SQL
SELECT u.*,m.adminid FROM ngpt_ngpt_users u
LEFT JOIN ngpt_common_member m ON u.uid=m.uid
LIMIT {$limit} OFFSET {$offset};
SQL;
        $res = $this->fdb->createCommand($sql)->queryAll();
        foreach ($res as $ouser) {
            $user = new User();
            $user->stat_up = $ouser['uploaded'];
            $user->stat_down = $ouser['downloaded'];
            $user->real_up = $ouser['realup'];
            $user->real_down = $ouser['realdown'];
            $user->is_valid = $ouser['candownload'] == '1';
            $user->passkey = $ouser['passkey'];
            $user->discuz_user_id = $ouser['uid'];
            if ($ouser['adminid'] != 0) {
                $user->priv = 'Admin';
            }
            var_dump($ouser);
            if (!$user->insert()) {
                var_dump($user->errors);
                return;
            }
            //进行ngpt的数据迁移
            $msql = <<<SQL
INSERT INTO ngpt_ngpt_user(uid, passkey, candownload)
VALUES ({$ouser['uid']},"{$user->passkey}", {$user->is_valid});
SQL;
            $res = $this->fdb->createCommand($msql)->query();
            if (!$res) {
                var_dump($msql);
                return;
            }
        }
        if (count($res)) {
            $offset += $limit;
            goto QUERY;
        }
        return;
    }
示例#3
0
 public function RegisterNewUser($mobile, $password, $salt)
 {
     date_default_timezone_set('Asia/Shanghai');
     $registerTime = date('Y-m-d H:i:s', time());
     $user = new User();
     $user->nickName = $mobile;
     $user->password = $password;
     $user->mobile = $mobile;
     $user->registerTime = $registerTime;
     $user->lastLoginTime = $registerTime;
     $user->salt = $salt;
     $user->insert();
 }