2008-12-30 02:05:03 +01:00
|
|
|
/*
|
2010-02-28 01:08:10 +01:00
|
|
|
* This file is a part of Winix
|
2008-12-30 02:05:03 +01:00
|
|
|
* and is not publicly distributed
|
|
|
|
*
|
2010-01-28 16:39:01 +01:00
|
|
|
* Copyright (c) 2008-2010, Tomasz Sowa
|
2008-12-30 02:05:03 +01:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2009-04-21 22:50:55 +02:00
|
|
|
#ifndef headerfilecmslutemplatestemplates
|
|
|
|
#define headerfilecmslutemplatestemplates
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
#include <iomanip>
|
2009-01-31 07:53:36 +01:00
|
|
|
#include <set>
|
2009-11-13 21:40:11 +01:00
|
|
|
#include "ezc.h"
|
2009-01-26 21:49:28 +01:00
|
|
|
#include "patterncacher.h"
|
2010-01-28 16:39:01 +01:00
|
|
|
#include "misc.h"
|
2010-02-11 21:56:52 +01:00
|
|
|
#include "ckeditorgetparser.h"
|
2010-02-15 01:31:14 +01:00
|
|
|
#include "../core/locale.h"
|
2009-04-21 22:50:55 +02:00
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
namespace TemplatesFunctions
|
|
|
|
{
|
|
|
|
using Ezc::Info;
|
2009-11-17 00:36:38 +01:00
|
|
|
|
2010-01-28 16:39:01 +01:00
|
|
|
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,
|
2010-02-11 21:56:52 +01:00
|
|
|
pat_fun_uptime,
|
|
|
|
pat_fun_login,
|
|
|
|
pat_fun_mv,
|
|
|
|
pat_fun_uname,
|
2010-01-28 16:39:01 +01:00
|
|
|
pat_fun_createticket,
|
2010-02-11 21:56:52 +01:00
|
|
|
pat_fun_ckeditor,
|
2010-02-28 01:08:10 +01:00
|
|
|
pat_fun_adduser,
|
2010-01-28 16:39:01 +01:00
|
|
|
pat_err_404,
|
|
|
|
pat_err_per_denied,
|
|
|
|
pat_item_info,
|
|
|
|
pat_item_tab_info,
|
|
|
|
pat_dir_last_info,
|
2010-05-20 20:28:19 +02:00
|
|
|
pat_fun_subject,
|
2010-06-03 19:38:18 +02:00
|
|
|
pat_fun_cp,
|
2010-06-21 00:47:24 +02:00
|
|
|
pat_fun_tinymce,
|
2010-01-28 16:39:01 +01:00
|
|
|
|
|
|
|
pat_last // should be last
|
|
|
|
};
|
|
|
|
|
|
|
|
struct PatName
|
|
|
|
{
|
|
|
|
int fun_code;
|
|
|
|
Pat pat;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern TemplatesMisc::Patterns patterns;
|
2009-01-26 21:49:28 +01:00
|
|
|
extern PatternCacher pattern_cacher;
|
2010-02-15 01:31:14 +01:00
|
|
|
extern Locale locale;
|
2009-03-23 00:54:15 +01:00
|
|
|
extern Ezc::Functions functions;
|
2010-02-11 21:56:52 +01:00
|
|
|
extern CKEditorGetParser ckeditor_getparser;
|
2009-06-07 04:40:27 +02:00
|
|
|
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
/*
|
|
|
|
sys
|
|
|
|
*/
|
|
|
|
void sys_ver_major(Info & i);
|
|
|
|
void sys_ver_minor(Info & i);
|
|
|
|
void sys_ver_revision(Info & i);
|
|
|
|
|
|
|
|
|
2010-02-28 01:08:10 +01:00
|
|
|
/*
|
|
|
|
adduser
|
|
|
|
*/
|
|
|
|
void adduser_last_login(Info & i);
|
|
|
|
void adduser_last_email(Info & i);
|
|
|
|
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
/*
|
|
|
|
doc
|
|
|
|
*/
|
|
|
|
void doc_title(Info & i);
|
|
|
|
void doc_base_url(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void doc_base_url_auth(Info & i);
|
2009-12-30 21:46:12 +01:00
|
|
|
void doc_base_url_static(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void doc_base_url_common(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void doc_current_url(Info & i);
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
item
|
|
|
|
*/
|
2010-01-25 05:52:17 +01:00
|
|
|
void item_is(Info & i); // !! change to is_item lub na item_defined
|
2008-12-30 02:05:03 +01:00
|
|
|
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);
|
2010-01-11 15:47:52 +01:00
|
|
|
void item_content_type_is(Info & i);
|
2010-02-13 00:16:13 +01:00
|
|
|
void item_content_is_empty(Info & i);
|
2010-01-11 15:47:52 +01:00
|
|
|
void item_print_content(std::ostringstream & out, const std::string & content, Item::ContentType content_type);
|
2009-06-05 22:29:06 +02:00
|
|
|
void item_print_content(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void item_privileges(Info & i);
|
2009-10-01 00:31:20 +02:00
|
|
|
void item_dir(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void item_url(Info & i);
|
2010-02-08 21:02:16 +01:00
|
|
|
void item_url_is(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void item_link(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void item_auth_is_none(Info & i);
|
|
|
|
void item_auth_is_image(Info & i);
|
2009-01-14 21:11:12 +01:00
|
|
|
void item_can_read(Info & i);
|
2009-06-05 22:29:06 +02:00
|
|
|
void item_can_write(Info & i);
|
2010-02-11 21:56:52 +01:00
|
|
|
void item_can_remove(Info & i);
|
2009-03-23 00:54:15 +01:00
|
|
|
void item_info(Info & i);
|
|
|
|
void item_user(Info & i);
|
|
|
|
void item_date_creation(Info & i);
|
|
|
|
void item_date_modification(Info & i);
|
2010-02-15 01:31:14 +01:00
|
|
|
void item_date_creation_nice(Info & i);
|
|
|
|
void item_date_modification_nice(Info & i);
|
2009-03-23 00:54:15 +01:00
|
|
|
void item_dates_equal(Info & i);
|
|
|
|
void item_run(Info & i);
|
2009-11-17 00:36:38 +01:00
|
|
|
void item_guest_name(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
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);
|
2009-06-05 22:29:06 +02:00
|
|
|
void item_tab_print_content(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void item_tab_privileges(Info & i);
|
|
|
|
void item_tab_dir(Info & i);
|
|
|
|
void item_tab_url(Info & i);
|
|
|
|
void item_tab_link(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void item_tab_link_auth(Info & i);
|
2009-04-21 01:49:28 +02:00
|
|
|
void item_tab_can_read(Info & i);
|
|
|
|
void item_tab_info(Info & i);
|
|
|
|
void item_tab_user(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void item_tab_group(Info & i);
|
2009-04-21 01:49:28 +02:00
|
|
|
void item_tab_date_creation(Info & i);
|
|
|
|
void item_tab_date_modification(Info & i);
|
2010-02-15 01:31:14 +01:00
|
|
|
void item_tab_date_creation_nice(Info & i);
|
|
|
|
void item_tab_date_modification_nice(Info & i);
|
2009-04-21 01:49:28 +02:00
|
|
|
void item_tab_dates_equal(Info & i);
|
|
|
|
void item_tab_run(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
dir
|
|
|
|
*/
|
|
|
|
void dir(Info & i);
|
2010-02-16 01:37:00 +01:00
|
|
|
void dir_without_slash(Info & i);
|
2010-06-05 21:44:49 +02:00
|
|
|
void dir_parent(Info & i);
|
|
|
|
void dir_parent_without_slash(Info & i);
|
2009-01-14 21:11:12 +01:00
|
|
|
void dir_can_read_exec(Info & i);
|
2009-06-05 22:29:06 +02:00
|
|
|
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);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
void dir_childs_tab(Info & i);
|
2010-06-05 21:44:49 +02:00
|
|
|
void dir_childs_is_parent(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
void dir_childs_tab_url(Info & i);
|
2010-02-22 23:52:09 +01:00
|
|
|
void dir_childs_tab_privileges(Info & i);
|
|
|
|
void dir_childs_tab_user(Info & i);
|
|
|
|
void dir_childs_tab_group(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
|
|
|
void dir_tab(Info & i);
|
|
|
|
void dir_tab_url(Info & i);
|
|
|
|
void dir_tab_link(Info & i);
|
|
|
|
|
2008-12-31 19:28:12 +01:00
|
|
|
void dir_last_default_item_dir(Info &);
|
|
|
|
void dir_last_default_item_url(Info & i);
|
2009-06-05 22:29:06 +02:00
|
|
|
void dir_last_subject(Info & i);
|
2009-06-07 04:40:27 +02:00
|
|
|
void dir_last_info(Info & i);
|
|
|
|
void dir_last_user(Info & i);
|
2010-02-08 21:02:16 +01:00
|
|
|
void dir_last_url(Info & i);
|
2009-06-07 04:40:27 +02:00
|
|
|
void dir_last_date_creation(Info & i);
|
|
|
|
void dir_last_date_modification(Info & i);
|
|
|
|
void dir_last_dates_equal(Info & i);
|
2009-06-05 22:29:06 +02:00
|
|
|
|
2009-02-06 14:12:03 +01:00
|
|
|
|
2010-02-11 21:56:52 +01:00
|
|
|
/*
|
|
|
|
user
|
|
|
|
*/
|
|
|
|
void ls_ckeditor_funnum_browse(Info & i);
|
|
|
|
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
/*
|
|
|
|
user
|
|
|
|
*/
|
|
|
|
void user_name(Info & i);
|
|
|
|
void user_logged(Info & i);
|
|
|
|
void user_super_user(Info & i);
|
2010-01-11 15:47:52 +01:00
|
|
|
void user_can_use_html(Info & i);
|
|
|
|
void user_can_use_bbcode(Info & i);
|
|
|
|
void user_can_use_raw(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
2010-02-16 19:34:41 +01:00
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
/*
|
|
|
|
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);
|
|
|
|
|
2009-06-05 22:29:06 +02:00
|
|
|
void priv_privileges(Info & i);
|
2010-02-16 01:37:00 +01:00
|
|
|
void priv_privileges_for_files(Info & i);
|
|
|
|
void priv_privileges_for_dirs(Info & i);
|
2008-12-30 02:05:03 +01:00
|
|
|
|
2010-02-16 19:34:41 +01:00
|
|
|
void priv_show_form_chown(Info & i);
|
|
|
|
void priv_show_form_chmod(Info & i);
|
|
|
|
|
2010-01-25 05:52:17 +01:00
|
|
|
|
2009-01-31 07:53:36 +01:00
|
|
|
/*
|
|
|
|
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);
|
|
|
|
|
2009-04-20 00:13:21 +02:00
|
|
|
|
2009-04-16 03:59:42 +02:00
|
|
|
/*
|
|
|
|
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);
|
|
|
|
|
2009-01-31 07:53:36 +01:00
|
|
|
|
2009-04-20 00:13:21 +02:00
|
|
|
/*
|
|
|
|
thread
|
|
|
|
*/
|
2010-01-25 05:52:17 +01:00
|
|
|
void thread_is(Info & i); // !! change to is_thread lub na thread_defined
|
2009-06-05 22:29:06 +02:00
|
|
|
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);
|
2010-02-15 01:31:14 +01:00
|
|
|
void thread_tab_last_item_date_modification_nice(Info & i);
|
2009-06-05 22:29:06 +02:00
|
|
|
void thread_tab_last_item_user(Info & i);
|
|
|
|
void thread_can_create(Info & i);
|
2009-04-20 00:13:21 +02:00
|
|
|
|
2010-01-25 05:52:17 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
ticket
|
|
|
|
*/
|
|
|
|
void ticket_is(Info & i); // !! change to is_ticket lub na ticket_defined
|
|
|
|
void ticket_can_create(Info & i);
|
2010-02-06 15:08:44 +01:00
|
|
|
void ticket_can_edit(Info & i);
|
2010-01-25 05:52:17 +01:00
|
|
|
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);
|
|
|
|
|
|
|
|
|
2009-06-05 22:29:06 +02:00
|
|
|
/*
|
|
|
|
mount
|
|
|
|
*/
|
2010-01-25 05:52:17 +01:00
|
|
|
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);
|
2009-10-01 00:31:20 +02:00
|
|
|
|
2010-02-11 21:56:52 +01:00
|
|
|
|
2009-11-17 00:36:38 +01:00
|
|
|
/*
|
|
|
|
rebus
|
|
|
|
*/
|
|
|
|
void rebus_question(Info & i);
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
|
2010-02-19 00:30:22 +01:00
|
|
|
/*
|
|
|
|
upload
|
|
|
|
*/
|
|
|
|
void upload_ckeditor_funnum(Info & i);
|
|
|
|
|
|
|
|
|
2010-02-11 21:56:52 +01:00
|
|
|
/*
|
|
|
|
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);
|
2010-02-16 19:34:41 +01:00
|
|
|
void winix_function(Info & i);
|
2010-02-11 21:56:52 +01:00
|
|
|
void winix_function_is(Info & i);
|
|
|
|
void winix_function_param_is(Info & i);
|
2010-02-13 21:12:15 +01:00
|
|
|
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);
|
2010-02-28 01:08:10 +01:00
|
|
|
void winix_err_is(Info & i);
|
|
|
|
void winix_err_code(Info & i);
|
|
|
|
void winix_is_err_in_locales(Info & i);
|
|
|
|
void winix_err_msg_from_locales(Info & i);
|
2010-06-21 00:47:24 +02:00
|
|
|
void winix_content_full(Info & i);
|
2010-02-11 21:56:52 +01:00
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
} // namespace TemplatesFunctions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Templates
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2010-01-28 16:39:01 +01:00
|
|
|
Templates();
|
|
|
|
|
|
|
|
void ClearPatterns();
|
2009-11-16 18:43:23 +01:00
|
|
|
void ReadTemplates();
|
2009-10-01 00:31:20 +02:00
|
|
|
void CreateFunctions();
|
2009-11-16 18:43:23 +01:00
|
|
|
void Generate();
|
2010-01-11 15:47:52 +01:00
|
|
|
void GenerateRunRaw();
|
2008-12-30 02:05:03 +01:00
|
|
|
|
2010-01-28 16:39:01 +01:00
|
|
|
private:
|
|
|
|
|
2010-02-15 01:31:14 +01:00
|
|
|
void ReadFile(TemplatesFunctions::Pat pat, const char * file);
|
|
|
|
|
2010-01-28 16:39:01 +01:00
|
|
|
std::string temp;
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|