Changeset 1082 in ExiteCMS for trunk/includes/locale_functions.php


Ignore:
Timestamp:
11/07/07 18:09:49 (5 years ago)
Author:
root
Message:

Added characterset and system locale information to the locales table
removed hardcoded dateformat and datesequence (locale info needs to be used)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/locale_functions.php

    r1081 r1082  
    5858if (!defined('LOCALESET')) define("LOCALESET", $settings['locale']."/"); 
    5959 
    60 // define the website server locale (if not defined) 
    61 if (!isset($settings['unix_locale'])) $settings['unix_locale'] = "en_US"; 
    62  
    63 // set system locales 
    64 setlocale(LC_TIME, $settings['unix_locale']); // *nix Server (TODO: Windows may differ) 
    65  
    66 // define the website characterset (if not defined) 
    67 if (!isset($settings['charset'])) $settings['charset'] = "iso-8859-1"; 
    68  
    6960// define the website location (country) (if not defined) 
    7061if (!isset($settings['country'])) $settings['country'] = "??"; 
    7162 
    72 // get the locale code, we need this in several places 
     63// get locales information, we need this in several places 
    7364if (dbtable_exists($db_prefix."locale")) { 
    74     $result = dbquery("SELECT locale_code FROM ".$db_prefix."locale WHERE locale_name = '".$settings['locale']."'"); 
    75     if ($dbrows($result)) { 
     65    $result = dbquery("SELECT * FROM ".$db_prefix."locale WHERE locale_name = '".$settings['locale']."'"); 
     66    if (dbrows($result)) { 
    7667        $data = dbarray($result); 
    7768        $settings['locale_code'] = $data['locale_code']; 
     69        $settings['charset'] = $data['locale_charset']; 
     70        $settings['locales'] = $data['locale_locale']; 
    7871    } 
    7972} 
     73// if we couldn't find it, use some default values 
    8074if (!isset($settings['locale_code'])) $settings['locale_code'] = "en"; 
     75if (!isset($settings['charset'])) $settings['charset'] = "iso-8859-1"; 
     76if (!isset($settings['locales'])) $settings['locales'] = "en_US|en_GB|english|eng"; 
    8177 
    82 // Date info (TODO: need to find a better solution for this) 
    83 if (!isset($settings['dateformat'])) $settings['dateformat'] = "mm-dd-yyyy"; 
    84 if (!isset($settings['datesequence'])) $settings['datesequence'] = array("M", "D", "Y"); 
     78// set the locale for strfime() 
     79setlocale(LC_TIME, explode("|", $settings['locales'])); 
    8580 
    8681// Initialise the $locale array 
Note: See TracChangeset for help on using the changeset viewer.