function forget()
 {
     header("Content-Type:text/html; charset=utf-8");
     $cstmusrnm = $_POST['cstmusrnm'];
     $cstmusrml = $_POST['cstmusrml'];
     $cstmusr = M('cstmusr');
     if ($cstmusr->where("cstmusrnm='" . $cstmusrnm . "'")->find()) {
         if ($cstmusr->where("cstmusrnm='" . $cstmusrnm . "' AND cstmusrml='" . $cstmusrml . "'")->find()) {
             $cstmusro = $cstmusr->where("cstmusrnm='" . $cstmusrnm . "'")->find();
             //由于从邮箱进行点击链接是无法获取session的,所以存sql sql存一个是key 一个是时间戳
             $tm = time();
             //一样可以保证是同一个tm
             $vrf = md5($cstmusrnm . $tm);
             $ss = M('ss');
             $dt = array(ssvrf => $vrf, sstm => $tm, sscstmusrnm => $cstmusrnm);
             //刚刚创建好了立马用
             $ss->data($dt)->add();
             $cnt = $ss->count();
             $ssls = $ss->limit($cnt - 1, 1)->select();
             $ssid = $ssls[0]['ssid'];
             //得到公网地址
             $sys = M('sys');
             $syso = $sys->find();
             //发送邮件
             import('@.MAIL.MailAction');
             //$mail = new PHPMailer(); //实例化
             $mail = new MailAction();
             $mail->IsSMTP();
             // 启用SMTP
             $mail->Host = "smtp.163.com";
             //SMTP服务器 以163邮箱为例子
             $mail->Port = 25;
             //邮件发送端口
             $mail->SMTPAuth = true;
             //启用SMTP认证
             $mail->CharSet = "UTF-8";
             //字符集
             $mail->Encoding = "base64";
             //编码方式
             $mail->Username = "******";
             //你的邮箱
             $mail->Password = "******";
             //你的密码
             $mail->Subject = "Geek密码找回";
             //邮件标题
             $mail->From = "*****@*****.**";
             //发件人地址(也就是你的邮箱)
             $mail->FromName = "管理员";
             //发件人姓名
             $address = $cstmusrml;
             //收件人email
             $mail->AddAddress($address, $cstmusro['cstmusrnn']);
             //添加收件人(地址,昵称)
             //$mail->AddAttachment('xx.xls','我的附件.xls'); // 添加附件,并指定名称
             //$mail->IsHTML(true); //支持html格式内容
             //$mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //设置邮件中的图片
             $mail->Body = '你好, 请点击以下链接 http://' . $syso['sysip'] . '/' . $syso['sysnm'] . '/admin.php/Cstmusr/gtxpg/x/modifypwml/ssid/' . $ssid . '/vrf/' . $vrf . ' 如果您的邮箱不支持点击链接,那么请您将此链接粘贴至浏览器地址栏进行访问,此邮件30分钟内有效';
             //邮件主体内容
             //发送
             // 		if(!$mail->Send()) {
             // 			echo "Mailer Error: " . $mail->ErrorInfo;
             // 		} else {
             // 			echo "Message sent!";
             // 		}
             if ($mail->Send()) {
                 $data['status'] = 1;
                 $this->ajaxReturn($data, 'json');
             } else {
                 $data['status'] = 2;
                 $this->ajaxReturn($data, 'json');
             }
         } else {
             $data['status'] = 4;
             $this->ajaxReturn($data, 'json');
         }
     } else {
         $data['status'] = 3;
         $this->ajaxReturn($data, 'json');
     }
 }
