public function loginAction() { if ($this->_helper->member()) { $this->redirect(Config::get('routes')->profile); } if ($this->_request->isPost()) { $identity = trim($this->_getParam('email')); $password = $this->_getParam('password'); if (empty($identity) || empty($password)) { $this->view->error = $this->translate->_('Wrong email or password'); return; } $result = \Member::login($identity, $password); if ($result->isValid()) { // TODO handle "remember me" if ($this->_getParam('back')) { $this->redirect($this->_getParam('back')); } $this->redirect(Config::get('routes')->profile); } switch ($result->getCode()) { case \Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID: case \Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND: $error = $this->translate->_('Wrong email or password'); break; default: $error = $this->translate->_('Unexpected error occurred'); break; } $this->view->error = $error; } }
function signupWithFacebook() { if (!Facebook::signup_code_created()) { Facebook::redirect_to_login_prompt('/signup/signupWithFacebook'); } if (Facebook::csrf_checks_passed()) { $access_token = Facebook::get_access_token('/signup/signupWithFacebook'); $user = Facebook::get_users_info($access_token); try { $member = new Member(); $member->FirstName = $user->first_name; $member->Surname = $user->last_name; $member->Email = $user->email; $member->addFacebookCredentials($access_token, $user->id); $member->login(); $this->setMessage("Please select a password."); } catch (ValidationException $e) { $this->setMessage("Changes to profile could not be saved because email is already in use.", "bad"); return Director::redirectBack(); } return Director::redirect("/signup/editUser"); } }
public function actionSignIn() { $model = new Member(); if (isset($_POST['Member'])) { $model->attributes = $_POST['Member']; if ($model->login()) { $this->redirect($this->createUrl('site/index')); } else { Yii::app()->user->setFlash('SigninNotification', 'Thông tin không chính xác!.'); } } $this->render('signin', array('model' => $model)); }
exit; } } //直接绑定帐户 if ($dopost == 'bind_direct') { $pv = new View(0); $pv->SetTemplet(dirname(__FILE__) . "/templets/index_connect_direct.htm"); $pv->Display(); exit; } //保存绑定(已有帐户) if ($dopost == 'savebind_direct') { session_start(); $connectid = $_SESSION['connectid']; $from = $_SESSION['from']; $User = new Member(7 * 3600); $flag = $User->login($loginname, $pwd); if ($flag) { $mid = $User->uid; $sql = "update #@__member set `connectid`='{$connectid}',`from`='{$from}' where mid={$mid}"; if ($dsql->ExecuteNoneQuery($sql)) { $url = "{$GLOBALS['cfg_basehost']}/member"; header("Location:{$url}"); exit; //ShowMsg("绑定帐户成功!",$url); } } else { ShowMsg("登陆名称或者密码输入错误,请检查", -1); exit; } }
$_SESSION['emailcode_' . md5($email)] = ''; if ($validateResult !== true) { Helper_Archive::showMsg('注册失败!' . $validateResult, 'reg.php?dopost=reg', 0); return; } $sql = "insert into #@__member(email,pwd,jointime,joinip,jifen,nickname,regtype) values('{$email}','{$pwd}','{$jointime}','{$joinip}','{$jifen}','{$nickname}',1)"; if (defined('UC_API') && @(include_once SLINEROOT . '/uc_client/client.php')) { $uid = uc_user_register($email, $password, $email); if ($uid <= 0) { } else { $ucsynlogin = uc_user_synlogin($uid); } } if ($dsql->ExecuteNoneQuery($sql)) { $User = new Member(7 * 3600); $User->login($email, $password); //增加积分记录 if (!empty($jifen)) { Helper_Archive::addJifenLog($User->uid, "注册赠送积分{$jifen}", $jifen, 2); } $msg = ''; $fromurl = empty($fromurl) ? $GLOBAL['cfg_basehost'] . '/member/' : $fromurl; if (strpos($fromurl, 'findpass') !== false || strpos($fromurl, 'reg') !== false || strpos($fromurl, 'login') !== false) { if (strpos($fromurl, 'login') !== false && $_SESSION['login_referer']) { $fromurl = $_SESSION['login_referer']; $_SESSION['login_referer'] = ''; } else { $fromurl = $GLOBALS['cfg_basehost']; } } $emailInfo = Helper_Archive::getEmailMsgConfig('reg');
$content = "尊敬的用户{$mobile}你好,你已经成功注册成为{$GLOBALS['cfg_webname']}会员,你的登陆名是:{$mobile},密码是:{$mobile},为了你的帐户安全,请尽快修改密码!"; $msgInfo = Helper_Archive::getDefineMsgInfo(0); if (isset($msgInfo['isopen'])) { $nickname = $mobile; $password = $mobile; $content = $msgInfo['msg']; $content = str_replace('{#LOGINNAME#}', $mobile, $content); $content = str_replace('{#PASSWORD#}', $mobile, $content); $content = str_replace('{#WEBNAME#}', $GLOBALS['cfg_webname'], $content); $content = str_replace('{#PHONE#}', $GLOBALS['cfg_phone'], $content); Helper_Archive::sendMsg($mobile, $mobile, $content); //注册短信 } //sendMsg('',$content,$mobile,'','shortmsg'); $User = new Member(7 * 3600); $status = $User->login($mobile, $mobile); $data['status'] = 1; } } else { $data['status'] = 'hasReg'; } echo json_encode($data); exit; } //弹出登陆框 if ($dopost == 'getloginbox') { $pv = new View(0); $pv->SetTemplet(SLINETEMPLATE . "/" . $cfg_df_style . "/" . "member/" . "pop_login.htm"); $pv->Display(); } //功能函数
/** * Saves the Twitter data to the member and logs in the member if that has not been done yet. * @param Int $user - the ID of the current twitter user * @param Object $twitterData - the data returned from twitter * @param Object $access - access token * @param Boolean $keepLoggedIn - does the user stay logged in * @return Member */ protected function updateUserFromTwitterData($user, $twitterData, $access, $keepLoggedIn = false) { if (is_array($twitterData)) { $obj = new DataObject(); foreach ($twitterData as $key => $value) { $obj->{$key} = $value; } $twitterData = $obj; } //find member $member = DataObject::get_one('Member', '"TwitterID" = \'' . Convert::raw2sql($user) . '\''); if (!$member) { $member = Member::currentUser(); if (!$member) { $member = new Member(); } } $member->TwitterToken = $access->getParam('oauth_token'); $member->TwitterSecret = $access->getParam('oauth_token_secret'); $member->TwitterID = empty($user) ? 0 : $user; $member->TwitterPicture = empty($twitterData->profile_image_url) ? "" : $twitterData->profile_image_url; $member->TwitterName = empty($twitterData->name) ? "" : $twitterData->name; $member->TwitterScreenName = empty($twitterData->screen_name) ? "" : $twitterData->screen_name; if (!$twitterData->name) { $twitterData->name = $twitterData->screen_name; } if (!$member->FirstName && !$member->Surname && $twitterData->name) { $member->FirstName = $twitterData->name; if ($twitterDataNameArray = explode(" ", $twitterData->name)) { if (is_array($twitterDataNameArray) && count($twitterDataNameArray) == 2) { $member->FirstName = $twitterDataNameArray[0]; $member->Surname = $twitterDataNameArray[1]; } } } $member->write(); $oldMember = Member::currentUser(); if ($oldMember) { if ($oldMember->ID != $member->ID) { $oldMember->logout(); $member->login($keepLoggedIn); } else { //already logged in - nothing to do. } } else { $member->login($keepLoggedIn); } return $member; }