mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-30 06:29:02 +08:00
Added Controller::goHome().
This commit is contained in:
@@ -17,7 +17,7 @@ class SiteController extends Controller
|
|||||||
{
|
{
|
||||||
$model = new LoginForm();
|
$model = new LoginForm();
|
||||||
if ($model->load($_POST) && $model->login()) {
|
if ($model->load($_POST) && $model->login()) {
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
} else {
|
} else {
|
||||||
return $this->render('login', array(
|
return $this->render('login', array(
|
||||||
'model' => $model,
|
'model' => $model,
|
||||||
@@ -28,6 +28,6 @@ class SiteController extends Controller
|
|||||||
public function actionLogout()
|
public function actionLogout()
|
||||||
{
|
{
|
||||||
Yii::$app->user->logout();
|
Yii::$app->user->logout();
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class SiteController extends Controller
|
|||||||
{
|
{
|
||||||
$model = new LoginForm();
|
$model = new LoginForm();
|
||||||
if ($model->load($_POST) && $model->login()) {
|
if ($model->load($_POST) && $model->login()) {
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
} else {
|
} else {
|
||||||
return $this->render('login', array(
|
return $this->render('login', array(
|
||||||
'model' => $model,
|
'model' => $model,
|
||||||
@@ -41,7 +41,7 @@ class SiteController extends Controller
|
|||||||
public function actionLogout()
|
public function actionLogout()
|
||||||
{
|
{
|
||||||
Yii::$app->user->logout();
|
Yii::$app->user->logout();
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function actionContact()
|
public function actionContact()
|
||||||
@@ -68,7 +68,7 @@ class SiteController extends Controller
|
|||||||
$model->setScenario('signup');
|
$model->setScenario('signup');
|
||||||
if ($model->load($_POST) && $model->save()) {
|
if ($model->load($_POST) && $model->save()) {
|
||||||
if (Yii::$app->getUser()->login($model)) {
|
if (Yii::$app->getUser()->login($model)) {
|
||||||
$this->redirect('index');
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ class SiteController extends Controller
|
|||||||
if ($model->load($_POST) && $model->validate()) {
|
if ($model->load($_POST) && $model->validate()) {
|
||||||
if ($this->sendPasswordResetEmail($model->email)) {
|
if ($this->sendPasswordResetEmail($model->email)) {
|
||||||
Yii::$app->getSession()->setFlash('success', 'Check your email for further instructions.');
|
Yii::$app->getSession()->setFlash('success', 'Check your email for further instructions.');
|
||||||
$this->redirect('index');
|
return $this->goHome();
|
||||||
} else {
|
} else {
|
||||||
Yii::$app->getSession()->setFlash('error', 'There was an error sending email.');
|
Yii::$app->getSession()->setFlash('error', 'There was an error sending email.');
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ class SiteController extends Controller
|
|||||||
$model->scenario = 'resetPassword';
|
$model->scenario = 'resetPassword';
|
||||||
if ($model->load($_POST) && $model->save()) {
|
if ($model->load($_POST) && $model->save()) {
|
||||||
Yii::$app->getSession()->setFlash('success', 'New password was saved.');
|
Yii::$app->getSession()->setFlash('success', 'New password was saved.');
|
||||||
$this->redirect('index');
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render('resetPassword', array(
|
return $this->render('resetPassword', array(
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class SiteController extends Controller
|
|||||||
{
|
{
|
||||||
$model = new LoginForm();
|
$model = new LoginForm();
|
||||||
if ($model->load($_POST) && $model->login()) {
|
if ($model->load($_POST) && $model->login()) {
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
} else {
|
} else {
|
||||||
return $this->render('login', array(
|
return $this->render('login', array(
|
||||||
'model' => $model,
|
'model' => $model,
|
||||||
@@ -42,7 +42,7 @@ class SiteController extends Controller
|
|||||||
public function actionLogout()
|
public function actionLogout()
|
||||||
{
|
{
|
||||||
Yii::$app->user->logout();
|
Yii::$app->user->logout();
|
||||||
return $this->redirect(array('site/index'));
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function actionContact()
|
public function actionContact()
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ app\config\AppAsset::register($this);
|
|||||||
Yii::$app->user->isGuest ?
|
Yii::$app->user->isGuest ?
|
||||||
array('label' => 'Login', 'url' => array('/site/login')) :
|
array('label' => 'Login', 'url' => array('/site/login')) :
|
||||||
array('label' => 'Logout (' . Yii::$app->user->identity->username .')' , 'url' => array('/site/logout')),
|
array('label' => 'Logout (' . Yii::$app->user->identity->username .')' , 'url' => array('/site/logout')),
|
||||||
)));
|
),
|
||||||
|
));
|
||||||
NavBar::end();
|
NavBar::end();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|||||||
@@ -96,20 +96,36 @@ class Controller extends \yii\base\Controller
|
|||||||
* Redirects the browser to the specified URL.
|
* Redirects the browser to the specified URL.
|
||||||
* This method is a shortcut to [[Response::redirect()]].
|
* This method is a shortcut to [[Response::redirect()]].
|
||||||
*
|
*
|
||||||
* @param array|string $url the URL to be redirected to. [[Html::url()]]
|
* @param string|array $url the URL to be redirected to. This can be in one of the following formats:
|
||||||
* will be used to normalize the URL. If the resulting URL is still a relative URL
|
*
|
||||||
* (one without host info), the current request host info will be used.
|
* - a string representing a URL (e.g. "http://example.com")
|
||||||
|
* - a string representing a URL alias (e.g. "@example.com")
|
||||||
|
* - an array in the format of `array($route, ...name-value pairs...)` (e.g. `array('site/index', 'ref' => 1)`)
|
||||||
|
* [[Html::url()]] will be used to convert the array into a URL.
|
||||||
|
*
|
||||||
|
* Any relative URL will be converted into an absolute one by prepending it with the host info
|
||||||
|
* of the current request.
|
||||||
|
*
|
||||||
* @param integer $statusCode the HTTP status code. If null, it will use 302
|
* @param integer $statusCode the HTTP status code. If null, it will use 302
|
||||||
* for normal requests, and [[ajaxRedirectCode]] for AJAX requests.
|
* for normal requests, and [[ajaxRedirectCode]] for AJAX requests.
|
||||||
* See [[http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html]]
|
* See [[http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html]]
|
||||||
* for details about HTTP status code
|
* for details about HTTP status code
|
||||||
* @return Response the response object itself
|
* @return Response the current response object
|
||||||
*/
|
*/
|
||||||
public function redirect($url, $statusCode = null)
|
public function redirect($url, $statusCode = null)
|
||||||
{
|
{
|
||||||
return Yii::$app->getResponse()->redirect(Html::url($url), $statusCode);
|
return Yii::$app->getResponse()->redirect(Html::url($url), $statusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirects the browser to the home page.
|
||||||
|
* @return Response the current response object
|
||||||
|
*/
|
||||||
|
public function goHome()
|
||||||
|
{
|
||||||
|
return Yii::$app->getResponse()->redirect(Yii::$app->getHomeUrl());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Refreshes the current page.
|
* Refreshes the current page.
|
||||||
* This method is a shortcut to [[Response::refresh()]].
|
* This method is a shortcut to [[Response::refresh()]].
|
||||||
|
|||||||
@@ -563,9 +563,17 @@ class Response extends \yii\base\Response
|
|||||||
* return Yii::$app->getResponse()->redirect($url);
|
* return Yii::$app->getResponse()->redirect($url);
|
||||||
* ~~~
|
* ~~~
|
||||||
*
|
*
|
||||||
* @param string $url the URL to be redirected to. This can be a URL or an alias of the URL.
|
* @param string|array $url the URL to be redirected to. This can be in one of the following formats:
|
||||||
* The URL can be either relative or absolute. If relative, the host info of the current request
|
*
|
||||||
* will be prepend to the URL.
|
* - a string representing a URL (e.g. "http://example.com")
|
||||||
|
* - a string representing a URL alias (e.g. "@example.com")
|
||||||
|
* - an array in the format of `array($route, ...name-value pairs...)` (e.g. `array('site/index', 'ref' => 1)`).
|
||||||
|
* Note that the route is with respect to the whole application, instead of relative to a controller or module.
|
||||||
|
* [[Html::url()]] will be used to convert the array into a URL.
|
||||||
|
*
|
||||||
|
* Any relative URL will be converted into an absolute one by prepending it with the host info
|
||||||
|
* of the current request.
|
||||||
|
*
|
||||||
* @param integer $statusCode the HTTP status code. If null, it will use 302
|
* @param integer $statusCode the HTTP status code. If null, it will use 302
|
||||||
* for normal requests, and [[ajaxRedirectCode]] for AJAX requests.
|
* for normal requests, and [[ajaxRedirectCode]] for AJAX requests.
|
||||||
* See [[http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html]]
|
* See [[http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html]]
|
||||||
@@ -574,7 +582,11 @@ class Response extends \yii\base\Response
|
|||||||
*/
|
*/
|
||||||
public function redirect($url, $statusCode = null)
|
public function redirect($url, $statusCode = null)
|
||||||
{
|
{
|
||||||
$url = Yii::getAlias($url);
|
if (is_array($url) && isset($url[0])) {
|
||||||
|
// ensure the route is absolute
|
||||||
|
$url[0] = '/' . ltrim($url[0], '/');
|
||||||
|
}
|
||||||
|
$url = Html::url($url);
|
||||||
if (strpos($url, '/') === 0 && strpos($url, '//') !== 0) {
|
if (strpos($url, '/') === 0 && strpos($url, '//') !== 0) {
|
||||||
$url = Yii::$app->getRequest()->getHostInfo() . $url;
|
$url = Yii::$app->getRequest()->getHostInfo() . $url;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user