Exemple #2
0
 /**
  * API:用户注册
  *
  * @access public
  * @param 无
  * @return JsonView 响应json
  */
 public function exeUserRegister()
 {
     $requestParam = $this->getAllParameters();
     Logger::debug('requestParam:' . print_r($requestParam, true));
     $requestJsonParam = $this->getDecodedJsonRequest();
     Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true));
     // 检测账号是否重复
     $ret = AuthModel::checkUserAccount($requestJsonParam['account']);
     if (!$ret) {
         $view = new JsonView();
         $messageArr['error'] = "该账号已存在";
         return $this->getViewByJson($view, $messageArr, 0, "auth/user_register");
     }
     // 检测账号是否重复
     $ret = AuthModel::checkUserName($requestJsonParam['user_name']);
     if (!$ret) {
         $view = new JsonView();
         $messageArr['error'] = "该昵称已存在";
         return $this->getViewByJson($view, $messageArr, 0, "auth/user_register");
     }
     // 插入新用户
     $ret = AuthModel::insert(array('s_account' => $requestJsonParam['account'], 's_password' => $requestJsonParam['password'], 't_create_time' => date("Y-m-d H:i:s")), $pdo);
     if (is_null($ret)) {
         throw new ModelException('insert false pa_user_master');
     }
     //---------------------------- 初始用户表 ----------------------------
     $user_id = AuthModel::getUserID($requestJsonParam['account'], $requestJsonParam['password'], $pdo);
     $messageArr['n_id'] = $user_id;
     self::$userBasicIni['s_name'] = $requestJsonParam['user_name'];
     self::$userBasicIni['n_sex'] = $requestJsonParam['sex'];
     self::$userBasicIni['t_create_time'] = date("Y-m-d H:i:s");
     // 初始化关卡信息
     $checkPointIni = array(1 => array('score' => 0, 'scr_length' => 0, 'reward' => 0, 'kill_num' => 0, 'star_num' => 0));
     //self::$userBasicIni['s_checkpoint_info'] = serialize( $checkPointIni );
     // 初始化角色信息
     self::$userBasicIni['s_role_info '] = CharacterAction::registCharacter($user_id, Constants::INI_CHARACTER_ID);
     // 初始化武将信息
     self::$userBasicIni['s_general_info'] = GeneralAction::registGeneral($user_id, Constants::INI_GENERAL_ID);
     // 初始化任务信息
     self::$userBasicIni['s_task_info'] = serialize(TaskAndAchieveAction::randTask($user_id));
     // 初始化成就信息
     self::$userBasicIni['s_achievement_info'] = TaskAndAchieveAction::registAchieveCsv($user_id);
     // 初始化签到信息
     $loginInfo = UserAction::getUserLoginInfo();
     self::$userBasicIni['s_login_info'] = serialize($loginInfo);
     $userInfo = array_merge($messageArr, self::$userBasicIni);
     $ret = UserModel::insert($userInfo, $pdo);
     FriendModel::insert(array('n_user_id' => $user_id, 'n_friend_id' => Constants::ROBERT, 't_create_time' => date("Y-m-d H:i:s")));
     $battle = UserAction::getUserbattle($user_id);
     UserModel::update(array('n_battle' => $battle), array('n_id' => $user_id));
     MailAction::sendSystemMail($user_id);
     if (is_null($ret)) {
         throw new ModelException('insert false pa_user_master');
     }
     // // 成就
     // $statisticArr['login_day'] = 1;
     // TaskAndAchieveAction::achieveStatistic( $user_id, $statisticArr );
     $userInfo = array_merge($messageArr, self::$userBasicIni);
     $session_key = CharacterModel::setSessionKey($user_id, $session_key);
     $messageArr['total_day'] = $loginInfo['total_day'];
     $messageArr['session_key'] = $session_key;
     $view = new JsonView();
     return $this->getViewByJson($view, $messageArr, 1, "auth/user_register");
 }
Exemple #3
0
 public function run()
 {
     parent::run();
 }
 /**
  * API:注册登陆时获取所有界面信息
  *
  * @access public
  * @param int $user_id 用户ID $character_id主角ID
  * @return array
  */
 public function getAllMessage($user_id)
 {
     //主角界面
     $characterInfo = CharacterAction::GetAllCharacterInfo($user_id);
     //武将界面
     $generalInfo = GeneralAction::GetAllGeneralInfo($user_id);
     $messageArr = array_merge($characterInfo, $generalInfo);
     //任务成就界面
     $messageArr['achieveInfo'] = TaskAndAchieveAction::getAchieveInfo($user_id);
     $messageArr['taskInfo'] = TaskAndAchieveAction::getTaskInfo($user_id);
     //商城数据
     $messageArr['mallInfo'] = BuyPropAction::exeGetMallInfo($user_id);
     //道具数据
     $messageArr['itemInfo'] = BuyPropAction::exeGetPropInfo($user_id);
     //好友界面
     $messageArr['friendInfo'] = FriendAction::exeGetFriendMenu($user_id);
     $messageArr['mail_num'] = MailAction::getMailNum($user_id);
     $messageArr['achieve_type'] = TaskAndAchieveAction::isFinish($user_id);
     //复活信息
     $messageArr['resurrextInfo']['price_type'] = Constants::RESURE_TYPE;
     $messageArr['resurrextInfo']['price'] = Constants::RESURE_COST;
     $messageArr['resurrextInfo']['hp'] = Constants::RESURE_HP;
     $messageArr['resurrextInfo']['time'] = Constants::RESURE_TIME;
     //BOSS关卡评分
     $messageArr['bossPoint']['time'] = Constants::BOSS_TIME;
     $messageArr['bossPoint']['less_time'] = Constants::LESS_TIME;
     $messageArr['bossPoint']['more_time'] = Constants::MORE_TIME;
     return $messageArr;
 }
