8d9a021eabchanged: when there is reqtype:json parameter and there is not set request.ajax_serializer then we are using a generic json serializer changed: we are sending the application/json header when returning an json string added: to config: log_server_answer (default false) when true we put the whole string (server's answer) to the log file added: to Request: use_200_status_for_not_found_and_permission_denied if this is true then if the server http code would be 403 or 404 then we return 200 OK (useful when using ajax) changed: System::RedirectTo() methods take as the last parameter: use_reqtype if this is true (default) then reqtype:type parameter is automatically added to the redirecting path
0.5.3
Tomasz Sowa2013-03-26 00:04:01 +00:00
be6e09c5afadded: some ezc functions (item_tab_meta*) added: some ezc functions (gallery_tab_meta*) to gallery plugin added: to gallery plugin: a new gallery: Gallery version 1.2.9Tomasz Sowa2013-02-26 11:49:22 +00:00
293e426ed4fixed: plugin 'group' Groups::ReindexGroups incorrectly read a field from a PT::Space (it used 'table' object directly) but the value was in 'table_single' now we are using GetValue methodTomasz Sowa2013-02-01 21:14:56 +00:00
60f2337b73updated: paths in Makefile (prog subdirectory)Tomasz Sowa2013-01-19 16:31:15 +00:00
ce8152de2fchanged: added 'logsave' when we are waiting for the database to be readyTomasz Sowa2013-01-19 10:10:17 +00:00
496a1979d2fixed: in ticket plugin: editticket incorrectly used ticket_info->Clear() method it was called after some objects were set consequently we were not allowed to edit a ticketTomasz Sowa2012-12-30 15:33:08 +00:00
fd698ca7b9added: put the rebus answer into the log (when user has entered an incorrect answer)Tomasz Sowa2012-12-26 23:08:57 +00:00
825694c880changed: in editticket: closing ticket is better to do via POST request added: a new message sent by editticket when closing a ticket: #define WINIX_PL_TICKET_CLOSED 4105 // a ticket has been closed (closed button pressed) // in p1 you have a pointer to the Item struct // in p2 you have a pointer to the Ticket structTomasz Sowa2012-11-05 23:13:52 +00:00
32750a7d50changed: ticket plugin: redirect type in editticket winix function (when there is 'close' parameter) fixed: prototype doesn't work with jquery (in ticket winix function) (prototype was loaded for lightbox)Tomasz Sowa2012-11-04 22:39:02 +00:00
0045c6c72cadded: to Item struct: ameta (PT::Space) admin meta information added: option "a" to meta winix function editing admin meta information changed: now if you don't have write access to an item you can't see the meta information previous if you had read access you could have seen them added: in plugin ticket and thread support for 'closing' (ticket, thread) (this is only logic, we need some html yet) added: some ezc function for getting meta/admin meta information (for the current item and the last directory)
0.5.2
Tomasz Sowa2012-11-04 21:01:02 +00:00
6e2ba65524changed: added 'check_abuse' parameter to Login::LoginUser bool Login::LoginUser(const std::wstring & login, const std::wstring & password, bool remember_me, bool use_ses_log, bool check_abuse) default 'false' -- it test the time between GET and POST and the rebus (if exists)Tomasz Sowa2012-10-27 11:17:52 +00:00
8033ac66c4added: locales to fun_ipban.html changed: cosmetic changes in IPBanContainerTomasz Sowa2012-10-27 10:14:07 +00:00
9ef3736989added: to 'ipban' winix function: possibility to remove a ban (or all bans) added: to SessionManager: sorting of the ban list (in the second thread)Tomasz Sowa2012-10-27 09:03:49 +00:00
099dd55d0cadded: IP ban mechanism (not finished yet -- we need a winix function to remove a ban) now after some incorrent login attempts your IP can be banned or blocked (see new config variables)
0.5.1
Tomasz Sowa2012-10-27 07:44:26 +00:00
53b4175d00added: plugin message: WINIX_CHECK_PLUGIN_ACCESS this message is sent before calling MakePost() or MakeGet() if you return false (which is default) you can prevent the access to the resourceTomasz Sowa2012-10-17 19:52:55 +00:00
c5024598cbupdated: html/css (added div.winix to templates) now we have winix.css in common/winix directory it is automatically loaded by index_head_functions_add.htmlTomasz Sowa2012-10-17 06:00:00 +00:00
dfcf6b29c0added: to misc: bool IsWhite(const wchar_t * str, bool treat_new_line_as_white) bool IsWhite(const std::wstring & str, bool treat_new_line_as_white) return true if the whole string is white (or an empty string) added: global variable in admin environment for an user: "display_name" if defined it is used to display an user's name instead of its login it is used in: void print_user_name(Info & i, User & user); (tickets, threads, cat function etc)Tomasz Sowa2012-09-26 07:18:32 +00:00
7f48d1eb2efixed: the way we check whether we need make the redirect from SSL to non SSL (or vice versa) beforehand we didn't take into accout default winix functionsTomasz Sowa2012-09-24 20:31:01 +00:00
eaa97995d2fixed: we should check cur.request->function is not null (in5D app when testing ssl/nossl redirect)Tomasz Sowa2012-09-24 18:59:08 +00:00
14f997b844added: need_ssl flag to FunctionBase // try to use SSL // if in the config 'use_ssl' is true and 'use_ssl_only_for_logged_users' is true // then ssl is used only for logged users but sometimes there is a need to use // SSL even if noone is logged (for example for such functions like 'login' or 'adduser') // default: false // (this option is ignored if 'use_ssl' in the config is false) bool need_ssl;Tomasz Sowa2012-09-24 18:38:35 +00:00
26e87b20b1changed: in Crypt: renamed Hash() -> HashBin() HashBin() is using a binary output from OpenSSL now previously we are using the hex output and with the new OpenSSL version the text has additional characters and causes some problems added: HashHex() - it is using the HashBin() and then converts the output to hex format itselfTomasz Sowa2012-09-19 23:17:10 +00:00
5cdf6eff36added: to ticket plugin: some messges: // #define WINIX_PL_TICKET_PREPARE_TO_ADD_TICKET 4103Tomasz Sowa2012-09-15 23:34:25 +00:00
4ed535a3b7added: to plugin ticket: message WINIX_PL_TICKET_LOAD_TICKETS someone can send this message with a directory id and tickets will be loaded from the directory (and to display them you can use ezc functions)Tomasz Sowa2012-09-14 23:48:39 +00:00
da15323c2fadded: to plugin thread: message WINIX_PL_THREAD_CAN_MAKE_REDIRECT (similar as for ticket)Tomasz Sowa2012-09-14 07:14:54 +00:00
bd1f717b4cadded: some methods in Dystem::Dirs (takes wchar_t * as an argument, now only std::wstring were) changed: in plugin ticket: added message: WINIX_PL_TICKET_CAN_MAKE_REDIRECT it is sent at the end of POST request (editticket, createticket) if we can make a redirect (useful with AJAX)Tomasz Sowa2012-09-13 23:12:48 +00:00
72013046fcadded: Lock class -- locking resources by using Synchro object the destructor automatically calls Unlock()Tomasz Sowa2012-09-11 23:46:00 +00:00
14ae19143fadded: new ezc filter: fil_new_line_to_br added: PutChar() methods to HtmlTextFilter and TexTextFilterTomasz Sowa2012-09-11 21:41:10 +00:00
d8260d8383added: a new way: HEX format to saving/reading from PostgreSQL bytea columns added: to Request: // binary page BinaryPage binary_page;
0.5.0
Tomasz Sowa2012-09-11 05:19:45 +00:00
9174555ff8added: to config: log_time_zone_id (size_t) identifier this is the time zone identifier used in log messagesTomasz Sowa2012-09-06 17:50:14 +00:00
0c6ddc2218added: 'subject' winix function is using WINIX_FILE_CHANGED message now (when changing a file's subject) added: 'postredirect' global parameter (it can be a param or post value) you can use this parameter in a html POST form after processing the POST request winix will make a redirect to the valueTomasz Sowa2012-09-04 20:24:42 +00:00
43b4075b16added: ezc functions: void dir_tab_subject(Info & i); void dir_tab_is_root(Info & i); changed: in dir_tab_link: now it doesn't print the proto and base address - you should use [doc_base_url]Tomasz Sowa2012-09-02 01:27:41 +00:00
260c12894dadded: to Request options used by ezc generators: bool gen_trim_white; bool gen_skip_new_line; bool gen_use_special_chars; added: new ezc filter: fil_csv_escape for escaping csv fieldsTomasz Sowa2012-08-26 19:53:47 +00:00
adf273479afixed: WINIX_RAW_POST_STRING should have a different idTomasz Sowa2012-08-19 14:25:43 +00:00
54480da405added: WINIX_RAW_POST_STRING plugin message this is the raw string sent in POST method (in p1 pointer there is a pointer to std::string object)Tomasz Sowa2012-08-19 14:24:24 +00:00
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 +00:00
cc71c225a3added: to DbBase: bool EndTrans(bool everything_ok);Tomasz Sowa2012-08-15 19:33:20 +00:00
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 +00:00
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 +00:00
b5c155b927added: export plugin the possibility to export only non static files in a directoryTomasz Sowa2012-08-03 10:55:14 +00:00
5a5fe1b0ccfixed: export plugin I forgotten to add exporting a directoryTomasz Sowa2012-08-03 10:24:24 +00:00
1c4e010fc1I have forgotten to add: html/fun_export.htmlTomasz Sowa2012-08-03 09:39:25 +00:00
d8d523d983added: 'export' winix function (export plugin) exporting an item or the whole directoryTomasz Sowa2012-08-03 09:25:17 +00:00
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 +00:00
1ec61ffa11added: to Log: operator<<(const PT::TextStreamBase<>())Tomasz Sowa2012-07-25 10:28:41 +00:00
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 +00:00
f76a0ca3e9added: some ezc functions in menu pluginTomasz Sowa2012-07-02 19:15:50 +00:00
5a6d1991acchanged: config.space is available public nowTomasz Sowa2012-06-30 23:20:18 +00:00
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 +00:00
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 +00:00
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 +00:00
54e6c07efcadded: etc directory to Makefile installTomasz Sowa2012-06-22 23:41:12 +00:00
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 +00:00
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 +00:00
2c38fe180eadded: new function for ezc templating: void space_value_noescape(Info & i, PT::Space & space)Tomasz Sowa2012-06-05 21:31:12 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00
1b858f5782removed: dependencies to 'tz' system structure now we are using PT::Date from pikotoolsTomasz Sowa2012-05-26 23:04:49 +00:00
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 +00:00
db9d381a43added: to thread manager: names of the threads the names are shown in the log fileTomasz Sowa2012-05-19 17:04:33 +00:00
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 +00:00
67099d5d06changed: misc::OnlyDigit() a comma is changed to a dotTomasz Sowa2012-05-12 20:30:34 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00
baf10a9ba9added: std::wstring Request::subdomain support for subdomainsTomasz Sowa2012-04-22 18:23:44 +00:00
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 +00:00
920290e9dcchanged: permission to winix function 'who' and 'last' (only logged users can use these functions)Tomasz Sowa2012-04-06 08:11:25 +00:00
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 +00:00
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 +00:00
70421b7bd1reverted last commit (secure flag to cookie) with some infoTomasz Sowa2012-03-15 17:50:19 +00:00
71ae70f670added: to cookies: flag "; secure" if a connection is through SSLTomasz Sowa2012-03-15 10:43:29 +00:00
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 +00:00
2712c57f15changed: Makefile dep (dependencies from pikotools and tito were missing)Tomasz Sowa2012-03-12 20:30:36 +00:00
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 +00:00
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 +00:00
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 +00:00
e61f0db57echanged: export plugin: password is stored as a string (in database)Tomasz Sowa2012-03-01 15:39:13 +00:00
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 +00:00
d2fa3b7171corrected: in some places declarations of classes where mixed with struct (class/struct)Tomasz Sowa2012-02-29 22:52:55 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00
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 +00:00