ZenCart_Documentation  1.5.0
http://www.collinsharper.com
C:/xampp/htdocs/zen-cart/admin/includes/classes/language.php
Go to the documentation of this file.
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   }
 All Data Structures Namespaces Files Functions Variables Enumerations