|
ZenCart_Documentation
1.5.0
http://www.collinsharper.com
|
00001 <?php 00009 if (!defined('IS_ADMIN_FLAG')) { 00010 die('Illegal Access'); 00011 } 00018 class language { 00019 var $languages, $catalog_languages, $browser_languages, $language; 00020 00021 function language($lng = '') { 00022 global $db; 00023 00024 $this->catalog_languages = array(); 00025 $languages_query = "select languages_id, name, code, image, directory 00026 from " . TABLE_LANGUAGES . " 00027 order by sort_order"; 00028 00029 $languages = $db->Execute($languages_query); 00030 00031 while (!$languages->EOF) { 00032 $this->catalog_languages[$languages->fields['code']] = array('id' => $languages->fields['languages_id'], 00033 'name' => $languages->fields['name'], 00034 'image' => $languages->fields['image'], 00035 'code' => $languages->fields['code'], 00036 'directory' => $languages->fields['directory']); 00037 $languages->MoveNext(); 00038 } 00039 $this->browser_languages = ''; 00040 $this->language = ''; 00041 00042 $this->set_language($lng); 00043 } 00044 00045 function set_language($language) { 00046 if ( (zen_not_null($language)) && (isset($this->catalog_languages[$language])) ) { 00047 $this->language = $this->catalog_languages[$language]; 00048 } else { 00049 $this->language = $this->catalog_languages[DEFAULT_LANGUAGE]; 00050 } 00051 } 00052 00053 function get_browser_language() { 00054 if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { 00055 $this->browser_languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); 00056 for ($i=0, $n=sizeof($this->browser_languages); $i<$n; $i++) { 00057 $lang = explode(';', $this->browser_languages[$i]); 00058 if (strlen($lang[0]) == 2) { 00059 $code = $lang[0]; 00060 } elseif (strpos($lang[0], '-') == 2 || strpos($lang[0], '_') == 2) { 00061 $code = substr($lang[0], 0, 2); 00062 } else { 00063 continue; 00064 } 00065 if (isset($this->catalog_languages[$code])) { 00066 $this->language = $this->catalog_languages[$code]; 00067 break; 00068 } 00069 } 00070 } 00071 } 00072 }