Exemple #5
0
 /**
  * API:升级武将属性
  *
  * @access public
  * @param 无
  * @return JsonView 响应json
  */
 public function exeUpdateGeneral()
 {
     $requestParam = $this->getAllParameters();
     Logger::debug('requestParam:' . print_r($requestParam, true));
     $requestJsonParam = $this->getDecodedJsonRequest();
     Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true));
     $user_id = $requestParam['user_id'];
     $general_id = $requestJsonParam['general_id'];
     $attribute_id = $requestJsonParam['attribute_id'];
     $session_key = $requestParam['session_key'];
     $userGeneral = UserCache::getByKey($user_id, 's_general_info');
     if (!$userGeneral) {
         $userGeneral = GeneralModel::getUserGeneralInfo($user_id);
         UserCache::setByKey($user_id, 's_general_info', $userGeneral);
     }
     $attribute = self::$attribute;
     $price_type = self::$price_type;
     // 读取csv类  ,读取目标文件
     $file = IniFileManager::getRootDir() . "/files/csv/general" . $general_id . "_update_value.csv";
     $str = "update_id = " . $attribute_id . '_' . $userGeneral[$general_id][$attribute[$attribute_id]];
     $nowArr = CharacterAction::readCsv($file, $str);
     $type = $price_type[$nowArr[0]['price_type']];
     $money = UserCache::getByKey($user_id, $type);
     if (!$money) {
         $userInfo = GeneralModel::getUserInfo($user_id);
         $money = $userInfo[$type];
     }
     $money = $money - $nowArr[0]['price'];
     if ($money < 0) {
         $messageArr['error'] = "人生果/钻石不足!";
         $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key);
         $view = new JsonView();
         return $this->getViewByJson($view, $messageArr, 0, "general/update_general");
     }
     if ($userGeneral[$general_id][$attribute[$attribute_id]] >= Constants::MAX_LEVEL) {
         $messageArr['error'] = "等级已达最大!";
         $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key);
         $view = new JsonView();
         return $this->getViewByJson($view, $messageArr, 0, "general/update_general");
     }
     $userGeneral[$general_id][$attribute[$attribute_id]] = $userGeneral[$general_id][$attribute[$attribute_id]] + 1;
     $s_general_info = serialize($userGeneral);
     $res = GeneralModel::update(array($type => $money, 's_general_info' => $s_general_info), array('n_id' => $user_id));
     if (!$res) {
         throw new Exception(" update false pa_user_master ");
     }
     //任务成就统计
     $num = 0;
     TaskAndAchieveAction::taskStatistic($user_id, array('generl_up' => 1));
     if ($type == $price_type[1]) {
         TaskAndAchieveAction::achieveStatistic($user_id, array('cost' => $nowArr[0]['price']));
     }
     foreach ($attribute as $key => $value) {
         if ($userGeneral[$general_id][$value] >= Constants::MAX_LEVEL) {
             $num++;
         }
     }
     if ($num == 2) {
         TaskAndAchieveAction::achieveStatistic($user_id, array('generl_full' => 1));
     }
     //session_key
     UserCache::setByKey($user_id, 's_general_info', $userGeneral);
     UserCache::setByKey($user_id, $type, $money);
     //更新战斗力
     $battle = UserAction::getUserBattle($user_id);
     GeneralModel::update(array('n_battle' => $battle), array('n_id' => $user_id));
     UserCache::setByKey($user_id, 'n_battle', $battle);
     $messageArr = self::GetAllGeneralInfo($user_id);
     $messageArr['battle'] = $battle;
     //任务成就界面
     $messageArr['achieveInfo'] = TaskAndAchieveAction::getAchieveInfo($user_id);
     $messageArr['taskInfo'] = TaskAndAchieveAction::getTaskInfo($user_id);
     $messageArr['mail_num'] = MailAction::getMailNum($user_id);
     $messageArr['achieve_type'] = TaskAndAchieveAction::isFinish($user_id);
     $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key);
     $view = new JsonView();
     return $this->getViewByJson($view, $messageArr, 1, "general/update_general");
 }