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 +11,6 @@ | ||
11 | 11 | ||
12 | private $languageUrl; | 12 | private $languageUrl; |
13 | 13 | ||
14 | - public function processOld() | ||
15 | - { | ||
16 | - \Yii::$app->response->redirect('http://google.com'); | ||
17 | - } | ||
18 | - | ||
19 | public function getLanguageUrl() | 14 | public function getLanguageUrl() |
20 | { | 15 | { |
21 | if($this->languageUrl === NULL) { | 16 | if($this->languageUrl === NULL) { |
@@ -23,8 +18,12 @@ | @@ -23,8 +18,12 @@ | ||
23 | 18 | ||
24 | $url_list = explode('/', $this->languageUrl); | 19 | $url_list = explode('/', $this->languageUrl); |
25 | 20 | ||
21 | + | ||
26 | $language_url = isset( $url_list[ 1 ] ) ? $url_list[ 1 ] : NULL; | 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 | if($language_url !== NULL && $language_url === Language::getCurrent()->url && strpos($this->languageUrl, Language::getCurrent()->url) === 1) { | 28 | if($language_url !== NULL && $language_url === Language::getCurrent()->url && strpos($this->languageUrl, Language::getCurrent()->url) === 1) { |
30 | $this->languageUrl = substr($this->languageUrl, strlen(Language::getCurrent()->url) + 1); | 29 | $this->languageUrl = substr($this->languageUrl, strlen(Language::getCurrent()->url) + 1); |
models/Language.php
@@ -120,17 +120,24 @@ | @@ -120,17 +120,24 @@ | ||
120 | } | 120 | } |
121 | return self::$current; | 121 | return self::$current; |
122 | } | 122 | } |
123 | - | 123 | + |
124 | /** | 124 | /** |
125 | * Set current language by Url param | 125 | * Set current language by Url param |
126 | * | 126 | * |
127 | * @param null|string $url Language url param | 127 | * @param null|string $url Language url param |
128 | + * | ||
129 | + * @return bool | ||
128 | */ | 130 | */ |
129 | public static function setCurrent($url = null) | 131 | public static function setCurrent($url = null) |
130 | { | 132 | { |
131 | $language = self::getLanguageByUrl($url); | 133 | $language = self::getLanguageByUrl($url); |
132 | self::$current = ( $language === null ) ? self::getDefaultLanguage() : $language; | 134 | self::$current = ( $language === null ) ? self::getDefaultLanguage() : $language; |
133 | Yii::$app->language = self::$current->local; | 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 | /** |