/** * 回调获取信息 */ 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'); }
/** * 新浪微博账号绑定新用户 */ 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'); } } }
</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>
/** * 微信解绑 */ 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')))); }