Commit 910ba2701ba1be9f101697e6dc5ce3b5e1340cfc

Authored by Yarik
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 /**
... ...