/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008-2009, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucoredata #define headerfilecmslucoredata #include #include #include #include #include "dirs.h" #include "users.h" #include "groups.h" #include "functions.h" #include "lastcontainer.h" #include "mounts.h" #include "rebus.h" class Data { public: // ----------------------------------------------------------------- // members read from a config file // name of the config file (full path can be) std::string config_file; // log file name, log file name for notifications (sending emails, etc) std::string log_file, log_notify_file; // 1 - minimum // 2 - (default) // 3 - maximum - all logs int log_level; // logging to stdout too bool log_stdout; // fast cgi: socket (unix domain) std::string fcgi_socket; // fast cgi: socket permissions int fcgi_socket_chmod; // fast cgi: owner of the socket std::string fcgi_socket_user; // fast cgi: group of the socket std::string fcgi_socket_group; std::string templates; std::string default_index; std::string db_database; std::string db_user; std::string db_pass; std::string base_url; std::string http_session_id_name; // when the HOST_HTTP environment variable doesn't point into 'base_url' (the part 'http://' and the last slash is removed) // the server will redirect into 'base_url' + 'REQUEST_URI' // it's useful when you want to redirect from 'mydomain.tld' into 'www.mydomain.tld' etc. bool base_url_redirect; // if there is one item in a directory // it will be showed // (instead of showing directory contents) // !! wywalic to, nie bedzie uzywane bool one_item_is_showed; // string used in a place where is a user (or group) selected std::string priv_no_user; std::string priv_no_group; // time in second when the user will be automatically logged out (iddle time) int session_max_iddle; bool compression; // plugins std::vector plugin_file; // end config members // ----------------------------------------------------------------- // false at the beginning bool stdout_is_closed; // true if there was SIGHUP signal volatile bool signal_hup; // contains current directories tree Dirs dirs; // based on base_url // set by SetAdditionalVariables() std::string base_url_http_host; // call this method after the config file is read void SetAdditionalVariables(); // users Users users; // groups Groups groups; // functions (ls, cat, etc) Functions functions; // for 'last' function LastContainer last; // mount points Mounts mounts; // rebus (captcha) Rebus rebus; Data(); private: void SetHttpHost(); }; extern Data data; #endif