ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilHttpRequestsLanguageDetector Class Reference

Class ilHttpRequestsLanguageDetector. More...

+ Inheritance diagram for ilHttpRequestsLanguageDetector:
+ Collaboration diagram for ilHttpRequestsLanguageDetector:

Public Member Functions

 __construct ($header_value)
 
 getIso2LanguageCode ()
 Returns the detected ISO2 language code. More...
 
 getIso2LanguageCode ()
 Returns the detected ISO2 language code. More...
 

Protected Attributes

 $header_value
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilHttpRequestsLanguageDetector::__construct (   $header_value)
Parameters
array$header_value

Definition at line 21 of file class.ilHttpRequestsLanguageDetector.php.

References $header_value.

Member Function Documentation

◆ getIso2LanguageCode()

ilHttpRequestsLanguageDetector::getIso2LanguageCode ( )

Returns the detected ISO2 language code.

Exceptions
ilLanguageException
Returns
string

Implements ilLanguageDetector.

Definition at line 31 of file class.ilHttpRequestsLanguageDetector.php.

32 {
33 if (strlen($this->header_value)) {
34 $matches = array();
35 // Format: de,de-DE;q=0.8,en-US;q=0.6,en;q=0.4
36 preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $this->header_value, $matches);
37 if (count($matches[1])) {
38 $langs = array_combine($matches[1], $matches[4]);
39 foreach ($langs as $lang => $val) {
40 if ($val === '') {
41 $langs[$lang] = 1;
42 }
43 }
44
45 arsort($langs, SORT_NUMERIC);
46
47 $keys = array_keys($langs);
48 if (isset($keys[0])) {
49 return substr($keys[0], 0, 2);
50 }
51 }
52 }
53
54 require_once 'Services/Language/exceptions/class.ilLanguageException.php';
55 throw new ilLanguageException('Could not extract any language information from request.');
56 }
Class for language related exception handling in ILIAS.
$lang
Definition: consent.php:3
$keys

References $keys, and $lang.

Field Documentation

◆ $header_value

ilHttpRequestsLanguageDetector::$header_value
protected

Definition at line 16 of file class.ilHttpRequestsLanguageDetector.php.

Referenced by __construct().


The documentation for this class was generated from the following file: