/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2010, Tomasz Sowa * All rights reserved. * */ #include "../core/data.h" #include "../core/misc.h" #include "misc.h" namespace TemplatesMisc { // 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) { size_t i; size_t len = patterns.size(); Locale::Lang old_lang = data.locale.GetLang(); for(i=0 ; i(i); data.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; } } data.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); } } void ClearPatterns(Patterns & patterns, size_t len) { size_t loc, pat; patterns.resize(Locale::lang_unknown); for(loc=0 ; loc < static_cast(Locale::lang_unknown) ; ++loc) { patterns[loc].resize(len); for(pat=0 ; pat