示例#1
0
 /**
  * 纵乐验证appstore账号密码
  * http://admin.appstore.dzm.playcrab.com/vms/index.php?mod=jsapi&action=CheckUser&username=1&password=1&sign=0f9018eac682fe9422910d97349932f3
  */
 public function actionCheckUser()
 {
     $sign = self::getParam('sign');
     $email = self::getParam('username');
     $params = $_POST;
     //$params = array('username'=>$_GET['username'],'password'=>$_GET['password']);
     //print_r($params);
     unset($params['sign']);
     $c_sign = self::sign($params, 'ares');
     if (empty($email) or empty($sign) or $sign != $c_sign) {
         self::showMsg(array('s' => StatusCode::invalid_siginature));
     }
     $um = model_LoginUser::searchUniq('email', $email);
     if (!empty($um)) {
         $pass = self::getParam('password');
         if (!$um->checkPass($pass)) {
             self::showMsg(array('s' => StatusCode::auth_failed, 'msg' => 'password error!'));
         }
     } else {
         self::showMsg(array('s' => StatusCode::auth_failed, 'msg' => 'password or username error!'));
     }
     //循环玩家所有分区取VIP 找到vip13就停止返回
     $uid = $um['_id'];
     $vip = 1;
     foreach ((array) $um['last_login_secs'] as $sec_k => $in_time) {
         $player = new model_Player($uid, $sec_k);
         $udata = $player->getFields(array('vip.lvl'));
         //echo $sec_k."-vip:".$vip['vip']['lvl']."<br>";
         $v = $udata['vip']['lvl'];
         if ($v >= 13) {
             $vip = $v;
             break;
         } elseif ($v > $vip) {
             $vip = $v;
         }
     }
     $result = array('pid' => $um['pid'], 'vip' => $vip);
     self::showMsg(array('s' => 'ok', 'data' => $result));
 }
示例#2
0
 public function action_reset_account()
 {
     $uid = $this->get_param('uid');
     $email = $this->get_param('email');
     $password = $this->get_param('password');
     $login_model1 = new model_LoginUser($uid);
     if (!$login_model1) {
         echo "用户[uid:{$uid}]不存在\n";
         return;
     }
     $this->get_and_print_user_info($login_model1);
     $login_model2 = model_LoginUser::searchUniq('email', $email, true);
     if (!$login_model2) {
         echo "=============================================\n";
         echo "用户[email:{$email}]不存在\n";
     } else {
         if ($login_model2->id() == $login_model1->id()) {
             echo "不需要绑定\n";
             return;
         }
         $this->get_and_print_user_info($login_model2);
     }
     if (!empty($password)) {
         if ($login_model2) {
             echo "先禁用掉 原来 [{$email}] 映射的用户\n";
             $login_model2->opOne('email', '__disabled__' . $email);
             $login_model2->save();
         }
         echo "绑定 uid[{$uid}] email[{$email}] password[{$password}]\n";
         $login_model1->setPass($password);
         $login_model1->opOne('email', $email);
         $login_model1->save();
     }
 }