now the output html streams can be turn into no-escaping mode
default true (set when a request is clearing)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@990 e52654a7-88a9-db11-a3e9-0013d4bc506e
removed statements: [if-index ...] [is ...] [is-no ...]
added: generic ezc functions:
and, any (the same as and), or, one (the same as or), not, cmp, trim
to_lower, to_upper, index
changed: in misc:
added treat_new_line_as_white flag to IsWhite() SkipWhite() and TrimWhite()
TrimWhite(), TrimFirst(), TrimLast(), Trim() are using only wide characters now
(they were templates before)
added: IsInt(), IsSize(), IsFloat()
changed: version to 0.6.4
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@989 e52654a7-88a9-db11-a3e9-0013d4bc506e
some new Ezc::Pattern objects were inserted
the storage container is std::map<long,...>
but we traverse it as a std::vector e.g.:
for(size_t i=0 ; i<pattern_tab.size() ; ++i)
RebuildCache(pattern_tab[i].pattern);
so eventually new patterns were added to the map
(operator [])
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@980 e52654a7-88a9-db11-a3e9-0013d4bc506e
ezc_error_prefix (string)
ezc_error_postfix (string)
// prefix and postfix used when there is an error in Ezc patterns
// default:
// prefix: "<!-- "
// postfix: " -->"
added: Ezc::Blocks to templates
added: although patterns have pointers to functions and blocks cached
the Ezc::Generator should use SetFunctions() and SetBlocks() method
in order to correctly recognize variables (aliases)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@978 e52654a7-88a9-db11-a3e9-0013d4bc506e
everywhere we are using std::wstring and wchar_t*
(std::string and char* is used only locally in some places
especially when creating a path to OS file system etc.)
added: to the special thread when winix closes:
a write function for curl: FetchPageOnExitCurlCallback()
without this function the curl library will print
the page's content to the standart output
changed: TextStream<> class from core can make
UTF8<->wide strings conversions
removed: from config: utf8 option
now winix expects UTF8 from the user's input (html forms, url-es)
and outputs strings in the UTF8 format
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@965 e52654a7-88a9-db11-a3e9-0013d4bc506e
added: to config: upload_group
a group name for newly uploaded files (and created necessary directories in the file system)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@961 e52654a7-88a9-db11-a3e9-0013d4bc506e
added characters:
" -> &#quot;
' -> ' (' but IE8 has a problem with ')
10 ->
13 ->
added: two ezc filters:
fil_html_quote
" -> &#quot;
' -> ' (' but IE8 has a problem with ')
fil_html_newline
10 ->
13 ->
changed: fun_subject.html uses <div class="winix_input_a"> now
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@959 e52654a7-88a9-db11-a3e9-0013d4bc506e
content between <nofilter>...</nofilter> will not be filtered
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@955 e52654a7-88a9-db11-a3e9-0013d4bc506e
if false that means the user has not set a password yet
(this can be used by a plugins to create a new account without a password set)
in order to login the user first has to set a new password
(this can be done from a some kind of activation link send via email etc)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@954 e52654a7-88a9-db11-a3e9-0013d4bc506e
each one for each thread
fixed: on Linux: pthread mutexes by default behaves differently than on FreeBSD
we have to set PTHREAD_MUTEX_ERRORCHECK attribute
when creating a mutex
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@953 e52654a7-88a9-db11-a3e9-0013d4bc506e
(before we were using BSD's fetch)
fixed: we didn't use FCGX_Finish_r() on the request made from the special thread
so the thread hangs (now we can use pthread_join correctly from the main thread)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@947 e52654a7-88a9-db11-a3e9-0013d4bc506e
headers and cookies were not sent
(instead of headers the content was sent, so the client's browser was unable to open it correctly)
added: standard http headers are added by winix only if there are not such headers already
e.g. if a plugin adds "Content-Type" header then winix will not overwrite it
(headers names are case sensitive)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@945 e52654a7-88a9-db11-a3e9-0013d4bc506e
added: now we are able to use the html filter for the whole out_streams (when ajax is used the output is filtered too)
splitted FilterCompressSend() function -- first we are making the filtering
(after filtering we know the size of the content to send)
added: to Compress:
Compressing(const char * source, size_t source_len, BinaryPage & out_stream, int encoding);
changed: some refactoring in App
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@942 e52654a7-88a9-db11-a3e9-0013d4bc506e
a user could create a hardlink to any file and the new link
had user_id, group_id and permissions the same as for new generated files,
this allowes to overwrite any existing file in the filesystem,
now user_id, group_id, permissions are the same as from the oryginal file
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@941 e52654a7-88a9-db11-a3e9-0013d4bc506e
some environment variables were put there
removed: config variable: debug_info
removed: Request::role (responder, authorizer)
now we have only one role: responder
added: new config variables:
log_env_variables (default false) - when true then fastcgi environment
variables are logged to the log file
log_http_answer_headers (default false) - when true all http headers
created by winix ale logged (note that the www server can add/adjust other headers)
changed: some refactoring in Request struct
changed: CookieTab to std::map<std::wstring, std::wstring>
beforehand std::string was used
(changed CookieParser as well)
changed: Request::SetCookie() to AddCookie()
added: Request::out_headers (a PT::Space struct)
http headers (without cookies) send back to the client
added: Request::out_cookies (a PT::Space struct)
cookies send to the client
changed: App class to use Request::out_headers and Request::out_cookies
some SendHeaders...() methods were renamed to PrepareHeaders...()
and they create output in Request::out_headers first (and out_cookies)
and later it is sent
added: two plugin messages:
// http headers (without cookies) were created and are ready to send
// here you can make some changes to them
// in p1 you have a pointer to the PT::Space (Request::out_headers)
#define WINIX_PREPARE_TO_SEND_HTTP_HEADERS 31070
// http cookies were created and are ready to send
// here you can make some changes to them
// in p1 you have a pointer to the PT::Space (Request::out_cookies)
#define WINIX_PREPARE_TO_SEND_HTTP_COOKIES 31080
added: config variable:
// how many output streams do we have in Request class
// default: 16 (64 maximum)
size_t ezc_out_streams_size;
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@940 e52654a7-88a9-db11-a3e9-0013d4bc506e
index_rawcontent.html, index_ajaxcontent.html
now we have out_streams in Request and some special
keyword in ezc templates for sending content to the
specified streams
changed: the way how winix answers to the client's browsers:
info from Request class:
winix answer send to the client's browser
|
|
depending on send_bin_stream
-------------------------------------------------
| |
text answer binary answer
| |
depending on return_json sending out_bin_stream
------------------------------------
| |
normal request ajax request
| |
sending out_streams[0] depending on return_info_only
------------------------------------------------------
| |
generating JSON object from: generating JSON object only from info
out_streams and info, e.g.: e.g.:
{ { info object serialized here }
"stream_1": "some html content",
"stream_2": "some other html content",
"info": { info object serialized here }
}
note that out_streams[0] is not sent
in JSON answers
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@937 e52654a7-88a9-db11-a3e9-0013d4bc506e
the clang compiler by default
changed: Makefile files have been a little cleaned
the main Makefile now will not compile winix and winix.so if there
were not any changes to source files (it's faster)
(added Makefile.dep in the global directory with list of all source/header files)
changed: winix version to 0.5.5
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@933 e52654a7-88a9-db11-a3e9-0013d4bc506e
(added some header files)
added: three messsages in ticket plugin:
// send by showtickets winix function when tickets are loaded (and sorted)
// in p1 you have a pointer to the ticket tab: std::vector<Ticket::Ticket> (include "ticket.h")
// in p2 you have a pointer to the sort tab: std::vector<Item*>
// those tables don't have to be equal in size (in the case when there is no some tickets in the database)
#define WINIX_PL_TICKET_TICKETS_LOADED 4106
// a new ticket has been added
// in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
// in p2 you have a pointer to the Item structure
#define WINIX_PL_TICKET_ADDED_NEW 4107
// a ticket has been changed
// in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
// in p2 you have a pointer to the Item structure
#define WINIX_PL_TICKET_CHANGED 4108
added: two ezc functions for tickets:
ticket_does_param_id_have_value()
tickets_tab_does_param_id_have_value()
(they take two integer arguments -- testing whether a specified param_id has the given value)
changed: some more minor additions in tickets templates
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@932 e52654a7-88a9-db11-a3e9-0013d4bc506e
now tickets are sorted by the sort_index and then by date
changed: html in 'sort' winix function (added items' subjects to the item lists)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@931 e52654a7-88a9-db11-a3e9-0013d4bc506e
all static files (css/js) are downloaded from our server now
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@930 e52654a7-88a9-db11-a3e9-0013d4bc506e
(we were not able to send: a mail with an activation link and
a mail with the reset password link when we didn't have a locale with id 0 loaded)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@929 e52654a7-88a9-db11-a3e9-0013d4bc506e
code for activating an account has been moved here from Pw
changed: the form for reseting a user's password has been moved
to 'passwd' winix function (it was in Pw before)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@926 e52654a7-88a9-db11-a3e9-0013d4bc506e
the checkbox is now selected when we want to export static files too
(default it is not checked)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@922 e52654a7-88a9-db11-a3e9-0013d4bc506e
(when called in a directory)
added: to reload winix function:
reloading (clearing) the cache from 'menu' plugin
added: to 'menu' plugin
possibility to read 'meta' information from files
third argument 'withmeta' to menu_dir_tab ezc function
e.g. [for menu_dir_tab "/directory" "..." "withmeta"]...[end]
and some ezc functions to retrieve the meta values
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@921 e52654a7-88a9-db11-a3e9-0013d4bc506e
for checking if a value exists (useful for checking lists -- they don't have to be copied out)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@920 e52654a7-88a9-db11-a3e9-0013d4bc506e
for cropping images (and thumbnails)
www.domain.com/dir/file.jpg/imgcrop -- crop an image
www.domain.com/dir/file.jpg/imgcrop/thumb -- crop an image's thumbnail
www.domain.com/dir/file.jpg/imgcrop/newthumb -- crop and create a new thumbnail (from an original image)
www.domain.com/dir/imgcrop -- show images' list with above options
added: to Image class: some methods for cropping
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@919 e52654a7-88a9-db11-a3e9-0013d4bc506e
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
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@918 e52654a7-88a9-db11-a3e9-0013d4bc506e
added: some ezc functions (gallery_tab_meta*) to gallery plugin
added: to gallery plugin: a new gallery: Gallery version 1.2.9
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@917 e52654a7-88a9-db11-a3e9-0013d4bc506e