public function execute($request)
 {
     if ($request->format == 'json') {
         $data = array();
         $email = $request->email;
         $mobile = $request->mobile;
         $patternEmail = Sp_Dictionary::getOtherOption('patternEmail');
         $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
         if (false == preg_match($patternEmail, $email)) {
             return array('status' => '-120', 'msg' => '邮件格式不正确');
         } else {
             if (false == preg_match($patternMobile, $mobile)) {
                 return array('status' => '-121', 'msg' => '电话格式不正确');
             }
         }
         $user = Sp_Account_User::current();
         $data['name'] = $request->name;
         $data['gender'] = $request->gender;
         $data['mobile'] = $mobile;
         $data['email'] = $email;
         $data['province'] = $request->province;
         $data['city'] = $request->city;
         $data['area'] = $request->area;
         $data['face'] = $request->face;
         $ret = Sp_Account_Info::updateUser($user->id, $data);
         return array('status' => '0', 'msg' => '成功');
     }
 }
 public function check($account = '', $type = '')
 {
     $rules['phone'] = Sp_Dictionary::getOtherOption("patternMobile");
     $rules['email'] = Sp_Dictionary::getOtherOption("patternEmail");
     $msg['phone'] = "电话格式不正确";
     $msg['email'] = "邮箱格式不正确";
     $return = 1;
     $filter = array('phone', 'email');
     if (false == in_array($type, $filter)) {
         $return = array("status" => -100, "msg" => "参数错误");
     } else {
         if (FALSE == preg_match($rules[$type], $account)) {
             $return = array("status" => -101, "msg" => $msg[$type]);
         } else {
             $currentTime = time();
             $time = $currentTime - 60;
             $hours = $currentTime - 60 * 60;
             $where = array($type => $account);
             $flag = Da_Wrapper::select()->table('sp.huitong.ht_sms_report')->columns('id')->where($where)->where("crttime >= {$time}")->getOne();
             if (false != $flag) {
                 $return = array("status" => -102, "msg" => "请一分钟后在试");
             }
             $sendCount = Da_Wrapper::select()->table('sp.huitong.ht_sms_report')->columns('id')->where($where)->where("crttime >= {$hours}")->getTotal();
             if (5 <= $sendCount) {
                 $return = array("status" => -103, "msg" => "你已多次获取,为保证账号的安全,防止恶意验证,请1小时后再试");
             }
         }
     }
     return $return;
 }
 public function execute($request)
 {
     if ($request->format == 'json') {
         $user = Sp_Account_User::current();
         $userid = $user->id;
         $row = Sp_Account_User::getUser($userid);
         $old = $request->old;
         $password = $request->password;
         $confirming = $request->confirming;
         $patternPasswd = Sp_Dictionary::getOtherOption('patternPasswd');
         if (false == preg_match($patternPasswd, $old)) {
             return array('status' => '-122', 'msg' => '密码格式不正确');
         }
         if (false == preg_match($patternPasswd, $confirming)) {
             return array('status' => '-122', 'msg' => '密码格式不正确');
         }
         if (false == preg_match($patternPasswd, $password)) {
             return array('status' => '-122', 'msg' => '密码格式不正确');
         }
         // 旧密码
         if (!$this->checkOldPassword($old, $row)) {
             return array('status' => '-1', 'msg' => '旧密码不正确');
         }
         if ($password != $confirming) {
             return array('status' => '-2', 'msg' => '两次密码不一致');
         }
         $newpwd = Sp_Account_User::encrypt($password, $row['kid']);
         Sp_Account_Info::updatePassword($userid, $newpwd);
         return array('status' => '0', 'msg' => '密码修改成功');
     }
 }
예제 #4
0
/**
 * 检查手机号
 * 
 * @param string $phone 手机号
 * @return array | true
 */
function checkPhone($phone = '')
{
    $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
    if (empty($phone)) {
        return array('code' => '400', 'msg' => '手机号不能为空');
    } else {
        if (false == preg_match($patternMobile, $phone)) {
            return array('code' => '400', 'msg' => '手机格式不正确');
        } else {
            if (Sp_Account_Regist::isAvailableMobile($phone)) {
                return array('code' => '400', 'msg' => '手机号不存在');
            }
        }
    }
    return true;
}
예제 #5
0
 public function addAttendee()
 {
     $data = $_POST;
     unset($data['action']);
     $flag = true;
     if (false == $data['name']) {
         $flag = false;
     } else {
         if (false == preg_match(Sp_Dictionary::getOtherOption('patternMobile'), $data['phone'])) {
             $flag = false;
         } else {
             if ($data['email']) {
                 if (false == preg_match(Sp_Dictionary::getOtherOption('patternEmail'), $data['email'])) {
                     $flag = false;
                 }
             }
         }
     }
     if (false == $flag) {
         return array('status' => 0, 'msg' => '数据有误请从新填写');
     } else {
         $data['firstChater'] = Sp_Dictionary::getFirstCharter($data['name']);
         $data['fromId'] = -1;
         $data['applyTime'] = time();
         $return = Sp_Account_Attendee::add($data);
         if ($return == -2) {
             return array('status' => -2, 'msg' => '此人已经存在');
         } else {
             if (-3 == $return) {
                 return array('status' => -3, 'msg' => '此人已经签到');
             } else {
                 if (-4 == $return) {
                     return array('status' => -4, 'msg' => '添加失败');
                 } else {
                     if ($return) {
                         return array('status' => 1, 'msg' => '添加成功');
                     }
                 }
             }
         }
         return array('status' => 0, 'msg' => '数据有误请从新填写');
     }
 }
