/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucontentcontent #define headerfilecmslucontentcontent #include #include #include #include "../core/item.h" #include "../templates/templates.h" #include "../core/thread.h" #include "../core/ticket.h" class Content { Templates templates; std::string temp; void FunDownload(); void CheckSpecialFile(); void PrepareUrl(Item & item); bool CheckAddUserVars(const std::string * login, const std::string * pass, const std::string * conf_pass); void PostFunAddUser(); void FunAddUser(); void SetDefaultFunctionForFile(); void SetDefaultFunctionForDir(); void SetDefaultFunction(); bool DirsHaveReadExecPerm(); void MakeStandardFunction(); void SetUser(Item & item); bool CheckRebus(); void MakePost(); void FunCat(); void FunLogout(); void FunLs(); void FunEmacs(); void AddPathToAuth(std::string & path); void FunCKEditor(); bool FunRmCheckAccess(); void FunRmDirRecursive(); void FunRmDir(); void FunRm(); void FunNode(); void FunMkdir(); void FunDefault(); void FunRun(); void PostFunRun(); void FunWho(); void FunLast(); void FunReloadTemplates(); void FunReload(); static bool FunThreadSort(const Thread & t1, const Thread & t2); void FunThread(); void FunCreateThread(); bool FunUploadCheckAccess(); void FunUpload(); bool ReadItemUrlSubject(Item & item, Item::Type item_type); bool ReadItem(Item & item, Item::Type item_type); void CheckAccessToItems(); void LoginUser(long user_id, bool remember_me); void FunLogin(); void PostFunLogin(); void ReadItemContentWithType(Item & item); bool FunEmacsCheckAccess(); void PostFunEmacsAdd(); void PostFunEmacsEdit(bool with_url); bool PostEmacsCheckAbuse(bool adding); void PostFunEmacsModifyMountPoint(bool adding); void PostFunEmacs(); bool FunMkdirCheckAccess(); void PostFunMkdir(bool add_to_dir_table = false, int privileges = 0755 ); void Mkdir(Item & item, bool add_to_dir_table); long PostFunDefaultParsePath(); void PostFunDefault(); /* function: priv, chmod, chown */ bool PrivCheckAccess(); void PrivLogStart(const char * what, long user, long group, int priv); void PrivLog(const char * what, long id, const std::string & url); bool ChangeOwner(Item & item, long user_id, long group_id); bool ChangePrivileges(Item & item, int privileges); void ChangePriv(Item & item, long user_id, long group_id, int privileges); void PostFunPriv(); void PrivFilesInDir(long parent_id); void PrivDir(long parent_id); bool ReadPriv(const char * user_in, const char * group_in, const char * priv_in, long & user_id, long & group_id, int & priv); void PrivDir(); void PrivOneItem(); void FunPriv(); long user_id_file, group_id_file, user_id_dir, group_id_dir; int priv_file, priv_dir; bool subdirectories; bool change_owner, change_priv; bool FunCreateThreadCheckAccess(); bool FunCreateThreadCheckAbuse(); void ReadThread(Thread & thread); void AddThread(); void PostFunCreateThreadLogAndRedirect(); void PostFunCreateThread(); bool UploadCreatePath(std::string & path); void UploadSaveFile(const std::string & tmp_filename, const std::string & destination); void UploadMulti(); void UploadSingle(); bool FunUploadCheckAbuse(); void PostFunUpload(); std::string tmp_path; bool FunCreateTicketCheckAccess(); void FunCreateTicket(); bool FunCreateTicketCheckAbuse(); void PostFunCreateTicketLogAndRedirect(); void PostFunCreateTicket(); void FunTicket(); void TicketDeleteFirst(); bool FunEditTicketCheckAccess(); void PostFunEditTicketLogAndRedirect(); void EditTicketCheckFirstItem(); void EditTicketModTicket(); void EditTicketModDir(); void EditTicketModFirstItem(); void PostFunEditTicket(); void FunEditTicket(); void AddTicket(); void ReadTicket(Ticket & ticket); void ReadTicketType(Ticket & ticket); void ReadTicketStatus(Ticket & ticket); void ReadTicketPriority(Ticket & ticket); void ReadTicketCategory(Ticket & ticket); void ReadTicketExpected(Ticket & ticket); void ReadTicketProgress(Ticket & ticket); void RedirectTo(const Item & item); void RedirectTo(long item_id); void RedirectToLastDir(); void CheckGetPostTimes(time_t difference = 10); // bool CreateFile(const std::string & path, const std::string & content); void MakePage(); public: bool Init(); void ReadAdditionalInfo(); void Make(); }; #endif