202 lines
4.5 KiB
C++
Executable File
202 lines
4.5 KiB
C++
Executable File
/*
|
|
* This file is a part of Winix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008-2009, Tomasz Sowa
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#ifndef headerfilecmslucontentcontent
|
|
#define headerfilecmslucontentcontent
|
|
|
|
#include <cstdlib>
|
|
#include <fcgiapp.h>
|
|
#include <ctime>
|
|
|
|
#include "../core/item.h"
|
|
#include "../templates/templates.h"
|
|
#include "../core/thread.h"
|
|
#include "../core/ticket.h"
|
|
#include "../core/done.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(const Done & done);
|
|
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
|