예제 #6
0
 public function check($username = '', $passwd = '')
 {
     $username = trim($username);
     $passwd = trim($passwd);
     $confirm_passwd = trim($confirm_passwd);
     $patternEmail = Sp_Dictionary::getOtherOption('patternEmail');
     $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
     $patternPasswd = Sp_Dictionary::getOtherOption('patternPasswd');
     $patternUserId = Sp_Dictionary::getOtherOption('patternUserId');
     if ((preg_match($patternEmail, $username) || preg_match($patternMobile, $username) || preg_match($patternUserId, $username)) && strlen($passwd) >= 6) {
         return TRUE;
     } else {
         if (false == preg_match($patternEmail, $username)) {
             return array('status' => '-120', 'msg' => '账户名格式不匹配');
         } else {
             if (strlen($passwd) < 6) {
                 return array('status' => '-105', 'msg' => '密码长度在6-16位字符之间');
             }
         }
     }
 }
예제 #7
0
 public function check($email = '', $mobile = '', $passwd = '', $confirm_passwd = '', $code = '')
 {
     $email = trim($email);
     $mobile = trim($mobile);
     $passwd = trim($passwd);
     $confirm_passwd = trim($confirm_passwd);
     $code = trim($code);
     $patternEmail = Sp_Dictionary::getOtherOption('patternEmail');
     $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
     $patternPasswd = Sp_Dictionary::getOtherOption('patternPasswd');
     if (false == preg_match($patternEmail, $email)) {
         return array('status' => '-120', 'msg' => '邮件格式不正确');
     } else {
         if (false == preg_match($patternMobile, $mobile)) {
             return array('status' => '-121', 'msg' => '电话格式不正确');
         } else {
             if (false == preg_match($patternPasswd, $passwd)) {
                 return array('status' => '-122', 'msg' => '密码格式不正确');
             } else {
                 if ($passwd !== $confirm_passwd) {
                     return array('status' => '-123', 'msg' => '密码和确认密码不一致');
                 } else {
                     if (false == Util_Captcha::verify_captcha($code)) {
                         return array('status' => '-124', 'msg' => '验证码错误');
                     } else {
                         if (false == Sp_Account_Regist::isAvailableEmail($email)) {
                             return array('status' => '-125', 'msg' => '该邮件已经注册');
                         } else {
                             if (false == Sp_Account_Regist::isAvailableMobile($mobile)) {
                                 return array('status' => '-126', 'msg' => '该手机号已经注册');
                             }
                         }
                     }
                 }
             }
         }
     }
     return true;
 }
예제 #8
0
 public function checkCodeAndUser($username = '', $code = '', $type = '')
 {
     $username = trim($username);
     $code = trim($code);
     $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
     $patternEmail = Sp_Dictionary::getOtherOption('patternEmail');
     if (strlen($code) != 6) {
         return array('status' => '-126', 'msg' => '验证码长度有误');
     }
     if (preg_match($patternEmail, $username) || preg_match($patternMobile, $username)) {
         if (preg_match($patternMobile, $username)) {
             if (TRUE == Sp_Account_Regist::isAvailableMobile($username)) {
                 return array('status' => '-125', 'msg' => '该手机号不存在');
             }
             $row = Sp_Sendmsg::getSmsByPhone($username, $type);
             $nowTime = time() - $row['crttime'];
             if (!is_array($row) || $nowTime > 15 * 60 || $row['code'] != $code) {
                 return array('status' => '-126', 'msg' => '验证码错误');
             }
         }
         if (preg_match($patternEmail, $username)) {
             if (TRUE == Sp_Account_Regist::isAvailableEmail($username)) {
                 return array('status' => '-126', 'msg' => '该邮箱不存在');
             }
             $row = Sp_Sendmsg::getSmsByEmail($username, $type);
             $nowTime = time() - $row['crttime'];
             if (!is_array($row) || $nowTime > 15 * 60 || $row['code'] != $code) {
                 return array('status' => '-126', 'msg' => '验证码错误');
             }
         }
         return TRUE;
     } else {
         return array('status' => '-121', 'msg' => '格式不正确');
     }
 }
