Passed
Push — develop ( bbe31e...6a6eba )
by Jens
09:49
created
cloudcontrol/library/components/LanguageComponent.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@
 block discarded – undo
105 105
     /**
106 106
      * Detect if the language is switched manually
107 107
      *
108
-     * @param $request
108
+     * @param Request $request
109 109
      */
110 110
     private function checkLanguageSwitch($request)
111 111
     {
Please login to merge, or discard this patch.
Indentation   +112 added lines, -112 removed lines patch added patch discarded remove patch
@@ -7,118 +7,118 @@
 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
-        }
40
-
41
-        $this->parameters[$this->languageParameterName] = $_SESSION['LanguageComponent'][$this->languageParameterName];
42
-    }
43
-
44
-    /**
45
-     * Checks to see if any parameters are given from the configuration in the CMS
46
-     */
47
-    private function checkParameters()
48
-    {
49
-        if (isset($this->parameters['defaultLanguage'])) {
50
-            $this->defaultLanguage = $this->parameters['defaultLanguage'];
51
-            unset($this->parameters['defaultLanguage']);
52
-        }
53
-        if (isset($this->parameters['acceptedLanguages'])) {
54
-            $this->acceptedLanguages = explode(',', $this->parameters['acceptedLanguages']);
55
-            unset($this->parameters['acceptedLanguages']);
56
-        }
57
-        if (isset($this->parameters['languageParameterName'])) {
58
-            $this->languageParameterName = $this->parameters['languageParameterName'];
59
-            unset($this->parameters['languageParameterName']);
60
-        }
61
-        if (isset($this->parameters['forceRedirect'])) {
62
-            $this->forceRedirect = (bool) $this->parameters['forceRedirect'];
63
-            unset($this->parameters['forceRedirect']);
64
-        }
65
-    }
66
-
67
-    /**
68
-     * @return array
69
-     */
70
-    public function getParameters()
71
-    {
72
-        return $this->parameters;
73
-    }
74
-
75
-
76
-    /**
77
-     * Check if the found language is allowed and
78
-     * if an action is to be taken.
79
-     *
80
-     * @param $lang
81
-     * @param $request
82
-     */
83
-    private function detectLanguage($lang, $request)
84
-    {
85
-        $_SESSION['LanguageComponent'][$this->languageParameterName] = $this->defaultLanguage;
86
-
87
-        if ($this->acceptedLanguages === null) {
88
-            $_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
89
-        } else if (in_array($lang, $this->acceptedLanguages)) {
90
-            $_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
91
-        } else {
92
-            $lang = $this->defaultLanguage;
93
-        }
94
-
95
-        $this->sessionValues = $_SESSION['LanguageComponent'];
96
-
97
-        if ($this->forceRedirect === true) {
98
-            if (substr($request::$relativeUri, 0, 2) !== $lang && $lang !== $this->defaultLanguage) { // if default language detected, no redirect
99
-                header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
100
-                exit;
101
-            }
102
-        }
103
-    }
104
-
105
-    /**
106
-     * Detect if the language is switched manually
107
-     *
108
-     * @param $request
109
-     */
110
-    private function checkLanguageSwitch($request)
111
-    {
112
-        if (isset($request::$get['langSwitch'])) {
113
-            $this->forceRedirect = true;
114
-            $this->detectLanguage($request::$get['langSwitch'], $request);
115
-        }
116
-    }
117
-
118
-    /*
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
+		}
40
+
41
+		$this->parameters[$this->languageParameterName] = $_SESSION['LanguageComponent'][$this->languageParameterName];
42
+	}
43
+
44
+	/**
45
+	 * Checks to see if any parameters are given from the configuration in the CMS
46
+	 */
47
+	private function checkParameters()
48
+	{
49
+		if (isset($this->parameters['defaultLanguage'])) {
50
+			$this->defaultLanguage = $this->parameters['defaultLanguage'];
51
+			unset($this->parameters['defaultLanguage']);
52
+		}
53
+		if (isset($this->parameters['acceptedLanguages'])) {
54
+			$this->acceptedLanguages = explode(',', $this->parameters['acceptedLanguages']);
55
+			unset($this->parameters['acceptedLanguages']);
56
+		}
57
+		if (isset($this->parameters['languageParameterName'])) {
58
+			$this->languageParameterName = $this->parameters['languageParameterName'];
59
+			unset($this->parameters['languageParameterName']);
60
+		}
61
+		if (isset($this->parameters['forceRedirect'])) {
62
+			$this->forceRedirect = (bool) $this->parameters['forceRedirect'];
63
+			unset($this->parameters['forceRedirect']);
64
+		}
65
+	}
66
+
67
+	/**
68
+	 * @return array
69
+	 */
70
+	public function getParameters()
71
+	{
72
+		return $this->parameters;
73
+	}
74
+
75
+
76
+	/**
77
+	 * Check if the found language is allowed and
78
+	 * if an action is to be taken.
79
+	 *
80
+	 * @param $lang
81
+	 * @param $request
82
+	 */
83
+	private function detectLanguage($lang, $request)
84
+	{
85
+		$_SESSION['LanguageComponent'][$this->languageParameterName] = $this->defaultLanguage;
86
+
87
+		if ($this->acceptedLanguages === null) {
88
+			$_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
89
+		} else if (in_array($lang, $this->acceptedLanguages)) {
90
+			$_SESSION['LanguageComponent'][$this->languageParameterName] = $lang;
91
+		} else {
92
+			$lang = $this->defaultLanguage;
93
+		}
94
+
95
+		$this->sessionValues = $_SESSION['LanguageComponent'];
96
+
97
+		if ($this->forceRedirect === true) {
98
+			if (substr($request::$relativeUri, 0, 2) !== $lang && $lang !== $this->defaultLanguage) { // if default language detected, no redirect
99
+				header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
100
+				exit;
101
+			}
102
+		}
103
+	}
104
+
105
+	/**
106
+	 * Detect if the language is switched manually
107
+	 *
108
+	 * @param $request
109
+	 */
110
+	private function checkLanguageSwitch($request)
111
+	{
112
+		if (isset($request::$get['langSwitch'])) {
113
+			$this->forceRedirect = true;
114
+			$this->detectLanguage($request::$get['langSwitch'], $request);
115
+		}
116
+	}
117
+
118
+	/*
119 119
      * These functions are required by the interface, but not for the functionality
120 120
      */
121
-    function run(Storage $storage) {}
122
-    function render() {}
123
-    function get() {}
121
+	function run(Storage $storage) {}
122
+	function render() {}
123
+	function get() {}
124 124
 }
125 125
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -96,7 +96,7 @@
 block discarded – undo
96 96
 
97 97
         if ($this->forceRedirect === true) {
98 98
             if (substr($request::$relativeUri, 0, 2) !== $lang && $lang !== $this->defaultLanguage) { // if default language detected, no redirect
99
-                header('Location: ' . $request::$subfolders . $lang . '/' . $request::$relativeUri);
99
+                header('Location: '.$request::$subfolders.$lang.'/'.$request::$relativeUri);
100 100
                 exit;
101 101
             }
102 102
         }
Please login to merge, or discard this patch.