|
|
|
|
<?php
|
|
|
|
|
namespace apps\user\controllers;
|
|
|
|
|
use apps\base\controllers\FrontendController;
|
|
|
|
|
use vendor\Verify;
|
|
|
|
|
|
|
|
|
|
class LoginController extends FrontendController {
|
|
|
|
|
|
|
|
|
|
public $user;
|
|
|
|
|
public $user_id;
|
|
|
|
|
/**
|
|
|
|
|
* 构造函数
|
|
|
|
|
*/
|
|
|
|
|
public function __construct()
|
|
|
|
|
{
|
|
|
|
|
parent::__construct();
|
|
|
|
|
L(require (ROOT_PATH . 'source/language/' . C('shop.lang') . '/user.php'));
|
|
|
|
|
$file = array(
|
|
|
|
|
'passport',
|
|
|
|
|
'clips',
|
|
|
|
|
);
|
|
|
|
|
$this->load_helper($file);
|
|
|
|
|
// 属性赋值
|
|
|
|
|
$this->user_id = $_SESSION['user_id'];
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 用户登录
|
|
|
|
|
*/
|
|
|
|
|
public function actionIndex()
|
|
|
|
|
{
|
|
|
|
|
// 是否为post提交
|
|
|
|
|
if(IS_POST){
|
|
|
|
|
|
|
|
|
|
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
|
|
|
|
|
$password = isset($_POST['password']) ? trim($_POST['password']) : '';
|
|
|
|
|
$back_act = isset($_POST['back_act']) ? trim($_POST['back_act']) : '';
|
|
|
|
|
|
|
|
|
|
if(strpos($username,'@') && strpos($username,'.')){
|
|
|
|
|
$login = $this->db->getOne("SELECT user_name FROM {pre}users WHERE email='$username'");
|
|
|
|
|
if($login){
|
|
|
|
|
$username = $login;
|
|
|
|
|
}
|
|
|
|
|
}else if($this->isMobile($username)){
|
|
|
|
|
$login = $this->db->getOne("SELECT user_name FROM {pre}users WHERE mobile_phone='$username'");
|
|
|
|
|
if($login){
|
|
|
|
|
$username = $login;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($this->users->login($username, $password))
|
|
|
|
|
{
|
|
|
|
|
update_user_info();
|
|
|
|
|
recalculate_price();
|
|
|
|
|
$ucdata = isset($this->users->ucdata)? $this->users->ucdata : '';
|
|
|
|
|
$back_act = empty($back_act) ? U('user/index/index') : $back_act;
|
|
|
|
|
show_message(L('login_success') . $ucdata , array(L('back_up_page'), L('profile_lnk')), array($back_act,U('user/index/index')), 'success');
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$_SESSION['login_fail'] ++ ;
|
|
|
|
|
show_message(L('login_failure'), L('relogin_lnk'), U('user/login/index'), 'fail');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取返回地址
|
|
|
|
|
$back_act = urldecode(I('back_act'));
|
|
|
|
|
|
|
|
|
|
if (empty($back_act))
|
|
|
|
|
{
|
|
|
|
|
if (empty($back_act) && isset($GLOBALS['_SERVER']['HTTP_REFERER']))
|
|
|
|
|
{
|
|
|
|
|
$back_act = strpos($GLOBALS['_SERVER']['HTTP_REFERER'], U('user/index/index')) ? U('user/index/index') : $GLOBALS['_SERVER']['HTTP_REFERER'];
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$back_act = U('user/index/index') ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->assign('back_act', $back_act);
|
|
|
|
|
$this->assign('page_title','用户登录');
|
|
|
|
|
$this->assign('passport_js',L('passport_js'));
|
|
|
|
|
$this->display('user_login');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 找回密码
|
|
|
|
|
*/
|
|
|
|
|
public function actionGetPasswordPhone()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
$enabled_sms = I('enabled_sms');
|
|
|
|
|
// 手机找回密码处理
|
|
|
|
|
if (IS_POST) {
|
|
|
|
|
if ($enabled_sms == 1) {
|
|
|
|
|
$mobile = I('mobile', '');
|
|
|
|
|
$sms_code = I('sms_code', '');
|
|
|
|
|
if ($mobile != $_SESSION['sms_mobile'] or $sms_code != $_SESSION['sms_mobile_code']) {
|
|
|
|
|
show_message('手机验证码输入错误。');
|
|
|
|
|
}
|
|
|
|
|
$user_id = $this->db->getOne("SELECT user_id FROM {pre}users WHERE mobile_phone = " . $mobile);
|
|
|
|
|
if(empty($user_id)){
|
|
|
|
|
show_message('手机号不存在。');
|
|
|
|
|
}
|
|
|
|
|
$this->assign('uid', $user_id);
|
|
|
|
|
$this->display('user_forget_password');
|
|
|
|
|
exit();
|
|
|
|
|
}
|
|
|
|
|
// 邮箱找回密码
|
|
|
|
|
if ($enabled_sms == 2) {
|
|
|
|
|
|
|
|
|
|
$this->send_pwd_email();
|
|
|
|
|
exit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if ($enabled_sms == 2) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->assign('title', L('reset_password'));
|
|
|
|
|
$this->display('user_forget_email');
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
$this->assign('page_title', L('get_password'));
|
|
|
|
|
$this->display('user_forget_tel');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 找回密码
|
|
|
|
|
*/
|
|
|
|
|
public function actionForgetPassword()
|
|
|
|
|
{
|
|
|
|
|
if (IS_POST) {
|
|
|
|
|
|
|
|
|
|
$password = I('password', '');
|
|
|
|
|
$uid = I('uid', '');
|
|
|
|
|
if (empty($password)) {
|
|
|
|
|
show_message("密码不能为空");
|
|
|
|
|
}
|
|
|
|
|
if ($uid<1) {
|
|
|
|
|
show_message("操作有误");
|
|
|
|
|
}
|
|
|
|
|
$sql = "SELECT user_name FROM {pre}users WHERE user_id=".$uid;
|
|
|
|
|
$user_name = $this->db->getOne($sql);
|
|
|
|
|
if ($this->users->edit_user(array('username'=>$user_name, 'old_password'=>$password, 'password'=>$password), 0)){
|
|
|
|
|
$sql="UPDATE {pre}users SET `ec_salt`='0' WHERE user_id= '".$uid."'";
|
|
|
|
|
$this->db->query($sql);
|
|
|
|
|
unset($_SESSION['user_id']);
|
|
|
|
|
unset($_SESSION['user_name']);
|
|
|
|
|
show_message('修改成功 ' , '返回登录页面', U('user/login/index'), 'success');
|
|
|
|
|
}
|
|
|
|
|
show_message('修改失败' , '继续找回密码', U('user/login/get_password_phone',array('enabled_sms'=>2)), 'info');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送密码修改确认邮件
|
|
|
|
|
*/
|
|
|
|
|
public function send_pwd_email()
|
|
|
|
|
{
|
|
|
|
|
// 初始化会员用户名和邮件地址
|
|
|
|
|
$user_name = I('user_name', '');
|
|
|
|
|
$email = I('email', '');
|
|
|
|
|
$user_name = $this->db->getOne("SELECT user_name FROM {pre}users WHERE email='$email'");
|
|
|
|
|
// 用户信息
|
|
|
|
|
$user_info = $this->users->get_user_info($user_name);
|
|
|
|
|
|
|
|
|
|
if ($user_info['user_name']==$user_name && $user_info['email'] == $email) {
|
|
|
|
|
// 生成code
|
|
|
|
|
$code = md5($user_info['user_id'] . C('hash_code') . $user_info['reg_time']);
|
|
|
|
|
// 发送邮件的函数
|
|
|
|
|
|
|
|
|
|
if (send_pwd_email($user_info['user_id'], $user_name, $email, $code)) {
|
|
|
|
|
$this->assign('data',$user_info['email']);
|
|
|
|
|
$this->assign('code',$_SESSION['maildata']['code']);
|
|
|
|
|
$this->display('user_forget_code');
|
|
|
|
|
} else {
|
|
|
|
|
// 发送邮件出错
|
|
|
|
|
show_message(L('fail_send_password'), L('back_page_up'), U('get_password_phone',array('enabled_sms'=>2)), 'info');
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 用户名与邮件地址不匹配
|
|
|
|
|
show_message(L('username_no_email'), L('back_page_up'), U('get_password_phone',array('enabled_sms'=>2)), 'info');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
**邮件修改密码验证
|
|
|
|
|
*/
|
|
|
|
|
function actionEditForgetMail(){
|
|
|
|
|
if(IS_POST){
|
|
|
|
|
$email=I('email','');
|
|
|
|
|
$code =md5(I('email_code',''));
|
|
|
|
|
if($code != $_SESSION['maildata']['code']){
|
|
|
|
|
show_message('验证码错误');
|
|
|
|
|
}
|
|
|
|
|
if(empty($email)){
|
|
|
|
|
show_message('邮箱不匹配');
|
|
|
|
|
}
|
|
|
|
|
$this->assign('uid',$this->db->getOne("SELECT user_id FROM {pre}users WHERE email='$email'"));
|
|
|
|
|
$this->display('user_forget_password');
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 修改密码
|
|
|
|
|
*/
|
|
|
|
|
public function actionEditPassword()
|
|
|
|
|
{
|
|
|
|
|
// 修改密码处理
|
|
|
|
|
if (IS_POST) {
|
|
|
|
|
$old_password = I('old_password', null);
|
|
|
|
|
$new_password = I('userpassword2', '');
|
|
|
|
|
$user_id = I('uid', $this->user_id);
|
|
|
|
|
$code = I('code', ''); // 邮件code
|
|
|
|
|
$mobile = I('mobile', ''); // 手机号
|
|
|
|
|
if (strlen($new_password) < 6) {
|
|
|
|
|
show_message("密码不能小于6位");
|
|
|
|
|
}
|
|
|
|
|
$user_info = $this->users->get_profile_by_id($user_id); // 论坛记录
|
|
|
|
|
// 短信找回,邮件找回,问题找回,登录修改密码
|
|
|
|
|
if ((! empty($mobile) && base64_encode($user_info['mobiles']) == $mobile) || ($user_info && (! empty($code) && md5($user_info['user_id'] . C('hash_code') . $user_info['reg_time']) == $code)) || ($_SESSION['user_id'] > 0 && $_SESSION['user_id'] == $user_id && $this->load->user->check_user($_SESSION['user_name'], $old_password))) {
|
|
|
|
|
echo 'asdas';
|
|
|
|
|
exit();
|
|
|
|
|
|
|
|
|
|
if ($this->load->user->edit_user(array(
|
|
|
|
|
'username' => ((empty($code) && empty($mobile) && empty($question)) ? $_SESSION['user_name'] : $user_info['user_name']),
|
|
|
|
|
'old_password' => $old_password,
|
|
|
|
|
'password' => $new_password
|
|
|
|
|
), empty($code) ? 0 : 1)) {
|
|
|
|
|
echo 'asdas';
|
|
|
|
|
exit();
|
|
|
|
|
|
|
|
|
|
$data['ec_salt'] = 0;
|
|
|
|
|
$where['user_id'] = $user_id;
|
|
|
|
|
$this->db->table('users')
|
|
|
|
|
->data($data)
|
|
|
|
|
->where($where)
|
|
|
|
|
->update();
|
|
|
|
|
echo 'asdas';
|
|
|
|
|
exit();
|
|
|
|
|
$this->load->user->logout();
|
|
|
|
|
show_message(L('edit_password_success'), L('relogin_lnk'), url('login'), 'info');
|
|
|
|
|
} else {
|
|
|
|
|
show_message(L('edit_password_failure'), L('back_page_up'), '', 'info');
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
show_message(L('edit_password_failure'), L('back_page_up'), '', 'info');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 显示修改密码页面
|
|
|
|
|
if (isset($_SESSION['user_id']) && $_SESSION['user_id'] > 0) {
|
|
|
|
|
$this->assign('title', L('edit_password'));
|
|
|
|
|
// 判断登录方式
|
|
|
|
|
if ($this->is_third_user($_SESSION['user_id'])) {
|
|
|
|
|
$this->assign('is_third', 1);
|
|
|
|
|
}
|
|
|
|
|
$this->assign('page_title', '修改密码');
|
|
|
|
|
$this->display();
|
|
|
|
|
} else {
|
|
|
|
|
$this->redirect(url('login', array(
|
|
|
|
|
'referer' => urlencode(url($this->action))
|
|
|
|
|
)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 退出
|
|
|
|
|
*/
|
|
|
|
|
public function actionLogout()
|
|
|
|
|
{
|
|
|
|
|
if ((! isset($this->back_act) || empty($this->back_act)) && isset($_SERVER['HTTP_REFERER'])) {
|
|
|
|
|
$this->back_act = strpos($GLOBALS['_SERVER']['HTTP_REFERER'], 'c=user') ? url('index') : $GLOBALS['_SERVER']['HTTP_REFERER'];
|
|
|
|
|
} else {
|
|
|
|
|
$this->back_act = U('user/login/index');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->users->logout();
|
|
|
|
|
show_message(L('logout'), array(
|
|
|
|
|
L('back_up_page'),
|
|
|
|
|
L('back_home_lnk')
|
|
|
|
|
), array(
|
|
|
|
|
$this->back_act,
|
|
|
|
|
U('site/index/index')
|
|
|
|
|
), 'success');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 清空浏览历史
|
|
|
|
|
*/
|
|
|
|
|
public function clear_history()
|
|
|
|
|
{
|
|
|
|
|
// ajax请求
|
|
|
|
|
if (IS_AJAX && IS_AJAX) {
|
|
|
|
|
setcookie('ECS[history]', '', 1);
|
|
|
|
|
echo json_encode(array('status' => 1));
|
|
|
|
|
} else {
|
|
|
|
|
echo json_encode(array('status' => 0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户注册
|
|
|
|
|
*/
|
|
|
|
|
public function actionRegister(){
|
|
|
|
|
|
|
|
|
|
if(IS_POST){
|
|
|
|
|
if(I('enabled_sms') == 1){
|
|
|
|
|
//$username = isset($_POST['username']) ? trim($_POST['username']) : '';
|
|
|
|
|
$username = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
|
|
|
|
|
$mobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
|
|
|
|
|
$password = isset($_POST['smspassword']) ? trim($_POST['smspassword']) : '';
|
|
|
|
|
$sms_code = isset($_POST['mobile_code']) ? trim($_POST['mobile_code']) : '';
|
|
|
|
|
$repassword = isset($_POST['repassword']) ? trim($_POST['repassword']) : '';
|
|
|
|
|
$back_act = isset($_POST['back_act']) ? trim($_POST['back_act']) : '';
|
|
|
|
|
if ($mobile != $_SESSION['sms_mobile'] or $sms_code != $_SESSION['sms_mobile_code']) {
|
|
|
|
|
show_message('手机验证码输入错误。');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (strlen($username) < 3)
|
|
|
|
|
{
|
|
|
|
|
show_message(L('passport_js.username_shorter'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (strlen($password) < 6)
|
|
|
|
|
{
|
|
|
|
|
show_message(L('passport_js.password_shorter'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (strpos($password, ' ') > 0)
|
|
|
|
|
{
|
|
|
|
|
show_message(L('passwd_balnk'));
|
|
|
|
|
}
|
|
|
|
|
if ($password != $repassword)
|
|
|
|
|
{
|
|
|
|
|
show_message('两次密码输入不一致');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$email = $username.'@qq.com';
|
|
|
|
|
$other = array(
|
|
|
|
|
'mobile_phone' => $mobile,
|
|
|
|
|
);
|
|
|
|
|
}elseif(I('enabled_sms') == 2){
|
|
|
|
|
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
|
|
|
|
|
$email = isset($_POST['email']) ? trim($_POST['email']) : '';
|
|
|
|
|
$password = isset($_POST['password']) ? trim($_POST['password']) : '';
|
|
|
|
|
$repassword = isset($_POST['confirm_password']) ? trim($_POST['confirm_password']) : '';
|
|
|
|
|
$back_act = isset($_POST['back_act']) ? trim($_POST['back_act']) : '';
|
|
|
|
|
|
|
|
|
|
$passport_js = L("passport_js");
|
|
|
|
|
if (strlen($username) < 3)
|
|
|
|
|
{
|
|
|
|
|
show_message($passport_js['username_shorter']);
|
|
|
|
|
}
|
|
|
|
|
if (strlen($password) < 6)
|
|
|
|
|
{
|
|
|
|
|
show_message(L('passport_js.password_shorter'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (strpos($password, ' ') > 0)
|
|
|
|
|
{
|
|
|
|
|
show_message(L('passwd_balnk'));
|
|
|
|
|
}
|
|
|
|
|
if ($password != $repassword)
|
|
|
|
|
{
|
|
|
|
|
show_message('两次密码输入不一致');
|
|
|
|
|
}
|
|
|
|
|
$other = array();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (register($username, $password, $email, $other) !== false)
|
|
|
|
|
{
|
|
|
|
|
/* 判断是否需要自动发送注册邮件 */
|
|
|
|
|
if (C('member_email_validate') && C('send_verify_email'))
|
|
|
|
|
{
|
|
|
|
|
send_regiter_hash($_SESSION['user_id']);
|
|
|
|
|
}
|
|
|
|
|
$ucdata = isset($this->users->ucdata)? $this->users->ucdata : '';
|
|
|
|
|
show_message(sprintf(L('register_success'), $username.$ucdata), L('profile_lnk'), U('user/index/index'), 'success');
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if($this->db->getOne("SELECT count(user_name) as a FROM {pre}users WHERE user_name='".$username."'")){
|
|
|
|
|
$error = '用户名已注册';
|
|
|
|
|
}elseif($this->db->getOne("SELECT count(email) as a FROM {pre}users WHERE email='".$email."'")){
|
|
|
|
|
$error = '邮箱已注册';
|
|
|
|
|
}
|
|
|
|
|
show_message('注册失败 '.$error,'' ,U('user/login/register'),'fail');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if ((!isset($back_act)||empty($back_act)) && isset($GLOBALS['_SERVER']['HTTP_REFERER']))
|
|
|
|
|
{
|
|
|
|
|
$back_act = strpos($GLOBALS['_SERVER']['HTTP_REFERER'], 'user.php') ? './index.php' : $GLOBALS['_SERVER']['HTTP_REFERER'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 验证码相关设置 */
|
|
|
|
|
if ((intval(C('shop.captcha')) & CAPTCHA_REGISTER) && gd_version() > 0)
|
|
|
|
|
{
|
|
|
|
|
$this->assign('enabled_captcha', 1);
|
|
|
|
|
$this->assign('rand', mt_rand());
|
|
|
|
|
}
|
|
|
|
|
$_SESSION['sms_code'] = $sms_code = md5(mt_rand(1000, 9999));
|
|
|
|
|
$this->assign('sms_code', $sms_code);
|
|
|
|
|
$this->assign('flag','register');
|
|
|
|
|
$this->assign('back_act', $back_act);
|
|
|
|
|
$this->assign('page_title','注册用户');
|
|
|
|
|
$this->assign('show',$GLOBALS['_CFG']['sms_signin']);
|
|
|
|
|
$this->display('user_register');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 验证验证码
|
|
|
|
|
*/
|
|
|
|
|
public function actionCheckcode()
|
|
|
|
|
{
|
|
|
|
|
if (IS_AJAX) {
|
|
|
|
|
$verify = new Verify();
|
|
|
|
|
$code = I('code');
|
|
|
|
|
$code = $verify->check($code);
|
|
|
|
|
if ($code == true) {
|
|
|
|
|
$code = 1;
|
|
|
|
|
echo json_encode($code);
|
|
|
|
|
} else {
|
|
|
|
|
$code = 0;
|
|
|
|
|
echo json_encode($code);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生成验证码
|
|
|
|
|
*/
|
|
|
|
|
public function actionVerify()
|
|
|
|
|
{
|
|
|
|
|
$verify = new Verify();
|
|
|
|
|
$this->assign('code', $verify->entry());
|
|
|
|
|
}
|
|
|
|
|
function isMobile($mobile) {
|
|
|
|
|
if (!is_numeric($mobile)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile) ? true : false;
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 验证是否登录
|
|
|
|
|
*/
|
|
|
|
|
public function actionchecklogin(){
|
|
|
|
|
|
|
|
|
|
if(!$this->user_id){
|
|
|
|
|
$url = urlencode(__HOST__ . $_SERVER['REQUEST_URI']);
|
|
|
|
|
if(IS_POST) {
|
|
|
|
|
$url = urlencode($_SERVER['HTTP_REFERER']);
|
|
|
|
|
}
|
|
|
|
|
ecs_header("Location: ".U('user/login/index',array('back_act'=>$url)));
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|