/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucontentfunctions #define headerfilecmslucontentfunctions #include #include "functionbase.h" #include "functionparser.h" #include "adduser.h" #include "cat.h" #include "chmod.h" #include "chown.h" #include "ckeditor.h" #include "cp.h" #include "default.h" #include "download.h" #include "emacs.h" #include "last.h" #include "login.h" #include "logout.h" #include "ln.h" #include "ls.h" #include "mkdir.h" #include "mv.h" #include "node.h" #include "priv.h" #include "reload.h" #include "rm.h" #include "run.h" #include "specialdefault.h" #include "stat.h" #include "subject.h" #include "template.h" #include "tinymce.h" #include "uname.h" #include "upload.h" #include "uptime.h" #include "who.h" #include "vim.h" #include "core/htmlfilter.h" class Templates; class Functions { public: Fun::AddUser fun_adduser; Fun::Cat fun_cat; Fun::Chmod fun_chmod; Fun::Chown fun_chown; Fun::Ckeditor fun_ckeditor; Fun::Cp fun_cp; Fun::Default fun_default; Fun::Download fun_download; Fun::Emacs fun_emacs; Fun::Last fun_last; Fun::Login fun_login; Fun::Logout fun_logout; Fun::Ln fun_ln; Fun::Ls fun_ls; Fun::Mkdir fun_mkdir; Fun::Mv fun_mv; Fun::Node fun_node; Fun::Priv fun_priv; Fun::Reload fun_reload; Fun::Rm fun_rm; Fun::Run fun_run; Fun::SpecialDefault fun_special_default; Fun::Stat fun_stat; Fun::Subject fun_subject; Fun::Template fun_template; Fun::Tinymce fun_tinymce; Fun::Uname fun_uname; Fun::Upload fun_upload; Fun::Uptime fun_uptime; Fun::Who fun_who; Fun::Vim fun_vim; typedef std::map Table; typedef Table::iterator Iterator; void Init(); void Parse(); size_t FunctionsSize(); Iterator Begin(); Iterator End(); void CheckFunctionAndSymlink(); void MakeFunction(); void SetConfig(Config * pconfig); void SetRequest(Request * prequest); void SetDb(Db * pdb); void SetSystem(System * psystem); void SetTemplates(Templates * ptemplates); void SetSynchro(Synchro * psynchro); FunctionBase * Find(const std::wstring & function_name); Error CheckSpecialFile(const Item & item); void PrepareUrl(Item & item); void SetDefaultFunction(); void CheckGetPostTimes(time_t difference = 10); bool CheckAbuse(); // !! dac lepsze nazwy void ReadItemFilterHtml(Item & item); void ReadItemContent(Item & item, const std::wstring & content_type); void ReadItemContentWithType(Item & item); // if item.url is not empty and there is not a post variable "url" // then the item.url will not be changed // (the same is for item.subject and "subject" post variable) void ReadItem(Item & item, Item::Type item_type); void SetUser(Item & item); void Add(FunctionBase * fun); void Add(FunctionBase & fun); private: Config * config; Request * request; Db * db; System * system; Synchro * synchro; Templates * templates; std::wstring temp; HTMLFilter html_filter; std::wstring link_to_temp; void CreateFunctions(); void InitFunctions(); void SetObjects(FunctionBase * fun); void SetDefaultFunctionForFile(); void SetDefaultFunctionForDir(); void ReadItemUrlSubject(Item & item, Item::Type item_type); Table table; FunctionParser function_parser; void CheckFunctionFollowDir(bool was_default_function); void CheckFunctionFollowSymlink(bool was_default_function); }; #endif