File tree 1 file changed +17
-4
lines changed
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
27
27
*/
28
28
public $ languages = [];
29
29
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
+
30
36
/** @var string */
31
37
public $ languageSessionKey = '_language ' ;
32
38
@@ -49,8 +55,12 @@ public function init()
49
55
{
50
56
parent ::init ();
51
57
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 ) {
54
64
$ slug = Yii::$ app ->request ->getCookies ()->getValue ($ this ->languageCookieName );
55
65
}
56
66
@@ -100,9 +110,12 @@ public function setLanguage(ILanguage $language)
100
110
$ this ->_language = $ language ;
101
111
102
112
$ slug = $ language ->getSlug ();
103
- Yii::$ app ->session [$ this ->languageSessionKey ] = $ slug ;
104
113
105
- if ($ this ->languageCookieDuration ) {
114
+ if ($ this ->languageSession ) {
115
+ Yii::$ app ->session [$ this ->languageSessionKey ] = $ slug ;
116
+ }
117
+
118
+ if ($ this ->languageCookie ) {
106
119
$ cookie = new Cookie (array_merge (
107
120
['httpOnly ' => true ],
108
121
$ this ->languageCookieOptions ,
You can’t perform that action at this time.
0 commit comments