예제 #9
0
 /**
  * 根据登录名和密码,验证用户
  *
  * @param string $username
  * @param string $password
  * @param array $option = null
  * @return mixed 成功返回对象,失败返回 负数或FALSE
  */
 public static function authenticate($username, $password, $option = null)
 {
     $src_id = isset($option['src_id']) ? $option['src_id'] : 0;
     $username = trim($username);
     if (!$username) {
         return parent::ERR_USERNAME_NOT_FOUND;
     }
     $patternMobile = Sp_Dictionary::getOtherOption('patternMobile');
     $patternEmail = Sp_Dictionary::getOtherOption('patternEmail');
     if (preg_match($patternMobile, $username)) {
         $field_name = 'mobile';
     } elseif (preg_match($patternEmail, $username)) {
         $field_name = 'email';
     } else {
         $field_name = 'userid';
     }
     $user = self::load($username, $field_name, $src_id);
     if ($user->valid()) {
         $crypted_password = self::encrypt($password, $user->kid);
         if ($crypted_password == trim($user->pwd)) {
             if ($user->status == 1) {
                 return parent::ERR_ACCOUNT_DISABLED;
             }
             return $user;
         } else {
             Sp_Log::notice('password incorrect: ' . $crypted_password . ' - ' . $user['pwd']);
             return parent::ERR_PASSWORD_INCORRECT;
         }
     }
     return parent::ERR_USERNAME_NOT_FOUND;
 }
예제 #10
0
 public function check($letterId = '', $data = array(), $element = array())
 {
     $time = time();
     if (false == $element['id']) {
         return array("status" => -3, "msg" => "数据有误");
     } else {
         if ($element['is_enroll'] != 1) {
             return array("status" => -4, "msg" => "此活动不需要报名");
         } else {
             if ($element['isdel'] == 1) {
                 return array("status" => -5, "msg" => "此活动已经删除");
             } else {
                 if ($time < $element['enroll_start']) {
                     return array("status" => -6, "msg" => "报名未开始");
                 } else {
                     if ($time > $element['enroll_end']) {
                         return array("status" => -7, "msg" => "报名已经结束");
                     }
                 }
             }
         }
     }
     $num = $this->getCurrentNum($element['id']);
     if (false != $element['enroll_num'] && $num >= $element['enroll_num']) {
         return array("status" => -8, "msg" => "报名人数已满");
     }
     $flag = true;
     if (false == $data['name']) {
         $flag = false;
     } else {
         if (false == preg_match(Sp_Dictionary::getOtherOption('patternMobile'), $data['phone'])) {
             $flag = false;
         } else {
             if ($data['email']) {
                 if (false == preg_match(Sp_Dictionary::getOtherOption('patternEmail'), $data['email'])) {
                     $flag = false;
                 }
             }
         }
     }
     if ($flag == false) {
         return array("status" => -9, "msg" => "参数有误");
     }
     return true;
 }
예제 #11
0
<?php

/*
 * editor by carten
 */
define('ROOT_PATH', __DIR__ . '/../../../');
include_once ROOT_PATH . 'config/init.php';
$request = Request::current();
$signNo = $request->signNo;
$activeId = $request->active_Id;
file_put_contents("/sproot/logs/1111_sign_line.txt", "signNo:" . $signNo . ",activeId:" . $activeId);
$patternMobile = Sp_Dictionary::getOtherOption("patternMobile");
if (preg_match($patternMobile, $signNo)) {
    $where = array("phone" => $signNo, "activeId" => $activeId);
} else {
    $where = array("signId" => $signNo);
}
$signId = Da_Wrapper::select()->table("sp.huitong.ht_apply_data")->columns('Id,status')->where($where)->getRow();
if (!$signId['Id']) {
    $jsonParam = array("code" => "204", "msg" => "签到码不存在");
} else {
    if (1 == $signId['status']) {
        $jsonParam = array("code" => "205", "msg" => "签到码已使用");
    } else {
        if (-1 == $signId['status']) {
            $jsonParam = array("code" => "206", "msg" => "签到码无效");
        } else {
            if (0 == $signId['status']) {
                $model = new Sp_Account_Attendee();
                if ($model->signAndDelete(array($signId["Id"]), 1)) {
                    $jsonParam = array("code" => "200", "msg" => "恭喜您,签到成功");
예제 #12
0
 public static function checkCode($account, $code = '', $type = '')
 {
     $rules['phone'] = Sp_Dictionary::getOtherOption("patternMobile");
     $rules['email'] = Sp_Dictionary::getOtherOption("patternEmail");
     $msg['phone'] = "电话格式不正确";
     $msg['email'] = "邮箱格式不正确";
     $return = 1;
     $filter = array('phone', 'email');
     if (false == in_array($type, $filter)) {
         $return = array("status" => -100, "msg" => "参数错误");
     } else {
         if (FALSE == preg_match($rules[$type], $account)) {
             $return = array("status" => -101, "msg" => $msg[$type]);
         } else {
             if (6 !== strlen($code)) {
                 $return = array("status" => -102, "msg" => "验证码格式错误");
             }
         }
     }
     return $return;
 }