[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 language.php

Zen Cart 源代码 language.php




下载文件

文件名: language.php
文件类型: PHP文件
文件大小: 2.34 KiB
MD5: d26141f3e01013134ca9b22dd5d6b4bb

language.php - 关闭高亮
  1. <?php
  2. /**
  3.  * language Class.
  4.  *
  5.  * @package classes
  6.  * @copyright Copyright 2003-2009 Zen Cart Development Team
  7.  * @copyright Portions Copyright 2003 osCommerce
  8.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  9.  * @version $Id: language.php 14141 2009-08-10 19:34:47Z wilt $
  10.  */
  11. if (!defined('IS_ADMIN_FLAG')) {
  12.   die('Illegal Access');
  13. }
  14. /**
  15.  * language Class.
  16.  * Class to handle language settings for customer viewing
  17.  *
  18.  * @package classes
  19.  */
  20. class language extends base {
  21.   var $languages, $catalog_languages, $browser_languages, $language;
  22.  
  23.   function language($lng = '') {
  24.     global $db;
  25.  
  26.     $this->catalog_languages = array();
  27.     $languages_query = "select languages_id, name, code, image, directory
  28.                          from " . TABLE_LANGUAGES . "
  29.                          order by sort_order";
  30.  
  31.     $languages = $db->Execute($languages_query);
  32.  
  33.     while (!$languages->EOF) {
  34.       $this->catalog_languages[$languages->fields['code']] = array('id' => $languages->fields['languages_id'],
  35.       'name' => $languages->fields['name'],
  36.       'image' => $languages->fields['image'],
  37.       'code' => $languages->fields['code'],
  38.       'directory' => $languages->fields['directory']);
  39.       $languages->MoveNext();
  40.     }
  41.     $this->browser_languages = '';
  42.     $this->language = '';
  43.  
  44.     $this->set_language($lng);
  45.   }
  46.  
  47.   function set_language($language) {
  48.     if ( (zen_not_null($language)) && (isset($this->catalog_languages[$language])) ) {
  49.       $this->language = $this->catalog_languages[$language];
  50.     } else {
  51.       $this->language = $this->catalog_languages[DEFAULT_LANGUAGE];
  52.     }
  53.   }
  54.  
  55.   function get_browser_language() {
  56.     if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
  57.       $this->browser_languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
  58.       for ($i=0, $n=sizeof($this->browser_languages); $i<$n; $i++) {
  59.         $lang = explode(';', $this->browser_languages[$i]);
  60.         if (strlen($lang[0]) == 2) {
  61.           $code = $lang[0];
  62.         } elseif (strpos($lang[0], '-') == 2 || strpos($lang[0], '_') == 2) {
  63.           $code = substr($lang[0], 0, 2);
  64.         } else {
  65.           continue;
  66.         }
  67.         if (isset($this->catalog_languages[$code])) {
  68.           $this->language = $this->catalog_languages[$code];
  69.           break;
  70.         }
  71.       }
  72.     }
  73.   }
  74. }
  75.