language.php (1014B)
1 <?php 2 class ControllerStartupLanguage extends Controller { 3 public function index() { 4 // Default language code 5 $code = $this->config->get('language_default'); 6 7 $languages = glob(DIR_LANGUAGE . '*', GLOB_ONLYDIR); 8 9 foreach ($languages as $language) { 10 $languages[] = basename($language); 11 } 12 13 if (isset($this->request->server['HTTP_ACCEPT_LANGUAGE'])) { 14 $browser_languages = explode(',', $this->request->server['HTTP_ACCEPT_LANGUAGE']); 15 16 foreach ($browser_languages as $browser_language) { 17 if (in_array($browser_language, $languages)) { 18 $code = $browser_language; 19 break; 20 } 21 } 22 } 23 24 if (!isset($this->session->data['language']) || !is_dir(DIR_LANGUAGE . basename($this->session->data['language']))) { 25 $this->session->data['language'] = $code; 26 } 27 28 // Language 29 $language = new Language($this->session->data['language']); 30 $language->load($this->session->data['language']); 31 $this->registry->set('language', $language); 32 } 33 }