fixed: Config::Text() returned a reference to a local variable (std::string)

added: 'static' directory with *.css and images
       we have a default layout
moved: locale from data to templates       
       notification templates have its own locale object
added: reload function reloades locale now too
added: 'nice' form of item_info in templates



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@582 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-02-15 00:31:14 +00:00
parent c58031cbf4
commit fa8d8f9ea0
38 changed files with 678 additions and 574 deletions

View File

@@ -16,14 +16,34 @@
namespace TemplatesMisc
{
void print_date_nice(Ezc::Info & i, tm * ptm)
{
time_t t = mktime(ptm);
time_t now = time(0);
time_t one_day = 60 * 60 * 24;
if( t + one_day > now )
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
else
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday);
}
// those functions from here are used in the second thread too
void Read(Patterns & patterns, size_t pat, LocaleFilter & locale_filter, const std::string & dir, const char * file, bool delete_white)
void Read(Patterns & patterns, size_t pat, Locale & locale, LocaleFilter & locale_filter, const char * file, bool delete_white)
{
size_t i;
size_t len = patterns.size();
Locale::Lang old_lang = data.locale.GetLang();
Locale::Lang old_lang = locale.GetLang();
for(i=0 ; i<len ; ++i)
@@ -31,38 +51,27 @@ void Read(Patterns & patterns, size_t pat, LocaleFilter & locale_filter, const s
if( pat < patterns[i].size() )
{
patterns[i][pat].delete_all_white = delete_white;
patterns[i][pat].Directory(dir);
patterns[i][pat].Directory(data.templates_dir, data.templates_dir_default);
patterns[i][pat].ParseFile(file);
Locale::Lang new_lang = static_cast<Locale::Lang>(i);
data.locale.SetLang(new_lang);
locale.SetLang(new_lang);
locale_filter.Filter(patterns[i][pat], data.locale);
log << "Read pattern: " << dir << "/" << file << " for lang: " << data.locale.LangToStr(new_lang) << logend;
locale_filter.Filter(patterns[i][pat], locale);
}
}
data.locale.SetLang(old_lang);
}
locale.SetLang(old_lang);
void Read(Patterns & patterns, size_t pat, LocaleFilter & locale_filter, const char * file, bool delete_white)
{
std::string temp = data.templates_dir;
temp += '/';
temp += file;
if( IsFile(temp) )
{
Read(patterns, pat, locale_filter, data.templates_dir, file, delete_white);
}
else
{
Read(patterns, pat, locale_filter, data.templates_dir_default, file, delete_white);
}
}