tomasz.sowa
9d65d931d0
moved some ezc functions from templates/item.cpp to Item and ItemContent
...
removed: templates/item.cpp
updated: some html templates which use [item] or [item_tab]
removed some old html templates: item_info.html and itam_tab_info.html
2021-07-06 21:52:29 +02:00
tomasz.sowa
746aa41111
renamed: ItemContent::meta_admin -> ItemContent::admin_meta
2021-07-03 01:18:28 +02:00
tomasz.sowa
175dd17416
added request.last_item ezc function
2021-07-03 01:14:53 +02:00
tomasz.sowa
619936c12e
make depend
2021-07-01 23:35:08 +02:00
tomasz.sowa
732144df01
updated to the new morm api - models methods which take 'morm::ModelWrapper ** model_wrapper' now take 'morm::Wrapper & wrapper'
2021-07-01 23:34:49 +02:00
tomasz.sowa
df3f04a951
added to misc: timespec_to_stream_with_unit() for printing times either is seconds or miliseconds
2021-06-30 16:30:11 +02:00
tomasz.sowa
0f78968579
updated ticket plugin to the new ezc api (child spaces were removed)
2021-06-29 23:42:57 +02:00
tomasz.sowa
66173c7a31
removed old meta ezc functions from gallery plugin
2021-06-28 21:34:41 +02:00
tomasz.sowa
3f934d9aec
removed old meta ezc functions from menu plugin
2021-06-28 21:34:22 +02:00
tomasz.sowa
df0cc131fe
fixed in thread winix function: answers were not sorted correctly
2021-06-28 21:33:33 +02:00
tomasz.sowa
ba60f9da8a
updated group plugin to the new pikotools api (child spaces were removed)
2021-06-28 20:58:39 +02:00
tomasz.sowa
4569198b9d
fixed in index_head_adder.html: winix_function_is "emacs" should be in parentheses
2021-06-27 23:43:01 +02:00
tomasz.sowa
ccbbb59af7
make depend
2021-06-27 23:34:06 +02:00
tomasz.sowa
3a5af25eaf
updated some html templates
2021-06-27 23:33:10 +02:00
tomasz.sowa
1d18b7fa12
- updated to the new pikotools api (child spaces were removed)
...
some plugins need to be fixed yet: ticket, gallery, group, menu
- added current user to default models as "user"
- renamed in User: super_user -> is_super_user, env -> admin_env, pass_hash_salted -> is_pass_hash_salted
- now Users class has a WinixModel as a base class
some plugin calls have to be fixed yet
- added UserWrapper model with a pointer to User class
- removed from ItemContent: methods for accessing 'meta' and 'admin_meta', now ezc can iterate through Space classes
- fixed in env winix function: if there is "changeuser" parameter then we should only switch the user (not save anything)
2021-06-27 23:31:50 +02:00
tomasz.sowa
472490c239
make depend
2021-06-24 21:17:11 +02:00
tomasz.sowa
b6340a30d2
updated to the new pikotools api (changes in Log)
2021-06-24 21:17:03 +02:00
tomasz.sowa
bf1f0954b9
fixed: changed "%g" to "%f" when printing request/ezc times
...
SetNonZeroDigitsAfterComma() incorrectly terminated the string if the format was "%g" (in the case where it was used as %e)
2021-06-24 16:11:02 +02:00
tomasz.sowa
2f1cdcf379
added printing info how much time winix spent in the ezc engine
...
added to Request:
timespec timespec_req_stop;
timespec timespec_req_diff;
timespec timespec_ezc_engine_start;
timespec timespec_ezc_engine_stop;
2021-06-24 15:33:44 +02:00
tomasz.sowa
443c2023d9
make depend
2021-06-23 17:04:21 +02:00
tomasz.sowa
2c5062ba22
UrlEncode() methods from core/misc.h are now thread safe
2021-06-23 17:04:07 +02:00
tomasz.sowa
8ab07d11b1
fixed: cur.request->function->fun didn't have a model connector set when a request started
2021-06-21 16:51:35 +02:00
tomasz.sowa
a1c0f6f7f0
added config option: add_header_cache_no_store_in_htmx_request
...
send "Cache-Control: no-store, max-age=0" http header if a request is made by htmx library (ajax)
if a webbrowser get a page from the cache then it will render just the last request without the whole html page (css, js, etc)
https://github.com/bigskysoftware/htmx/issues/497
2021-06-21 11:43:59 +02:00
tomasz.sowa
672737a0d8
added a comment in ItemContent
2021-06-20 22:27:06 +02:00
tomasz.sowa
ade96bf6d3
some methods from templates/item.cpp moved to ItemContent
2021-06-20 21:22:08 +02:00
tomasz.sowa
801fc062ef
added FunctionBase::Clear() which is called at the end of a request
2021-06-20 20:47:59 +02:00
tomasz.sowa
f35840e7de
some work in html templates: changed some functions from item_* to item.*
2021-06-20 18:12:43 +02:00
tomasz.sowa
79eda7abb0
- added to FunctionBase: bool register_default_models (default true)
...
if true then winix will add default models for ezc templates such as "request", "item", etc.
- some methods from templates/item.cpp moved to Item
2021-06-20 18:04:50 +02:00
tomasz.sowa
e7c7324058
ItemContent::user_name(EzcEnv & env) changed to ItemContent::user(morm::ModelWrapper ** model_wrapper) and we return a User class
...
ItemContent::group_name(EzcEnv & env) changed to ItemContent::group(morm::ModelWrapper ** model_wrapper) and we return a Group class
added ItemContent::display_user_name(EzcEnv & env)
some functions in templates/item.cpp moved to Item
2021-06-19 23:48:12 +02:00
tomasz.sowa
d8c1a81bcb
removed config options: ezc_error_prefix and ezc_error_postfix
...
Ezc::PatternParser and Ezc::Generator use only pt::Log as a logger now
2021-06-19 20:33:35 +02:00
tomasz.sowa
94f96c11cb
make depend
2021-06-18 19:18:46 +02:00
tomasz.sowa
ec94dff7d7
some ezc functions from templates/item.cpp moved to Item and ItemContent
...
methods HasAccess() HasReadAccess() and similar moved from System to Item and ItemContent
2021-06-18 19:18:13 +02:00
tomasz.sowa
ebd791a256
changed: now Request class is a model class - we have fields() method there to map fields for ezc templates (currently only dir_tab)
...
removed: [dir_tab] ezc statement
changed: Ls winix function loads its own dir_tab container (beforehand it was loaded by [dir_tab] ezc statement)
it's available by [child_dirs] name
2021-06-17 21:44:29 +02:00
tomasz.sowa
4db421d6c3
make depend
2021-06-16 23:43:57 +02:00
tomasz.sowa
ab89ffe096
fixed in Item: void Item::link(Ezc::FunInfo<HtmlTextStream> & env) now returns a correct directory for the item (before the current directory was returned)
...
added to Item: void Item::dir_link(Ezc::FunInfo<HtmlTextStream> & env)
added to WinixModel:
Dirs * get_dirs();
Mounts * get_mounts();
Users * get_users();
Groups * get_groups();
SLog * get_session_logger(); // not finished yet
2021-06-16 23:42:23 +02:00
tomasz.sowa
53fe5c35b9
added .editorconfig file
2021-06-16 18:09:18 +02:00
tomasz.sowa
f2f2c851df
make depend
2021-06-16 18:09:01 +02:00
tomasz.sowa
6dddc5e948
renamed: WinixModel -> WinixModelDeprecated (this class will be removed)
...
added: WinixModel (models/winixmodel.h|cpp) - a class inheriting from morm::WinixModel, we have methods such as: get_config(), get_logger(), get_request()
and this class will be a base class for our models
added: WinixModelConnector (models/winixmodelconnector.h|cpp) - a class inheriting from morm::WinixModelConnector
this connector we are using instead of morm::ModelConnector - there are pointers to winix objects there (config, request, log)
added to Request: Ezc::Models models
removed from TemplatesFunctions: Ezc::Models ezc_models;
changed: ImgCrop winix functions is using its own item_tab vector now (not finished yet)
added: Item::is(), Item::link(), ItemContent::print_content()
2021-06-16 18:07:44 +02:00
tomasz.sowa
9688b1a26a
htmx updated to 1.4.1
2021-06-09 01:56:47 +02:00
tomasz.sowa
81df52f6ca
make depend
2021-05-31 18:59:49 +02:00
tomasz.sowa
6e4f8f5191
start adding support for Models objects from Ezc
2021-05-31 18:59:20 +02:00
tomasz.sowa
22de3322ae
- added to Request: is_htmx_request (bool) - true if the request is made by htmx library (ajax)
...
- commented out using mount_page_arg_is "subject" and "info" from fun_cat.html and fun_run.html - they will be removed soon
- some improvements in fun_reply.html, fun_showthreads.html and fun_thread.html (scrolling)
2021-05-31 10:58:34 +02:00
tomasz.sowa
e6fae4598c
updated to the new pikotools api: [ezc out] and [out] changed to [ezc frame] or just [frame]
...
- when returning json streams changed "out" field to "frames"
- renamed config parameter: allow_ezc_out_in_executable_items -> allow_ezc_frames_in_executable_items
- added basic support for ajax requests in thread plugin
2021-05-28 18:36:19 +02:00
tomasz.sowa
ba331dea4a
added basic support for htmx (ajax)
...
- if there is HX-Request header present we sent only a part of the whole html
- we return only specific stream defined by [out ...] ezc statement
- the name of the stream is passed in the 'frame' parameter
(if not present then 'content' is assumed)
- added ezc function: winix_is_htmx_request
2021-05-27 19:36:04 +02:00
tomasz.sowa
1292a56d1b
added htmx 1.4.0 loaded by default in html/index_head_adder.html
2021-05-27 13:41:29 +02:00
tomasz.sowa
6a452ffed0
version changed to 0.7.3
2021-05-27 12:21:59 +02:00
tomasz.sowa
aa71abd725
some workarounds in Thread plugin (don't show stale info in html forms)
2021-05-27 10:29:26 +02:00
tomasz.sowa
fb64f5e456
fixed: reply winix function (from thread plugin) didn't add a reply - system->Add() didn't set the model_connector to the item
2021-05-26 19:55:50 +02:00
tomasz.sowa
61fe6ea219
updated to the new api from ezc: changed semantic of [def] and Vars moved outside of Generator
2021-05-23 10:14:08 +02:00
tomasz.sowa
d30c7254eb
updated uikit to 3.6.22
2021-05-22 13:03:15 +02:00
tomasz.sowa
06be33ba5f
make depend
2021-05-21 23:06:57 +02:00
tomasz.sowa
b2cffa39e1
added models Thread and ThreadFiles in thread plugin
2021-05-21 23:06:48 +02:00
tomasz.sowa
86ef2529b1
fixed in some places: system->AddFile() returns bool now instead of Error
2021-05-21 17:41:16 +02:00
tomasz.sowa
f1b9d1b870
updated to the new pikotools api: changed the way how child_spaces are created in Space class
2021-05-21 17:17:17 +02:00
tomasz.sowa
fe67b5d72a
updated to the new pikotools api: snake_case names of methods from SpaceParser
2021-05-21 04:51:58 +02:00
tomasz.sowa
27720afaf2
updated to the new pikotools api: SpaceParser::SetSpace(...) methods have been removed
2021-05-21 01:37:42 +02:00
tomasz.sowa
8bb585d97d
updated to the new pikotools api: changed utf8 functions PascalCase to snake_case
2021-05-21 00:41:27 +02:00
tomasz.sowa
8c523ce8b9
make depend
2021-05-21 00:32:58 +02:00
tomasz.sowa
e48a28a5c8
namespace PT renamed to pt
2021-05-20 20:59:12 +02:00
tomasz.sowa
d66a36cf21
make depend
2021-05-14 03:32:03 +02:00
tomasz.sowa
a94e09f0aa
added support for Model migrations
...
now we have a table core.migration and each model (User, Group, Item, ItemContent and a new Migration) have its own
row in the table with a version number
added to config:
db_make_migration_if_needed and db_stop_if_migration_fails (need description yet)
2021-05-14 03:31:29 +02:00
tomasz.sowa
4df10de6b7
methods eq() from finder can have now a table name
2021-05-13 19:33:19 +02:00
tomasz.sowa
6d07535dad
updated uikit to 3.6.21 version
2021-05-13 06:24:44 +02:00
tomasz.sowa
ee354d2ded
renamed in Models: map_fields() to fields(), prepare_table() to table()
2021-05-13 03:29:41 +02:00
tomasz.sowa
e64bd1fba8
added more html tags to extraAllowedContent (ckeditor)
2021-05-13 03:24:37 +02:00
tomasz.sowa
031e673c51
fixed: passwd winix function: pass_encrypted was not cleared if we are not using rsa for encrypting passwords anymore
2021-05-13 02:02:15 +02:00
tomasz.sowa
801c9a2cda
make depend
2021-05-11 22:22:10 +02:00
tomasz.sowa
685b3ca5ee
Makefile: source files from pikotools are now in pikotools/src
2021-05-11 22:22:03 +02:00
tomasz.sowa
f1af7e2eeb
updated to the current pikotools api from branch api2021
2021-05-11 22:20:46 +02:00
tomasz.sowa
85f9fda984
fixed: in passwd winix function: clear password hash when using rsa encoding
2021-05-11 22:15:52 +02:00
tomasz.sowa
bb513b0187
make depend
2021-04-30 01:35:40 +02:00
tomasz.sowa
4277f90bad
start working on User and Group classes
...
- User and Group has been moved to 'models' directory
- removed UserPass struct (passwords fields were put to User struct)
not working yet, we need support for binary blobs in morm
2021-04-30 01:34:48 +02:00
tomasz.sowa
ccda2bc2fd
added option do_migration_to_winix_fullmorm do the config (only temporarily)
...
if true then we make Item::do_migration() and exit
2021-04-14 14:13:47 +02:00
tomasz.sowa
4b71530f4c
added to Config:
...
bool Config::HasValue(const wchar_t * name, const wchar_t * value)
2021-04-12 18:55:04 +02:00
tomasz.sowa
a8a9db53be
remove some Lock() and Unlock() from Plugin
2021-04-11 12:09:42 +02:00
tomasz.sowa
634cf07d44
using Winix::Lock object instead of Lock() method in ThreadManager
2021-04-10 21:12:28 +02:00
tomasz.sowa
0e0c006d5a
fixed: thread locking problem in Image: method Lock() was used instead of Winix::Lock object
2021-04-10 19:46:50 +02:00
tomasz.sowa
486067a4b2
clang thread sanitizer reported a data race in App::Start()
...
synchro.was_stop_signal was read without locking
==================
WARNING: ThreadSanitizer: data race (pid=13831)
Write of size 1 at 0x000000dc4d18 by thread T1 (mutexes: write M44):
#0 Winix::App::SpecialThreadForSignals(void*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2226:31 (winix.so+0x1f7465)
Previous read of size 1 at 0x000000dc4d18 by main thread:
#0 Winix::App::Start() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:651:18 (winix.so+0x1ee9af)
#1 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:222:6 (winix+0x2d74c1)
Location is global 'Winix::app' of size 65840 at 0x000000db5908 (winix+0x000000dc4d18)
Mutex M44 (0x000000dc4d10) created at:
#0 pthread_mutex_lock /disk2Tb/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:4153:3 (winix+0x2ac204)
#1 Winix::Synchro::Lock() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/synchro.cpp:68:12 (winix.so+0x2e5822)
#2 Winix::Lock::Lock(Winix::Synchro*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/lock.cpp:53:11 (winix.so+0x295522)
#3 Winix::FileLog::get_local_date(PT::Date const&) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/filelog.cpp:98:8 (winix.so+0x261183)
#4 Winix::Log::PrintDate(PT::Date const&) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/log.cpp:80:30 (winix.so+0x295a21)
#5 Winix::LogInfo(Winix::Log&, Winix::LogManipulators, char const*, bool, char const*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:104:6 (winix+0x2d69ec)
#6 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:190:2 (winix+0x2d7363)
Thread T1 (tid=100187, running) created by main thread at:
#0 pthread_create /disk2Tb/usr/src/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962:3 (winix+0x295bb3)
#1 Winix::App::StartThreads() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2246:2 (winix.so+0x1f7549)
#2 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:212:6 (winix+0x2d743e)
SUMMARY: ThreadSanitizer: data race /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2226:31 in Winix::App::SpecialThreadForSignals(void*)
==================
2021-04-10 17:14:51 +02:00
tomasz.sowa
35e10ed469
updated to the new Pikotools api (new Space struct)
2021-04-09 17:50:58 +02:00
tomasz.sowa
00b980e74b
make depend
2021-04-09 16:02:54 +02:00
tomasz.sowa
efdc0e7c97
etc/time_zones.conf changed values: "true" -> true, "false" -> false
2021-04-09 10:25:10 +02:00
tomasz.sowa
8b64d2066f
changed: new space characters in etc/time_zones.conf:
...
( -> {
) -> }
2021-03-31 20:26:30 +02:00
tomasz.sowa
8d87d9a875
changed in Makefile: we have now one lib pikotools/pikotools.a
...
make depend
2021-03-31 20:25:09 +02:00
tomasz.sowa
8fc1848ecc
uikit updated to 3.6.18
2021-03-31 20:21:24 +02:00
tomasz.sowa
bbc0a67153
added support for new morm api
...
- field(...) methods from Model take now FT structure instead of insertable/updatable/primary_key boolean flags
- table name is set in a prepare_table() method now
- added meta and admin_meta from ItemContent (morm has a field() method with PT::Space argument now)
2021-03-11 18:48:18 +01:00
tomasz.sowa
e8ba2a7bd1
fixed: incorrect status was set when editing a file
...
now System::EditFile() returns boolean
2021-03-11 18:42:26 +01:00
tomasz.sowa
23f1c112a4
make depend
2021-03-10 16:40:22 +01:00
tomasz.sowa
4d76e53554
in after_insert() methods: changed get_last_sequence -> get_last_sequence_for_primary_key
2021-03-09 18:16:29 +01:00
tomasz.sowa
73352e680e
Make depend
2021-03-08 21:10:33 +01:00
tomasz.sowa
57aad8b454
removed from Item: update() and save() methods which take the 'url_was_changed' argument
...
and added ItemModelData (based on morm::ModelData) class which has 'prepare_unique_url' field,
an object of this class is passed to update(), insert() and save() methods
fixed: Dirs::CheckRootDir(): update should update childs too (privileges)
WIP: #4
2021-03-08 21:06:50 +01:00
tomasz.sowa
ab5c44a2cb
removed some old methods for adding/editing Item from Db
2021-02-25 00:17:07 +01:00
tomasz.sowa
3e84eb9dbf
Makefile deps
2021-02-25 00:15:03 +01:00
tomasz.sowa
afbe82e9f4
changed the way how prefixes are added to urls
...
instead at the end we adding a prefix before an extension, e.g: filename_(2).jpg
2021-02-25 00:12:45 +01:00
tomasz.sowa
51b1aed483
removed DbItemQuery and DbItemColumns which were used for database accessing for Item class
2021-02-24 22:54:36 +01:00
tomasz.sowa
32e93a04c5
Item class has been moved to a new directory 'models', a new class has been added: ItemContent
...
and same fields from Item were moved to ItemContent
Item
- id
- parent_id
- type (file, dir, symlink)
- url
- subject
- template (html template)
- sort_index
- content_id
ItemContent
- id
- ref -> references (renamed)
- user_id
- modification_user_id
- group_id
- privileges
- date_creation
- date_modification
- guest_name
- link_to
- link_redirect
- file_path
- file_fs
- file_type
- file_size
- has_thumb -> file_has_thumb (renamed)
- hash -> file_hash (renamed)
- hash_type -> file_hash_type (renamed)
- content -> content_raw (renamed)
- content_type -> content_raw_type (renamed)
- content_parsed
- content_parsed_type
- meta
- ameta -> meta_admin (renamed)
- modify_index (removed)
WIP: #4
2021-02-24 01:19:47 +01:00
tomasz.sowa
3d7ece15f8
changed version to 0.7.2
2021-02-18 21:07:05 +01:00
tomasz.sowa
541597f355
fixed: in TimeZone::SetTzDst() was used operator && instead of ||
2021-02-17 18:36:50 +01:00
tomasz.sowa
5fe843d76b
set -std=c++20 in Makefile
2021-02-17 18:07:05 +01:00
tomasz.sowa
3191369ece
added 'using PT::FileLog::init' to FileLog to suppress clang warning:
...
warning: 'Winix::FileLog::init' hides overloaded virtual function [-Woverloaded-virtual]
2021-02-17 18:06:00 +01:00
tomasz.sowa
a4de11d69c
fixed: Image did not use 'savelog' when creating logs
...
before commit 4832c7db4b the logs were lost, but after 4832c7db4b
the logs were printed when winix shuts down
in 4832c7db4b at the end of BaseThread::StartRoutine()
has been added a call to save_log()
2021-02-17 16:17:36 +01:00