ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilLanguageDetection.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2015 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/Language/classes/class.ilLanguage.php';
5 require_once 'Services/Language/classes/class.ilLanguageDetectorFactory.php';
6 
13 {
17  protected $factory;
18 
22  public function __construct()
23  {
24  $this->factory = new ilLanguageDetectorFactory();
25  }
26 
30  public function detect()
31  {
32  global $DIC;
33  $ilLog = $DIC->logger()->root();
34 
35  $installed_languages = ilLanguage::_getInstalledLanguages();
36  $detected_language = $installed_languages[0];
37 
38  foreach ($this->factory->getValidInstances() as $detector) {
39  try {
40  $language = $detector->getIso2LanguageCode();
41  if (in_array($language, $installed_languages)) {
42  $detected_language = $language;
43  }
44  } catch (ilLanguageException $e) {
45  $ilLog->info(__METHOD__ . ' ' . $e->getMessage());
46  }
47  }
48 
49  return $detected_language;
50  }
51 }
global $DIC
Definition: saml.php:7
Class ilLanguageDetectorFactory.
Class for language related exception handling in ILIAS.
Class ilLanguageDetection.
static _getInstalledLanguages()