示例#1
0
 /**
  * 回调获取信息
  */
 public function get_infoOp()
 {
     $code = $_GET['code'];
     if (!empty($code)) {
         $user_info = $this->get_user_info($code);
         if (!empty($user_info['unionid'])) {
             $unionid = $user_info['unionid'];
             $model_member = Model('member');
             $member = $model_member->getMemberInfo(array('weixin_unionid' => $unionid));
             if (!empty($member)) {
                 //会员信息存在时自动登录
                 $model_member->createSession($member);
                 showDialog('登录成功', 'index.php?act=member&op=home', 'succ');
             }
             if (!empty($_SESSION['member_id'])) {
                 //已登录时绑定微信
                 $member_id = $_SESSION['member_id'];
                 $member = array();
                 $member['weixin_unionid'] = $unionid;
                 $member['weixin_info'] = $user_info['weixin_info'];
                 $model_member->editMember(array('member_id' => $member_id), $member);
                 showDialog('微信绑定成功', 'index.php?act=member&op=home', 'succ');
             } else {
                 //自动注册会员并登录
                 $this->register($user_info);
                 exit;
             }
         }
     }
     showDialog('微信登录失败', urlLogin('login', 'index'), 'succ');
 }
示例#2
0
 /**
  * 新浪微博账号绑定新用户
  */
 public function registerOp()
 {
     //实例化模型
     $model_member = Model('member');
     if (chksubmit()) {
         $update_info = array();
         $update_info['member_passwd'] = md5(trim($_POST["password"]));
         if (!empty($_POST["email"])) {
             $update_info['member_email'] = $_POST["email"];
             $_SESSION['member_email'] = $_POST["email"];
         }
         $model_member->editMember(array('member_id' => $_SESSION['member_id']), $update_info);
         showMessage(Language::get('nc_common_save_succ'), SHOP_SITE_URL);
     } else {
         //检查登录状态
         $model_member->checkloginMember();
         //获取新浪微博账号信息
         require_once BASE_PATH . DS . 'api' . DS . 'sina' . DS . 'saetv2.ex.class.php';
         $c = new SaeTClientV2(C('sina_wb_akey'), C('sina_wb_skey'), $_SESSION['slast_key']['access_token']);
         $sinauser_info = $c->show_user_by_id($_SESSION['slast_key']['uid']);
         //根据ID获取用户等基本信息
         Tpl::output('sinauser_info', $sinauser_info);
         $sina_str = serialize($sinauser_info);
         $user_array = array();
         $user_passwd = rand(100000, 999999);
         /**
          * 会员添加
          */
         $user_array['member_name'] = $sinauser_info['screen_name'];
         $user_array['member_passwd'] = $user_passwd;
         $user_array['member_email'] = '';
         $user_array['member_sinaopenid'] = $_SESSION['slast_key']['uid'];
         //sina openid
         $user_array['member_sinainfo'] = $sina_str;
         //sina 信息
         $rand = rand(100, 899);
         if (strlen($user_array['member_name']) < 3) {
             $user_array['member_name'] = $sinauser_info['screen_name'] . $rand;
         }
         $check_member_name = $model_member->getMemberInfo(array('member_name' => trim($user_array['member_name'])));
         $result = 0;
         if (empty($check_member_name)) {
             $result = $model_member->addMember($user_array);
         } else {
             for ($i = 1; $i < 999; $i++) {
                 $rand += $i;
                 $user_array['member_name'] = trim($sinauser_info['screen_name']) . $rand;
                 $check_member_name = $model_member->getMemberInfo(array('member_name' => trim($user_array['member_name'])));
                 if (empty($check_member_name)) {
                     $result = $model_member->addMember($user_array);
                     break;
                 }
             }
         }
         if ($result) {
             Tpl::output('user_passwd', $user_passwd);
             $avatar = @copy($sinauser_info['avatar_large '], BASE_UPLOAD_PATH . '/' . ATTACH_AVATAR . "/avatar_{$result}.jpg");
             $update_info = array();
             if ($avatar) {
                 $update_info['member_avatar'] = "avatar_{$result}.jpg";
                 $model_member->editMember(array('member_id' => $result), $update_info);
             }
             $member_info = $model_member->getMemberInfo(array('member_name' => $user_array['member_name']));
             $model_member->createSession($member_info, true);
             Tpl::showpage('sconnect_register');
         } else {
             showMessage(Language::get('login_usersave_regist_fail'), urlLogin('login', 'register'), 'html', 'error');
         }
     }
 }
示例#3
0
</a></span></div>
            <div class="submit-div">
              <input type="button" class="submit" value="重置密码" name="Submit" id="Submit">
              <input type="hidden" value="<?php 
echo $output['ref_url'];
?>
" name="ref_url">
            </div>
          </form>
        </div>
        <?php 
if (C('sms_password') == 1) {
    ?>
        <div id="mobile" class="tabs-content">
          <form id="post_form" method="post" class="nc-login-form" action="<?php 
    echo urlLogin('connect_sms', 'find_password');
    ?>
">
            <?php 
    Security::getToken();
    ?>
            <input type="hidden" name="form_submit" value="ok" />
            <input name="nchash" type="hidden" value="<?php 
    echo getNchash();
    ?>
" />
            <dl>
              <dt>手机号:</dt>
              <dd>
                <input type="text" class="text" autocomplete="off" value="" name="phone" id="phone" tipMsg="输入您已注册的手机号" >
              </dd>
示例#4
0
 /**
  * 微信解绑
  */
 public function weixinunbindOp()
 {
     //修改密码
     $model_member = Model('member');
     $update_arr = array();
     if ($_POST['is_editpw'] == 'yes') {
         /**
          * 填写密码信息验证
          */
         $obj_validate = new Validate();
         $obj_validate->validateparam = array(array("input" => $_POST["new_password"], "require" => "true", "validator" => "Length", "min" => 6, "max" => 20, "message" => Language::get('member_sconnect_password_null')), array("input" => $_POST["confirm_password"], "require" => "true", "validator" => "Compare", "operator" => "==", "to" => $_POST["new_password"], "message" => Language::get('member_sconnect_input_two_password_again')));
         $error = $obj_validate->validate();
         if ($error != '') {
             showMessage($error, '', 'html', 'error');
         }
         $update_arr['member_passwd'] = md5(trim($_POST['new_password']));
     }
     $update_arr['weixin_unionid'] = '';
     $update_arr['weixin_info'] = '';
     $edit_state = $model_member->editMember(array('member_id' => $_SESSION['member_id']), $update_arr);
     if (!$edit_state) {
         showMessage('保存失败', '', 'html', 'error');
     }
     session_unset();
     session_destroy();
     showMessage('微信解绑成功', urlLogin('login', 'index', array('ref_url' => urlMember('member_connect', 'weixinbind'))));
 }