90261b2005added: a new plugin message: WINIX_POST_PARAMS raw POST parameters in p1 there is a pointer to std::string meaning a parameter's name in p2 there is a pointer to std::string value this is sent only from PostParser PostMultiParser (multipart/form-data html forms) doesn't send this messsage there is no a session set (session pointer is null)Tomasz Sowa2012-08-19 13:50:58 +0000
cc71c225a3added: to DbBase: bool EndTrans(bool everything_ok);Tomasz Sowa2012-08-15 19:33:20 +0000
e739f30088fixed: when using Request::ajax_serializer then we should not use html filter (the filter can be used before we make the json answer -- not implemented yet)Tomasz Sowa2012-08-12 18:23:48 +0000
51d95b49a0added: to Request: // used as a JSON output (when ajax_serializer is defined) // it will be serialized and have at least: // 'content' string - the whole html content // 'http_status' integer - http status code (e.g. 200) PT::Space ajax;Tomasz Sowa2012-08-08 16:04:48 +0000
b5c155b927added: export plugin the possibility to export only non static files in a directoryTomasz Sowa2012-08-03 10:55:14 +0000
5a5fe1b0ccfixed: export plugin I forgotten to add exporting a directoryTomasz Sowa2012-08-03 10:24:24 +0000
1c4e010fc1I have forgotten to add: html/fun_export.htmlTomasz Sowa2012-08-03 09:39:25 +0000
d8d523d983added: 'export' winix function (export plugin) exporting an item or the whole directoryTomasz Sowa2012-08-03 09:25:17 +0000
1c2589a2f2added: to Log: void LogBinary(const char * blob, size_t blob_len); void LogBinary(const std::string & blob); int LogLevel();Tomasz Sowa2012-07-31 03:29:16 +0000
1ec61ffa11added: to Log: operator<<(const PT::TextStreamBase<>())Tomasz Sowa2012-07-25 10:28:41 +0000
9830b0a50fadded: to misc: UrlEncode which takes PT::TextStreamBase as an argument added: to misc: QEncode which takes PT::TextStreamBase as an argument added: to Locale: methods: IsKey, Get which takes PT::TextStreamBase as an argumentTomasz Sowa2012-07-10 16:50:59 +0000
f76a0ca3e9added: some ezc functions in menu pluginTomasz Sowa2012-07-02 19:15:50 +0000
5a6d1991acchanged: config.space is available public nowTomasz Sowa2012-06-30 23:20:18 +0000
329e2d8001fixed: when there is no option "locale_files" in the config the "en" should be loaded by default added: LDFLAGS option to Makefiles added: compilation with CLANG (some const objects should have been created with default cctor)Tomasz Sowa2012-06-30 18:37:52 +0000
403cca5aadrewritten: public interface in TemplatesFunctions::Locale added a default parameter bool try_default_too = true to some methods: Get(), IsKey() added more methods for accessing by an internal indexTomasz Sowa2012-06-27 23:21:43 +0000
b8ff5d4cfcadded: winix functions: locale, timezone changed: time zones -- now we have the daylight saving time different for each year (start, end) added: config option: time_zone_id (size_t) time zone identifier for not logged users or for newly created accounts those identifiers you can see in etc/time_zones.conf file or by using timezone winix function with 'a' parameter (timezone/a) (!!IMPROVE ME NOT IMPLEMENTED YET) default: 34 (Coordinated Universal Time UTC+00:00) added: config option: locale_default_id (size_t) locale for not logged users or for newly created accounts added: config option: locale_max_id (size_t) a maximum value of a locale identifier default: 100 (maximum: 1000) each locale files should have its own identifier (in "winix_locale_id" field) from zero to this value added: config option: time_zone_max_id (size_t) maximum value of a time zone identifier time zones with an id greater than this will be skipped default: 130 (maximum: 1000) removed: config option: locale_defaultTomasz Sowa2012-06-26 23:19:19 +0000
54e6c07efcadded: etc directory to Makefile installTomasz Sowa2012-06-22 23:41:12 +0000
d11cda3577added: a new directory "etc" there'll be some generic config files for winix added: a new file in etc directory: time_zones_file list of time zones (not finished yet -- daylight saving time is needed) added: option to config: etc_dir a directory in which there are some config files used mainly when winix starts default: empty (means not for using) added: option to config: time_zones_file a file in etc_dir with time zones info default: time_zones.conf this is a Space structure with all time zones added: to system: TimeZones struct list of time zones read from etc/time_zones.confTomasz Sowa2012-06-22 23:34:33 +0000
e0dd85ca99changed: making a redirect from SSL connection to non SSL if either use_ssl in the config if false or if use_ssl_only_for_logged_users is true and a user is not logged added: base url redirect HTTP codes to the config // if current connection is without SSL and should be made through SSL // or if is via SSL and should be done in plain text // then we make a redirect // default: 303 int use_ssl_redirect_code;Tomasz Sowa2012-06-07 00:26:37 +0000
2c38fe180eadded: new function for ezc templating: void space_value_noescape(Info & i, PT::Space & space)Tomasz Sowa2012-06-05 21:31:12 +0000
0d0f12b394added: to Requst: std::wstring * PostVarp(const std::wstring & var); added: to misc: template<class CharType> bool Toa(unsigned/signed long/int value, CharType * buffer); some Toa methods which don't get the buffer len (the buffer has to be sufficient big)Tomasz Sowa2012-06-04 17:51:43 +0000
86d6c96aebfixed: winix_subdomain ezc function didn't print the subdomain added: to rm winix function: bool Rm::RemoveItemByPath(const std::wstring & path, bool check_access) fixed: in Upload winix function when uploading an image we have to get a mount point where the image is placed (parent dir) (it was cur->mount beforehand)Tomasz Sowa2012-06-03 02:14:33 +0000
ec773e5f29added: TimeZone struct (core) this class has information about a time zone (utf offset, daylight saving time) and methods for converting between UTC and local time structs User and Config has a TimeZone object System::ToLocal() and System::ToUTC() uses it for converting (depending whether a user is logged or not)Tomasz Sowa2012-05-30 19:04:18 +0000
9d5d088b4aremoved: in some places a dependencies to tm struct has left removed: operator<<(tm&) from streams: textstream, log, dbtextstream, htmltextstreamTomasz Sowa2012-05-27 18:11:34 +0000
1b858f5782removed: dependencies to 'tz' system structure now we are using PT::Date from pikotoolsTomasz Sowa2012-05-26 23:04:49 +0000
5b845f1d03changed: in Request: removed start_tm added start_date (PT::Date) changed: in Session: removed: tm_time added: start_date (PT::Date) renamed: time -> start_time the same is for last_time now we have (last_time and last_date)Tomasz Sowa2012-05-24 21:09:37 +0000
db9d381a43added: to thread manager: names of the threads the names are shown in the log fileTomasz Sowa2012-05-19 17:04:33 +0000
0df088e1e2fixed: when demonizing there were some logs info put twice in the log file now we first demonize (fork) and then open the log file added: start adding support for PT::Date we are using instead of tz system structureTomasz Sowa2012-05-19 15:14:35 +0000
67099d5d06changed: misc::OnlyDigit() a comma is changed to a dotTomasz Sowa2012-05-12 20:30:34 +0000
07e8e0c63cupdated: to the new Space API (pikotools) changed: in locale txt files: the '(' and ')' characters should be escaped '\(' and '\)' or the whole string should be quoted added: when parsing locale files we print the line number where there was a syntax errorTomasz Sowa2012-05-12 16:37:44 +0000
ecc89d8596added: two plugin's messages // a session is going to be removed // it is called from session manager's thread (with lock/unlock) #define WINIX_PREPARE_SESSION_TO_REMOVE 30027Tomasz Sowa2012-05-01 17:58:42 +0000
c94b0311b6updated: to the new Pikotools API ConfParser is now SpaceParser added: to SessionManager Session * SessionManager::FindSession(long id)Tomasz Sowa2012-04-30 22:53:54 +0000
fc33b4f882added: a deadlock counter to Synchro class now we can use Lock() more than one in the same thread and next Unlock() will recognize it sample: Lock(); // first lock -- resources locked Lock(); // second lock -- skipped (counter incremented) ... Unlock(); // first unlock -- skipped (because counter greater than zero) Unlock(); // second unlock -- actually unlockingTomasz Sowa2012-04-28 20:57:57 +0000
1da1eef768fixed: ThreadMenager should use Lock/Unlock in StartAll() method added: Job class (system->job object) a general mechanism for jobs (by using PT::Space as a job structure) WINIX_JOB plugin message will be sent with a pointer to PT::SpaceTomasz Sowa2012-04-25 22:24:37 +0000
baf10a9ba9added: std::wstring Request::subdomain support for subdomainsTomasz Sowa2012-04-22 18:23:44 +0000
bcea4f9464fixed: base_url_redirect config option was not read from the config file and was not used when checking for base url redirect fixed: return values from plugins should be given in a special structure they were remembered in plugin object (ret_false, ret_true) and consequently were not thread safe now all plugin.Call() methods return PluginRes structure in which there are ret_false and ret_true variables changed: small refactoring in AddUser winix functionTomasz Sowa2012-04-22 13:30:07 +0000
920290e9dcchanged: permission to winix function 'who' and 'last' (only logged users can use these functions)Tomasz Sowa2012-04-06 08:11:25 +0000
1d83cf42a1fixed: passwd winix funtion always changed a password for current user (even if it was an administrator and has selected other people)Tomasz Sowa2012-03-30 06:44:38 +0000
e83fd91423rewritten: sessions management (Session, SessionContainer, SessionManager) now a Session object don't copy all fields in its copy constructor (only id) the rest fields are set after the object is inserted in SessionContainer added: after successfully login a session id is changed added: plugin.Call() methods with a first argument a pointer to a Session objectTomasz Sowa2012-03-17 05:11:23 +0000
70421b7bd1reverted last commit (secure flag to cookie) with some infoTomasz Sowa2012-03-15 17:50:19 +0000
71ae70f670added: to cookies: flag "; secure" if a connection is through SSLTomasz Sowa2012-03-15 10:43:29 +0000
b1b3cea64eadded: new plugin message: WINIX_PREPARE_USER_TO_LOGIN a user will be logged in set PluginInfo::res to false (it is by default) to prevent logging the user directly after this message (if you do not return false) a WINIX_USER_LOGGED is sent in p1 you have a pointer to User struct (if at least one plugin returns false then the user will not be logged)Tomasz Sowa2012-03-14 20:25:30 +0000
2712c57f15changed: Makefile dep (dependencies from pikotools and tito were missing)Tomasz Sowa2012-03-12 20:30:36 +0000
0b528c7225added: to misc: void OnlyDigit(StringType & s, bool allow_comma = true) removes all non-digit characters from a stringTomasz Sowa2012-03-11 16:21:52 +0000
b7007da5a9fixed: misc: ValidateEmail() buffer overflow added: notifications for resetting a user's password (there is no a winix function for this yet)Tomasz Sowa2012-03-09 22:56:54 +0000
489310ba1cadded: winix function: rmuser changed: UGContainer<> now uses std::list as a storage (previously it was using std::vector with pointers) removed: now we don't have the operator[] for UGContainer<>Tomasz Sowa2012-03-09 02:36:25 +0000
e61f0db57echanged: export plugin: password is stored as a string (in database)Tomasz Sowa2012-03-01 15:39:13 +0000
3e3546a2fdfixed: plugin 'menu' incorrectly read directory items when the directory was en empty string (the current directory should be used)Tomasz Sowa2012-03-01 15:14:46 +0000
d2fa3b7171corrected: in some places declarations of classes where mixed with struct (class/struct)Tomasz Sowa2012-02-29 22:52:55 +0000
0e9f587591added: to IsWhite (core/misc) other unicode white characters 25 characters -- without a new line character (10) added: config option: account_need_email_verification if true then when creating an account a user has to provide his email address and a message with an activation link will be sent back to him added: 'pw' winix function (not finished yet) at the moment only one parameter 'activate'Tomasz Sowa2012-02-28 21:09:44 +0000
9208b15167fixed: in winix function 'mv': a recurrence loop - incorrect function was called (typo) updated: to the new EZC api: templates from plugin menu templates from 'man' winix functionTomasz Sowa2012-02-27 17:43:59 +0000
a45fb30e0arewritten: plugin 'menu' now we have a cache for the plugin (this limits the number of database requests) added: to plugin 'menu' menu_dir_tab can have a 'current' parameter (first argument) (it uses the last path from the previous menu_dir_tab) changed: updated to the new EZC api added: new message to plugins: WINIX_DIR_ADDEDTomasz Sowa2012-02-24 12:09:38 +0000
97c7edafd6added: to misc: UrlEncode() for char->wstring UrlEncode() for wstring->wstring removed: Request::redirect_url_encoded flag the Request::redirect_to string should always be url-encoded changed: in UrnEncode() now characters like '#' and '/' are not allowed in an url (will be url-encoded)Tomasz Sowa2012-02-19 00:59:08 +0000
1a51b1adc7added: to config: parameter: ezc_max_elements maximum number for elements through the whole template (ezc) default: 50000 parameter: ezc_max_loop_elements maximum number of each [for] loop default: 5000 (from ezc generator) added: to Request class: time_t start_time; tm start_tm; they are set when a request startsTomasz Sowa2012-02-17 05:19:24 +0000
9d2be5c50dadded: to misc: void MaxSize(StringType & str, size_t max_size) if a string is larger than max_size then it is truncated to max_size charactersTomasz Sowa2012-02-14 20:35:35 +0000
f381f24402fixed: in DbBase: removed: DbBase::AssertQuery(const std::wstring & q) there was a recurrence calling (the method called itself) we don't need a method which get a wstring as an argument added: DbBase::AssertQuery(const char * q, ExecStatusType t) DbBase::AssertQuery(const DbTextStream & query, ExecStatusType t) (AssertQuery with a second argument -- the same as to AssertResult) we don't have to use AssertQuery and AssertResult only one AssertQuery now added: to plugins: two messages: // preparing a current user to logout // send from 'logout' winix function // !! IMPROVE ME this message can be sent when winix is making the shutdown // (for sessions which are not mark as 'remember me') // and when the SessionManager deletes a session (from the special thread) #define WINIX_PREPARE_USER_LOGGED_OUT 30610Tomasz Sowa2012-02-12 14:52:52 +0000
f6db85fcdbfixed: uninitialized variable in 'rm' winix function (in HasAccess method) sometimes for directories the rm function could return 'access true' (even without 'r' parameter)Tomasz Sowa2012-02-10 00:50:05 +0000
6e2d00bc5badded: now we have a fourth part in permissions (guests) e.g.: 07555 means: 7 for owner 5 for group 5 for others 5 for guests (not logged users) added: the sticky bit for directories e.g. permissions to a directory with a sticky bit set can be set to: 017555 rewritten: rm/mv winix functions to correctly understand the sticky bit added: Dir::FollowLink() recognizes ".." and "." now consequently System::FollowAllLinks recognizes it too added: umask -- calculating privileges for new files/directories all users have their own umask (in meta) and there is one in the config (for guests and when a user has not definied its own one) removed: mount option: only_root_removeTomasz Sowa2012-01-24 23:03:36 +0000
5aaab89cd8added: to locale: comparing lexicographically two characters/strings int Compare(wchar_t c1, wchar_t c2); int Compare(const std::wstring & str1, const std::wstring & str2);Tomasz Sowa2012-01-21 20:51:13 +0000
7407d24586added: new ezc filter: fil_first_wordup first character in a word is capitalizedTomasz Sowa2012-01-21 17:13:00 +0000
c9931da5bafixed: plugin ticket: when a session expires all files from editticket were removed it should be removed only those new addedTomasz Sowa2012-01-21 12:29:44 +0000
4311f06adeadded: to TextStream<> and Log: operator<<(const tm & tm_)Tomasz Sowa2012-01-19 20:50:42 +0000
631ca4f8a3plugin ticket: rewritten templates ezc functions (now images/files are working fine)Tomasz Sowa2012-01-17 22:54:41 +0000
424618de38added: to templates: an interface for getting information from Space miscspace.h, miscspace.cpp changed: plugin ticket now as a config we use a PT::Space struct (not finished yet, only 'integer', 'select' and 'progress' are done)Tomasz Sowa2012-01-16 10:12:38 +0000
b2d3ca9543now winix is using 'pikotools' (confparser, utf8, mainparser)Tomasz Sowa2012-01-12 02:24:08 +0000
cb33f20a24removing: confparser.h confparser.cpp (moving to pikotools)Tomasz Sowa2012-01-11 11:32:01 +0000
973d804db2added: TextStream<> DbTextStream<> and HtmlTextStream<> have operator<<(Space&) now added: to db: bool DbBase::AssertValueSpace(PGresult * r, int row, int col, Space & space, bool split_single) added: environment variables for users User::env (of type Space) and User::aenv (of type Space) for admin variables (can be changed only by a super user) added: winix function 'env' for changing User::env and User::aenv ('env' winix function with a 'a' parameter)Tomasz Sowa2012-01-08 03:59:51 +0000
f967a428ceadded: winix function 'man' displaying all winix functions and ezc templates functionsTomasz Sowa2012-01-06 12:07:23 +0000
543d464cbcchanged: plugin 'menu': ezc funtion: menu_dir_tab now we have two parameters: first is a path and second is: "images", "dirs", "files" or emptyTomasz Sowa2012-01-02 02:05:12 +0000
43470b2a41forgotten to add html/index_rawcontent.htmlTomasz Sowa2011-12-17 22:02:49 +0000
fa05e25a9dadded: to config: 'content_type_header' parameter the kind of "Content-Type" header send to the client if utf8 is enabled then 'charset=UTF-8' will also be appended added: to templates: an index pattern for 'rawcontent' used when 'rawcontent' parameter is present by default the template has only one [content] ezc function useful in AJAX requestsTomasz Sowa2011-12-17 21:59:22 +0000
fe2f1605f1changed: core/misc: date format in Time() methodsTomasz Sowa2011-12-14 20:35:19 +0000
48b5c167bfadded to db stream: DbTextStream::operator<<(const std::vector<long> & tabid)Tomasz Sowa2011-12-08 22:01:19 +0000
d135c31ca0added: to htmlfilter: html "col" tag is a 'simple' tag added: ezc functions: winix_function_param_value_is and winix_function_param_value_is_not they take two arguments: param_name and param_valueTomasz Sowa2011-12-04 19:34:39 +0000
dce68221adchanged: plugin 'export' rewritten changing of strings in html output (added support for https:// prefix)Tomasz Sowa2011-12-03 19:34:58 +0000
92f7c11999added: 'export' plugin can make use of some meta informations (from items) additional export currentlyTomasz Sowa2011-12-01 20:45:06 +0000
024ce8e73cadded: a new index template: index_fullscreen.html is chosen automatically when 'fullscreen' parameter is passedTomasz Sowa2011-12-01 18:54:09 +0000
7902389ef1changed: in plugin 'menu' menu_dir_tab ezc functions can be nested now (not finished yet) added: 'meta' winix function additional meta information for files and directories (not finished yet)Tomasz Sowa2011-11-25 04:51:55 +0000
1e9ab2f805added: to 'group' plugin: new ezc function: group_tab_is_current_linkTomasz Sowa2011-10-30 23:47:43 +0000
0550212b64changed: GroupItem plugin has been renamed to Group it's nearly finished now we are using three levels from Space (ConfParser) - group set - group - valuesTomasz Sowa2011-10-16 21:33:45 +0000
c7b6ca67a2changed: plugin messages: WINIX_FILE_REMOVED and WINIX_DIR_PREPARE_TO_REMOVE now as a parameter we have a pointer to the Item struct changed: export plugin now exports all files from a directory (in the future there'll be an option how the plugin should behave)Tomasz Sowa2011-09-30 01:33:42 +0000
9dae2de2fafixed: FunctionParser skipped a function name after an item (file) if the name was not a name for a function it should report a 404 in such a caseTomasz Sowa2011-09-28 22:24:24 +0000
968593106efixed: menu plugin: static files were not correctly skippedTomasz Sowa2011-09-26 06:56:35 +0000
302cb0130dchanged: menu plugin (static files are skipped)Tomasz Sowa2011-09-26 06:39:05 +0000
89efaa790fchanged: ConfParser -- now we can have a tree (spaces can have more than one level)Tomasz Sowa2011-09-26 05:40:26 +0000
60f0e62c23changed: we do not make a 'base redirect' when the request method is POST changed: ConfParser -- now we have spaces (only one level)Tomasz Sowa2011-09-16 22:46:42 +0000
f113e2ef31changed: we should use SSL connection for such functions as: adduser, loginTomasz Sowa2011-09-14 09:56:00 +0000
39923d6617fixed: UGContainer<Type> used a std::vector<Type> and when a new item was inserted then current iterators (and pointers) were invalidated now we are using std::vector<Type*> this caused some crashes when a new user was added by 'adduser' winix function added: plugin 'export' is able to upload files on a remote server now (not finished yet) changed: Thumb class is now called: Image and we are able to resize images too (some new options in the config and in mount points) added: some new plugin messagesTomasz Sowa2011-09-13 06:08:34 +0000