예제 #1
0
 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));
 }
예제 #4
0
        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;
    }
}
예제 #5
0
파일: reg.php 프로젝트: lz1988/stourwebcms
 $_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');
예제 #6
0
            $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;
 }