8d9a021eab
changed: 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
be6e09c5af
added: 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.9
Tomasz Sowa2013-02-26 11:49:22 +00:00
293e426ed4
fixed: 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 method
Tomasz Sowa2013-02-01 21:14:56 +00:00
60f2337b73
updated: paths in Makefile (prog subdirectory)
Tomasz Sowa2013-01-19 16:31:15 +00:00
ce8152de2f
changed: added 'logsave' when we are waiting for the database to be ready
Tomasz Sowa2013-01-19 10:10:17 +00:00
496a1979d2
fixed: 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 ticket
Tomasz Sowa2012-12-30 15:33:08 +00:00
fd698ca7b9
added: put the rebus answer into the log (when user has entered an incorrect answer)
Tomasz Sowa2012-12-26 23:08:57 +00:00
825694c880
changed: 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 struct
Tomasz Sowa2012-11-05 23:13:52 +00:00
32750a7d50
changed: 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
0045c6c72c
added: 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
6e2ba65524
changed: 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
8033ac66c4
added: locales to fun_ipban.html changed: cosmetic changes in IPBanContainer
Tomasz Sowa2012-10-27 10:14:07 +00:00
9ef3736989
added: 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
099dd55d0c
added: 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
53b4175d00
added: 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 resource
Tomasz Sowa2012-10-17 19:52:55 +00:00
c5024598cb
updated: 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.html
Tomasz Sowa2012-10-17 06:00:00 +00:00
dfcf6b29c0
added: 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
7f48d1eb2e
fixed: 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 functions
Tomasz Sowa2012-09-24 20:31:01 +00:00
eaa97995d2
fixed: 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
14f997b844
added: 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
26e87b20b1
changed: 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 itself
Tomasz Sowa2012-09-19 23:17:10 +00:00
5cdf6eff36
added: to ticket plugin: some messges: // #define WINIX_PL_TICKET_PREPARE_TO_ADD_TICKET 4103
Tomasz Sowa2012-09-15 23:34:25 +00:00
4ed535a3b7
added: 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
da15323c2f
added: to plugin thread: message WINIX_PL_THREAD_CAN_MAKE_REDIRECT (similar as for ticket)
Tomasz Sowa2012-09-14 07:14:54 +00:00
bd1f717b4c
added: 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
72013046fc
added: Lock class -- locking resources by using Synchro object the destructor automatically calls Unlock()
Tomasz Sowa2012-09-11 23:46:00 +00:00
14ae19143f
added: new ezc filter: fil_new_line_to_br added: PutChar() methods to HtmlTextFilter and TexTextFilter
Tomasz Sowa2012-09-11 21:41:10 +00:00
d8260d8383
added: 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
9174555ff8
added: to config: log_time_zone_id (size_t) identifier this is the time zone identifier used in log messages
Tomasz Sowa2012-09-06 17:50:14 +00:00
0c6ddc2218
added: '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 value
Tomasz Sowa2012-09-04 20:24:42 +00:00
43b4075b16
added: 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
260c12894d
added: 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 fields
Tomasz Sowa2012-08-26 19:53:47 +00:00
adf273479a
fixed: WINIX_RAW_POST_STRING should have a different id
Tomasz Sowa2012-08-19 14:25:43 +00:00
54480da405
added: 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
90261b2005
added: 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
cc71c225a3
added: to DbBase: bool EndTrans(bool everything_ok);
Tomasz Sowa2012-08-15 19:33:20 +00:00
e739f30088
fixed: 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
51d95b49a0
added: 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
b5c155b927
added: export plugin the possibility to export only non static files in a directory
Tomasz Sowa2012-08-03 10:55:14 +00:00
5a5fe1b0cc
fixed: export plugin I forgotten to add exporting a directory
Tomasz Sowa2012-08-03 10:24:24 +00:00
1c4e010fc1
I have forgotten to add: html/fun_export.html
Tomasz Sowa2012-08-03 09:39:25 +00:00
d8d523d983
added: 'export' winix function (export plugin) exporting an item or the whole directory
Tomasz Sowa2012-08-03 09:25:17 +00:00
1c2589a2f2
added: 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
1ec61ffa11
added: to Log: operator<<(const PT::TextStreamBase<>())
Tomasz Sowa2012-07-25 10:28:41 +00:00
9830b0a50f
added: 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 argument
Tomasz Sowa2012-07-10 16:50:59 +00:00
f76a0ca3e9
added: some ezc functions in menu plugin
Tomasz Sowa2012-07-02 19:15:50 +00:00
5a6d1991ac
changed: config.space is available public now
Tomasz Sowa2012-06-30 23:20:18 +00:00
329e2d8001
fixed: 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
403cca5aad
rewritten: 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 index
Tomasz Sowa2012-06-27 23:21:43 +00:00
b8ff5d4cfc
added: 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_default
Tomasz Sowa2012-06-26 23:19:19 +00:00
54e6c07efc
added: etc directory to Makefile install
Tomasz Sowa2012-06-22 23:41:12 +00:00
d11cda3577
added: 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.conf
Tomasz Sowa2012-06-22 23:34:33 +00:00
abafb80caf
added: time zone's names to locales
Tomasz Sowa2012-06-22 19:18:03 +00:00
e0dd85ca99
changed: 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
2c38fe180e
added: new function for ezc templating: void space_value_noescape(Info & i, PT::Space & space)
Tomasz Sowa2012-06-05 21:31:12 +00:00
0d0f12b394
added: 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
86d6c96aeb
fixed: 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
b605fb0a77
added: some ezc functions for subdomains: void winix_subdomain(Info & i); void winix_subdomain_is_empty(Info & i); void winix_subdomain_is_not_empty(Info & i); void winix_subdomain_is(Info & i);
Tomasz Sowa2012-05-30 21:14:03 +00:00
ec773e5f29
added: 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
9d5d088b4a
removed: in some places a dependencies to tm struct has left removed: operator<<(tm&) from streams: textstream, log, dbtextstream, htmltextstream
Tomasz Sowa2012-05-27 18:11:34 +00:00
1b858f5782
removed: dependencies to 'tz' system structure now we are using PT::Date from pikotools
Tomasz Sowa2012-05-26 23:04:49 +00:00
5b845f1d03
changed: 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
db9d381a43
added: to thread manager: names of the threads the names are shown in the log file
Tomasz Sowa2012-05-19 17:04:33 +00:00
0df088e1e2
fixed: 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 structure
Tomasz Sowa2012-05-19 15:14:35 +00:00
67099d5d06
changed: misc::OnlyDigit() a comma is changed to a dot
Tomasz Sowa2012-05-12 20:30:34 +00:00
07e8e0c63c
updated: 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 error
Tomasz Sowa2012-05-12 16:37:44 +00:00
ecc89d8596
added: 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 30027
Tomasz Sowa2012-05-01 17:58:42 +00:00
c94b0311b6
updated: 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
fc33b4f882
added: 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 unlocking
Tomasz Sowa2012-04-28 20:57:57 +00:00
1da1eef768
fixed: 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::Space
Tomasz Sowa2012-04-25 22:24:37 +00:00
baf10a9ba9
added: std::wstring Request::subdomain support for subdomains
Tomasz Sowa2012-04-22 18:23:44 +00:00
bcea4f9464
fixed: 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 function
Tomasz Sowa2012-04-22 13:30:07 +00:00
920290e9dc
changed: permission to winix function 'who' and 'last' (only logged users can use these functions)
Tomasz Sowa2012-04-06 08:11:25 +00:00
1d83cf42a1
fixed: 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
09bfdf9e77
added: two ezc functions: void winix_postvar_value_is(Info & i); void winix_postvar_value_is_not(Info & i);
Tomasz Sowa2012-03-28 00:09:27 +00:00
e83fd91423
rewritten: 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 object
Tomasz Sowa2012-03-17 05:11:23 +00:00
70421b7bd1
reverted last commit (secure flag to cookie) with some info
Tomasz Sowa2012-03-15 17:50:19 +00:00
71ae70f670
added: to cookies: flag "; secure" if a connection is through SSL
Tomasz Sowa2012-03-15 10:43:29 +00:00
b1b3cea64e
added: 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
2712c57f15
changed: Makefile dep (dependencies from pikotools and tito were missing)
Tomasz Sowa2012-03-12 20:30:36 +00:00
0b528c7225
added: to misc: void OnlyDigit(StringType & s, bool allow_comma = true) removes all non-digit characters from a string
Tomasz Sowa2012-03-11 16:21:52 +00:00
b7007da5a9
fixed: 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
489310ba1c
added: 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
6c2c12fe5e
added: html/fun_pw.html default view for pw winix function
Tomasz Sowa2012-03-03 21:00:48 +00:00
e61f0db57e
changed: export plugin: password is stored as a string (in database)
Tomasz Sowa2012-03-01 15:39:13 +00:00
3e3546a2fd
fixed: 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
d2fa3b7171
corrected: in some places declarations of classes where mixed with struct (class/struct)
Tomasz Sowa2012-02-29 22:52:55 +00:00
0e9f587591
added: 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
9208b15167
fixed: 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 function
Tomasz Sowa2012-02-27 17:43:59 +00:00
a45fb30e0a
rewritten: 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_ADDED
Tomasz Sowa2012-02-24 12:09:38 +00:00
97c7edafd6
added: 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
1a51b1adc7
added: 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 starts
Tomasz Sowa2012-02-17 05:19:24 +00:00
9d2be5c50d
added: 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 characters
Tomasz Sowa2012-02-14 20:35:35 +00:00