the first part of reimplementing has been done

now we have app object and singletons are only: log logn plugin and app



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@628 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-08-10 16:12:50 +00:00
parent 6897192364
commit 217cf1420b
191 changed files with 9529 additions and 7250 deletions

View File

@@ -8,12 +8,10 @@
*/
#include "templates.h"
#include "../core/data.h"
#include "../core/request.h"
#include "../core/misc.h"
#include "../core/plugin.h"
#include "core/misc.h"
#include "core/plugin.h"
#include "localefilter.h"
#include "functions/functions.h"
@@ -22,7 +20,7 @@ namespace TemplatesFunctions
IndexPatterns index_patterns;
Patterns patterns;
Ezc::Functions functions;
Ezc::Functions ezc_functions;
PatternCacher pattern_cacher;
Locale locale;
LocaleFilter locale_filter;
@@ -32,7 +30,12 @@ CKEditorGetParser ckeditor_getparser;
std::vector<std::string> empty_pars;
const std::string empty_string;
Config * config;
Request * request;
Db * db;
System * system;
Functions * functions;
SessionManager * session_manager;
@@ -40,48 +43,48 @@ Ezc::Pattern * content_for_function()
{
Ezc::Pattern * p = 0;
if( !request.pfunction )
if( !request->pfunction )
{
log << log1 << "Templates: no function" << logend;
return p;
}
static PatName pat_name_tab[] = {
{FUN_CAT, pat_fun_cat},
{FUN_LS, pat_fun_ls},
{FUN_RM, pat_fun_rm},
{FUN_EMACS, pat_fun_emacs},
{FUN_MKDIR, pat_fun_mkdir},
{FUN_DEFAULT, pat_fun_default},
{FUN_PRIV, pat_fun_priv},
{FUN_CHMOD, pat_fun_priv},
{FUN_CHOWN, pat_fun_priv},
{FUN_RUN, pat_fun_run},
{FUN_WHO, pat_fun_who},
{FUN_LAST, pat_fun_last},
{FUN_THREAD, pat_fun_thread},
{FUN_RELOAD, pat_fun_reload},
{FUN_CREATETHREAD, pat_fun_createthread},
{FUN_TICKET, pat_fun_ticket},
{FUN_CREATETICKET, pat_fun_createticket},
{FUN_EDITTICKET, pat_fun_createticket},
{FUN_UPLOAD, pat_fun_upload},
{FUN_UPTIME, pat_fun_uptime},
{FUN_LOGIN, pat_fun_login},
{FUN_MV, pat_fun_mv},
{FUN_UNAME, pat_fun_uname},
{FUN_CKEDITOR, pat_fun_ckeditor},
{FUN_SUBJECT, pat_fun_subject},
{FUN_ADDUSER, pat_fun_adduser},
{FUN_CP, pat_fun_cp},
{FUN_TINYMCE, pat_fun_tinymce},
{"cat", pat_fun_cat},
{"ls", pat_fun_ls},
{"rm", pat_fun_rm},
{"emacs", pat_fun_emacs},
{"mkdir", pat_fun_mkdir},
{"default", pat_fun_default},
{"priv", pat_fun_priv},
{"chmod", pat_fun_priv},
{"chown", pat_fun_priv},
{"run", pat_fun_run},
{"who", pat_fun_who},
{"last", pat_fun_last},
{"thread", pat_fun_thread},
{"reload", pat_fun_reload},
{"createthread",pat_fun_createthread},
{"ticket", pat_fun_ticket},
{"createticket",pat_fun_createticket},
{"editticket", pat_fun_createticket},
{"upload", pat_fun_upload},
{"uptime", pat_fun_uptime},
{"login", pat_fun_login},
{"mv", pat_fun_mv},
{"uname", pat_fun_uname},
{"ckeditor", pat_fun_ckeditor},
{"subject", pat_fun_subject},
{"adduser", pat_fun_adduser},
{"cp", pat_fun_cp},
{"tinymce", pat_fun_tinymce},
};
size_t i, len = sizeof(pat_name_tab)/sizeof(PatName);
for(i=0 ; i<len ; ++i)
{
if( pat_name_tab[i].fun_code == request.pfunction->code )
if( strcmp(pat_name_tab[i].fun_name, request->pfunction->fun.url.c_str()) == 0 )
{
// !! locale.GetLang() bedzie brane indywidualnie dla kazdego uzytkownika
p = &patterns[locale.GetLang()][pat_name_tab[i].pat];
@@ -105,7 +108,7 @@ Ezc::Pattern * p = 0;
}
switch( request.status )
switch( request->status )
{
//case WINIX_ERR_NO_ITEM: !! we need something like 'error::item_required'
//p = &pat_err_item_required;
@@ -142,7 +145,7 @@ Ezc::Pattern * p = 0;
if( p )
{
Ezc::Generator gen(i.out, *p, functions);
Ezc::Generator gen(i.out, *p, ezc_functions);
gen.Generate();
}
else
@@ -164,322 +167,322 @@ void Templates::CreateFunctions()
{
using namespace TemplatesFunctions;
functions.Clear();
ezc_functions.Clear();
/*
sys
*/
functions.Insert("sys_ver_major", sys_ver_major);
functions.Insert("sys_ver_minor", sys_ver_minor);
functions.Insert("sys_ver_revision", sys_ver_revision);
ezc_functions.Insert("sys_ver_major", sys_ver_major);
ezc_functions.Insert("sys_ver_minor", sys_ver_minor);
ezc_functions.Insert("sys_ver_revision", sys_ver_revision);
/*
adduser
*/
functions.Insert("adduser_last_login", adduser_last_login);
functions.Insert("adduser_last_email", adduser_last_email);
ezc_functions.Insert("adduser_last_login", adduser_last_login);
ezc_functions.Insert("adduser_last_email", adduser_last_email);
/*
doc
*/
functions.Insert("doc_title", doc_title);
functions.Insert("doc_base_url", doc_base_url);
functions.Insert("doc_base_url_auth", doc_base_url_auth);
functions.Insert("doc_base_url_static", doc_base_url_static);
functions.Insert("doc_base_url_common", doc_base_url_common);
functions.Insert("doc_current_url", doc_current_url);
ezc_functions.Insert("doc_title", doc_title);
ezc_functions.Insert("doc_base_url", doc_base_url);
ezc_functions.Insert("doc_base_url_auth", doc_base_url_auth);
ezc_functions.Insert("doc_base_url_static", doc_base_url_static);
ezc_functions.Insert("doc_base_url_common", doc_base_url_common);
ezc_functions.Insert("doc_current_url", doc_current_url);
/*
item
*/
functions.Insert("item_is", item_is);
functions.Insert("item_id", item_id);
functions.Insert("item_subject", item_subject);
functions.Insert("item_subject_noescape", item_subject_noescape);
functions.Insert("item_content_is_empty", item_content_is_empty);
functions.Insert("item_content", item_content);
functions.Insert("item_content_noescape", item_content_noescape);
functions.Insert("item_content_type_is", item_content_type_is);
functions.Insert("item_print_content", item_print_content);
functions.Insert("item_privileges", item_privileges);
functions.Insert("item_dir", item_dir);
functions.Insert("item_url", item_url);
functions.Insert("item_url_is", item_url_is);
functions.Insert("item_link", item_link);
functions.Insert("item_auth_is_none", item_auth_is_none);
functions.Insert("item_auth_is_image", item_auth_is_image);
ezc_functions.Insert("item_is", item_is);
ezc_functions.Insert("item_id", item_id);
ezc_functions.Insert("item_subject", item_subject);
ezc_functions.Insert("item_subject_noescape", item_subject_noescape);
ezc_functions.Insert("item_content_is_empty", item_content_is_empty);
ezc_functions.Insert("item_content", item_content);
ezc_functions.Insert("item_content_noescape", item_content_noescape);
ezc_functions.Insert("item_content_type_is", item_content_type_is);
ezc_functions.Insert("item_print_content", item_print_content);
ezc_functions.Insert("item_privileges", item_privileges);
ezc_functions.Insert("item_dir", item_dir);
ezc_functions.Insert("item_url", item_url);
ezc_functions.Insert("item_url_is", item_url_is);
ezc_functions.Insert("item_link", item_link);
ezc_functions.Insert("item_auth_is_none", item_auth_is_none);
ezc_functions.Insert("item_auth_is_image", item_auth_is_image);
functions.Insert("item_can_read", item_can_read);
functions.Insert("item_can_write", item_can_write);
functions.Insert("item_can_remove", item_can_remove);
functions.Insert("item_info", item_info);
functions.Insert("item_user", item_user);
functions.Insert("item_modification_user", item_modification_user);
functions.Insert("item_users_different", item_users_different);
functions.Insert("item_date_creation", item_date_creation);
functions.Insert("item_date_modification", item_date_modification);
functions.Insert("item_date_creation_nice", item_date_creation_nice);
functions.Insert("item_date_modification_nice",item_date_modification_nice);
functions.Insert("item_dates_equal", item_dates_equal);
functions.Insert("item_run", item_run);
functions.Insert("item_guest_name", item_guest_name);
ezc_functions.Insert("item_can_read", item_can_read);
ezc_functions.Insert("item_can_write", item_can_write);
ezc_functions.Insert("item_can_remove", item_can_remove);
ezc_functions.Insert("item_info", item_info);
ezc_functions.Insert("item_user", item_user);
ezc_functions.Insert("item_modification_user", item_modification_user);
ezc_functions.Insert("item_users_different", item_users_different);
ezc_functions.Insert("item_date_creation", item_date_creation);
ezc_functions.Insert("item_date_modification", item_date_modification);
ezc_functions.Insert("item_date_creation_nice", item_date_creation_nice);
ezc_functions.Insert("item_date_modification_nice",item_date_modification_nice);
ezc_functions.Insert("item_dates_equal", item_dates_equal);
ezc_functions.Insert("item_run", item_run);
ezc_functions.Insert("item_guest_name", item_guest_name);
functions.Insert("item_tab", item_tab);
functions.Insert("item_tab_id", item_tab_id);
functions.Insert("item_tab_subject", item_tab_subject);
functions.Insert("item_tab_subject_noescape", item_tab_subject_noescape);
functions.Insert("item_tab_content", item_tab_content);
functions.Insert("item_tab_content_noescape", item_tab_content_noescape);
functions.Insert("item_tab_print_content", item_tab_print_content);
functions.Insert("item_tab_privileges", item_tab_privileges);
functions.Insert("item_tab_dir", item_tab_dir);
functions.Insert("item_tab_url", item_tab_url);
functions.Insert("item_tab_link", item_tab_link);
functions.Insert("item_tab_link_auth", item_tab_link_auth);
functions.Insert("item_tab_can_read", item_tab_can_read);
functions.Insert("item_tab_can_write", item_tab_can_write);
functions.Insert("item_tab_info", item_tab_info);
functions.Insert("item_tab_user", item_tab_user);
functions.Insert("item_tab_modification_user", item_tab_modification_user);
functions.Insert("item_tab_users_different", item_tab_users_different);
functions.Insert("item_tab_group", item_tab_group);
functions.Insert("item_tab_date_creation", item_tab_date_creation);
functions.Insert("item_tab_date_modification", item_tab_date_modification);
functions.Insert("item_tab_date_creation_nice", item_tab_date_creation_nice);
functions.Insert("item_tab_date_modification_nice", item_tab_date_modification_nice);
functions.Insert("item_tab_dates_equal", item_tab_dates_equal);
functions.Insert("item_tab_run", item_tab_run);
functions.Insert("item_tab_can_use_emacs", item_tab_can_use_emacs);
ezc_functions.Insert("item_tab", item_tab);
ezc_functions.Insert("item_tab_id", item_tab_id);
ezc_functions.Insert("item_tab_subject", item_tab_subject);
ezc_functions.Insert("item_tab_subject_noescape", item_tab_subject_noescape);
ezc_functions.Insert("item_tab_content", item_tab_content);
ezc_functions.Insert("item_tab_content_noescape", item_tab_content_noescape);
ezc_functions.Insert("item_tab_print_content", item_tab_print_content);
ezc_functions.Insert("item_tab_privileges", item_tab_privileges);
ezc_functions.Insert("item_tab_dir", item_tab_dir);
ezc_functions.Insert("item_tab_url", item_tab_url);
ezc_functions.Insert("item_tab_link", item_tab_link);
ezc_functions.Insert("item_tab_link_auth", item_tab_link_auth);
ezc_functions.Insert("item_tab_can_read", item_tab_can_read);
ezc_functions.Insert("item_tab_can_write", item_tab_can_write);
ezc_functions.Insert("item_tab_info", item_tab_info);
ezc_functions.Insert("item_tab_user", item_tab_user);
ezc_functions.Insert("item_tab_modification_user", item_tab_modification_user);
ezc_functions.Insert("item_tab_users_different", item_tab_users_different);
ezc_functions.Insert("item_tab_group", item_tab_group);
ezc_functions.Insert("item_tab_date_creation", item_tab_date_creation);
ezc_functions.Insert("item_tab_date_modification", item_tab_date_modification);
ezc_functions.Insert("item_tab_date_creation_nice", item_tab_date_creation_nice);
ezc_functions.Insert("item_tab_date_modification_nice", item_tab_date_modification_nice);
ezc_functions.Insert("item_tab_dates_equal", item_tab_dates_equal);
ezc_functions.Insert("item_tab_run", item_tab_run);
ezc_functions.Insert("item_tab_can_use_emacs", item_tab_can_use_emacs);
/*
dir
*/
functions.Insert("dir", dir);
functions.Insert("dir_without_slash", dir_without_slash);
functions.Insert("dir_parent", dir_parent);
functions.Insert("dir_parent_without_slash", dir_parent_without_slash);
functions.Insert("dir_can_read_exec", dir_can_read_exec);
functions.Insert("dir_can_write", dir_can_write);
functions.Insert("dir_can_remove", dir_can_remove);
functions.Insert("dir_can_use_emacs", dir_can_use_emacs);
functions.Insert("dir_can_use_mkdir", dir_can_use_mkdir);
ezc_functions.Insert("dir", dir);
ezc_functions.Insert("dir_without_slash", dir_without_slash);
ezc_functions.Insert("dir_parent", dir_parent);
ezc_functions.Insert("dir_parent_without_slash", dir_parent_without_slash);
ezc_functions.Insert("dir_can_read_exec", dir_can_read_exec);
ezc_functions.Insert("dir_can_write", dir_can_write);
ezc_functions.Insert("dir_can_remove", dir_can_remove);
ezc_functions.Insert("dir_can_use_emacs", dir_can_use_emacs);
ezc_functions.Insert("dir_can_use_mkdir", dir_can_use_mkdir);
functions.Insert("dir_childs_tab", dir_childs_tab);
functions.Insert("dir_childs_is_parent", dir_childs_is_parent);
functions.Insert("dir_childs_tab_url", dir_childs_tab_url);
functions.Insert("dir_childs_tab_privileges", dir_childs_tab_privileges);
functions.Insert("dir_childs_tab_user", dir_childs_tab_user);
functions.Insert("dir_childs_tab_group", dir_childs_tab_group);
ezc_functions.Insert("dir_childs_tab", dir_childs_tab);
ezc_functions.Insert("dir_childs_is_parent", dir_childs_is_parent);
ezc_functions.Insert("dir_childs_tab_url", dir_childs_tab_url);
ezc_functions.Insert("dir_childs_tab_privileges", dir_childs_tab_privileges);
ezc_functions.Insert("dir_childs_tab_user", dir_childs_tab_user);
ezc_functions.Insert("dir_childs_tab_group", dir_childs_tab_group);
functions.Insert("dir_tab", dir_tab);
functions.Insert("dir_tab_url", dir_tab_url);
functions.Insert("dir_tab_link", dir_tab_link);
ezc_functions.Insert("dir_tab", dir_tab);
ezc_functions.Insert("dir_tab_url", dir_tab_url);
ezc_functions.Insert("dir_tab_link", dir_tab_link);
functions.Insert("dir_last_default_item_dir", dir_last_default_item_dir);
functions.Insert("dir_last_default_item_url", dir_last_default_item_url);
functions.Insert("dir_last_subject", dir_last_subject);
functions.Insert("dir_last_info", dir_last_info);
functions.Insert("dir_last_user", dir_last_user);
functions.Insert("dir_last_url", dir_last_url);
functions.Insert("dir_last_url_is", dir_last_url_is);
functions.Insert("dir_last_date_creation", dir_last_date_creation);
functions.Insert("dir_last_date_modification", dir_last_date_modification);
functions.Insert("dir_last_dates_equal", dir_last_dates_equal);
ezc_functions.Insert("dir_last_default_item_dir", dir_last_default_item_dir);
ezc_functions.Insert("dir_last_default_item_url", dir_last_default_item_url);
ezc_functions.Insert("dir_last_subject", dir_last_subject);
ezc_functions.Insert("dir_last_info", dir_last_info);
ezc_functions.Insert("dir_last_user", dir_last_user);
ezc_functions.Insert("dir_last_url", dir_last_url);
ezc_functions.Insert("dir_last_url_is", dir_last_url_is);
ezc_functions.Insert("dir_last_date_creation", dir_last_date_creation);
ezc_functions.Insert("dir_last_date_modification", dir_last_date_modification);
ezc_functions.Insert("dir_last_dates_equal", dir_last_dates_equal);
/*
user
*/
functions.Insert("ls_ckeditor_funnum_browse", ls_ckeditor_funnum_browse);
ezc_functions.Insert("ls_ckeditor_funnum_browse", ls_ckeditor_funnum_browse);
/*
user
*/
functions.Insert("user_name", user_name);
functions.Insert("user_logged", user_logged);
functions.Insert("user_super_user", user_super_user);
functions.Insert("user_can_use_html", user_can_use_html);
functions.Insert("user_can_use_bbcode", user_can_use_bbcode);
functions.Insert("user_can_use_raw", user_can_use_raw);
ezc_functions.Insert("user_name", user_name);
ezc_functions.Insert("user_logged", user_logged);
ezc_functions.Insert("user_super_user", user_super_user);
ezc_functions.Insert("user_can_use_html", user_can_use_html);
ezc_functions.Insert("user_can_use_bbcode", user_can_use_bbcode);
ezc_functions.Insert("user_can_use_raw", user_can_use_raw);
/*
privileges
*/
functions.Insert("priv_user_tab", priv_user_tab);
functions.Insert("priv_user_tab_name", priv_user_tab_name);
functions.Insert("priv_user_tab_isdefault", priv_user_tab_isdefault);
ezc_functions.Insert("priv_user_tab", priv_user_tab);
ezc_functions.Insert("priv_user_tab_name", priv_user_tab_name);
ezc_functions.Insert("priv_user_tab_isdefault", priv_user_tab_isdefault);
functions.Insert("priv_group_tab", priv_group_tab);
functions.Insert("priv_group_tab_name", priv_group_tab_name);
functions.Insert("priv_group_tab_isdefault", priv_group_tab_isdefault);
ezc_functions.Insert("priv_group_tab", priv_group_tab);
ezc_functions.Insert("priv_group_tab_name", priv_group_tab_name);
ezc_functions.Insert("priv_group_tab_isdefault", priv_group_tab_isdefault);
functions.Insert("priv_privileges", priv_privileges);
functions.Insert("priv_privileges_for_files", priv_privileges_for_files);
functions.Insert("priv_privileges_for_dirs", priv_privileges_for_dirs);
functions.Insert("priv_show_form_chown", priv_show_form_chown);
functions.Insert("priv_show_form_chmod", priv_show_form_chmod);
ezc_functions.Insert("priv_privileges", priv_privileges);
ezc_functions.Insert("priv_privileges_for_files", priv_privileges_for_files);
ezc_functions.Insert("priv_privileges_for_dirs", priv_privileges_for_dirs);
ezc_functions.Insert("priv_show_form_chown", priv_show_form_chown);
ezc_functions.Insert("priv_show_form_chmod", priv_show_form_chmod);
/*
others
*/
functions.Insert("content", content);
ezc_functions.Insert("content", content);
/*
who
*/
functions.Insert("who_tab", who_tab);
functions.Insert("who_tab_lp", who_tab_lp);
functions.Insert("who_tab_user", who_tab_user);
functions.Insert("who_tab_time", who_tab_time);
functions.Insert("who_tab_last_time", who_tab_last_time);
ezc_functions.Insert("who_tab", who_tab);
ezc_functions.Insert("who_tab_lp", who_tab_lp);
ezc_functions.Insert("who_tab_user", who_tab_user);
ezc_functions.Insert("who_tab_time", who_tab_time);
ezc_functions.Insert("who_tab_last_time", who_tab_last_time);
/*
last
*/
functions.Insert("last_tab", last_tab);
functions.Insert("last_tab_name", last_tab_name);
functions.Insert("last_tab_ip", last_tab_ip);
functions.Insert("last_tab_start", last_tab_start);
functions.Insert("last_tab_end", last_tab_end);
ezc_functions.Insert("last_tab", last_tab);
ezc_functions.Insert("last_tab_name", last_tab_name);
ezc_functions.Insert("last_tab_ip", last_tab_ip);
ezc_functions.Insert("last_tab_start", last_tab_start);
ezc_functions.Insert("last_tab_end", last_tab_end);
/*
thread
*/
functions.Insert("thread_is", thread_is);
functions.Insert("thread_tab", thread_tab);
functions.Insert("thread_tab_url", thread_tab_url);
functions.Insert("thread_tab_subject", thread_tab_subject);
functions.Insert("thread_tab_author", thread_tab_author);
functions.Insert("thread_tab_answers", thread_tab_answers);
functions.Insert("thread_tab_last_item_date_modification", thread_tab_last_item_date_modification);
functions.Insert("thread_tab_last_item_date_modification_nice", thread_tab_last_item_date_modification_nice);
functions.Insert("thread_tab_last_item_user", thread_tab_last_item_user);
functions.Insert("thread_can_create", thread_can_create);
ezc_functions.Insert("thread_is", thread_is);
ezc_functions.Insert("thread_tab", thread_tab);
ezc_functions.Insert("thread_tab_url", thread_tab_url);
ezc_functions.Insert("thread_tab_subject", thread_tab_subject);
ezc_functions.Insert("thread_tab_author", thread_tab_author);
ezc_functions.Insert("thread_tab_answers", thread_tab_answers);
ezc_functions.Insert("thread_tab_last_item_date_modification", thread_tab_last_item_date_modification);
ezc_functions.Insert("thread_tab_last_item_date_modification_nice", thread_tab_last_item_date_modification_nice);
ezc_functions.Insert("thread_tab_last_item_user", thread_tab_last_item_user);
ezc_functions.Insert("thread_can_create", thread_can_create);
/*
ticket
*/
functions.Insert("ticket_is", ticket_is);
functions.Insert("ticket_can_create", ticket_can_create);
functions.Insert("ticket_can_edit", ticket_can_edit);
functions.Insert("ticket_type", ticket_type);
functions.Insert("ticket_status", ticket_status);
functions.Insert("ticket_priority", ticket_priority);
functions.Insert("ticket_category", ticket_category);
functions.Insert("ticket_expected", ticket_expected);
functions.Insert("ticket_progress", ticket_progress);
functions.Insert("ticket_progress_image_number", ticket_progress_image_number);
ezc_functions.Insert("ticket_is", ticket_is);
ezc_functions.Insert("ticket_can_create", ticket_can_create);
ezc_functions.Insert("ticket_can_edit", ticket_can_edit);
ezc_functions.Insert("ticket_type", ticket_type);
ezc_functions.Insert("ticket_status", ticket_status);
ezc_functions.Insert("ticket_priority", ticket_priority);
ezc_functions.Insert("ticket_category", ticket_category);
ezc_functions.Insert("ticket_expected", ticket_expected);
ezc_functions.Insert("ticket_progress", ticket_progress);
ezc_functions.Insert("ticket_progress_image_number", ticket_progress_image_number);
functions.Insert("ticket_tab", ticket_tab);
functions.Insert("ticket_tab_url", ticket_tab_url);
functions.Insert("ticket_tab_subject", ticket_tab_subject);
functions.Insert("ticket_tab_subject_empty", ticket_tab_subject_empty);
functions.Insert("ticket_tab_author", ticket_tab_author);
functions.Insert("ticket_tab_type", ticket_tab_type);
functions.Insert("ticket_tab_status", ticket_tab_status);
functions.Insert("ticket_tab_priority", ticket_tab_priority);
functions.Insert("ticket_tab_category", ticket_tab_category);
functions.Insert("ticket_tab_expected", ticket_tab_expected);
functions.Insert("ticket_tab_progress", ticket_tab_progress);
functions.Insert("ticket_tab_progress_image_number",ticket_tab_progress_image_number);
ezc_functions.Insert("ticket_tab", ticket_tab);
ezc_functions.Insert("ticket_tab_url", ticket_tab_url);
ezc_functions.Insert("ticket_tab_subject", ticket_tab_subject);
ezc_functions.Insert("ticket_tab_subject_empty", ticket_tab_subject_empty);
ezc_functions.Insert("ticket_tab_author", ticket_tab_author);
ezc_functions.Insert("ticket_tab_type", ticket_tab_type);
ezc_functions.Insert("ticket_tab_status", ticket_tab_status);
ezc_functions.Insert("ticket_tab_priority", ticket_tab_priority);
ezc_functions.Insert("ticket_tab_category", ticket_tab_category);
ezc_functions.Insert("ticket_tab_expected", ticket_tab_expected);
ezc_functions.Insert("ticket_tab_progress", ticket_tab_progress);
ezc_functions.Insert("ticket_tab_progress_image_number",ticket_tab_progress_image_number);
functions.Insert("ticket_type_tab", ticket_type_tab);
functions.Insert("ticket_type_tab_defined", ticket_type_tab_defined);
functions.Insert("ticket_type_tab_isdefault", ticket_type_tab_isdefault);
functions.Insert("ticket_type_tab_index", ticket_type_tab_index);
functions.Insert("ticket_type_tab_name", ticket_type_tab_name);
ezc_functions.Insert("ticket_type_tab", ticket_type_tab);
ezc_functions.Insert("ticket_type_tab_defined", ticket_type_tab_defined);
ezc_functions.Insert("ticket_type_tab_isdefault", ticket_type_tab_isdefault);
ezc_functions.Insert("ticket_type_tab_index", ticket_type_tab_index);
ezc_functions.Insert("ticket_type_tab_name", ticket_type_tab_name);
functions.Insert("ticket_status_tab", ticket_status_tab);
functions.Insert("ticket_status_tab_defined", ticket_status_tab_defined);
functions.Insert("ticket_status_tab_isdefault", ticket_status_tab_isdefault);
functions.Insert("ticket_status_tab_index", ticket_status_tab_index);
functions.Insert("ticket_status_tab_name", ticket_status_tab_name);
ezc_functions.Insert("ticket_status_tab", ticket_status_tab);
ezc_functions.Insert("ticket_status_tab_defined", ticket_status_tab_defined);
ezc_functions.Insert("ticket_status_tab_isdefault", ticket_status_tab_isdefault);
ezc_functions.Insert("ticket_status_tab_index", ticket_status_tab_index);
ezc_functions.Insert("ticket_status_tab_name", ticket_status_tab_name);
functions.Insert("ticket_priority_tab", ticket_priority_tab);
functions.Insert("ticket_priority_tab_defined", ticket_priority_tab_defined);
functions.Insert("ticket_priority_tab_isdefault", ticket_priority_tab_isdefault);
functions.Insert("ticket_priority_tab_index", ticket_priority_tab_index);
functions.Insert("ticket_priority_tab_name", ticket_priority_tab_name);
ezc_functions.Insert("ticket_priority_tab", ticket_priority_tab);
ezc_functions.Insert("ticket_priority_tab_defined", ticket_priority_tab_defined);
ezc_functions.Insert("ticket_priority_tab_isdefault", ticket_priority_tab_isdefault);
ezc_functions.Insert("ticket_priority_tab_index", ticket_priority_tab_index);
ezc_functions.Insert("ticket_priority_tab_name", ticket_priority_tab_name);
functions.Insert("ticket_category_tab", ticket_category_tab);
functions.Insert("ticket_category_tab_defined", ticket_category_tab_defined);
functions.Insert("ticket_category_tab_isdefault", ticket_category_tab_isdefault);
functions.Insert("ticket_category_tab_index", ticket_category_tab_index);
functions.Insert("ticket_category_tab_name", ticket_category_tab_name);
ezc_functions.Insert("ticket_category_tab", ticket_category_tab);
ezc_functions.Insert("ticket_category_tab_defined", ticket_category_tab_defined);
ezc_functions.Insert("ticket_category_tab_isdefault", ticket_category_tab_isdefault);
ezc_functions.Insert("ticket_category_tab_index", ticket_category_tab_index);
ezc_functions.Insert("ticket_category_tab_name", ticket_category_tab_name);
functions.Insert("ticket_expected_tab", ticket_expected_tab);
functions.Insert("ticket_expected_tab_defined", ticket_expected_tab_defined);
functions.Insert("ticket_expected_tab_isdefault", ticket_expected_tab_isdefault);
functions.Insert("ticket_expected_tab_index", ticket_expected_tab_index);
functions.Insert("ticket_expected_tab_name", ticket_expected_tab_name);
ezc_functions.Insert("ticket_expected_tab", ticket_expected_tab);
ezc_functions.Insert("ticket_expected_tab_defined", ticket_expected_tab_defined);
ezc_functions.Insert("ticket_expected_tab_isdefault", ticket_expected_tab_isdefault);
ezc_functions.Insert("ticket_expected_tab_index", ticket_expected_tab_index);
ezc_functions.Insert("ticket_expected_tab_name", ticket_expected_tab_name);
/*
mount
*/
functions.Insert("mount_page_is", mount_page_is);
functions.Insert("mount_thread_is", mount_thread_is);
functions.Insert("mount_type_is_thread", mount_type_is_thread);
functions.Insert("mount_type_is_ticket", mount_type_is_ticket);
functions.Insert("mount_type_is_cms", mount_type_is_cms);
ezc_functions.Insert("mount_page_is", mount_page_is);
ezc_functions.Insert("mount_thread_is", mount_thread_is);
ezc_functions.Insert("mount_type_is_thread", mount_type_is_thread);
ezc_functions.Insert("mount_type_is_ticket", mount_type_is_ticket);
ezc_functions.Insert("mount_type_is_cms", mount_type_is_cms);
/*
rebus
*/
functions.Insert("rebus_question", rebus_question);
ezc_functions.Insert("rebus_question", rebus_question);
/*
upload
*/
functions.Insert("upload_ckeditor_funnum", upload_ckeditor_funnum);
ezc_functions.Insert("upload_ckeditor_funnum", upload_ckeditor_funnum);
/*
uptime
*/
functions.Insert("uptime_more_than_one_day", uptime_more_than_one_day);
functions.Insert("uptime_days", uptime_days);
functions.Insert("uptime_hours", uptime_hours);
ezc_functions.Insert("uptime_more_than_one_day", uptime_more_than_one_day);
ezc_functions.Insert("uptime_days", uptime_days);
ezc_functions.Insert("uptime_hours", uptime_hours);
/*
winix
*/
functions.Insert("winix_cur_time", winix_cur_time);
functions.Insert("winix_users_logged", winix_users_logged);
functions.Insert("winix_function", winix_function);
functions.Insert("winix_function_is", winix_function_is);
functions.Insert("winix_function_param_is", winix_function_param_is);
functions.Insert("winix_loadavg_now", winix_loadavg_now);
functions.Insert("winix_loadavg_1", winix_loadavg_1);
functions.Insert("winix_loadavg_5", winix_loadavg_5);
functions.Insert("winix_loadavg_15", winix_loadavg_15);
functions.Insert("winix_req_per_sec_now", winix_req_per_sec_now);
functions.Insert("winix_req_per_sec_1", winix_req_per_sec_1);
functions.Insert("winix_req_per_sec_5", winix_req_per_sec_5);
functions.Insert("winix_req_per_sec_15", winix_req_per_sec_15);
functions.Insert("winix_err_is", winix_err_is);
functions.Insert("winix_err_code", winix_err_code);
functions.Insert("winix_is_err_in_locales", winix_is_err_in_locales);
functions.Insert("winix_err_msg_from_locales",winix_err_msg_from_locales);
functions.Insert("winix_show_content_in_full_window", winix_show_content_in_full_window);
ezc_functions.Insert("winix_cur_time", winix_cur_time);
ezc_functions.Insert("winix_users_logged", winix_users_logged);
ezc_functions.Insert("winix_function", winix_function);
ezc_functions.Insert("winix_function_is", winix_function_is);
ezc_functions.Insert("winix_function_param_is", winix_function_param_is);
ezc_functions.Insert("winix_loadavg_now", winix_loadavg_now);
ezc_functions.Insert("winix_loadavg_1", winix_loadavg_1);
ezc_functions.Insert("winix_loadavg_5", winix_loadavg_5);
ezc_functions.Insert("winix_loadavg_15", winix_loadavg_15);
ezc_functions.Insert("winix_req_per_sec_now", winix_req_per_sec_now);
ezc_functions.Insert("winix_req_per_sec_1", winix_req_per_sec_1);
ezc_functions.Insert("winix_req_per_sec_5", winix_req_per_sec_5);
ezc_functions.Insert("winix_req_per_sec_15", winix_req_per_sec_15);
ezc_functions.Insert("winix_err_is", winix_err_is);
ezc_functions.Insert("winix_err_code", winix_err_code);
ezc_functions.Insert("winix_is_err_in_locales", winix_is_err_in_locales);
ezc_functions.Insert("winix_err_msg_from_locales",winix_err_msg_from_locales);
ezc_functions.Insert("winix_show_content_in_full_window", winix_show_content_in_full_window);
plugin.Call(WINIX_TEMPLATES_CREATEFUNCTIONS, &functions);
plugin.Call(WINIX_TEMPLATES_CREATEFUNCTIONS, &ezc_functions);
}
@@ -497,14 +500,14 @@ void Templates::ReadTemplates()
{
using namespace TemplatesFunctions;
Locale::Lang lang = Locale::StrToLang(data.locale_str);
Locale::Lang lang = Locale::StrToLang(config->locale_str);
if( lang != Locale::lang_unknown )
locale.SetLang(lang);
else
locale.SetLang(Locale::lang_en);
locale.Read(data.locale_dir, data.locale_dir_default);
locale.Read(config->locale_dir, config->locale_dir_default);
ClearPatterns();
@@ -555,7 +558,7 @@ Mounts::MountTab::const_iterator i;
using namespace TemplatesFunctions;
index_patterns.MarkAllToDelete();
const Mounts::MountTab * pmount_tab = data.mounts.GetMountTab();
const Mounts::MountTab * pmount_tab = TemplatesFunctions::system->mounts.GetMountTab();
for(i=pmount_tab->begin() ; i!=pmount_tab->end() ; ++i)
{
@@ -575,7 +578,7 @@ void Templates::ReadIndexFileNames()
using namespace TemplatesFunctions;
Mounts::MountTab::const_iterator i;
const Mounts::MountTab * pmount_tab = data.mounts.GetMountTab();
const Mounts::MountTab * pmount_tab = TemplatesFunctions::system->mounts.GetMountTab();
for(i=pmount_tab->begin() ; i!=pmount_tab->end() ; ++i)
{
@@ -605,7 +608,7 @@ using namespace TemplatesFunctions;
return;
Ezc::Pattern * index = 0;
const std::string * index_file_local = data.mounts.pmount->HtmlTemplate();
const std::string * index_file_local = TemplatesFunctions::system->mounts.pmount->HtmlTemplate();
if( index_file_local )
index = index_patterns.GetPattern(*index_file_local, locale.GetLang());
@@ -613,7 +616,7 @@ using namespace TemplatesFunctions;
if( !index )
index = &patterns[locale.GetLang()][pat_index];
Ezc::Generator generator(request.page, *index, functions);
Ezc::Generator generator(request->page, *index, ezc_functions);
generator.Generate();
}
@@ -626,7 +629,7 @@ using namespace TemplatesFunctions;
if( !empty_pars.empty() )
empty_pars.clear();
Ezc::Info info(request.page, empty_pars, empty_string);
Ezc::Info info(request->page, empty_pars, empty_string);
info.iter = 0;
info.res = false;
@@ -635,6 +638,43 @@ using namespace TemplatesFunctions;
}
void Templates::SetConfig(Config * pconfig)
{
TemplatesFunctions::config = pconfig;
TemplatesFunctions::index_patterns.SetConfig(pconfig);
}
void Templates::SetRequest(Request * prequest)
{
TemplatesFunctions::request = prequest;
}
void Templates::SetDb(Db * pdb)
{
TemplatesFunctions::db = pdb;
}
void Templates::SetSystem(System * psystem)
{
TemplatesFunctions::system = psystem;
}
void Templates::SetFunctions(Functions * pfunctions)
{
TemplatesFunctions::functions = pfunctions;
}
void Templates::SetSessionManager(SessionManager * psession_manager)
{
TemplatesFunctions::session_manager = psession_manager;
}
Templates::Templates()
{
ClearPatterns();