Passed
Push — develop ( 54cd90...83101f )
by Jens
02:56
created
cloudcontrol/library/components/LanguageComponent.php 2 patches
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -7,124 +7,124 @@
 block discarded – undo
7 7
 
8 8
 class LanguageComponent implements Component
9 9
 {
10
-    protected $request;
11
-    protected $parameters;
12
-
13
-    protected $defaultLanguage = 'en';
14
-    protected $acceptedLanguages = null;
15
-    protected $languageParameterName = 'language';
16
-    protected $forceRedirect = false;
17
-    protected $sessionValues;
18
-
19
-    /**
20
-     * Component constructor.
21
-     *
22
-     * @param                     $template
23
-     * @param Request $request
24
-     * @param                     $parameters
25
-     * @param                     $matchedSitemapItem
26
-     */
27
-    public function __construct($template, Request $request, $parameters, $matchedSitemapItem)
28
-    {
29
-        $this->parameters = (array) $parameters;
30
-        $this->checkParameters();
31
-
32
-        $lang = substr(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : $this->defaultLanguage, 0, 2);
33
-        $_SESSION['LanguageComponent']['detectedLanguage'] = $lang;
34
-
35
-        $this->checkLanguageSwitch($request);
36
-
37
-        if (!isset($_SESSION['LanguageComponent'][$this->languageParameterName])) {
38
-            $this->detectLanguage($lang, $request);
39
-        } else {
40
-            if ($this->forceRedirect === true) {
41
-                $this->detectLanguage($_SESSION['LanguageComponent'][$this->languageParameterName], $request);
42
-            }
43
-        }
44
-
45
-        $this->parameters[$this->languageParameterName] = $_SESSION['LanguageComponent'][$this->languageParameterName];
46
-    }
47
-
48
-    /**
49
-     * Checks to see if any parameters are given from the configuration in the CMS
50
-     */
51
-    private function checkParameters()
52
-    {
53
-        if (isset($this->parameters['defaultLanguage'])) {
54
-            $this->defaultLanguage = $this->parameters['defaultLanguage'];
55
-            unset($this->parameters['defaultLanguage']);
56
-        }
57
-        if (isset($this->parameters['acceptedLanguages'])) {
58
-            $this->acceptedLanguages = explode(',', $this->parameters['acceptedLanguages']);
59
-            unset($this->parameters['acceptedLanguages']);
60
-        }
61
-        if (isset($this->parameters['languageParameterName'])) {
62
-            $this->languageParameterName = $this->parameters['languageParameterName'];
63
-            unset($this->parameters['languageParameterName']);
64
-        }
65
-        if (isset($this->parameters['forceRedirect'])) {
66
-            $this->forceRedirect = (bool) $this->parameters['forceRedirect'];
67
-            unset($this->parameters['forceRedirect']);
68
-        }
69
-    }
70
-
71
-    /**
72
-     * @return array
73
-     */
74
-    public function getParameters()
75
-    {
76
-        return $this->parameters;
77
-    }
78
-
79
-
80
-    /**
81
-     * Check if the found language is allowed and
82
-     * if an action is to be taken.
83
-     *
84
-     * @param $lang
85
-     * @param $request
86
-     */
87
-    private function detectLanguage($lang, $request)
88
-    {
89
-        $_SESSION['LanguageComponent'][$this->languageParameterName] = $this->defaultLanguage;
90
-
91
-        if ($this->acceptedLanguages === null) {
92
-            $_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
93
-        } else if (in_array($lang, $this->acceptedLanguages)) {
94
-            $_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
95
-        } else {
96
-            $lang = $this->defaultLanguage;
97
-        }
98
-
99
-        $this->sessionValues = $_SESSION['LanguageComponent'];
100
-
101
-        if ($this->forceRedirect === true) {
102
-            if (substr($request::$relativeUri, 0, 2) !== $lang ) {
103
-                if ($lang !== $this->defaultLanguage) {
104
-                    header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
105
-                    exit;
106
-                }
107
-            }
108
-        }
109
-    }
110
-
111
-    /**
112
-     * Detect if the language is switched manually
113
-     *
114
-     * @param $request
115
-     */
116
-    private function checkLanguageSwitch($request)
117
-    {
118
-        if (isset($request::$get['langSwitch'])) {
119
-            $this->forceRedirect = true;
120
-            $this->detectLanguage($request::$get['langSwitch'], $request);
121
-        }
122
-    }
123
-
124
-    /*
10
+	protected $request;
11
+	protected $parameters;
12
+
13
+	protected $defaultLanguage = 'en';
14
+	protected $acceptedLanguages = null;
15
+	protected $languageParameterName = 'language';
16
+	protected $forceRedirect = false;
17
+	protected $sessionValues;
18
+
19
+	/**
20
+	 * Component constructor.
21
+	 *
22
+	 * @param                     $template
23
+	 * @param Request $request
24
+	 * @param                     $parameters
25
+	 * @param                     $matchedSitemapItem
26
+	 */
27
+	public function __construct($template, Request $request, $parameters, $matchedSitemapItem)
28
+	{
29
+		$this->parameters = (array) $parameters;
30
+		$this->checkParameters();
31
+
32
+		$lang = substr(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : $this->defaultLanguage, 0, 2);
33
+		$_SESSION['LanguageComponent']['detectedLanguage'] = $lang;
34
+
35
+		$this->checkLanguageSwitch($request);
36
+
37
+		if (!isset($_SESSION['LanguageComponent'][$this->languageParameterName])) {
38
+			$this->detectLanguage($lang, $request);
39
+		} else {
40
+			if ($this->forceRedirect === true) {
41
+				$this->detectLanguage($_SESSION['LanguageComponent'][$this->languageParameterName], $request);
42
+			}
43
+		}
44
+
45
+		$this->parameters[$this->languageParameterName] = $_SESSION['LanguageComponent'][$this->languageParameterName];
46
+	}
47
+
48
+	/**
49
+	 * Checks to see if any parameters are given from the configuration in the CMS
50
+	 */
51
+	private function checkParameters()
52
+	{
53
+		if (isset($this->parameters['defaultLanguage'])) {
54
+			$this->defaultLanguage = $this->parameters['defaultLanguage'];
55
+			unset($this->parameters['defaultLanguage']);
56
+		}
57
+		if (isset($this->parameters['acceptedLanguages'])) {
58
+			$this->acceptedLanguages = explode(',', $this->parameters['acceptedLanguages']);
59
+			unset($this->parameters['acceptedLanguages']);
60
+		}
61
+		if (isset($this->parameters['languageParameterName'])) {
62
+			$this->languageParameterName = $this->parameters['languageParameterName'];
63
+			unset($this->parameters['languageParameterName']);
64
+		}
65
+		if (isset($this->parameters['forceRedirect'])) {
66
+			$this->forceRedirect = (bool) $this->parameters['forceRedirect'];
67
+			unset($this->parameters['forceRedirect']);
68
+		}
69
+	}
70
+
71
+	/**
72
+	 * @return array
73
+	 */
74
+	public function getParameters()
75
+	{
76
+		return $this->parameters;
77
+	}
78
+
79
+
80
+	/**
81
+	 * Check if the found language is allowed and
82
+	 * if an action is to be taken.
83
+	 *
84
+	 * @param $lang
85
+	 * @param $request
86
+	 */
87
+	private function detectLanguage($lang, $request)
88
+	{
89
+		$_SESSION['LanguageComponent'][$this->languageParameterName] = $this->defaultLanguage;
90
+
91
+		if ($this->acceptedLanguages === null) {
92
+			$_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
93
+		} else if (in_array($lang, $this->acceptedLanguages)) {
94
+			$_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
95
+		} else {
96
+			$lang = $this->defaultLanguage;
97
+		}
98
+
99
+		$this->sessionValues = $_SESSION['LanguageComponent'];
100
+
101
+		if ($this->forceRedirect === true) {
102
+			if (substr($request::$relativeUri, 0, 2) !== $lang ) {
103
+				if ($lang !== $this->defaultLanguage) {
104
+					header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
105
+					exit;
106
+				}
107
+			}
108
+		}
109
+	}
110
+
111
+	/**
112
+	 * Detect if the language is switched manually
113
+	 *
114
+	 * @param $request
115
+	 */
116
+	private function checkLanguageSwitch($request)
117
+	{
118
+		if (isset($request::$get['langSwitch'])) {
119
+			$this->forceRedirect = true;
120
+			$this->detectLanguage($request::$get['langSwitch'], $request);
121
+		}
122
+	}
123
+
124
+	/*
125 125
      * These functions are required by the interface, but not for the functionality
126 126
      */
127
-    public function run(Storage $storage) {}
128
-    public function render() {}
129
-    public function get() {}
127
+	public function run(Storage $storage) {}
128
+	public function render() {}
129
+	public function get() {}
130 130
 }
131 131
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -99,9 +99,9 @@
 block discarded – undo
99 99
         $this->sessionValues = $_SESSION['LanguageComponent'];
100 100
 
101 101
         if ($this->forceRedirect === true) {
102
-            if (substr($request::$relativeUri, 0, 2) !== $lang ) {
102
+            if (substr($request::$relativeUri, 0, 2) !== $lang) {
103 103
                 if ($lang !== $this->defaultLanguage) {
104
-                    header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
104
+                    header('Location: '.$request::$subfolders.$lang.'/'.$request::$relativeUri);
105 105
                     exit;
106 106
                 }
107 107
             }
Please login to merge, or discard this patch.