Commit 910ba2701ba1be9f101697e6dc5ce3b5e1340cfc
1 parent
8a735882
Language try redirect
Showing
2 changed files
with
13 additions
and
7 deletions
Show diff stats
components/LanguageRequest.php
| ... | ... | @@ -11,11 +11,6 @@ |
| 11 | 11 | |
| 12 | 12 | private $languageUrl; |
| 13 | 13 | |
| 14 | - public function processOld() | |
| 15 | - { | |
| 16 | - \Yii::$app->response->redirect('http://google.com'); | |
| 17 | - } | |
| 18 | - | |
| 19 | 14 | public function getLanguageUrl() |
| 20 | 15 | { |
| 21 | 16 | if($this->languageUrl === NULL) { |
| ... | ... | @@ -23,8 +18,12 @@ |
| 23 | 18 | |
| 24 | 19 | $url_list = explode('/', $this->languageUrl); |
| 25 | 20 | |
| 21 | + | |
| 26 | 22 | $language_url = isset( $url_list[ 1 ] ) ? $url_list[ 1 ] : NULL; |
| 27 | - Language::setCurrent($language_url); | |
| 23 | + $is_language = Language::setCurrent($language_url); | |
| 24 | + if(!$is_language) { | |
| 25 | + \Yii::$app->response->redirect('/'.Language::getCurrent()->url.$this->url, 302, false); | |
| 26 | + } | |
| 28 | 27 | |
| 29 | 28 | if($language_url !== NULL && $language_url === Language::getCurrent()->url && strpos($this->languageUrl, Language::getCurrent()->url) === 1) { |
| 30 | 29 | $this->languageUrl = substr($this->languageUrl, strlen(Language::getCurrent()->url) + 1); | ... | ... |
models/Language.php
| ... | ... | @@ -120,17 +120,24 @@ |
| 120 | 120 | } |
| 121 | 121 | return self::$current; |
| 122 | 122 | } |
| 123 | - | |
| 123 | + | |
| 124 | 124 | /** |
| 125 | 125 | * Set current language by Url param |
| 126 | 126 | * |
| 127 | 127 | * @param null|string $url Language url param |
| 128 | + * | |
| 129 | + * @return bool | |
| 128 | 130 | */ |
| 129 | 131 | public static function setCurrent($url = null) |
| 130 | 132 | { |
| 131 | 133 | $language = self::getLanguageByUrl($url); |
| 132 | 134 | self::$current = ( $language === null ) ? self::getDefaultLanguage() : $language; |
| 133 | 135 | Yii::$app->language = self::$current->local; |
| 136 | + if($language === null) { | |
| 137 | + return false; | |
| 138 | + } else { | |
| 139 | + return true; | |
| 140 | + } | |
| 134 | 141 | } |
| 135 | 142 | |
| 136 | 143 | /** | ... | ... |