diff --git a/components/LanguageRequest.php b/components/LanguageRequest.php index 2c7d809..11a3b75 100755 --- a/components/LanguageRequest.php +++ b/components/LanguageRequest.php @@ -11,11 +11,6 @@ private $languageUrl; - public function processOld() - { - \Yii::$app->response->redirect('http://google.com'); - } - public function getLanguageUrl() { if($this->languageUrl === NULL) { @@ -23,8 +18,12 @@ $url_list = explode('/', $this->languageUrl); + $language_url = isset( $url_list[ 1 ] ) ? $url_list[ 1 ] : NULL; - Language::setCurrent($language_url); + $is_language = Language::setCurrent($language_url); + if(!$is_language) { + \Yii::$app->response->redirect('/'.Language::getCurrent()->url.$this->url, 302, false); + } if($language_url !== NULL && $language_url === Language::getCurrent()->url && strpos($this->languageUrl, Language::getCurrent()->url) === 1) { $this->languageUrl = substr($this->languageUrl, strlen(Language::getCurrent()->url) + 1); diff --git a/models/Language.php b/models/Language.php index 640f48e..ff8a900 100755 --- a/models/Language.php +++ b/models/Language.php @@ -120,17 +120,24 @@ } return self::$current; } - + /** * Set current language by Url param * * @param null|string $url Language url param + * + * @return bool */ public static function setCurrent($url = null) { $language = self::getLanguageByUrl($url); self::$current = ( $language === null ) ? self::getDefaultLanguage() : $language; Yii::$app->language = self::$current->local; + if($language === null) { + return false; + } else { + return true; + } } /** -- libgit2 0.21.4