File tree Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,12 @@ class LanguageManager extends Component implements ILanguageManager
2727 */
2828 public $ languages = [];
2929
30+ /** @var bool Use session to set/get language */
31+ public $ languageSession = true ;
32+
33+ /** @var bool Use cookie to set/get language */
34+ public $ languageCookie = true ;
35+
3036 /** @var string */
3137 public $ languageSessionKey = '_language ' ;
3238
@@ -49,8 +55,12 @@ public function init()
4955 {
5056 parent ::init ();
5157
52- $ slug = Yii::$ app ->session ->get ($ this ->languageSessionKey );
53- if ($ slug === null ) {
58+ $ slug = null ;
59+
60+ if ($ this ->languageSession ) {
61+ $ slug = Yii::$ app ->session ->get ($ this ->languageSessionKey );
62+ }
63+ if ($ slug === null && $ this ->languageCookie ) {
5464 $ slug = Yii::$ app ->request ->getCookies ()->getValue ($ this ->languageCookieName );
5565 }
5666
@@ -100,9 +110,12 @@ public function setLanguage(ILanguage $language)
100110 $ this ->_language = $ language ;
101111
102112 $ slug = $ language ->getSlug ();
103- Yii::$ app ->session [$ this ->languageSessionKey ] = $ slug ;
104113
105- if ($ this ->languageCookieDuration ) {
114+ if ($ this ->languageSession ) {
115+ Yii::$ app ->session [$ this ->languageSessionKey ] = $ slug ;
116+ }
117+
118+ if ($ this ->languageCookie ) {
106119 $ cookie = new Cookie (array_merge (
107120 ['httpOnly ' => true ],
108121 $ this ->languageCookieOptions ,
You can’t perform that action at this time.
0 commit comments