added: winix functions: locale, timezone
changed: time zones -- now we have the daylight saving time
different for each year (start, end)
added: config option: time_zone_id (size_t)
time zone identifier for not logged users
or for newly created accounts
those identifiers you can see in etc/time_zones.conf file
or by using timezone winix function with 'a' parameter (timezone/a) (!!IMPROVE ME NOT IMPLEMENTED YET)
default: 34 (Coordinated Universal Time UTC+00:00)
added: config option: locale_default_id (size_t)
locale for not logged users
or for newly created accounts
added: config option: locale_max_id (size_t)
a maximum value of a locale identifier
default: 100 (maximum: 1000)
each locale files should have its own identifier (in "winix_locale_id" field)
from zero to this value
added: config option: time_zone_max_id (size_t)
maximum value of a time zone identifier
time zones with an id greater than this will be skipped
default: 130 (maximum: 1000)
removed: config option: locale_default
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@852 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2011, Tomasz Sowa
|
||||
* Copyright (c) 2011-2012, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
@@ -115,12 +115,17 @@ void Patterns::ReadPatterns(Template & templ)
|
||||
|
||||
|
||||
|
||||
Ezc::Pattern * Patterns::Get(size_t index, size_t lang)
|
||||
Ezc::Pattern * Patterns::Get(size_t index, size_t lang_id)
|
||||
{
|
||||
if( index >= pat_tab.size() || pat_tab[index].references == 0 || lang >= pat_tab[index].patterns.size() )
|
||||
if( index >= pat_tab.size() || pat_tab[index].references == 0 )
|
||||
return 0;
|
||||
|
||||
return &pat_tab[index].patterns[lang];
|
||||
size_t lang_index = locale->IdToIndex(lang_id);
|
||||
|
||||
if( lang_index >= pat_tab[index].patterns.size() )
|
||||
return 0;
|
||||
|
||||
return &pat_tab[index].patterns[lang_index];
|
||||
}
|
||||
|
||||
|
||||
@@ -149,7 +154,7 @@ void Patterns::Clear()
|
||||
|
||||
void Patterns::Erase(size_t index)
|
||||
{
|
||||
if( index < pat_tab.size() )
|
||||
if( index < pat_tab.size() && pat_tab[index].references > 0 )
|
||||
{
|
||||
pat_tab[index].references -= 1;
|
||||
|
||||
@@ -160,7 +165,7 @@ void Patterns::Erase(size_t index)
|
||||
pat_tab[index].file_name.clear();
|
||||
pat_tab[index].patterns.clear();
|
||||
// don't erase pat_tab.erase() here
|
||||
// because indexes would be invalidated
|
||||
// because indices would be invalidated
|
||||
// those gaps will be cleared when Clear() method is called
|
||||
// normally in reload/templates winix function
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user