作者 Karson

修复登录成功后无法返回之前页的BUG

... ... @@ -67,7 +67,7 @@ class User extends Frontend
*/
public function register()
{
$url = $this->request->request('url', url('user/index'));
$url = $this->request->request('url');
if ($this->auth->id)
$this->success(__('You\'ve logged in, do not login again'), $url);
if ($this->request->isPost()) {
... ... @@ -116,12 +116,18 @@ class User extends Frontend
$uc = new \addons\ucenter\library\client\Client();
$synchtml = $uc->uc_user_synregister($this->auth->id, $password);
}
$this->success(__('Sign up successful') . $synchtml, $url);
$this->success(__('Sign up successful') . $synchtml, $url ? $url : url('user/index'));
} else {
$this->error($this->auth->getError());
}
}
Session::set('redirect_url', $url);
//判断来源
$referer = $this->request->server('HTTP_REFERER');
if (!$url && (strtolower(parse_url($referer, PHP_URL_HOST)) == strtolower($this->request->host()))
&& !preg_match("/(user\/login|user\/register)/i", $referer)) {
$url = $referer;
}
$this->view->assign('url', $url);
$this->view->assign('title', __('Register'));
return $this->view->fetch();
}
... ... @@ -131,7 +137,7 @@ class User extends Frontend
*/
public function login()
{
$url = $this->request->request('url', url('user/index'));
$url = $this->request->request('url');
if ($this->auth->id)
$this->success(__('You\'ve logged in, do not login again'), $url);
if ($this->request->isPost()) {
... ... @@ -169,11 +175,18 @@ class User extends Frontend
$uc = new \addons\ucenter\library\client\Client();
$synchtml = $uc->uc_user_synlogin($this->auth->id);
}
$this->success(__('Logged in successful') . $synchtml, $url);
$this->success(__('Logged in successful') . $synchtml, $url ? $url : url('user/index'));
} else {
$this->error($this->auth->getError());
}
}
//判断来源
$referer = $this->request->server('HTTP_REFERER');
if (!$url && (strtolower(parse_url($referer, PHP_URL_HOST)) == strtolower($this->request->host()))
&& !preg_match("/(user\/login|user\/register)/i", $referer)) {
$url = $referer;
}
$this->view->assign('url', $url);
$this->view->assign('title', __('Login'));
return $this->view->fetch();
}
... ...
... ... @@ -3,6 +3,7 @@
<div class="logon-tab clearfix"> <a class="active">{:__('Sign in')}</a> <a href="{:url('user/register')}">{:__('Sign up')}</a> </div>
<div class="login-main">
<form name="form" id="login-form" class="form-vertical" method="POST" action="">
<input type="hidden" name="url" value="{$url}" />
<div class="form-group">
<label class="control-label" for="account">{:__('Account')}</label>
<div class="controls">
... ...
... ... @@ -4,6 +4,7 @@
<div class="login-main">
<form name="form1" id="register-form" class="form-vertical" method="POST" action="">
<input type="hidden" name="invite_user_id" value="0" />
<input type="hidden" name="url" value="{$url}" />
<div class="form-group">
<label class="control-label required">{:__('Email')}<span class="text-success"></span></label>
<div class="controls">
... ...