/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslutemplatestemplates #define headerfilecmslutemplatestemplates #include #include #include "ezc.h" #include "patterncacher.h" #include "misc.h" #include "ckeditorgetparser.h" #include "../core/locale.h" namespace TemplatesFunctions { using Ezc::Info; enum Pat { pat_index = 0, // first should be zero pat_fun_cat, pat_fun_ls, pat_fun_emacs, pat_fun_mkdir, pat_fun_default, pat_fun_priv, pat_fun_rm, pat_fun_who, pat_fun_run, pat_fun_last, pat_fun_thread, pat_fun_reload, pat_fun_createthread, pat_fun_upload, pat_fun_ticket, pat_fun_uptime, pat_fun_login, pat_fun_mv, pat_fun_uname, pat_fun_chmod, pat_fun_chown, pat_fun_createticket, pat_fun_ckeditor, pat_err_404, pat_err_per_denied, pat_err_others, pat_item_info, pat_item_tab_info, pat_dir_last_info, pat_last // should be last }; struct PatName { int fun_code; Pat pat; }; extern TemplatesMisc::Patterns patterns; extern PatternCacher pattern_cacher; extern Locale locale; extern Ezc::Functions functions; extern CKEditorGetParser ckeditor_getparser; /* sys */ void sys_ver_major(Info & i); void sys_ver_minor(Info & i); void sys_ver_revision(Info & i); /* doc */ void doc_title(Info & i); void doc_base_url(Info & i); void doc_base_url_static(Info & i); void doc_base_url_static_ext(Info & i); void doc_base_url_static_auth(Info & i); void doc_current_url(Info & i); void doc_is_error(Info & i); void doc_status(Info & i); /* item */ void item_is(Info & i); // !! change to is_item lub na item_defined void item_id(Info & i); void item_subject(Info & i); void item_subject_noescape(Info & i); void item_content(Info & i); void item_content_noescape(Info & i); void item_content_type_is(Info & i); void item_content_is_empty(Info & i); void item_print_content(std::ostringstream & out, const std::string & content, Item::ContentType content_type); void item_print_content(Info & i); void item_privileges(Info & i); void item_dir(Info & i); void item_url(Info & i); void item_url_is(Info & i); void item_link(Info & i); void item_static_auth_is_none(Info & i); void item_static_auth_is_image(Info & i); void item_can_read(Info & i); void item_can_write(Info & i); void item_can_remove(Info & i); void item_info(Info & i); void item_user(Info & i); void item_date_creation(Info & i); void item_date_modification(Info & i); void item_date_creation_nice(Info & i); void item_date_modification_nice(Info & i); void item_dates_equal(Info & i); void item_run(Info & i); void item_guest_name(Info & i); void item_old_id(Info & i); void item_old_subject(Info & i); void item_old_subject_noescape(Info & i); void item_old_content(Info & i); void item_old_content_noescape(Info & i); void item_old_privileges(Info & i); void item_old_dir(Info & i); void item_old_url(Info & i); void item_old_link(Info & i); void item_tab(Info & i); void item_tab_id(Info & i); void item_tab_subject(Info & i); void item_tab_subject_noescape(Info & i); void item_tab_content(Info & i); void item_tab_content_noescape(Info & i); void item_tab_print_content(Info & i); void item_tab_privileges(Info & i); void item_tab_dir(Info & i); void item_tab_url(Info & i); void item_tab_link(Info & i); void item_tab_link_static_auth(Info & i); void item_tab_can_read(Info & i); void item_tab_info(Info & i); void item_tab_user(Info & i); void item_tab_date_creation(Info & i); void item_tab_date_modification(Info & i); void item_tab_date_creation_nice(Info & i); void item_tab_date_modification_nice(Info & i); void item_tab_dates_equal(Info & i); void item_tab_run(Info & i); /* dir */ void dir(Info & i); void dir_without_slash(Info & i); void dir_can_read_exec(Info & i); void dir_can_write(Info & i); void dir_can_remove(Info & i); void dir_can_use_emacs(Info & i); void dir_can_use_mkdir(Info & i); void dir_childs_tab(Info & i); void dir_childs_tab_url(Info & i); void dir_tab(Info & i); void dir_tab_url(Info & i); void dir_tab_link(Info & i); void dir_last_default_item_dir(Info &); void dir_last_default_item_url(Info & i); void dir_last_subject(Info & i); void dir_last_info(Info & i); void dir_last_user(Info & i); void dir_last_url(Info & i); void dir_last_date_creation(Info & i); void dir_last_date_modification(Info & i); void dir_last_dates_equal(Info & i); /* user */ void ls_ckeditor_funnum_browse(Info & i); /* user */ void user_name(Info & i); void user_logged(Info & i); void user_super_user(Info & i); void user_can_use_html(Info & i); void user_can_use_bbcode(Info & i); void user_can_use_raw(Info & i); /* privileges */ void priv_user_tab(Info & i); void priv_user_tab_name(Info & i); void priv_user_tab_isdefault(Info & i); void priv_group_tab(Info & i); void priv_group_tab_name(Info & i); void priv_group_tab_isdefault(Info & i); void priv_privileges(Info & i); void priv_privileges_for_files(Info & i); void priv_privileges_for_dirs(Info & i); void priv_show_form_chown(Info & i); void priv_show_form_chmod(Info & i); /* done */ void done_is_error(Info & i); void done_status(Info & i); void done_status_no_item(Info & i); void done_status_incorrect_dir(Info & i); void done_status_incorrect_rebus(Info & i); void done_status_spam(Info & i); void done_added_item(Info & i); void done_edited_item(Info & i); void done_deleted_item(Info & i); void done_privileged_item(Info & i); void done_added_dir(Info & i); void done_deleted_dir(Info & i); void done_defaulted_dir(Info & i); void done_loggedout(Info & i); void done_reloaded_templates(Info & i); /* who */ void who_tab(Info & i); void who_tab_lp(Info & i); void who_tab_user(Info & i); void who_tab_time(Info & i); void who_tab_last_time(Info & i); /* last */ void last_tab(Info & i); void last_tab_name(Info & i); void last_tab_ip(Info & i); void last_tab_start(Info & i); void last_tab_end(Info & i); /* thread */ void thread_is(Info & i); // !! change to is_thread lub na thread_defined void thread_tab(Info & i); void thread_tab_url(Info & i); void thread_tab_subject(Info & i); void thread_tab_author(Info & i); void thread_tab_answers(Info & i); void thread_tab_last_item_date_modification(Info & i); void thread_tab_last_item_date_modification_nice(Info & i); void thread_tab_last_item_user(Info & i); void thread_can_create(Info & i); /* ticket */ void ticket_is(Info & i); // !! change to is_ticket lub na ticket_defined void ticket_can_create(Info & i); void ticket_can_edit(Info & i); void ticket_type(Info & i); void ticket_status(Info & i); void ticket_priority(Info & i); void ticket_category(Info & i); void ticket_expected(Info & i); void ticket_progress(Info & i); void ticket_tab(Info & i); void ticket_tab_url(Info & i); void ticket_tab_subject(Info & i); void ticket_tab_subject_empty(Info & i); void ticket_tab_author(Info & i); void ticket_tab_type(Info & i); void ticket_tab_status(Info & i); void ticket_tab_priority(Info & i); void ticket_tab_category(Info & i); void ticket_tab_expected(Info & i); void ticket_tab_progress(Info & i); void ticket_type_tab(Info & i); void ticket_type_tab_defined(Info & i); void ticket_type_tab_isdefault(Info & i); void ticket_type_tab_index(Info & i); void ticket_type_tab_name(Info & i); void ticket_status_tab(Info & i); void ticket_status_tab_defined(Info & i); void ticket_status_tab_isdefault(Info & i); void ticket_status_tab_index(Info & i); void ticket_status_tab_name(Info & i); void ticket_priority_tab(Info & i); void ticket_priority_tab_defined(Info & i); void ticket_priority_tab_isdefault(Info & i); void ticket_priority_tab_index(Info & i); void ticket_priority_tab_name(Info & i); void ticket_category_tab(Info & i); void ticket_category_tab_defined(Info & i); void ticket_category_tab_isdefault(Info & i); void ticket_category_tab_index(Info & i); void ticket_category_tab_name(Info & i); void ticket_expected_tab(Info & i); void ticket_expected_tab_defined(Info & i); void ticket_expected_tab_isdefault(Info & i); void ticket_expected_tab_index(Info & i); void ticket_expected_tab_name(Info & i); /* mount */ void mount_page_is(Info & i); void mount_thread_is(Info & i); void mount_type_is_thread(Info & i); void mount_type_is_ticket(Info & i); void mount_type_is_cms(Info & i); /* rebus */ void rebus_question(Info & i); /* upload */ void upload_ckeditor_funnum(Info & i); /* uptime */ void uptime_more_than_one_day(Info & i); void uptime_days(Info & i); void uptime_hours(Info & i); /* winix */ void winix_cur_time(Info & i); void winix_users_logged(Info & i); void winix_function(Info & i); void winix_function_is(Info & i); void winix_function_param_is(Info & i); void winix_loadavg_now(Info & i); void winix_loadavg_1(Info & i); void winix_loadavg_5(Info & i); void winix_loadavg_15(Info & i); void winix_req_per_sec_now(Info & i); void winix_req_per_sec_1(Info & i); void winix_req_per_sec_5(Info & i); void winix_req_per_sec_15(Info & i); } // namespace TemplatesFunctions class Templates { public: Templates(); void ClearPatterns(); void ReadTemplates(); void CreateFunctions(); void Generate(); void GenerateRunRaw(); private: void ReadFile(TemplatesFunctions::Pat pat, const char * file); std::string temp; }; #endif