Compare commits

...

73 Commits

Author SHA1 Message Date
tomasz.sowa d29b33532d added UIkit markup for login winix function 2021-01-21 17:13:27 +01:00
tomasz.sowa a16e82bf54 updated .gitignore 2021-01-21 17:12:56 +01:00
tomasz.sowa 46c17cc441 added UIkit https://getuikit.com front-end framework to index_head_functions_add.html and index.html 2021-01-21 17:10:04 +01:00
tomasz.sowa 2099092e16 updated .gitignore 2021-01-21 17:08:05 +01:00
tomasz.sowa 88b7517337 dodany plik .gitignore 2021-01-21 11:35:40 +01:00
tomasz.sowa 619236329c Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1223 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-09-26 18:25:21 +00:00
tomasz.sowa 76160a5ba6 Makefile deps
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1219 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-09-25 16:25:44 +00:00
tomasz.sowa e95f32231a fixed: FileLog::get_local_date we need to synchronize when using time_zones pointer
(FileLog::get_local_date is used by Log::PrintDate() and Log of course can be used from different threads)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1218 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-09-25 16:25:20 +00:00
tomasz.sowa be81307faa Makefiles deps
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1199 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-08-20 12:24:22 +00:00
tomasz.sowa 177e58da4e changed: if there is no body we do not parse application/json to space
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1183 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-25 00:51:51 +00:00
tomasz.sowa 4c2efc08fd fixed: permissions to symlinks and directories with redirect flag were incorrectly checked
(there was no session set and the request was treated the same as from a not logged user)
fixed: in BaseThread there was used 'log' in the main thread (this logger is only for the other thread)
added: in BaseThread we have a main_log now - logger which puts to the main log buffer from the main thread




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1182 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-19 18:08:09 +00:00
tomasz.sowa ae03922491 seo plugin: added calling WINIX_FILE_CHANGED
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1180 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-14 13:46:40 +00:00
tomasz.sowa ab005118ba added: a new plugin: seo
new winix function: "seo", it allowes to edit subject, description and keywords for a page
description and keywords are stored in meta



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1179 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-14 13:33:40 +00:00
tomasz.sowa eec8635af4 changed: templates/item.cpp to use last_item instead of item
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1178 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-14 13:31:35 +00:00
tomasz.sowa 5060997d2a Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1176 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-07 18:02:52 +00:00
tomasz.sowa 0ac5a21a14 Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1172 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-06 18:19:29 +00:00
tomasz.sowa def0f8d144 merge from branch 0.7.x:
- initial support for morm
- added: WinixBase, WinixModel, WinixSystem, WinixRequest
- logger moved to pikotools




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1171 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-03-06 11:53:28 +00:00
tomasz.sowa 8895f0dcac - json_generic_serializer was not set when there was a redirect
- if there is a redirect and the json return answer is requested
  then we send 'redirect_to' field in 'info' space




git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1169 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-02-19 10:36:20 +00:00
tomasz.sowa 4f8db81c85 added to Locale:
const std::wstring & GetReplace(const wchar_t * key, Types ... types)
key is a string pattern which has %0, %1 parameters which will be replaced with 'types'




git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1164 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-01-07 03:32:17 +00:00
tomasz.sowa aa388e248d fixed: crash in thread plugin
ThreadInfo was not correctly initialized (plugin pointer was null)
added to PluginInfo: set_dependency_for(WinixModel * winix_model)




git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1162 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-01-02 11:33:19 +00:00
tomasz.sowa e5d7403c54 Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1161 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-01-02 09:12:42 +00:00
tomasz.sowa 4f57d6134c fixed: in Templates: TemplatesFunctions::plugin was not set
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1160 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-01-02 04:36:24 +00:00
tomasz.sowa 03f6b54a5b Makefile dep
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1158 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-24 17:09:48 +00:00
tomasz.sowa 63ef007ca1 changed: class Cur -> struct Cur in plugin.h
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1154 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-23 18:34:01 +00:00
tomasz.sowa 603e0679e7 Makefiles: added path to morm/src to -I flags
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1152 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-23 18:28:15 +00:00
tomasz.sowa b90445de4a updated to the new pikotools api - we have a logger for morm and ezc
pikotools has now Log and FileLog classes
which are base classes for winix Log and FileLog classes




git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1151 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-23 17:53:43 +00:00
tomasz.sowa 491dd27ebf some work in the new api:
- log_level and save_each_line moved from Log to FileLog
- other fixes in loggers
- DirContainer from Dirs and LoadAvg had no dependencies set




git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1148 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-21 22:53:24 +00:00
tomasz.sowa 89d303f375 some work on dependency injection
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1147 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-21 17:51:15 +00:00
tomasz.sowa a2ffc1e81c start working on 0.7.x branch
- added FileLog which stores content to the file log
- now Log is only a wrapper - it puts messages to the local buffer and when logsave is used then the buffer is put to FileLog
- new base classes:
  WinixBase (Log, Config*, Synchro*)
  WinixModel : public WinixBase (morm::ModelConnector*, Plugin*)
  WinixSystem : public WinixModel (System*)
  WinixRequest : public WinixSystem (SLog, Cur*)
- singletons: log, slog, plugin are depracated - now references to them are in base classses (WinixBase, WinixModel)
- DbBase,  DbConn and Db are depracated - now we are using Morm project (in WinixModel there is a model_connector pointer)
  each thread will have its own ModelConnector





git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1146 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-21 11:03:53 +00:00
tomasz.sowa a7c47140ae creating branch 0.7.x
git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1145 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-21 10:50:34 +00:00
tomasz.sowa ebd7f85fdb updated: html files for jquery-file-upload
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1143 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-15 17:01:40 +00:00
tomasz.sowa 833c04776f changed Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1141 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-14 17:15:03 +00:00
tomasz.sowa 919c2f62f5 using PT::IsSubString* methods from pikotools
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1138 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-11-01 00:46:44 +00:00
tomasz.sowa 8f6004d444 removed some IsSubstring* functions
(they are in Pikotools in text/convert.h now)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1135 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-10-29 23:51:11 +00:00
tomasz.sowa 1b8f5dc673 added to HTMLFilter:
- possibility to remove html entities
  method: SkipEntity(bool)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1132 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-10-24 16:31:42 +00:00
tomasz.sowa 027a8ec428 added to HTMLFilter:
- now we can parse " and ' in html attributes
- we can skip html tags and commentaries, added method:
  void SkipAllTags(bool skip_all_tags, bool skip_commentaries);
- there is virtual method: virtual void ItemFound();
  which is called when a html tag is parsed




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1129 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-10-23 23:28:45 +00:00
tomasz.sowa d1e7765e98 backend winix
dodanie opisu strefy czasowej dla Warszawy na 2018 rok




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1128 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-10-23 21:00:36 +00:00
tomasz.sowa 2d1b2e6b6e Makefile.dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1123 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-07-05 11:15:42 +00:00
tomasz.sowa 350fc551e5 fixed: a default winix function was selected before the mount point was calculated
also a mount point should be cleared (set to an empty mount point) at the
       end of a request




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1117 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-07-02 12:02:19 +00:00
tomasz.sowa 1c05c31721 added: antispam mechanism
each html form has a hidden form_id and counter_id
counter_id on the client side is generated through javascript code
on the server the form_id and counter_id is stored in the session
after sending the html form the server checks the form_id and counter_id




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1116 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-07-02 11:16:36 +00:00
tomasz.sowa 08123fe6ac changed the algorithm how sessions work:
- if the IP is banned or there is no a winix function then we set a temporary session
- else
  if there is a session's cookie sent by the client then:
   - if the cookie is a correct session's cookie then we set the session from the cookie
   - or if the cookie is not a correct session's cookie (e.g. session expired) and the winix function
     requires a cookie then we set a new session
   - or if there is no cookie sent then if a winix function requires a session we create a new session

  if there was an error creating a new session or event counters reach a ban limit then a temporary session will be used





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1115 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-06-20 15:00:02 +00:00
tomasz.sowa 35b93b1655 changed: now we are parsing directories and functions before checking a session
added:   need_session to FunctionBase (true if the functions requires a session)
         default: true
         



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1114 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-06-19 13:52:08 +00:00
tomasz.sowa 436a198c36 changed: using PT::ToLower instead of ToSmall
using PT::ToUpper instead of ToCapital
         using PT::EqualNoCase instead of EqualNoCase
         



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1112 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-05-25 17:22:12 +00:00
tomasz.sowa aa58faf145 some work on integrating ckeditor4
added ezc blocks: ckeditor_old_browsers_support, ckeditor, ckeditor_small
defined in ckeditor.html



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1109 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-05-10 17:21:39 +00:00
tomasz.sowa dcc6d35cba added: start integrating CKEditor4
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1108 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-05-09 22:48:14 +00:00
tomasz.sowa 3f29cdc01e changed: config parameters: log_check_proxy_ip_header -> check_proxy_ip_header and log_proxy_ip_header -> proxy_ip_header
added: Request::ip_str (std::wstring) (string of the client's IP address)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1105 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-05-01 11:22:55 +00:00
tomasz.sowa ba7d55b7c1 added: config parameters:
bool log_check_proxy_ip_header;
       // check whether there is a 'log_proxy_ip_header' header
       // and if so then log the IP address from it
       // default: false

       std::wstring log_proxy_ip_header;
       // proxy header representing the real IP address of a client
       // default: X-Real-IP





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1104 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-05-01 10:43:20 +00:00
tomasz.sowa 6252a0e732 added: Request::post_in (PT::Space) for input when application/json content type is used
from the client




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1102 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-26 18:56:31 +00:00
tomasz.sowa ca14b1a427 added: Request::header_in (Space) http input headers (without cookies)
added: config parameter: log_env_http_variables (bool) (for logging http headers)
added: support for DELETE http method, added method FunctionBase::MakeDelete()
changed: winix version incremented to 0.6.6




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1100 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-25 19:48:47 +00:00
tomasz.sowa b01db89942 added config parameter: db_postgresql_smaller_than_10
default false
if true then we are not using ROW() statements in sql queries




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1099 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-25 09:37:56 +00:00
tomasz.sowa fd421c54e3 changed: Makefile (added Logger from pikotools)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1096 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-23 14:29:58 +00:00
tomasz.sowa 55992b5066 added: std::wstring * Request::ParamValuep(const wchar_t * param_name)
for taking a pointer (can be null) to a parameter value
added: bool System::IsSSLRequired(bool try_to_use_ssl)
       returns true if we should use ssl
       try_to_use_ssl is to be meant: config->use_ssl, config->use_ssl_static, config->use_ssl_common
       



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1094 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-22 21:26:56 +00:00
tomasz.sowa a5dfc9974f added: a virtual dctor() for BaseThread class
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1080 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-04-16 22:44:59 +00:00
tomasz.sowa 7b4a17c934 changed: makefile dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1076 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-03-23 19:27:32 +00:00
tomasz.sowa c2a1097dd5 added: dependency on the morm project
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1074 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-03-13 22:34:59 +00:00
tomasz.sowa ccf78dcb02 updated to the new Pikotools API
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1071 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-01-06 18:12:53 +00:00
tomasz.sowa 3eff400d88 added: "assume_connection_is_through_ssl" config parameter
winix is testing an environment variable "HTTPS" for the value "on"
       to think that the connection is made via SSL
       you can set assume_connection_is_through_ssl to true for the winix
       to not testing any environment variables but just think the connection
       was made by https (useful when using proxy)
       default: false




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1069 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-01-01 00:14:02 +00:00
tomasz.sowa 5ab816b5be fixed: in progresql 10 we have to use ROW() expression to construct
a row where only one item is given



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1068 e52654a7-88a9-db11-a3e9-0013d4bc506e
2018-01-01 00:12:33 +00:00
tomasz.sowa e57840faed fixed: static files loaded to /var such as /var/ckeditor_winix.js were not properly returned
(html filter was used but they are mostly javascript files)
added: new Item::ContentType: ct_other
       if an item has ct_other then the html filter is not used for the content





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1040 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-07-13 13:13:56 +00:00
tomasz.sowa 240bf4dc5d changed: the way how raw template is set
option for setting raw template from 'emacs' function has been removed
         now we have index_raw.html template and it can be set from 'template' function
removed: template index_fullscreen.html
changed: some work in miscspace (changed: space_list_tab, space_list_tab_value and space_list_tab_has_next)
fixed:   main index template could not be set through 'template' function





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1039 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-04-04 16:02:36 +00:00
tomasz.sowa abd1500f07 changed: some refactoring in miscspace
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1036 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-23 15:20:42 +00:00
tomasz.sowa 42144bb31c some refactoring in miscspace(.h|.cpp)
space() renamed to space_value() and takes a third parameter: escape (bool)
space_noescape() removed

space_tab() renamed to space_list_tab()
space_tab_value() renamed to space_list_tab_value()
space_tab_has_next() renamed to space_list_tab_has_next()





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1035 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-22 14:53:43 +00:00
tomasz.sowa 7ed41a03ae fixed: some paths in Makefile.dep were not relative
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1031 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-18 08:56:19 +00:00
tomasz.sowa 1286ceeddf changed: winix project has been moved to 'winixd' subdirectory
in Makefiles we are caltulating relative paths now (by using relative_path program)
	 



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1030 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-17 13:46:20 +00:00
tomasz.sowa 145efe937c moved winix directories to winixdsubdirectory
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1028 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-17 08:26:02 +00:00
tomasz.sowa ed5adb3f23 moved winix directories to winixd subdirectory
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1027 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-17 08:24:59 +00:00
tomasz.sowa 7d0508961e added: log info about what html template is used
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1026 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-03-16 14:11:47 +00:00
tomasz.sowa e53e2e6af9 added: some work in RegisterMail plugin
(added looking for files in a config directory)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1024 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-02-03 18:10:40 +00:00
tomasz.sowa 4fafd2a478 changed: Makefile
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1023 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-02-01 11:12:54 +00:00
tomasz.sowa f15da4d049 fixed: in FunctionParser we do not treat '+' as a space
added: some work in MailRegister plugin
       (adding mails to db, showing mails)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1021 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-02-01 10:15:23 +00:00
tomasz.sowa 057607f9e5 start working on a new plugin: mailregister
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1020 e52654a7-88a9-db11-a3e9-0013d4bc506e
2016-01-31 19:52:17 +00:00
tomasz.sowa c433b3fd41 updated to the new Ezc API
[ezc stream] has gone, now we have [ezc out] and [out]
the output streams have names now: it's a std::map, before we have a std::vector
and the streams are serialized to "out" space in json
Request::out_streams[] are split into Request::out_main_stream and Request::out_streams class



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1017 e52654a7-88a9-db11-a3e9-0013d4bc506e
2015-11-15 22:23:36 +00:00
tomasz.sowa 632b49ab90 fixed: meta and admin meta information were not saved in memory (in system.dirs)
when 'meta' winix function was used
added: to DbItemsQuery
       sort_index_asc and sort_index_date
       different sort type can be made by 'index' and by 'date'
		     



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1013 e52654a7-88a9-db11-a3e9-0013d4bc506e
2015-06-16 02:37:07 +00:00
534 changed files with 24966 additions and 12379 deletions
+6
View File
@@ -0,0 +1,6 @@
.cproject
.project
.settings/
*.o
*.so
winixd/winix
-161
View File
@@ -1,161 +0,0 @@
# Makefile for GNU make
include Makefile.dep
ifeq ($(OSTYPE), FreeBSD)
CXX = clang++
else
CXX = g++-4.8
endif
ifndef CXXFLAGS
CXXFLAGS = -Wall -O0 -g -fPIC -pthread -std=c++11 -I/usr/local/include -I/usr/include/postgresql -DEZC_USE_WINIX_LOGGER -DEZC_HAS_SPECIAL_STREAM
endif
ifndef AR
AR = ar
endif
ifndef CXXWINIXINCLUDEFLAGS
# these flags are used for compiling and making dependencies (make depend)
# it's better to not using any system directories like -I/usr/local/include here
CXXWINIXINCLUDEFLAGS = -I../../winix -I../../../winix -I../../ezc/src -I../../../ezc/src -I../../tito/src -I../../../tito/src -I../../pikotools -I../../../pikotools
endif
ifndef LDFLAGS
LDFLAGS = -L/usr/local/lib
endif
# this macro is used in ezc's Makefile
EZC_USE_WINIX_LOGGER = yes
# for make install
winix_install_dir = /usr/local/winix
export CXX
export CXXFLAGS
export CXXWINIXINCLUDEFLAGS
export LDFLAGS
export EZC_USE_WINIX_LOGGER
all: winix.so plugins winix
winix.so: $(winix.src.files)
@cd core ; $(MAKE) -e
@cd db ; $(MAKE) -e
@cd functions ; $(MAKE) -e
@cd notify ; $(MAKE) -e
@cd templates ; $(MAKE) -e
@cd ../ezc/src ; $(MAKE) -e
@cd ../tito/src ; $(MAKE) -e
@cd ../pikotools ; $(MAKE) -e
$(CXX) -shared -rdynamic -Wl,-whole-archive -o winix.so $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a ../tito/src/tito.a ../pikotools/utf8/utf8.a ../pikotools/space/space.a ../pikotools/mainparser/mainparser.a ../pikotools/date/date.a $(LDFLAGS) -lfcgi -lpq -lz -lpthread -lcurl -Wl,-no-whole-archive
winix: winix.so $(winix.src.files)
@cd main ; $(MAKE) -e
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o winix.so -lfcgi
plugins: FORCE
@cd plugins/stats ; $(MAKE) -e
@cd plugins/thread ; $(MAKE) -e
@cd plugins/ticket ; $(MAKE) -e
@cd plugins/gallery ; $(MAKE) -e
@cd plugins/group ; $(MAKE) -e
@cd plugins/menu ; $(MAKE) -e
@cd plugins/export ; $(MAKE) -e
FORCE:
clean:
@cd core ; $(MAKE) -e clean
@cd db ; $(MAKE) -e clean
@cd functions ; $(MAKE) -e clean
@cd templates ; $(MAKE) -e clean
@cd notify ; $(MAKE) -e clean
@cd plugins/stats ; $(MAKE) -e clean
@cd plugins/thread ; $(MAKE) -e clean
@cd plugins/ticket ; $(MAKE) -e clean
@cd plugins/gallery ; $(MAKE) -e clean
@cd plugins/group ; $(MAKE) -e clean
@cd plugins/menu ; $(MAKE) -e clean
@cd plugins/export ; $(MAKE) -e clean
@cd ../ezc/src ; $(MAKE) -e clean
@cd ../tito/src ; $(MAKE) -e clean
@cd ../pikotools ; $(MAKE) -e clean
@cd main ; $(MAKE) -e clean
rm -f winix.so
rm -f winix
depend:
@cd core ; $(MAKE) -e depend
@cd db ; $(MAKE) -e depend
@cd functions ; $(MAKE) -e depend
@cd templates ; $(MAKE) -e depend
@cd notify ; $(MAKE) -e depend
@cd plugins/stats ; $(MAKE) -e depend
@cd plugins/thread ; $(MAKE) -e depend
@cd plugins/ticket ; $(MAKE) -e depend
@cd plugins/gallery ; $(MAKE) -e depend
@cd plugins/group ; $(MAKE) -e depend
@cd plugins/menu ; $(MAKE) -e depend
@cd plugins/export ; $(MAKE) -e depend
@cd ../ezc/src ; $(MAKE) -e depend
@cd ../tito/src ; $(MAKE) -e depend
@cd ../pikotools ; $(MAKE) -e depend
@cd main ; $(MAKE) -e depend
echo -n "winix.src.files = " > Makefile.dep
find -E . -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../ezc/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../tito/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../pikotools -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
install: all
# installing binaries
rm -Rf $(winix_install_dir)/bin
mkdir -p $(winix_install_dir)/bin
cp winix $(winix_install_dir)/bin
cp winix.so $(winix_install_dir)/bin
# etc configs
rm -Rf $(winix_install_dir)/etc
mkdir -p $(winix_install_dir)/etc
cp -rf etc/* $(winix_install_dir)/etc/
# html templates
rm -Rf $(winix_install_dir)/html
mkdir -p $(winix_install_dir)/html
cp -rf html/* $(winix_install_dir)/html/
# txt templates
rm -Rf $(winix_install_dir)/txt
mkdir -p $(winix_install_dir)/txt
cp -rf txt/* $(winix_install_dir)/txt/
# locales
rm -Rf $(winix_install_dir)/locale
mkdir -p $(winix_install_dir)/locale
cp -rf locale/* $(winix_install_dir)/locale/
# plugins
rm -Rf $(winix_install_dir)/plugins
mkdir -p $(winix_install_dir)/plugins
find plugins/ -name "*.so" | xargs -I foo cp foo $(winix_install_dir)/plugins/
# deleting subversion directories
find $(winix_install_dir) -type d -name ".svn" | xargs -I foo rm -fr foo
# removing privileges for others
find $(winix_install_dir) -exec chmod o-r,o-x,o-w "{}" "+"
-1
View File
File diff suppressed because one or more lines are too long
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
-1159
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
o = acceptbaseparser.o app.o basethread.o bbcodeparser.o compress.o config.o crypt.o dircontainer.o dirs.o groups.o htmlfilter.o httpsimpleparser.o image.o ipbancontainer.o item.o job.o lastcontainer.o loadavg.o lock.o log.o misc.o mount.o mountparser.o mounts.o plugin.o plugindata.o postmultiparser.o rebus.o request.o run.o session.o sessioncontainer.o sessionidmanager.o sessionmanager.o sessionparser.o slog.o synchro.o system.o threadmanager.o timezone.o timezones.o user.o users.o
-487
View File
@@ -1,487 +0,0 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2008-2014, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "log.h"
#include <ctime>
#include <string.h>
#include "utf8/utf8.h"
#include "timezones.h"
namespace Winix
{
Log::Log()
{
log_level = 1;
current_level = 100; // nothing to log (call Init() first)
request = 0;
max_requests = 1;
lines = 0;
max_lines = 5000;
log_file_open = false;
time_zones = 0;
}
Log::~Log()
{
SaveLogAndClear();
}
void Log::SetTimeZones(TimeZones * ptime_zones)
{
time_zones = ptime_zones;
}
int Log::LogLevel()
{
return log_level;
}
void Log::Init(int log_level_, bool save_each_line_, const std::wstring & log_file_, bool log_std, int log_max_requests)
{
log_level = log_level_;
log_stdout = log_std;
max_requests = log_max_requests;
save_each_line = save_each_line_;
PT::WideToUTF8(log_file_, log_file);
// don't open the file here
// because it would be created with the root as an owner
}
void Log::OpenFile()
{
if( !log_file.empty() )
{
file.open( log_file.c_str(), std::ios_base::out | std::ios_base::app );
log_file_open = true;
}
}
void Log::PrintDate(const PT::Date & date, size_t time_zone_id)
{
if( time_zones )
{
TimeZone * tz = time_zones->GetZone(time_zone_id);
if( tz )
{
PT::Date local_date = tz->ToLocal(date);
log << local_date;
}
else
{
(*this) << date << " UTC"; // unknown time zone identifier
}
}
else
{
(*this) << date << " UTC"; // time_zones object was not set
}
}
Log & Log::operator<<(const void * s)
{
if( current_level > log_level )
return *this;
buffer << s;
return *this;
}
Log & Log::operator<<(const char * s)
{
if( current_level > log_level )
return *this;
if( !s )
return *this;
buffer << s;
return *this;
}
Log & Log::operator<<(const std::string & s)
{
if( current_level > log_level )
return *this;
buffer << s;
return *this;
}
Log & Log::operator<<(const std::string * s)
{
if( current_level > log_level )
return *this;
buffer << *s;
return *this;
}
Log & Log::operator<<(const wchar_t * s)
{
if( current_level <= log_level )
{
if( s )
buffer << s;
}
return *this;
}
Log & Log::operator<<(const std::wstring & s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(const std::wstring * s)
{
if( current_level <= log_level )
{
buffer << *s;
}
return *this;
}
Log & Log::operator<<(int s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(long s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(char s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(wchar_t s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(size_t s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(double s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(const PT::Space & s)
{
if( current_level <= log_level )
{
buffer << s;
}
return *this;
}
Log & Log::operator<<(const PT::Date & date)
{
if( current_level <= log_level )
{
buffer << date;
}
return *this;
}
Log & Log::operator<<(LogManipulators m)
{
switch(m)
{
case logend:
if( current_level <= log_level )
{
buffer << '\n';
lines += 1;
if( save_each_line )
SaveLogAndClear();
}
break;
case logsave:
SaveLogAndClear();
break;
case logendrequest:
if( ++request >= max_requests || lines > max_lines )
SaveLogAndClear();
break;
case log1:
current_level = 1;
break;
case log2:
current_level = 2;
break;
case log3:
current_level = 3;
break;
case log4:
current_level = 4;
break;
default:
break;
}
return *this;
}
char Log::GetHEXdigit(unsigned char c)
{
if( c < 10 )
return c + '0';
return c - 10 + 'A';
}
void Log::ToHEX(char * buf, unsigned char c)
{
buf[0] = GetHEXdigit(c >> 4);
buf[1] = GetHEXdigit(c & 0xf);
buf[2] = 0;
}
void Log::LogBinary(const char * blob, size_t blob_len)
{
size_t i=0;
char buf[3];
while( i < blob_len )
{
size_t oldi = i;
for(size_t a=0 ; a<16 ; ++a)
{
if( i < blob_len )
{
ToHEX(buf, blob[i]);
buffer << buf << ' ';
++i;
}
else
{
buffer << " ";
}
if( a == 7 )
{
if( i < blob_len )
buffer << "- ";
else
buffer << " ";
}
}
i = oldi;
buffer << ' ';
for(size_t a=0 ; a<16 && i<blob_len ; ++a, ++i)
{
if( blob[i] > 31 && blob[i] < 127 )
buffer << blob[i];
else
buffer << '.';
}
(*this) << logend;
}
}
void Log::LogBinary(const std::string & blob)
{
LogBinary(blob.c_str(), blob.size());
}
void Log::SystemErr(int err)
{
(*this) << "errno: " << err;
const char * err_msg = strerror(err);
if( err_msg )
(*this) << " (" << err_msg << ")";
}
void Log::SaveLogAndClear()
{
SaveLog();
buffer.Clear();
request = 0;
lines = 0;
}
void Log::SaveLog()
{
if( buffer.Str().empty() )
return;
if( log_stdout )
PT::WideToUTF8(buffer.Str(), std::cout);
if( log_file.empty() )
return;
if( !log_file_open || !file )
{
file.close();
file.clear();
OpenFile();
if( !file )
return;
}
PT::WideToUTF8(buffer.Str(), file);
file.flush();
}
} // namespace Winix
-199
View File
@@ -1,199 +0,0 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2008-2014, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef headerfile_winix_core_log
#define headerfile_winix_core_log
#include <sstream>
#include <fstream>
#include <iostream>
#include <string>
#include "textstream.h"
#include "logmanipulators.h"
#include "textstream/textstream.h"
namespace Winix
{
class TimeZones;
class Log
{
public:
Log();
~Log();
void SetTimeZones(TimeZones * ptime_zones);
void Init(int log_level_, bool save_each_line_, const std::wstring & log_file_, bool log_std, int log_max_requests);
Log & operator<<(const void * s);
Log & operator<<(const char * s);
Log & operator<<(const std::string * s);
Log & operator<<(const std::string & s);
Log & operator<<(const wchar_t * s);
Log & operator<<(const std::wstring * s);
Log & operator<<(const std::wstring & s);
Log & operator<<(int s);
Log & operator<<(long s);
Log & operator<<(char s);
Log & operator<<(wchar_t s);
Log & operator<<(size_t s);
Log & operator<<(double s);
Log & operator<<(const PT::Space & space);
Log & operator<<(LogManipulators m);
Log & operator<<(const PT::Date & date);
void PrintDate(const PT::Date & date, size_t time_zone_id);
template<typename char_type, size_t stack_size, size_t heap_block_size>
Log & operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf);
template<class StringType>
void LogString(const StringType & value, size_t max_size);
void LogBinary(const char * blob, size_t blob_len);
void LogBinary(const std::string & blob);
void SystemErr(int err);
void SaveLog();
void SaveLogAndClear();
int LogLevel();
private:
// time zones for printing the time in the log file
TimeZones * time_zones;
// buffer for the log
TextStream<std::wstring> buffer;
// log lovel from the config file
int log_level;
// current level set by a modifier (e.g. log << log3)
int current_level;
// current request for logging
// starts from zero and incremented after logendrequest modifier
int request;
// how many request to save at once
int max_requests;
// file log
std::string log_file;
std::ofstream file;
// logging to stdout
bool log_stdout;
// how many lines there are in the buffer
int lines;
// is the config file already open
bool log_file_open;
// how many lines can be in the config buffer
// default: 5000
int max_lines;
// whether to save each line (for debug)
bool save_each_line;
void OpenFile();
char GetHEXdigit(unsigned char c);
void ToHEX(char * buf, unsigned char c);
};
template<class StringType>
void Log::LogString(const StringType & value, size_t max_size)
{
size_t min_size = value.size() < max_size ? value.size() : max_size;
if( current_level <= log_level )
{
for(size_t i=0 ; i<min_size ; ++i)
{
if( value[i] < 32 )
buffer << '.';
else
buffer << value[i];
}
}
}
template<typename char_type, size_t stack_size, size_t heap_block_size>
Log & Log::operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf)
{
if( current_level <= log_level )
buffer << buf;
return *this;
}
extern Log log;
extern Log nlog;
} // namespace Winix
// for convenience, we have to use only #include "log.h" in the winix
#include "slog.h"
#endif
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
-74
View File
@@ -1,74 +0,0 @@
# DO NOT DELETE
db.o: db.h dbbase.h dbconn.h dbtextstream.h ../../winix/core/textstream.h
db.o: ../../winix/core/misc.h ../../winix/core/item.h
db.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
db.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
db.o: ../../pikotools/textstream/textstream.h
db.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
db.o: ../../pikotools/membuffer/membuffer.h
db.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
db.o: ../../winix/core/winix_const.h ../../winix/core/error.h
db.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
db.o: dbitemquery.h ../../winix/core/item.h dbitemcolumns.h
db.o: ../../winix/core/user.h ../../winix/core/group.h
db.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
db.o: ../../winix/core/log.h ../../winix/core/textstream.h
db.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
db.o: ../../winix/core/cur.h ../../winix/core/request.h
db.o: ../../winix/core/error.h ../../winix/core/config.h
db.o: ../../winix/core/htmlfilter.h ../../winix/templates/htmltextstream.h
db.o: ../../pikotools/space/spacetojson.h ../../winix/core/session.h
db.o: ../../winix/core/user.h ../../winix/core/plugindata.h
db.o: ../../winix/core/rebus.h ../../winix/core/ipban.h
db.o: ../../winix/core/mount.h ../../winix/templates/locale.h
db.o: ../../winix/core/log.h ../../winix/core/misc.h
dbbase.o: dbbase.h dbconn.h dbtextstream.h ../../winix/core/textstream.h
dbbase.o: ../../winix/core/misc.h ../../winix/core/item.h
dbbase.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
dbbase.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbbase.o: ../../pikotools/textstream/textstream.h
dbbase.o: ../../pikotools/convert/convert.h
dbbase.o: ../../pikotools/convert/inttostr.h
dbbase.o: ../../pikotools/membuffer/membuffer.h
dbbase.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
dbbase.o: ../../winix/core/winix_const.h ../../winix/core/error.h
dbbase.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
dbbase.o: ../../winix/core/log.h ../../winix/core/misc.h
dbconn.o: dbconn.h dbtextstream.h ../../winix/core/textstream.h
dbconn.o: ../../winix/core/misc.h ../../winix/core/item.h
dbconn.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
dbconn.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbconn.o: ../../pikotools/textstream/textstream.h
dbconn.o: ../../pikotools/convert/convert.h
dbconn.o: ../../pikotools/convert/inttostr.h
dbconn.o: ../../pikotools/membuffer/membuffer.h
dbconn.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
dbconn.o: ../../winix/core/winix_const.h ../../winix/core/log.h
dbconn.o: ../../winix/core/error.h
dbitemcolumns.o: dbitemcolumns.h ../../winix/core/item.h dbbase.h dbconn.h
dbitemcolumns.o: dbtextstream.h ../../winix/core/textstream.h
dbitemcolumns.o: ../../winix/core/misc.h ../../winix/core/item.h
dbitemcolumns.o: ../../pikotools/space/space.h
dbitemcolumns.o: ../../pikotools/textstream/types.h
dbitemcolumns.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbitemcolumns.o: ../../pikotools/textstream/textstream.h
dbitemcolumns.o: ../../pikotools/convert/convert.h
dbitemcolumns.o: ../../pikotools/convert/inttostr.h
dbitemcolumns.o: ../../pikotools/membuffer/membuffer.h
dbitemcolumns.o: ../../pikotools/textstream/types.h
dbitemcolumns.o: ../../pikotools/utf8/utf8.h ../../winix/core/winix_const.h
dbitemcolumns.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
dbitemcolumns.o: ../../pikotools/space/space.h ../../winix/core/log.h
dbitemquery.o: dbitemquery.h ../../winix/core/item.h
dbtextstream.o: dbtextstream.h ../../winix/core/textstream.h
dbtextstream.o: ../../winix/core/misc.h ../../winix/core/item.h
dbtextstream.o: ../../pikotools/space/space.h
dbtextstream.o: ../../pikotools/textstream/types.h
dbtextstream.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbtextstream.o: ../../pikotools/textstream/textstream.h
dbtextstream.o: ../../pikotools/convert/convert.h
dbtextstream.o: ../../pikotools/convert/inttostr.h
dbtextstream.o: ../../pikotools/membuffer/membuffer.h
dbtextstream.o: ../../pikotools/textstream/types.h
dbtextstream.o: ../../pikotools/utf8/utf8.h ../../winix/core/winix_const.h
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
File diff suppressed because it is too large Load Diff
-37
View File
@@ -1,37 +0,0 @@
[if mount_page_arg_is "subject"][if mount_page_arg_is "info"]<h1 class="withinfo">[else]<h1>[end][item_subject]</h1>[end]
[if mount_page_arg_is "info"][include "item_info.html"][end]
[if one item_filetype_is_image]
<a href="[item_link]"><img class="catimage" [if not item_has_thumb]height="100"[end] src="[item_link]/download[if item_has_thumb]/thumb[end]" alt="[item_subject]"></a>
[# we use pre.nowinixbreak to tell the html_filter not to put a blank space into those urles]
<div>
<pre class="nowinixbreak">
{cat_image_url}: [item_link]<br>
{cat_image_thumb_url}: [item_link]/-/thumb
</pre>
</div>
[item_print_content]
[else]
[if not item_filetype_is_none]
{download}: <a href="[item_link]/download" title="[item_subject]">[item_subject]</a>
<div>
<pre class="nowinixbreak">
{cat_file_url}: [item_link]<br>
</pre>
</div>
[item_print_content]
[else]
[item_print_content]
[end]
[end]
-51
View File
@@ -1,51 +0,0 @@
<div class="winix">
<h1>{login_header}</h1>
[if user_logged]
<p>{logged_as_long}: [user_name]<br>
<a href="[doc_base_url][if dir_can_read_exec][dir][if any item_is item_can_read][item_url]/[end][else]/[end]logout">{logout}</a></p>
[else]
[if not ipban_is_login_allowed_from_this_ip]
<p>{login_cannot_login_from_this_ip}<br>
{login_cannot_login_available} [ipban_current_ip_expires_time]</p>
[else]
<form method="post" action="[login_path]login">
<div class="winix_input_b">
<input type="text" name="login">
</div>
<div class="winix_input_b">
<input type="password" name="password">
</div>
<div class="winix_input_b">
<input id="winix_login_rememberme_id" type="checkbox" name="rememberme">
<label for="winix_login_rememberme_id">{remember_me}</label>
</div>
[if login_should_use_captcha]
<div class="winix_input_a">
<label for="winix_rebus_id">{rebus_how_is_it} [rebus_question]?</label>
<input id="winix_rebus_id" type="text" name="rebus">
</div>
[end]
<input type="submit" value="{button_login}">
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
</form>
[end]
[end]
</div>
-22
View File
@@ -1,22 +0,0 @@
<div>
[if mount_page_arg_is "subject"]
[if mount_page_arg_is "info"]
<h1 class="withinfo">
[else]
<h1>
[end]
[item_subject]
</h1>
[end]
[if mount_page_arg_is "info"]
[include "item_info.html"]
[end]
[item_run]
</div>
-24
View File
@@ -1,24 +0,0 @@
<!DOCTYPE html>
[# minimalistic template]
<html lang="{language}">
<head>
<meta charset="UTF-8">
<title>[doc_title]</title>
[include "index_head_functions_add.html"]
</head>
<body>
<div>
[include "slog.html"]
[# each winix function has div.winix in its template defined -- only functions: cat and run don't have div.winix]
[# so you can easly use 'content' with your own template]
[# and when using other winix functions you automatically get proper styling]
[content]
</div>
</body>
</html>
-24
View File
@@ -1,24 +0,0 @@
<!DOCTYPE html>
[# minimalistic template]
<html lang="{language}">
<head>
<meta charset="UTF-8">
<title>[doc_title]</title>
[include "index_head_functions_add.html"]
</head>
<body>
<div>
[include "slog.html"]
[# each winix function has div.winix in its template defined -- only functions: cat and run don't have div.winix]
[# so you can easly use 'content' with your own template]
[# and when using other winix functions you automatically get proper styling]
[content]
</div>
</body>
</html>
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
-87
View File
@@ -1,87 +0,0 @@
# DO NOT DELETE
main.o: ../../winix/core/log.h ../../winix/core/textstream.h
main.o: ../../winix/core/misc.h ../../winix/core/item.h
main.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
main.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
main.o: ../../pikotools/textstream/textstream.h
main.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
main.o: ../../pikotools/membuffer/membuffer.h
main.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
main.o: ../../winix/core/winix_const.h ../../winix/core/logmanipulators.h
main.o: ../../winix/core/slog.h ../../winix/core/cur.h
main.o: ../../winix/core/request.h ../../winix/core/error.h
main.o: ../../winix/core/config.h ../../pikotools/space/spaceparser.h
main.o: ../../pikotools/space/space.h ../../winix/core/htmlfilter.h
main.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
main.o: ../../pikotools/space/spacetojson.h ../../winix/core/session.h
main.o: ../../winix/core/user.h ../../winix/core/plugindata.h
main.o: ../../winix/core/rebus.h ../../winix/core/ipban.h
main.o: ../../winix/core/mount.h ../../winix/templates/locale.h
main.o: ../../winix/core/slog.h ../../winix/core/app.h
main.o: ../../winix/core/system.h ../../winix/core/job.h
main.o: ../../winix/core/basethread.h ../../winix/core/synchro.h
main.o: ../../winix/core/dirs.h ../../winix/core/dircontainer.h
main.o: ../../winix/db/db.h ../../winix/db/dbbase.h ../../winix/db/dbconn.h
main.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
main.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
main.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
main.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
main.o: ../../winix/core/ugcontainer.h ../../winix/core/log.h
main.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
main.o: ../../winix/templates/patterns.h ../../winix/templates/locale.h
main.o: ../../winix/templates/localefilter.h ../../ezc/src/ezc.h
main.o: ../../ezc/src/generator.h ../../ezc/src/blocks.h
main.o: ../../ezc/src/cache.h ../../ezc/src/functions.h
main.o: ../../ezc/src/funinfo.h ../../ezc/src/objects.h
main.o: ../../ezc/src/pattern.h ../../ezc/src/patternparser.h
main.o: ../../winix/notify/notifythread.h ../../winix/core/basethread.h
main.o: ../../winix/notify/templatesnotify.h ../../winix/core/config.h
main.o: ../../winix/core/users.h ../../winix/core/ugcontainer.h
main.o: ../../winix/core/lastcontainer.h ../../winix/core/mounts.h
main.o: ../../winix/core/mountparser.h ../../winix/core/crypt.h
main.o: ../../winix/core/run.h ../../winix/core/users.h
main.o: ../../winix/core/groups.h ../../winix/core/group.h
main.o: ../../winix/core/loadavg.h ../../winix/core/image.h
main.o: ../../winix/core/threadmanager.h ../../winix/core/timezones.h
main.o: ../../winix/core/timezone.h ../../winix/core/sessionmanager.h
main.o: ../../winix/core/sessioncontainer.h ../../winix/core/ipbancontainer.h
main.o: ../../winix/core/sessionidmanager.h ../../tito/src/base64.h
main.o: ../../tito/src/aes.h ../../winix/functions/functions.h
main.o: ../../winix/functions/functionbase.h ../../winix/core/request.h
main.o: ../../winix/core/system.h ../../winix/core/synchro.h
main.o: ../../winix/functions/functionparser.h ../../winix/core/cur.h
main.o: ../../winix/functions/account.h ../../winix/functions/adduser.h
main.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
main.o: ../../winix/functions/privchanger.h ../../winix/functions/chown.h
main.o: ../../winix/functions/ckeditor.h ../../winix/functions/cp.h
main.o: ../../winix/functions/default.h ../../winix/functions/download.h
main.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
main.o: ../../winix/functions/imgcrop.h ../../winix/functions/last.h
main.o: ../../winix/functions/login.h ../../winix/functions/logout.h
main.o: ../../winix/functions/ln.h ../../winix/functions/ls.h
main.o: ../../winix/functions/man.h ../../winix/functions/meta.h
main.o: ../../winix/functions/mkdir.h ../../winix/functions/mv.h
main.o: ../../winix/functions/nicedit.h ../../winix/functions/node.h
main.o: ../../winix/functions/passwd.h ../../winix/functions/priv.h
main.o: ../../winix/functions/pw.h ../../winix/functions/reload.h
main.o: ../../winix/functions/rm.h ../../winix/functions/rmuser.h
main.o: ../../winix/functions/sort.h ../../winix/functions/specialdefault.h
main.o: ../../winix/functions/stat.h ../../winix/functions/subject.h
main.o: ../../winix/functions/template.h ../../winix/functions/tinymce.h
main.o: ../../winix/functions/uname.h ../../winix/functions/upload.h
main.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
main.o: ../../winix/functions/vim.h ../../winix/core/htmlfilter.h
main.o: ../../winix/templates/templates.h
main.o: ../../winix/templates/patterncacher.h
main.o: ../../winix/templates/indexpatterns.h
main.o: ../../winix/templates/patterns.h
main.o: ../../winix/templates/changepatterns.h
main.o: ../../winix/templates/htmltextstream.h
main.o: ../../winix/core/sessionmanager.h ../../winix/core/compress.h
main.o: ../../winix/core/postparser.h ../../winix/core/httpsimpleparser.h
main.o: ../../winix/core/plugin.h ../../winix/core/pluginmsg.h
main.o: ../../winix/core/cookieparser.h ../../winix/core/postmultiparser.h
main.o: ../../winix/core/acceptencodingparser.h
main.o: ../../winix/core/acceptbaseparser.h ../../winix/core/plugin.h
main.o: ../../winix/core/version.h
-1
View File
@@ -1 +0,0 @@
o = main.o
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
-232
View File
@@ -1,232 +0,0 @@
# DO NOT DELETE
notify.o: notify.h notifypool.h ../../winix/templates/locale.h
notify.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
notify.o: ../../pikotools/textstream/types.h
notify.o: ../../pikotools/textstream/textstream.h
notify.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
notify.o: ../../pikotools/convert/convert.h
notify.o: ../../pikotools/convert/inttostr.h
notify.o: ../../pikotools/membuffer/membuffer.h
notify.o: ../../pikotools/textstream/types.h ../../winix/templates/patterns.h
notify.o: ../../winix/templates/locale.h ../../winix/templates/localefilter.h
notify.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
notify.o: ../../ezc/src/blocks.h ../../ezc/src/item.h ../../ezc/src/cache.h
notify.o: ../../ezc/src/functions.h ../../pikotools/utf8/utf8.h
notify.o: ../../ezc/src/funinfo.h ../../ezc/src/objects.h
notify.o: ../../ezc/src/pattern.h ../../ezc/src/patternparser.h
notify.o: ../../winix/templates/misc.h ../../winix/templates/htmltextstream.h
notify.o: ../../winix/core/textstream.h notifythread.h
notify.o: ../../winix/core/basethread.h ../../winix/core/synchro.h
notify.o: templatesnotify.h ../../winix/core/config.h
notify.o: ../../winix/core/htmlfilter.h ../../winix/core/users.h
notify.o: ../../winix/core/user.h ../../winix/core/ugcontainer.h
notify.o: ../../winix/core/log.h ../../winix/core/textstream.h
notify.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
notify.o: ../../winix/core/cur.h ../../winix/core/request.h
notify.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
notify.o: ../../winix/core/config.h ../../winix/templates/htmltextstream.h
notify.o: ../../pikotools/space/spacetojson.h ../../winix/core/session.h
notify.o: ../../winix/core/plugindata.h ../../winix/core/rebus.h
notify.o: ../../winix/core/ipban.h ../../winix/core/mount.h
notify.o: ../../winix/core/lastcontainer.h ../../winix/db/db.h
notify.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
notify.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
notify.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
notify.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
notify.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
notify.o: ../../winix/core/ugcontainer.h ../../winix/templates/templates.h
notify.o: ../../winix/templates/patterncacher.h
notify.o: ../../winix/templates/indexpatterns.h
notify.o: ../../winix/templates/patterns.h
notify.o: ../../winix/templates/changepatterns.h ../../winix/core/cur.h
notify.o: ../../winix/core/system.h ../../winix/core/job.h
notify.o: ../../winix/core/basethread.h ../../winix/core/dirs.h
notify.o: ../../winix/core/dircontainer.h ../../winix/notify/notify.h
notify.o: ../../winix/core/mounts.h ../../winix/core/mountparser.h
notify.o: ../../winix/core/crypt.h ../../winix/core/run.h
notify.o: ../../winix/core/users.h ../../winix/core/groups.h
notify.o: ../../winix/core/group.h ../../winix/core/loadavg.h
notify.o: ../../winix/core/image.h ../../winix/core/threadmanager.h
notify.o: ../../winix/core/timezones.h ../../winix/core/timezone.h
notify.o: ../../winix/core/sessionmanager.h
notify.o: ../../winix/core/sessioncontainer.h
notify.o: ../../winix/core/ipbancontainer.h ../../winix/core/system.h
notify.o: ../../winix/core/sessionidmanager.h ../../tito/src/base64.h
notify.o: ../../tito/src/aes.h ../../winix/core/htmlfilter.h
notify.o: ../../winix/core/request.h ../../winix/core/dirs.h
notify.o: ../../winix/core/plugin.h ../../winix/core/pluginmsg.h
notify.o: ../../winix/core/sessionmanager.h ../../winix/functions/functions.h
notify.o: ../../winix/functions/functionbase.h ../../winix/core/synchro.h
notify.o: ../../winix/functions/functionparser.h
notify.o: ../../winix/functions/account.h ../../winix/functions/adduser.h
notify.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
notify.o: ../../winix/functions/privchanger.h ../../winix/functions/chown.h
notify.o: ../../winix/functions/ckeditor.h ../../winix/functions/cp.h
notify.o: ../../winix/functions/default.h ../../winix/functions/download.h
notify.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
notify.o: ../../winix/functions/imgcrop.h ../../winix/functions/last.h
notify.o: ../../winix/functions/login.h ../../winix/functions/logout.h
notify.o: ../../winix/functions/ln.h ../../winix/functions/ls.h
notify.o: ../../winix/functions/man.h ../../winix/functions/meta.h
notify.o: ../../winix/functions/mkdir.h ../../winix/functions/mv.h
notify.o: ../../winix/functions/nicedit.h ../../winix/functions/node.h
notify.o: ../../winix/functions/passwd.h ../../winix/functions/priv.h
notify.o: ../../winix/functions/pw.h ../../winix/functions/reload.h
notify.o: ../../winix/functions/rm.h ../../winix/functions/rmuser.h
notify.o: ../../winix/functions/sort.h ../../winix/functions/specialdefault.h
notify.o: ../../winix/functions/stat.h ../../winix/functions/subject.h
notify.o: ../../winix/functions/template.h ../../winix/functions/tinymce.h
notify.o: ../../winix/functions/uname.h ../../winix/functions/upload.h
notify.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
notify.o: ../../winix/functions/vim.h
notifypool.o: notifypool.h ../../winix/templates/locale.h
notifypool.o: ../../pikotools/space/spaceparser.h
notifypool.o: ../../pikotools/space/space.h
notifypool.o: ../../pikotools/textstream/types.h
notifypool.o: ../../pikotools/textstream/textstream.h
notifypool.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
notifypool.o: ../../pikotools/convert/convert.h
notifypool.o: ../../pikotools/convert/inttostr.h
notifypool.o: ../../pikotools/membuffer/membuffer.h
notifypool.o: ../../pikotools/textstream/types.h
notifythread.o: notifythread.h ../../winix/core/basethread.h
notifythread.o: ../../winix/core/synchro.h templatesnotify.h
notifythread.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
notifythread.o: ../../ezc/src/blocks.h ../../ezc/src/item.h
notifythread.o: ../../ezc/src/cache.h ../../ezc/src/functions.h
notifythread.o: ../../pikotools/utf8/utf8.h ../../ezc/src/funinfo.h
notifythread.o: ../../ezc/src/objects.h ../../ezc/src/pattern.h
notifythread.o: ../../ezc/src/patternparser.h ../../winix/core/textstream.h
notifythread.o: ../../winix/templates/misc.h
notifythread.o: ../../winix/templates/localefilter.h
notifythread.o: ../../winix/templates/locale.h
notifythread.o: ../../winix/templates/htmltextstream.h
notifythread.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
notifythread.o: ../../pikotools/textstream/textstream.h
notifythread.o: ../../pikotools/convert/convert.h
notifythread.o: ../../pikotools/convert/inttostr.h
notifythread.o: ../../pikotools/membuffer/membuffer.h
notifythread.o: ../../pikotools/textstream/types.h notifypool.h
notifythread.o: ../../winix/templates/locale.h
notifythread.o: ../../pikotools/space/spaceparser.h
notifythread.o: ../../pikotools/space/space.h
notifythread.o: ../../pikotools/textstream/types.h ../../winix/core/config.h
notifythread.o: ../../winix/core/htmlfilter.h ../../winix/core/users.h
notifythread.o: ../../winix/core/user.h ../../winix/core/ugcontainer.h
notifythread.o: ../../winix/core/log.h ../../winix/core/textstream.h
notifythread.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
notifythread.o: ../../winix/core/cur.h ../../winix/core/request.h
notifythread.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
notifythread.o: ../../winix/core/config.h
notifythread.o: ../../winix/templates/htmltextstream.h
notifythread.o: ../../pikotools/space/spacetojson.h
notifythread.o: ../../winix/core/session.h ../../winix/core/plugindata.h
notifythread.o: ../../winix/core/rebus.h ../../winix/core/ipban.h
notifythread.o: ../../winix/core/mount.h ../../winix/core/lastcontainer.h
notifythread.o: ../../winix/db/db.h ../../winix/db/dbbase.h
notifythread.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
notifythread.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
notifythread.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
notifythread.o: ../../winix/core/user.h ../../winix/core/group.h
notifythread.o: ../../winix/core/dircontainer.h
notifythread.o: ../../winix/core/ugcontainer.h
notifythread.o: ../../winix/templates/patterns.h
templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h
templatesnotify.o: ../../ezc/src/generator.h ../../ezc/src/blocks.h
templatesnotify.o: ../../ezc/src/item.h ../../ezc/src/cache.h
templatesnotify.o: ../../ezc/src/functions.h ../../pikotools/utf8/utf8.h
templatesnotify.o: ../../ezc/src/funinfo.h ../../ezc/src/objects.h
templatesnotify.o: ../../ezc/src/pattern.h ../../ezc/src/patternparser.h
templatesnotify.o: ../../winix/core/textstream.h ../../winix/templates/misc.h
templatesnotify.o: ../../winix/templates/localefilter.h
templatesnotify.o: ../../winix/templates/locale.h
templatesnotify.o: ../../winix/templates/htmltextstream.h
templatesnotify.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
templatesnotify.o: ../../pikotools/textstream/textstream.h
templatesnotify.o: ../../pikotools/convert/convert.h
templatesnotify.o: ../../pikotools/convert/inttostr.h
templatesnotify.o: ../../pikotools/membuffer/membuffer.h
templatesnotify.o: ../../pikotools/textstream/types.h notifypool.h
templatesnotify.o: ../../winix/templates/locale.h
templatesnotify.o: ../../pikotools/space/spaceparser.h
templatesnotify.o: ../../pikotools/space/space.h
templatesnotify.o: ../../pikotools/textstream/types.h
templatesnotify.o: ../../winix/core/plugin.h ../../winix/core/pluginmsg.h
templatesnotify.o: ../../winix/core/log.h ../../winix/core/textstream.h
templatesnotify.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
templatesnotify.o: ../../winix/core/cur.h ../../winix/core/request.h
templatesnotify.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
templatesnotify.o: ../../winix/core/config.h
templatesnotify.o: ../../winix/templates/htmltextstream.h
templatesnotify.o: ../../pikotools/space/spacetojson.h
templatesnotify.o: ../../winix/core/session.h ../../winix/core/user.h
templatesnotify.o: ../../winix/core/plugindata.h ../../winix/core/rebus.h
templatesnotify.o: ../../winix/core/ipban.h ../../winix/core/mount.h
templatesnotify.o: ../../winix/core/system.h
templatesnotify.o: ../../winix/core/sessionmanager.h
templatesnotify.o: ../../winix/core/synchro.h
templatesnotify.o: ../../winix/functions/functions.h
templatesnotify.o: ../../winix/functions/functionbase.h
templatesnotify.o: ../../winix/core/item.h ../../winix/db/db.h
templatesnotify.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
templatesnotify.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
templatesnotify.o: ../../winix/db/dbitemquery.h
templatesnotify.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
templatesnotify.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
templatesnotify.o: ../../winix/core/ugcontainer.h ../../winix/core/request.h
templatesnotify.o: ../../winix/core/config.h ../../winix/core/htmlfilter.h
templatesnotify.o: ../../winix/core/system.h ../../winix/core/job.h
templatesnotify.o: ../../winix/core/basethread.h ../../winix/core/dirs.h
templatesnotify.o: ../../winix/core/dircontainer.h
templatesnotify.o: ../../winix/notify/notify.h ../../winix/core/mounts.h
templatesnotify.o: ../../winix/core/mountparser.h ../../winix/core/crypt.h
templatesnotify.o: ../../winix/core/run.h ../../winix/core/users.h
templatesnotify.o: ../../winix/core/groups.h ../../winix/core/group.h
templatesnotify.o: ../../winix/core/ugcontainer.h ../../winix/core/loadavg.h
templatesnotify.o: ../../winix/core/image.h ../../winix/core/threadmanager.h
templatesnotify.o: ../../winix/core/timezones.h ../../winix/core/timezone.h
templatesnotify.o: ../../winix/core/synchro.h
templatesnotify.o: ../../winix/functions/functionparser.h
templatesnotify.o: ../../winix/core/cur.h ../../winix/functions/account.h
templatesnotify.o: ../../winix/functions/adduser.h
templatesnotify.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
templatesnotify.o: ../../winix/functions/privchanger.h
templatesnotify.o: ../../winix/functions/chown.h
templatesnotify.o: ../../winix/functions/ckeditor.h
templatesnotify.o: ../../winix/functions/cp.h ../../winix/functions/default.h
templatesnotify.o: ../../winix/functions/download.h
templatesnotify.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
templatesnotify.o: ../../winix/functions/imgcrop.h
templatesnotify.o: ../../winix/functions/last.h ../../winix/functions/login.h
templatesnotify.o: ../../winix/functions/logout.h ../../winix/functions/ln.h
templatesnotify.o: ../../winix/functions/ls.h ../../winix/functions/man.h
templatesnotify.o: ../../winix/functions/meta.h ../../winix/functions/mkdir.h
templatesnotify.o: ../../winix/functions/mv.h ../../winix/functions/nicedit.h
templatesnotify.o: ../../winix/functions/node.h
templatesnotify.o: ../../winix/functions/passwd.h
templatesnotify.o: ../../winix/functions/priv.h ../../winix/functions/pw.h
templatesnotify.o: ../../winix/functions/reload.h ../../winix/functions/rm.h
templatesnotify.o: ../../winix/functions/rmuser.h
templatesnotify.o: ../../winix/functions/sort.h
templatesnotify.o: ../../winix/functions/specialdefault.h
templatesnotify.o: ../../winix/functions/stat.h
templatesnotify.o: ../../winix/functions/subject.h
templatesnotify.o: ../../winix/functions/template.h
templatesnotify.o: ../../winix/functions/tinymce.h
templatesnotify.o: ../../winix/functions/uname.h
templatesnotify.o: ../../winix/functions/upload.h
templatesnotify.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
templatesnotify.o: ../../winix/functions/vim.h ../../winix/core/htmlfilter.h
templatesnotify.o: ../../winix/templates/templates.h
templatesnotify.o: ../../winix/templates/patterncacher.h
templatesnotify.o: ../../winix/templates/indexpatterns.h
templatesnotify.o: ../../winix/templates/patterns.h
templatesnotify.o: ../../winix/templates/changepatterns.h
templatesnotify.o: ../../winix/core/sessionmanager.h
templatesnotify.o: ../../winix/core/sessioncontainer.h
templatesnotify.o: ../../winix/core/ipbancontainer.h
templatesnotify.o: ../../winix/core/lastcontainer.h
templatesnotify.o: ../../winix/core/sessionidmanager.h
templatesnotify.o: ../../tito/src/base64.h ../../tito/src/aes.h
templatesnotify.o: ../../winix/core/misc.h ../../winix/core/winix_const.h
-1
View File
@@ -1 +0,0 @@
o = notify.o notifypool.o notifythread.o templatesnotify.o
-30
View File
@@ -1,30 +0,0 @@
include Makefile.o.dep
name = export.so
all: $(name)
# -lcurl is used when linking the main winix.so so we don't have to use it here
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-263
View File
@@ -1,263 +0,0 @@
# DO NOT DELETE
edb.o: edb.h ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
edb.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
edb.o: ../../../winix/core/misc.h ../../../winix/core/item.h
edb.o: ../../../pikotools/space/space.h ../../../pikotools/textstream/types.h
edb.o: ../../../pikotools/date/date.h ../../../winix/core/requesttypes.h
edb.o: ../../../pikotools/textstream/textstream.h
edb.o: ../../../pikotools/convert/convert.h
edb.o: ../../../pikotools/convert/inttostr.h
edb.o: ../../../pikotools/membuffer/membuffer.h
edb.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
edb.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
edb.o: ../../../pikotools/space/spaceparser.h
edb.o: ../../../pikotools/space/space.h export.h ../../../winix/core/dirs.h
edb.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
edb.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
edb.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
edb.o: ../../../winix/core/user.h ../../../winix/core/group.h
edb.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
edb.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
edb.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
edb.o: ../../../winix/core/cur.h ../../../winix/core/request.h
edb.o: ../../../winix/core/error.h ../../../winix/core/config.h
edb.o: ../../../winix/core/htmlfilter.h
edb.o: ../../../winix/templates/htmltextstream.h
edb.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
edb.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
edb.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
edb.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
edb.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
edb.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
edb.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
edb.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
edb.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
edb.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
edb.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
edb.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
edb.o: ../../../winix/core/synchro.h ../../../winix/notify/templatesnotify.h
edb.o: ../../../winix/core/config.h ../../../winix/core/users.h
edb.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
edb.o: ../../../winix/core/log.h
exportinfo.o: ../../../winix/core/log.h exportinfo.h
exportinfo.o: ../../../winix/core/system.h ../../../winix/core/job.h
exportinfo.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
exportinfo.o: ../../../pikotools/space/space.h
exportinfo.o: ../../../pikotools/textstream/types.h
exportinfo.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
exportinfo.o: ../../../pikotools/date/date.h
exportinfo.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
exportinfo.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
exportinfo.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
exportinfo.o: ../../../winix/core/user.h ../../../winix/core/group.h
exportinfo.o: ../../../winix/core/dircontainer.h
exportinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
exportinfo.o: ../../../winix/core/textstream.h
exportinfo.o: ../../../winix/core/logmanipulators.h
exportinfo.o: ../../../pikotools/textstream/textstream.h
exportinfo.o: ../../../pikotools/convert/convert.h
exportinfo.o: ../../../pikotools/convert/inttostr.h
exportinfo.o: ../../../pikotools/membuffer/membuffer.h
exportinfo.o: ../../../pikotools/textstream/types.h
exportinfo.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
exportinfo.o: ../../../winix/core/request.h
exportinfo.o: ../../../winix/core/requesttypes.h ../../../winix/core/error.h
exportinfo.o: ../../../winix/core/config.h
exportinfo.o: ../../../pikotools/space/spaceparser.h
exportinfo.o: ../../../pikotools/space/space.h
exportinfo.o: ../../../winix/core/htmlfilter.h
exportinfo.o: ../../../winix/templates/htmltextstream.h
exportinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
exportinfo.o: ../../../pikotools/utf8/utf8.h
exportinfo.o: ../../../winix/core/winix_const.h
exportinfo.o: ../../../pikotools/space/spacetojson.h
exportinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
exportinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
exportinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
exportinfo.o: ../../../winix/templates/locale.h
exportinfo.o: ../../../winix/notify/notify.h
exportinfo.o: ../../../winix/notify/notifypool.h
exportinfo.o: ../../../winix/templates/patterns.h
exportinfo.o: ../../../winix/templates/locale.h
exportinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
exportinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
exportinfo.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
exportinfo.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
exportinfo.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
exportinfo.o: ../../../winix/notify/notifythread.h
exportinfo.o: ../../../winix/core/basethread.h
exportinfo.o: ../../../winix/notify/templatesnotify.h
exportinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
exportinfo.o: ../../../winix/core/ugcontainer.h
exportinfo.o: ../../../winix/core/lastcontainer.h
exportinfo.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
exportinfo.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
exportinfo.o: ../../../winix/core/users.h ../../../winix/core/groups.h
exportinfo.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
exportinfo.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
exportinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
exportinfo.o: export.h edb.h ../../../winix/db/dbbase.h
exportinfo.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
exportinfo.o: ../../../winix/core/error.h ../../../winix/core/dirs.h
exportinfo.o: message.h exportthread.h
exportthread.o: exportthread.h ../../../winix/core/basethread.h
exportthread.o: ../../../winix/core/synchro.h message.h
exportthread.o: ../../../winix/core/log.h ../../../winix/core/misc.h
exportthread.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
exportthread.o: ../../../pikotools/textstream/types.h
exportthread.o: ../../../pikotools/date/date.h
exportthread.o: ../../../winix/core/requesttypes.h
exportthread.o: ../../../pikotools/textstream/textstream.h
exportthread.o: ../../../pikotools/convert/convert.h
exportthread.o: ../../../pikotools/convert/inttostr.h
exportthread.o: ../../../pikotools/membuffer/membuffer.h
exportthread.o: ../../../pikotools/textstream/types.h
exportthread.o: ../../../pikotools/utf8/utf8.h
exportthread.o: ../../../winix/core/winix_const.h
funexport.o: funexport.h ../../../winix/functions/functionbase.h
funexport.o: ../../../winix/core/item.h ../../../winix/db/db.h
funexport.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
funexport.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
funexport.o: ../../../pikotools/space/space.h
funexport.o: ../../../pikotools/textstream/types.h
funexport.o: ../../../pikotools/date/date.h ../../../winix/core/group.h
funexport.o: ../../../winix/core/dircontainer.h
funexport.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
funexport.o: ../../../winix/core/textstream.h
funexport.o: ../../../winix/core/logmanipulators.h
funexport.o: ../../../pikotools/textstream/textstream.h
funexport.o: ../../../pikotools/convert/convert.h
funexport.o: ../../../pikotools/convert/inttostr.h
funexport.o: ../../../pikotools/membuffer/membuffer.h
funexport.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
funexport.o: ../../../winix/core/cur.h ../../../winix/core/request.h
funexport.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
funexport.o: ../../../winix/core/error.h ../../../winix/core/config.h
funexport.o: ../../../pikotools/space/spaceparser.h
funexport.o: ../../../pikotools/space/space.h
funexport.o: ../../../winix/core/htmlfilter.h
funexport.o: ../../../winix/templates/htmltextstream.h
funexport.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
funexport.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
funexport.o: ../../../pikotools/space/spacetojson.h
funexport.o: ../../../winix/core/session.h ../../../winix/core/user.h
funexport.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
funexport.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
funexport.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
funexport.o: ../../../winix/core/config.h ../../../winix/core/system.h
funexport.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
funexport.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
funexport.o: ../../../winix/core/dircontainer.h
funexport.o: ../../../winix/notify/notify.h
funexport.o: ../../../winix/notify/notifypool.h
funexport.o: ../../../winix/templates/patterns.h
funexport.o: ../../../winix/templates/locale.h
funexport.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
funexport.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
funexport.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
funexport.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
funexport.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
funexport.o: ../../../winix/notify/notifythread.h
funexport.o: ../../../winix/core/basethread.h
funexport.o: ../../../winix/notify/templatesnotify.h
funexport.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
funexport.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
funexport.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
funexport.o: ../../../winix/core/run.h ../../../winix/core/users.h
funexport.o: ../../../winix/core/groups.h ../../../winix/core/group.h
funexport.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
funexport.o: ../../../winix/core/threadmanager.h
funexport.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
funexport.o: ../../../winix/core/synchro.h exportinfo.h export.h edb.h
funexport.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
funexport.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
funexport.o: ../../../winix/core/dirs.h message.h exportthread.h
init.o: ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/notify/notify.h
init.o: ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h
init.o: ../../../winix/core/groups.h ../../../winix/core/group.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h exportthread.h message.h
init.o: exportinfo.h export.h edb.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/core/dirs.h funexport.h
init.o: ../../../winix/functions/functionbase.h
-1
View File
@@ -1 +0,0 @@
o = edb.o exportinfo.o exportthread.o funexport.o init.o
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = gallery.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-251
View File
@@ -1,251 +0,0 @@
# DO NOT DELETE
gallery.o: gallery.h ../../../winix/functions/functionbase.h
gallery.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
gallery.o: ../../../pikotools/textstream/types.h
gallery.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
gallery.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
gallery.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
gallery.o: ../../../winix/core/misc.h ../../../winix/core/item.h
gallery.o: ../../../winix/core/requesttypes.h
gallery.o: ../../../pikotools/textstream/textstream.h
gallery.o: ../../../pikotools/convert/convert.h
gallery.o: ../../../pikotools/convert/inttostr.h
gallery.o: ../../../pikotools/membuffer/membuffer.h
gallery.o: ../../../pikotools/textstream/types.h
gallery.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
gallery.o: ../../../winix/core/error.h ../../../pikotools/space/spaceparser.h
gallery.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
gallery.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
gallery.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
gallery.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
gallery.o: ../../../winix/core/textstream.h
gallery.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
gallery.o: ../../../winix/core/cur.h ../../../winix/core/request.h
gallery.o: ../../../winix/core/error.h ../../../winix/core/config.h
gallery.o: ../../../winix/core/htmlfilter.h
gallery.o: ../../../winix/templates/htmltextstream.h
gallery.o: ../../../pikotools/space/spacetojson.h
gallery.o: ../../../winix/core/session.h ../../../winix/core/user.h
gallery.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
gallery.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
gallery.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
gallery.o: ../../../winix/core/config.h ../../../winix/core/system.h
gallery.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
gallery.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
gallery.o: ../../../winix/core/dircontainer.h ../../../winix/notify/notify.h
gallery.o: ../../../winix/notify/notifypool.h
gallery.o: ../../../winix/templates/patterns.h
gallery.o: ../../../winix/templates/locale.h
gallery.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
gallery.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
gallery.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
gallery.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
gallery.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
gallery.o: ../../../winix/notify/notifythread.h
gallery.o: ../../../winix/core/basethread.h
gallery.o: ../../../winix/notify/templatesnotify.h
gallery.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
gallery.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
gallery.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
gallery.o: ../../../winix/core/run.h ../../../winix/core/users.h
gallery.o: ../../../winix/core/groups.h ../../../winix/core/group.h
gallery.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
gallery.o: ../../../winix/core/threadmanager.h
gallery.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
gallery.o: ../../../winix/core/synchro.h galleryinfo.h
galleryinfo.o: galleryinfo.h ../../../winix/core/item.h
galleryinfo.o: ../../../pikotools/space/space.h
galleryinfo.o: ../../../pikotools/textstream/types.h
galleryinfo.o: ../../../pikotools/date/date.h
init.o: gallery.h ../../../winix/functions/functionbase.h
init.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/synchro.h galleryinfo.h ../../../winix/core/log.h
init.o: ../../../winix/core/plugin.h ../../../winix/core/pluginmsg.h
init.o: ../../../winix/core/system.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h
templates.o: gallery.h ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
templates.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
templates.o: ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
templates.o: ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
templates.o: ../../../winix/core/config.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/dircontainer.h
templates.o: ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
templates.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/synchro.h galleryinfo.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/templates/miscspace.h
templates.o: ../../../winix/templates/templates.h
-1
View File
@@ -1 +0,0 @@
o = gallery.o galleryinfo.o init.o templates.o
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = group.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-245
View File
@@ -1,245 +0,0 @@
# DO NOT DELETE
groupinfo.o: groupinfo.h groups.h ../../../pikotools/space/spaceparser.h
groupinfo.o: ../../../pikotools/space/space.h
groupinfo.o: ../../../pikotools/textstream/types.h ../../../winix/core/item.h
groupinfo.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
groupinfo.o: ../../../winix/core/system.h ../../../winix/core/job.h
groupinfo.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
groupinfo.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
groupinfo.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
groupinfo.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
groupinfo.o: ../../../winix/db/dbtextstream.h
groupinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
groupinfo.o: ../../../winix/core/requesttypes.h
groupinfo.o: ../../../pikotools/textstream/textstream.h
groupinfo.o: ../../../pikotools/convert/convert.h
groupinfo.o: ../../../pikotools/convert/inttostr.h
groupinfo.o: ../../../pikotools/membuffer/membuffer.h
groupinfo.o: ../../../pikotools/textstream/types.h
groupinfo.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
groupinfo.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
groupinfo.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
groupinfo.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
groupinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
groupinfo.o: ../../../winix/core/textstream.h
groupinfo.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
groupinfo.o: ../../../winix/core/cur.h ../../../winix/core/request.h
groupinfo.o: ../../../winix/core/error.h ../../../winix/core/config.h
groupinfo.o: ../../../winix/core/htmlfilter.h
groupinfo.o: ../../../winix/templates/htmltextstream.h
groupinfo.o: ../../../pikotools/space/spacetojson.h
groupinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
groupinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
groupinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
groupinfo.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
groupinfo.o: ../../../winix/notify/notifypool.h
groupinfo.o: ../../../winix/templates/patterns.h
groupinfo.o: ../../../winix/templates/locale.h
groupinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
groupinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
groupinfo.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
groupinfo.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
groupinfo.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
groupinfo.o: ../../../winix/notify/notifythread.h
groupinfo.o: ../../../winix/core/basethread.h
groupinfo.o: ../../../winix/notify/templatesnotify.h
groupinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
groupinfo.o: ../../../winix/core/ugcontainer.h
groupinfo.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
groupinfo.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
groupinfo.o: ../../../winix/core/run.h ../../../winix/core/users.h
groupinfo.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
groupinfo.o: ../../../winix/core/threadmanager.h
groupinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
groupinfo.o: ../../../winix/core/log.h
groups.o: groups.h ../../../pikotools/space/spaceparser.h
groups.o: ../../../pikotools/space/space.h
groups.o: ../../../pikotools/textstream/types.h ../../../winix/core/log.h
init.o: ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
init.o: ../../../winix/core/user.h ../../../winix/core/group.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h groups.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h groupinfo.h
templates.o: ../../../winix/templates/templates.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
templates.o: ../../../winix/core/item.h ../../../ezc/src/cache.h
templates.o: ../../../ezc/src/functions.h ../../../pikotools/utf8/utf8.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../winix/core/winix_const.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/core/item.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/templates/localefilter.h
templates.o: ../../../winix/core/config.h ../../../winix/core/cur.h
templates.o: ../../../winix/core/system.h ../../../winix/core/job.h
templates.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
templates.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h groups.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h groupinfo.h
templates.o: ../../../winix/core/misc.h
-1
View File
@@ -1 +0,0 @@
o = groupinfo.o groups.o init.o templates.o
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = menu.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-232
View File
@@ -1,232 +0,0 @@
# DO NOT DELETE
cache.o: cache.h ../../../winix/core/item.h ../../../pikotools/space/space.h
cache.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
cache.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
cache.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
cache.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
cache.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
cache.o: ../../../winix/core/misc.h ../../../winix/core/requesttypes.h
cache.o: ../../../pikotools/textstream/textstream.h
cache.o: ../../../pikotools/convert/convert.h
cache.o: ../../../pikotools/convert/inttostr.h
cache.o: ../../../pikotools/membuffer/membuffer.h
cache.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
cache.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
cache.o: ../../../pikotools/space/spaceparser.h
cache.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
cache.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
cache.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
cache.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
cache.o: ../../../winix/core/textstream.h
cache.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
cache.o: ../../../winix/core/cur.h ../../../winix/core/request.h
cache.o: ../../../winix/core/error.h ../../../winix/core/config.h
cache.o: ../../../winix/core/htmlfilter.h
cache.o: ../../../winix/templates/htmltextstream.h
cache.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
cache.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
cache.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
cache.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
cache.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
cache.o: ../../../winix/templates/patterns.h
cache.o: ../../../winix/templates/locale.h
cache.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
cache.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
cache.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
cache.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
cache.o: ../../../ezc/src/patternparser.h
cache.o: ../../../winix/notify/notifythread.h
cache.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
cache.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
cache.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
cache.o: ../../../winix/core/lastcontainer.h ../../../winix/core/misc.h
init.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/plugin.h ../../../winix/core/pluginmsg.h
init.o: ../../../winix/core/log.h ../../../winix/core/system.h
init.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
init.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
init.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
init.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/notify/notify.h
init.o: ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h cache.h
init.o: ../../../winix/core/dirs.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/objects.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h
init.o: ../../../winix/core/groups.h ../../../winix/core/group.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/templates/templates.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
templates.o: ../../../winix/core/item.h cache.h ../../../winix/core/item.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
templates.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
templates.o: ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
templates.o: ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/config.h ../../../winix/core/users.h
templates.o: ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../ezc/src/pattern.h
templates.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
templates.o: ../../../ezc/src/objects.h ../../../ezc/src/patternparser.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/dirs.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/log.h
templates.o: ../../../winix/core/misc.h ../../../winix/templates/miscspace.h
templates.o: ../../../winix/templates/templates.h
-1
View File
@@ -1 +0,0 @@
o = cache.o init.o templates.o
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = stats.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-215
View File
@@ -1,215 +0,0 @@
# DO NOT DELETE
bot.o: bot.h
init.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/misc.h ../../../winix/core/item.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../../winix/core/winix_const.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
init.o: ../../../winix/core/user.h ../../../winix/core/group.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/log.h bot.h stats.h templates.h
init.o: ../../../winix/core/plugin.h ../../../winix/core/pluginmsg.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/system.h
init.o: ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h statssession.h
init.o: ../../../winix/core/plugindata.h
stats.o: stats.h ../../../winix/core/config.h ../../../winix/core/log.h
stats.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
stats.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
stats.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
stats.o: ../../../winix/core/requesttypes.h
stats.o: ../../../pikotools/textstream/textstream.h
stats.o: ../../../pikotools/convert/convert.h
stats.o: ../../../pikotools/convert/inttostr.h
stats.o: ../../../pikotools/membuffer/membuffer.h
stats.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
stats.o: ../../../winix/core/winix_const.h
stats.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
stats.o: ../../../winix/core/cur.h ../../../winix/core/request.h
stats.o: ../../../winix/core/error.h ../../../winix/core/config.h
stats.o: ../../../pikotools/space/spaceparser.h
stats.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
stats.o: ../../../winix/templates/htmltextstream.h
stats.o: ../../../winix/core/textstream.h
stats.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
stats.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
stats.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
stats.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
templates.o: templates.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/config.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/core/request.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h ../../../winix/core/item.h
templates.o: ../../../winix/core/error.h ../../../winix/core/textstream.h
templates.o: ../../../winix/core/misc.h ../../../pikotools/utf8/utf8.h
templates.o: ../../../winix/core/winix_const.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/system.h ../../../winix/core/job.h
templates.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
templates.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
templates.o: ../../../winix/core/user.h ../../../winix/core/group.h
templates.o: ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
templates.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/config.h ../../../winix/core/users.h
templates.o: ../../../winix/core/user.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/cur.h
templates.o: ../../../winix/core/session.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
templates.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
templates.o: ../../../winix/core/users.h ../../../winix/core/groups.h
templates.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
templates.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/system.h
templates.o: ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h ../../../winix/core/misc.h
templates.o: stats.h ../../../winix/templates/misc.h
-1
View File
@@ -1 +0,0 @@
o = bot.o init.o stats.o templates.o
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = thread.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-620
View File
@@ -1,620 +0,0 @@
# DO NOT DELETE
createthread.o: createthread.h ../../../winix/functions/functionbase.h
createthread.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
createthread.o: ../../../pikotools/textstream/types.h
createthread.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
createthread.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
createthread.o: ../../../winix/db/dbtextstream.h
createthread.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
createthread.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
createthread.o: ../../../pikotools/textstream/textstream.h
createthread.o: ../../../pikotools/convert/convert.h
createthread.o: ../../../pikotools/convert/inttostr.h
createthread.o: ../../../pikotools/membuffer/membuffer.h
createthread.o: ../../../pikotools/textstream/types.h
createthread.o: ../../../pikotools/utf8/utf8.h
createthread.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
createthread.o: ../../../pikotools/space/spaceparser.h
createthread.o: ../../../pikotools/space/space.h
createthread.o: ../../../winix/db/dbitemquery.h
createthread.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
createthread.o: ../../../winix/core/group.h
createthread.o: ../../../winix/core/dircontainer.h
createthread.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
createthread.o: ../../../winix/core/textstream.h
createthread.o: ../../../winix/core/logmanipulators.h
createthread.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
createthread.o: ../../../winix/core/request.h ../../../winix/core/error.h
createthread.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
createthread.o: ../../../winix/templates/htmltextstream.h
createthread.o: ../../../pikotools/space/spacetojson.h
createthread.o: ../../../winix/core/session.h ../../../winix/core/user.h
createthread.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
createthread.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
createthread.o: ../../../winix/templates/locale.h
createthread.o: ../../../winix/core/request.h ../../../winix/core/config.h
createthread.o: ../../../winix/core/system.h ../../../winix/core/job.h
createthread.o: ../../../winix/core/basethread.h
createthread.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
createthread.o: ../../../winix/core/dircontainer.h
createthread.o: ../../../winix/notify/notify.h
createthread.o: ../../../winix/notify/notifypool.h
createthread.o: ../../../winix/templates/patterns.h
createthread.o: ../../../winix/templates/locale.h
createthread.o: ../../../winix/templates/localefilter.h
createthread.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
createthread.o: ../../../ezc/src/blocks.h ../../../ezc/src/cache.h
createthread.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
createthread.o: ../../../ezc/src/objects.h ../../../ezc/src/pattern.h
createthread.o: ../../../ezc/src/patternparser.h
createthread.o: ../../../winix/notify/notifythread.h
createthread.o: ../../../winix/core/basethread.h
createthread.o: ../../../winix/notify/templatesnotify.h
createthread.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
createthread.o: ../../../winix/core/lastcontainer.h
createthread.o: ../../../winix/core/mounts.h
createthread.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
createthread.o: ../../../winix/core/run.h ../../../winix/core/users.h
createthread.o: ../../../winix/core/groups.h ../../../winix/core/group.h
createthread.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
createthread.o: ../../../winix/core/threadmanager.h
createthread.o: ../../../winix/core/timezones.h
createthread.o: ../../../winix/core/timezone.h ../../../winix/core/synchro.h
createthread.o: tdb.h thread.h ../../../winix/db/dbbase.h threadinfo.h
createthread.o: ../../../winix/functions/functions.h
createthread.o: ../../../winix/functions/functionbase.h
createthread.o: ../../../winix/functions/functionparser.h
createthread.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
createthread.o: ../../../winix/functions/adduser.h
createthread.o: ../../../winix/functions/cat.h
createthread.o: ../../../winix/functions/chmod.h
createthread.o: ../../../winix/functions/privchanger.h
createthread.o: ../../../winix/functions/chown.h
createthread.o: ../../../winix/functions/ckeditor.h
createthread.o: ../../../winix/functions/cp.h
createthread.o: ../../../winix/functions/default.h
createthread.o: ../../../winix/functions/download.h
createthread.o: ../../../winix/functions/emacs.h
createthread.o: ../../../winix/functions/env.h
createthread.o: ../../../winix/functions/imgcrop.h
createthread.o: ../../../winix/functions/last.h
createthread.o: ../../../winix/functions/login.h
createthread.o: ../../../winix/functions/logout.h
createthread.o: ../../../winix/functions/ln.h ../../../winix/functions/ls.h
createthread.o: ../../../winix/functions/man.h
createthread.o: ../../../winix/functions/meta.h
createthread.o: ../../../winix/functions/mkdir.h
createthread.o: ../../../winix/functions/mv.h
createthread.o: ../../../winix/functions/nicedit.h
createthread.o: ../../../winix/functions/node.h
createthread.o: ../../../winix/functions/passwd.h
createthread.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
createthread.o: ../../../winix/functions/reload.h
createthread.o: ../../../winix/functions/rm.h
createthread.o: ../../../winix/functions/rmuser.h
createthread.o: ../../../winix/functions/sort.h
createthread.o: ../../../winix/functions/specialdefault.h
createthread.o: ../../../winix/functions/stat.h
createthread.o: ../../../winix/functions/subject.h
createthread.o: ../../../winix/functions/template.h
createthread.o: ../../../winix/functions/tinymce.h
createthread.o: ../../../winix/functions/uname.h
createthread.o: ../../../winix/functions/upload.h
createthread.o: ../../../winix/functions/uptime.h
createthread.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
createthread.o: ../../../winix/core/htmlfilter.h
funthread.o: ../../../winix/core/misc.h ../../../winix/core/item.h
funthread.o: ../../../winix/core/requesttypes.h
funthread.o: ../../../pikotools/textstream/textstream.h
funthread.o: ../../../pikotools/space/space.h
funthread.o: ../../../pikotools/textstream/types.h
funthread.o: ../../../pikotools/date/date.h
funthread.o: ../../../pikotools/convert/convert.h
funthread.o: ../../../pikotools/convert/inttostr.h
funthread.o: ../../../pikotools/membuffer/membuffer.h
funthread.o: ../../../pikotools/textstream/types.h
funthread.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
funthread.o: funthread.h ../../../winix/functions/functionbase.h
funthread.o: ../../../winix/core/item.h ../../../winix/db/db.h
funthread.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
funthread.o: ../../../winix/db/dbtextstream.h
funthread.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
funthread.o: ../../../winix/core/error.h
funthread.o: ../../../pikotools/space/spaceparser.h
funthread.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
funthread.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
funthread.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
funthread.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
funthread.o: ../../../winix/core/textstream.h
funthread.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
funthread.o: ../../../winix/core/cur.h ../../../winix/core/request.h
funthread.o: ../../../winix/core/error.h ../../../winix/core/config.h
funthread.o: ../../../winix/core/htmlfilter.h
funthread.o: ../../../winix/templates/htmltextstream.h
funthread.o: ../../../pikotools/space/spacetojson.h
funthread.o: ../../../winix/core/session.h ../../../winix/core/user.h
funthread.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
funthread.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
funthread.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
funthread.o: ../../../winix/core/config.h ../../../winix/core/system.h
funthread.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
funthread.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
funthread.o: ../../../winix/core/dircontainer.h
funthread.o: ../../../winix/notify/notify.h
funthread.o: ../../../winix/notify/notifypool.h
funthread.o: ../../../winix/templates/patterns.h
funthread.o: ../../../winix/templates/locale.h
funthread.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
funthread.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
funthread.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
funthread.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
funthread.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
funthread.o: ../../../winix/notify/notifythread.h
funthread.o: ../../../winix/core/basethread.h
funthread.o: ../../../winix/notify/templatesnotify.h
funthread.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
funthread.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
funthread.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
funthread.o: ../../../winix/core/run.h ../../../winix/core/users.h
funthread.o: ../../../winix/core/groups.h ../../../winix/core/group.h
funthread.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
funthread.o: ../../../winix/core/threadmanager.h
funthread.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
funthread.o: ../../../winix/core/synchro.h tdb.h thread.h
funthread.o: ../../../winix/db/dbbase.h threadinfo.h
init.o: tdb.h thread.h ../../../pikotools/date/date.h
init.o: ../../../winix/db/dbbase.h ../../../winix/core/error.h reply.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/item.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
init.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/misc.h ../../../winix/core/item.h
init.o: ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../../winix/core/winix_const.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/synchro.h threadinfo.h funthread.h createthread.h
init.o: showthreads.h ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: pluginmsg.h ../../../winix/core/system.h
init.o: ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h templates.h
reply.o: ../../../winix/core/plugin.h pluginmsg.h ../../../winix/core/log.h
reply.o: ../../../winix/core/textstream.h
reply.o: ../../../winix/core/logmanipulators.h
reply.o: ../../../pikotools/textstream/textstream.h
reply.o: ../../../pikotools/space/space.h
reply.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
reply.o: ../../../pikotools/convert/convert.h
reply.o: ../../../pikotools/convert/inttostr.h
reply.o: ../../../pikotools/membuffer/membuffer.h
reply.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
reply.o: ../../../winix/core/cur.h ../../../winix/core/request.h
reply.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
reply.o: ../../../winix/core/error.h ../../../winix/core/config.h
reply.o: ../../../pikotools/space/spaceparser.h
reply.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
reply.o: ../../../winix/templates/htmltextstream.h
reply.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
reply.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
reply.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
reply.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
reply.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
reply.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
reply.o: ../../../winix/core/system.h ../../../winix/core/sessionmanager.h
reply.o: ../../../winix/core/sessioncontainer.h
reply.o: ../../../winix/core/ipbancontainer.h
reply.o: ../../../winix/core/lastcontainer.h ../../../winix/core/synchro.h
reply.o: ../../../winix/core/basethread.h
reply.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
reply.o: ../../../tito/src/aes.h ../../../winix/functions/functions.h
reply.o: ../../../winix/functions/functionbase.h
reply.o: ../../../winix/functions/functionparser.h ../../../winix/db/db.h
reply.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
reply.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
reply.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
reply.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
reply.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
reply.o: ../../../winix/core/ugcontainer.h ../../../winix/core/cur.h
reply.o: ../../../winix/core/system.h ../../../winix/core/job.h
reply.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
reply.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
reply.o: ../../../winix/templates/patterns.h
reply.o: ../../../winix/templates/locale.h
reply.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
reply.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
reply.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
reply.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
reply.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
reply.o: ../../../winix/notify/notifythread.h
reply.o: ../../../winix/core/basethread.h
reply.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
reply.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
reply.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
reply.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
reply.o: ../../../winix/core/users.h ../../../winix/core/groups.h
reply.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
reply.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
reply.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
reply.o: ../../../winix/functions/account.h
reply.o: ../../../winix/functions/adduser.h ../../../winix/functions/cat.h
reply.o: ../../../winix/functions/chmod.h
reply.o: ../../../winix/functions/privchanger.h ../../../winix/core/request.h
reply.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
reply.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
reply.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
reply.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
reply.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
reply.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
reply.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
reply.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
reply.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
reply.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
reply.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
reply.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
reply.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
reply.o: ../../../winix/functions/specialdefault.h
reply.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
reply.o: ../../../winix/functions/template.h
reply.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
reply.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
reply.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
reply.o: ../../../winix/core/htmlfilter.h
reply.o: ../../../winix/templates/templates.h
reply.o: ../../../winix/templates/patterncacher.h
reply.o: ../../../winix/templates/indexpatterns.h
reply.o: ../../../winix/templates/patterns.h
reply.o: ../../../winix/templates/changepatterns.h
reply.o: ../../../winix/templates/htmltextstream.h
reply.o: ../../../winix/core/sessionmanager.h reply.h
reply.o: ../../../winix/functions/functionbase.h
reply.o: ../../../winix/core/synchro.h tdb.h thread.h
reply.o: ../../../winix/db/dbbase.h threadinfo.h ../../../winix/core/misc.h
showthreads.o: showthreads.h ../../../winix/functions/functionbase.h
showthreads.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
showthreads.o: ../../../pikotools/textstream/types.h
showthreads.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
showthreads.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
showthreads.o: ../../../winix/db/dbtextstream.h
showthreads.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
showthreads.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
showthreads.o: ../../../pikotools/textstream/textstream.h
showthreads.o: ../../../pikotools/convert/convert.h
showthreads.o: ../../../pikotools/convert/inttostr.h
showthreads.o: ../../../pikotools/membuffer/membuffer.h
showthreads.o: ../../../pikotools/textstream/types.h
showthreads.o: ../../../pikotools/utf8/utf8.h
showthreads.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
showthreads.o: ../../../pikotools/space/spaceparser.h
showthreads.o: ../../../pikotools/space/space.h
showthreads.o: ../../../winix/db/dbitemquery.h
showthreads.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
showthreads.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
showthreads.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
showthreads.o: ../../../winix/core/textstream.h
showthreads.o: ../../../winix/core/logmanipulators.h
showthreads.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
showthreads.o: ../../../winix/core/request.h ../../../winix/core/error.h
showthreads.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
showthreads.o: ../../../winix/templates/htmltextstream.h
showthreads.o: ../../../pikotools/space/spacetojson.h
showthreads.o: ../../../winix/core/session.h ../../../winix/core/user.h
showthreads.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
showthreads.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
showthreads.o: ../../../winix/templates/locale.h
showthreads.o: ../../../winix/core/request.h ../../../winix/core/config.h
showthreads.o: ../../../winix/core/system.h ../../../winix/core/job.h
showthreads.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
showthreads.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
showthreads.o: ../../../winix/notify/notify.h
showthreads.o: ../../../winix/notify/notifypool.h
showthreads.o: ../../../winix/templates/patterns.h
showthreads.o: ../../../winix/templates/locale.h
showthreads.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
showthreads.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
showthreads.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
showthreads.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
showthreads.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
showthreads.o: ../../../winix/notify/notifythread.h
showthreads.o: ../../../winix/core/basethread.h
showthreads.o: ../../../winix/notify/templatesnotify.h
showthreads.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
showthreads.o: ../../../winix/core/lastcontainer.h
showthreads.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
showthreads.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
showthreads.o: ../../../winix/core/users.h ../../../winix/core/groups.h
showthreads.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
showthreads.o: ../../../winix/core/image.h
showthreads.o: ../../../winix/core/threadmanager.h
showthreads.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
showthreads.o: ../../../winix/core/synchro.h tdb.h thread.h
showthreads.o: ../../../winix/db/dbbase.h threadinfo.h
tdb.o: tdb.h thread.h ../../../pikotools/date/date.h
tdb.o: ../../../winix/db/dbbase.h ../../../winix/core/error.h
tdb.o: ../../../winix/core/log.h
templates.o: threadinfo.h ../../../winix/core/item.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/item.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
templates.o: ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
templates.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/config.h ../../../winix/core/users.h
templates.o: ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: thread.h tdb.h ../../../winix/db/dbbase.h reply.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: funthread.h createthread.h showthreads.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
templates.o: pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h
threadinfo.o: threadinfo.h ../../../winix/core/item.h
threadinfo.o: ../../../pikotools/space/space.h
threadinfo.o: ../../../pikotools/textstream/types.h
threadinfo.o: ../../../pikotools/date/date.h ../../../winix/core/system.h
threadinfo.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
threadinfo.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
threadinfo.o: ../../../winix/core/item.h ../../../winix/core/dircontainer.h
threadinfo.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
threadinfo.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
threadinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
threadinfo.o: ../../../winix/core/requesttypes.h
threadinfo.o: ../../../pikotools/textstream/textstream.h
threadinfo.o: ../../../pikotools/convert/convert.h
threadinfo.o: ../../../pikotools/convert/inttostr.h
threadinfo.o: ../../../pikotools/membuffer/membuffer.h
threadinfo.o: ../../../pikotools/textstream/types.h
threadinfo.o: ../../../pikotools/utf8/utf8.h
threadinfo.o: ../../../winix/core/winix_const.h ../../../winix/core/error.h
threadinfo.o: ../../../pikotools/space/spaceparser.h
threadinfo.o: ../../../pikotools/space/space.h
threadinfo.o: ../../../winix/db/dbitemquery.h
threadinfo.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
threadinfo.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
threadinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
threadinfo.o: ../../../winix/core/textstream.h
threadinfo.o: ../../../winix/core/logmanipulators.h
threadinfo.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
threadinfo.o: ../../../winix/core/request.h ../../../winix/core/error.h
threadinfo.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
threadinfo.o: ../../../winix/templates/htmltextstream.h
threadinfo.o: ../../../pikotools/space/spacetojson.h
threadinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
threadinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
threadinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
threadinfo.o: ../../../winix/templates/locale.h
threadinfo.o: ../../../winix/notify/notify.h
threadinfo.o: ../../../winix/notify/notifypool.h
threadinfo.o: ../../../winix/templates/patterns.h
threadinfo.o: ../../../winix/templates/locale.h
threadinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
threadinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
threadinfo.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
threadinfo.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
threadinfo.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
threadinfo.o: ../../../winix/notify/notifythread.h
threadinfo.o: ../../../winix/core/basethread.h
threadinfo.o: ../../../winix/notify/templatesnotify.h
threadinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
threadinfo.o: ../../../winix/core/ugcontainer.h
threadinfo.o: ../../../winix/core/lastcontainer.h
threadinfo.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
threadinfo.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
threadinfo.o: ../../../winix/core/users.h ../../../winix/core/groups.h
threadinfo.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
threadinfo.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
threadinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
threadinfo.o: thread.h tdb.h ../../../winix/db/dbbase.h
threadinfo.o: ../../../winix/core/plugin.h pluginmsg.h
threadinfo.o: ../../../winix/core/system.h
threadinfo.o: ../../../winix/core/sessionmanager.h
threadinfo.o: ../../../winix/core/sessioncontainer.h
threadinfo.o: ../../../winix/core/ipbancontainer.h
threadinfo.o: ../../../winix/core/sessionidmanager.h
threadinfo.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
threadinfo.o: ../../../winix/functions/functions.h
threadinfo.o: ../../../winix/functions/functionbase.h
threadinfo.o: ../../../winix/functions/functionparser.h
threadinfo.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
threadinfo.o: ../../../winix/functions/adduser.h
threadinfo.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
threadinfo.o: ../../../winix/functions/privchanger.h
threadinfo.o: ../../../winix/core/request.h ../../../winix/functions/chown.h
threadinfo.o: ../../../winix/functions/ckeditor.h
threadinfo.o: ../../../winix/functions/cp.h
threadinfo.o: ../../../winix/functions/default.h
threadinfo.o: ../../../winix/functions/download.h
threadinfo.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
threadinfo.o: ../../../winix/functions/imgcrop.h
threadinfo.o: ../../../winix/functions/last.h
threadinfo.o: ../../../winix/functions/login.h
threadinfo.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
threadinfo.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
threadinfo.o: ../../../winix/functions/meta.h
threadinfo.o: ../../../winix/functions/mkdir.h ../../../winix/functions/mv.h
threadinfo.o: ../../../winix/functions/nicedit.h
threadinfo.o: ../../../winix/functions/node.h
threadinfo.o: ../../../winix/functions/passwd.h
threadinfo.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
threadinfo.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
threadinfo.o: ../../../winix/functions/rmuser.h
threadinfo.o: ../../../winix/functions/sort.h
threadinfo.o: ../../../winix/functions/specialdefault.h
threadinfo.o: ../../../winix/functions/stat.h
threadinfo.o: ../../../winix/functions/subject.h
threadinfo.o: ../../../winix/functions/template.h
threadinfo.o: ../../../winix/functions/tinymce.h
threadinfo.o: ../../../winix/functions/uname.h
threadinfo.o: ../../../winix/functions/upload.h
threadinfo.o: ../../../winix/functions/uptime.h
threadinfo.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
threadinfo.o: ../../../winix/core/htmlfilter.h
threadinfo.o: ../../../winix/templates/templates.h
threadinfo.o: ../../../winix/templates/patterncacher.h
threadinfo.o: ../../../winix/templates/indexpatterns.h
threadinfo.o: ../../../winix/templates/patterns.h
threadinfo.o: ../../../winix/templates/changepatterns.h
threadinfo.o: ../../../winix/templates/htmltextstream.h
threadinfo.o: ../../../winix/core/sessionmanager.h
-28
View File
@@ -1,28 +0,0 @@
include Makefile.o.dep
name = ticket.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep
-774
View File
@@ -1,774 +0,0 @@
# DO NOT DELETE
createticket.o: ../../../winix/core/plugin.h pluginmsg.h
createticket.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
createticket.o: ../../../winix/core/misc.h ../../../winix/core/item.h
createticket.o: ../../../pikotools/space/space.h
createticket.o: ../../../pikotools/textstream/types.h
createticket.o: ../../../pikotools/date/date.h
createticket.o: ../../../winix/core/requesttypes.h
createticket.o: ../../../pikotools/textstream/textstream.h
createticket.o: ../../../pikotools/convert/convert.h
createticket.o: ../../../pikotools/convert/inttostr.h
createticket.o: ../../../pikotools/membuffer/membuffer.h
createticket.o: ../../../pikotools/textstream/types.h
createticket.o: ../../../pikotools/utf8/utf8.h
createticket.o: ../../../winix/core/winix_const.h
createticket.o: ../../../winix/core/logmanipulators.h
createticket.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
createticket.o: ../../../winix/core/request.h ../../../winix/core/error.h
createticket.o: ../../../winix/core/config.h
createticket.o: ../../../pikotools/space/spaceparser.h
createticket.o: ../../../pikotools/space/space.h
createticket.o: ../../../winix/core/htmlfilter.h
createticket.o: ../../../winix/templates/htmltextstream.h
createticket.o: ../../../winix/core/textstream.h
createticket.o: ../../../pikotools/space/spacetojson.h
createticket.o: ../../../winix/core/session.h ../../../winix/core/user.h
createticket.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
createticket.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
createticket.o: ../../../winix/templates/locale.h
createticket.o: ../../../winix/core/system.h ../../../winix/core/job.h
createticket.o: ../../../winix/core/basethread.h
createticket.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
createticket.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
createticket.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
createticket.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
createticket.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
createticket.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
createticket.o: ../../../winix/core/group.h
createticket.o: ../../../winix/core/dircontainer.h
createticket.o: ../../../winix/core/ugcontainer.h
createticket.o: ../../../winix/notify/notify.h
createticket.o: ../../../winix/notify/notifypool.h
createticket.o: ../../../winix/templates/patterns.h
createticket.o: ../../../winix/templates/locale.h
createticket.o: ../../../winix/templates/localefilter.h
createticket.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
createticket.o: ../../../ezc/src/blocks.h ../../../ezc/src/cache.h
createticket.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
createticket.o: ../../../ezc/src/objects.h ../../../ezc/src/pattern.h
createticket.o: ../../../ezc/src/patternparser.h
createticket.o: ../../../winix/notify/notifythread.h
createticket.o: ../../../winix/core/basethread.h
createticket.o: ../../../winix/notify/templatesnotify.h
createticket.o: ../../../winix/core/config.h ../../../winix/core/users.h
createticket.o: ../../../winix/core/ugcontainer.h
createticket.o: ../../../winix/core/lastcontainer.h
createticket.o: ../../../winix/core/mounts.h
createticket.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
createticket.o: ../../../winix/core/run.h ../../../winix/core/users.h
createticket.o: ../../../winix/core/groups.h ../../../winix/core/group.h
createticket.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
createticket.o: ../../../winix/core/threadmanager.h
createticket.o: ../../../winix/core/timezones.h
createticket.o: ../../../winix/core/timezone.h
createticket.o: ../../../winix/core/sessionmanager.h
createticket.o: ../../../winix/core/sessioncontainer.h
createticket.o: ../../../winix/core/ipbancontainer.h
createticket.o: ../../../winix/core/sessionidmanager.h
createticket.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
createticket.o: ../../../winix/functions/functions.h
createticket.o: ../../../winix/functions/functionbase.h
createticket.o: ../../../winix/core/request.h ../../../winix/core/system.h
createticket.o: ../../../winix/core/synchro.h
createticket.o: ../../../winix/functions/functionparser.h
createticket.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
createticket.o: ../../../winix/functions/adduser.h
createticket.o: ../../../winix/functions/cat.h
createticket.o: ../../../winix/functions/chmod.h
createticket.o: ../../../winix/functions/privchanger.h
createticket.o: ../../../winix/functions/chown.h
createticket.o: ../../../winix/functions/ckeditor.h
createticket.o: ../../../winix/functions/cp.h
createticket.o: ../../../winix/functions/default.h
createticket.o: ../../../winix/functions/download.h
createticket.o: ../../../winix/functions/emacs.h
createticket.o: ../../../winix/functions/env.h
createticket.o: ../../../winix/functions/imgcrop.h
createticket.o: ../../../winix/functions/last.h
createticket.o: ../../../winix/functions/login.h
createticket.o: ../../../winix/functions/logout.h
createticket.o: ../../../winix/functions/ln.h ../../../winix/functions/ls.h
createticket.o: ../../../winix/functions/man.h
createticket.o: ../../../winix/functions/meta.h
createticket.o: ../../../winix/functions/mkdir.h
createticket.o: ../../../winix/functions/mv.h
createticket.o: ../../../winix/functions/nicedit.h
createticket.o: ../../../winix/functions/node.h
createticket.o: ../../../winix/functions/passwd.h
createticket.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
createticket.o: ../../../winix/functions/reload.h
createticket.o: ../../../winix/functions/rm.h
createticket.o: ../../../winix/functions/rmuser.h
createticket.o: ../../../winix/functions/sort.h
createticket.o: ../../../winix/functions/specialdefault.h
createticket.o: ../../../winix/functions/stat.h
createticket.o: ../../../winix/functions/subject.h
createticket.o: ../../../winix/functions/template.h
createticket.o: ../../../winix/functions/tinymce.h
createticket.o: ../../../winix/functions/uname.h
createticket.o: ../../../winix/functions/upload.h
createticket.o: ../../../winix/functions/uptime.h
createticket.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
createticket.o: ../../../winix/core/htmlfilter.h
createticket.o: ../../../winix/templates/templates.h
createticket.o: ../../../winix/templates/patterncacher.h
createticket.o: ../../../winix/templates/indexpatterns.h
createticket.o: ../../../winix/templates/patterns.h
createticket.o: ../../../winix/templates/changepatterns.h
createticket.o: ../../../winix/templates/htmltextstream.h
createticket.o: ../../../winix/core/sessionmanager.h createticket.h tdb.h
createticket.o: ticket.h ../../../winix/db/dbbase.h
createticket.o: ../../../winix/functions/functionbase.h ticketinfo.h
createticket.o: sessiondata.h ../../../winix/core/plugindata.h
createticket.o: ../../../winix/functions/rm.h
editticket.o: editticket.h tdb.h ticket.h ../../../winix/db/dbbase.h
editticket.o: ../../../winix/core/error.h ticketinfo.h
editticket.o: ../../../winix/core/item.h ../../../winix/core/system.h
editticket.o: ../../../winix/functions/functions.h
editticket.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
editticket.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
editticket.o: ../../../winix/db/dbtextstream.h
editticket.o: ../../../winix/core/textstream.h
editticket.o: ../../../pikotools/textstream/textstream.h
editticket.o: ../../../pikotools/space/space.h
editticket.o: ../../../pikotools/textstream/types.h
editticket.o: ../../../pikotools/date/date.h
editticket.o: ../../../pikotools/convert/convert.h
editticket.o: ../../../pikotools/convert/inttostr.h
editticket.o: ../../../pikotools/membuffer/membuffer.h
editticket.o: ../../../pikotools/textstream/types.h
editticket.o: ../../../pikotools/space/spaceparser.h
editticket.o: ../../../pikotools/space/space.h
editticket.o: ../../../winix/db/dbitemquery.h
editticket.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
editticket.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
editticket.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
editticket.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
editticket.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
editticket.o: ../../../pikotools/utf8/utf8.h
editticket.o: ../../../winix/core/winix_const.h
editticket.o: ../../../winix/core/logmanipulators.h
editticket.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
editticket.o: ../../../winix/core/request.h ../../../winix/core/error.h
editticket.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
editticket.o: ../../../winix/templates/htmltextstream.h
editticket.o: ../../../pikotools/space/spacetojson.h
editticket.o: ../../../winix/core/session.h ../../../winix/core/user.h
editticket.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
editticket.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
editticket.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
editticket.o: ../../../winix/core/config.h ../../../winix/core/synchro.h
editticket.o: ../../../winix/notify/notify.h
editticket.o: ../../../winix/notify/notifypool.h
editticket.o: ../../../winix/templates/patterns.h
editticket.o: ../../../winix/templates/locale.h
editticket.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
editticket.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
editticket.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
editticket.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
editticket.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
editticket.o: ../../../winix/notify/notifythread.h
editticket.o: ../../../winix/core/basethread.h
editticket.o: ../../../winix/notify/templatesnotify.h
editticket.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
editticket.o: ../../../winix/core/lastcontainer.h
editticket.o: ../../../winix/functions/functionparser.h
editticket.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
editticket.o: ../../../winix/functions/adduser.h
editticket.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
editticket.o: ../../../winix/functions/privchanger.h
editticket.o: ../../../winix/functions/chown.h
editticket.o: ../../../winix/functions/ckeditor.h
editticket.o: ../../../winix/functions/cp.h
editticket.o: ../../../winix/functions/default.h
editticket.o: ../../../winix/functions/download.h
editticket.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
editticket.o: ../../../winix/functions/imgcrop.h
editticket.o: ../../../winix/functions/last.h
editticket.o: ../../../winix/functions/login.h
editticket.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
editticket.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
editticket.o: ../../../winix/functions/meta.h
editticket.o: ../../../winix/functions/mkdir.h ../../../winix/functions/mv.h
editticket.o: ../../../winix/functions/nicedit.h
editticket.o: ../../../winix/functions/node.h
editticket.o: ../../../winix/functions/passwd.h
editticket.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
editticket.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
editticket.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
editticket.o: ../../../winix/functions/sort.h
editticket.o: ../../../winix/functions/specialdefault.h
editticket.o: ../../../winix/functions/stat.h
editticket.o: ../../../winix/functions/subject.h
editticket.o: ../../../winix/functions/template.h
editticket.o: ../../../winix/core/timezone.h
editticket.o: ../../../winix/functions/tinymce.h
editticket.o: ../../../winix/functions/uname.h
editticket.o: ../../../winix/functions/upload.h
editticket.o: ../../../winix/functions/uptime.h
editticket.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
editticket.o: ../../../winix/core/htmlfilter.h
editticket.o: ../../../winix/functions/functionbase.h sessiondata.h
editticket.o: ../../../winix/core/plugindata.h ../../../winix/functions/rm.h
editticket.o: ../../../winix/core/plugin.h pluginmsg.h
editticket.o: ../../../winix/core/system.h ../../../winix/core/job.h
editticket.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
editticket.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
editticket.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
editticket.o: ../../../winix/core/crypt.h ../../../winix/core/users.h
editticket.o: ../../../winix/core/groups.h ../../../winix/core/group.h
editticket.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
editticket.o: ../../../winix/core/threadmanager.h
editticket.o: ../../../winix/core/timezones.h
editticket.o: ../../../winix/core/sessionmanager.h
editticket.o: ../../../winix/core/sessioncontainer.h
editticket.o: ../../../winix/core/ipbancontainer.h
editticket.o: ../../../winix/core/sessionidmanager.h
editticket.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
editticket.o: ../../../winix/templates/templates.h
editticket.o: ../../../winix/templates/patterncacher.h
editticket.o: ../../../winix/templates/indexpatterns.h
editticket.o: ../../../winix/templates/patterns.h
editticket.o: ../../../winix/templates/changepatterns.h
editticket.o: ../../../winix/templates/htmltextstream.h
editticket.o: ../../../winix/core/sessionmanager.h
funticket.o: funticket.h tdb.h ticket.h ../../../winix/db/dbbase.h
funticket.o: ../../../winix/core/error.h ticketinfo.h
funticket.o: ../../../winix/core/item.h ../../../winix/core/system.h
funticket.o: ../../../winix/functions/functions.h
funticket.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
funticket.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
funticket.o: ../../../winix/db/dbtextstream.h
funticket.o: ../../../winix/core/textstream.h
funticket.o: ../../../pikotools/textstream/textstream.h
funticket.o: ../../../pikotools/space/space.h
funticket.o: ../../../pikotools/textstream/types.h
funticket.o: ../../../pikotools/date/date.h
funticket.o: ../../../pikotools/convert/convert.h
funticket.o: ../../../pikotools/convert/inttostr.h
funticket.o: ../../../pikotools/membuffer/membuffer.h
funticket.o: ../../../pikotools/textstream/types.h
funticket.o: ../../../pikotools/space/spaceparser.h
funticket.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
funticket.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
funticket.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
funticket.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
funticket.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
funticket.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
funticket.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
funticket.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
funticket.o: ../../../winix/core/cur.h ../../../winix/core/request.h
funticket.o: ../../../winix/core/error.h ../../../winix/core/config.h
funticket.o: ../../../winix/core/htmlfilter.h
funticket.o: ../../../winix/templates/htmltextstream.h
funticket.o: ../../../pikotools/space/spacetojson.h
funticket.o: ../../../winix/core/session.h ../../../winix/core/user.h
funticket.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
funticket.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
funticket.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
funticket.o: ../../../winix/core/config.h ../../../winix/core/synchro.h
funticket.o: ../../../winix/notify/notify.h
funticket.o: ../../../winix/notify/notifypool.h
funticket.o: ../../../winix/templates/patterns.h
funticket.o: ../../../winix/templates/locale.h
funticket.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
funticket.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
funticket.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
funticket.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
funticket.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
funticket.o: ../../../winix/notify/notifythread.h
funticket.o: ../../../winix/core/basethread.h
funticket.o: ../../../winix/notify/templatesnotify.h
funticket.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
funticket.o: ../../../winix/core/lastcontainer.h
funticket.o: ../../../winix/functions/functionparser.h
funticket.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
funticket.o: ../../../winix/functions/adduser.h
funticket.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
funticket.o: ../../../winix/functions/privchanger.h
funticket.o: ../../../winix/functions/chown.h
funticket.o: ../../../winix/functions/ckeditor.h
funticket.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
funticket.o: ../../../winix/functions/download.h
funticket.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
funticket.o: ../../../winix/functions/imgcrop.h
funticket.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
funticket.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
funticket.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
funticket.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
funticket.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
funticket.o: ../../../winix/functions/node.h
funticket.o: ../../../winix/functions/passwd.h
funticket.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
funticket.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
funticket.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
funticket.o: ../../../winix/functions/sort.h
funticket.o: ../../../winix/functions/specialdefault.h
funticket.o: ../../../winix/functions/stat.h
funticket.o: ../../../winix/functions/subject.h
funticket.o: ../../../winix/functions/template.h
funticket.o: ../../../winix/core/timezone.h
funticket.o: ../../../winix/functions/tinymce.h
funticket.o: ../../../winix/functions/uname.h
funticket.o: ../../../winix/functions/upload.h
funticket.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
funticket.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
funticket.o: ../../../winix/functions/functionbase.h
funticket.o: ../../../winix/core/plugin.h pluginmsg.h
funticket.o: ../../../winix/core/system.h ../../../winix/core/job.h
funticket.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
funticket.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
funticket.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
funticket.o: ../../../winix/core/crypt.h ../../../winix/core/users.h
funticket.o: ../../../winix/core/groups.h ../../../winix/core/group.h
funticket.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
funticket.o: ../../../winix/core/threadmanager.h
funticket.o: ../../../winix/core/timezones.h
funticket.o: ../../../winix/core/sessionmanager.h
funticket.o: ../../../winix/core/sessioncontainer.h
funticket.o: ../../../winix/core/ipbancontainer.h
funticket.o: ../../../winix/core/sessionidmanager.h
funticket.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
funticket.o: ../../../winix/templates/templates.h
funticket.o: ../../../winix/templates/patterncacher.h
funticket.o: ../../../winix/templates/indexpatterns.h
funticket.o: ../../../winix/templates/patterns.h
funticket.o: ../../../winix/templates/changepatterns.h
funticket.o: ../../../winix/templates/htmltextstream.h
funticket.o: ../../../winix/core/sessionmanager.h
funticket.o: ../../../winix/plugins/thread/pluginmsg.h
init.o: tdb.h ticket.h ../../../winix/db/dbbase.h ../../../winix/core/error.h
init.o: funticket.h ticketinfo.h ../../../winix/core/item.h
init.o: ../../../winix/core/system.h ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
init.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/winix_const.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/core/synchro.h ../../../winix/notify/notify.h
init.o: ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
init.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
init.o: ../../../winix/notify/notifythread.h ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
init.o: ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h ../../../winix/core/timezone.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/functions/functionbase.h editticket.h createticket.h
init.o: showtickets.h ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: pluginmsg.h ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/users.h
init.o: ../../../winix/core/groups.h ../../../winix/core/group.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/core/sessionidmanager.h ../../../tito/src/base64.h
init.o: ../../../tito/src/aes.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h sessiondata.h
init.o: ../../../winix/core/plugindata.h ../../../winix/functions/rm.h
init.o: ../../../winix/plugins/thread/showthreads.h
init.o: ../../../winix/plugins/thread/threadinfo.h
init.o: ../../../winix/plugins/thread/thread.h
init.o: ../../../winix/plugins/thread/pluginmsg.h
sessiondata.o: sessiondata.h ../../../winix/core/plugindata.h ticket.h
sessiondata.o: ../../../winix/functions/rm.h ../../../pikotools/space/space.h
sessiondata.o: ../../../pikotools/textstream/types.h
showtickets.o: showtickets.h tdb.h ticket.h ../../../winix/db/dbbase.h
showtickets.o: ../../../winix/core/error.h ticketinfo.h
showtickets.o: ../../../winix/core/item.h ../../../winix/core/system.h
showtickets.o: ../../../winix/functions/functions.h
showtickets.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
showtickets.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
showtickets.o: ../../../winix/db/dbtextstream.h
showtickets.o: ../../../winix/core/textstream.h
showtickets.o: ../../../pikotools/textstream/textstream.h
showtickets.o: ../../../pikotools/space/space.h
showtickets.o: ../../../pikotools/textstream/types.h
showtickets.o: ../../../pikotools/date/date.h
showtickets.o: ../../../pikotools/convert/convert.h
showtickets.o: ../../../pikotools/convert/inttostr.h
showtickets.o: ../../../pikotools/membuffer/membuffer.h
showtickets.o: ../../../pikotools/textstream/types.h
showtickets.o: ../../../pikotools/space/spaceparser.h
showtickets.o: ../../../pikotools/space/space.h
showtickets.o: ../../../winix/db/dbitemquery.h
showtickets.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
showtickets.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
showtickets.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
showtickets.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
showtickets.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
showtickets.o: ../../../pikotools/utf8/utf8.h
showtickets.o: ../../../winix/core/winix_const.h
showtickets.o: ../../../winix/core/logmanipulators.h
showtickets.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
showtickets.o: ../../../winix/core/request.h ../../../winix/core/error.h
showtickets.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
showtickets.o: ../../../winix/templates/htmltextstream.h
showtickets.o: ../../../pikotools/space/spacetojson.h
showtickets.o: ../../../winix/core/session.h ../../../winix/core/user.h
showtickets.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
showtickets.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
showtickets.o: ../../../winix/templates/locale.h
showtickets.o: ../../../winix/core/request.h ../../../winix/core/config.h
showtickets.o: ../../../winix/core/synchro.h ../../../winix/notify/notify.h
showtickets.o: ../../../winix/notify/notifypool.h
showtickets.o: ../../../winix/templates/patterns.h
showtickets.o: ../../../winix/templates/locale.h
showtickets.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
showtickets.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
showtickets.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
showtickets.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
showtickets.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
showtickets.o: ../../../winix/notify/notifythread.h
showtickets.o: ../../../winix/core/basethread.h
showtickets.o: ../../../winix/notify/templatesnotify.h
showtickets.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
showtickets.o: ../../../winix/core/lastcontainer.h
showtickets.o: ../../../winix/functions/functionparser.h
showtickets.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
showtickets.o: ../../../winix/functions/adduser.h
showtickets.o: ../../../winix/functions/cat.h
showtickets.o: ../../../winix/functions/chmod.h
showtickets.o: ../../../winix/functions/privchanger.h
showtickets.o: ../../../winix/functions/chown.h
showtickets.o: ../../../winix/functions/ckeditor.h
showtickets.o: ../../../winix/functions/cp.h
showtickets.o: ../../../winix/functions/default.h
showtickets.o: ../../../winix/functions/download.h
showtickets.o: ../../../winix/functions/emacs.h
showtickets.o: ../../../winix/functions/env.h
showtickets.o: ../../../winix/functions/imgcrop.h
showtickets.o: ../../../winix/functions/last.h
showtickets.o: ../../../winix/functions/login.h
showtickets.o: ../../../winix/functions/logout.h
showtickets.o: ../../../winix/functions/ln.h ../../../winix/functions/ls.h
showtickets.o: ../../../winix/functions/man.h ../../../winix/functions/meta.h
showtickets.o: ../../../winix/functions/mkdir.h ../../../winix/functions/mv.h
showtickets.o: ../../../winix/functions/nicedit.h
showtickets.o: ../../../winix/functions/node.h
showtickets.o: ../../../winix/functions/passwd.h
showtickets.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
showtickets.o: ../../../winix/functions/reload.h
showtickets.o: ../../../winix/functions/rm.h
showtickets.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
showtickets.o: ../../../winix/functions/sort.h
showtickets.o: ../../../winix/functions/specialdefault.h
showtickets.o: ../../../winix/functions/stat.h
showtickets.o: ../../../winix/functions/subject.h
showtickets.o: ../../../winix/functions/template.h
showtickets.o: ../../../winix/core/timezone.h
showtickets.o: ../../../winix/functions/tinymce.h
showtickets.o: ../../../winix/functions/uname.h
showtickets.o: ../../../winix/functions/upload.h
showtickets.o: ../../../winix/functions/uptime.h
showtickets.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
showtickets.o: ../../../winix/core/htmlfilter.h
showtickets.o: ../../../winix/functions/functionbase.h pluginmsg.h
showtickets.o: ../../../winix/plugins/thread/pluginmsg.h
showtickets.o: ../../../winix/core/plugin.h ../../../winix/core/system.h
showtickets.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
showtickets.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
showtickets.o: ../../../winix/core/dircontainer.h
showtickets.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
showtickets.o: ../../../winix/core/crypt.h ../../../winix/core/users.h
showtickets.o: ../../../winix/core/groups.h ../../../winix/core/group.h
showtickets.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
showtickets.o: ../../../winix/core/threadmanager.h
showtickets.o: ../../../winix/core/timezones.h
showtickets.o: ../../../winix/core/sessionmanager.h
showtickets.o: ../../../winix/core/sessioncontainer.h
showtickets.o: ../../../winix/core/ipbancontainer.h
showtickets.o: ../../../winix/core/sessionidmanager.h
showtickets.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
showtickets.o: ../../../winix/templates/templates.h
showtickets.o: ../../../winix/templates/patterncacher.h
showtickets.o: ../../../winix/templates/indexpatterns.h
showtickets.o: ../../../winix/templates/patterns.h
showtickets.o: ../../../winix/templates/changepatterns.h
showtickets.o: ../../../winix/templates/htmltextstream.h
showtickets.o: ../../../winix/core/sessionmanager.h
tdb.o: tdb.h ticket.h ../../../winix/db/dbbase.h ../../../winix/core/error.h
tdb.o: ../../../winix/core/log.h
templates.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
templates.o: ../../../ezc/src/blocks.h ../../../winix/core/item.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../../ezc/src/cache.h
templates.o: ../../../ezc/src/functions.h ../../../pikotools/utf8/utf8.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
templates.o: ticketinfo.h ticket.h ../../../winix/core/item.h
templates.o: ../../../winix/core/system.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
templates.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
templates.o: ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../winix/core/winix_const.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
templates.o: ../../../winix/core/config.h ../../../winix/core/synchro.h
templates.o: ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/core/timezone.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: tdb.h ../../../winix/db/dbbase.h editticket.h
templates.o: ../../../winix/functions/functionbase.h createticket.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
templates.o: pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/dircontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/users.h ../../../winix/core/groups.h
templates.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
templates.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/core/sessionidmanager.h
templates.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h sessiondata.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/functions/rm.h
templates.o: ../../../winix/plugins/thread/pluginmsg.h
templates.o: ../../../winix/templates/miscspace.h
templates.o: ../../../winix/templates/templates.h
ticketinfo.o: ticketinfo.h ticket.h ../../../winix/core/item.h
ticketinfo.o: ../../../winix/core/system.h
ticketinfo.o: ../../../winix/functions/functions.h
ticketinfo.o: ../../../winix/functions/functionbase.h ../../../winix/db/db.h
ticketinfo.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
ticketinfo.o: ../../../winix/db/dbtextstream.h
ticketinfo.o: ../../../winix/core/textstream.h
ticketinfo.o: ../../../pikotools/textstream/textstream.h
ticketinfo.o: ../../../pikotools/space/space.h
ticketinfo.o: ../../../pikotools/textstream/types.h
ticketinfo.o: ../../../pikotools/date/date.h
ticketinfo.o: ../../../pikotools/convert/convert.h
ticketinfo.o: ../../../pikotools/convert/inttostr.h
ticketinfo.o: ../../../pikotools/membuffer/membuffer.h
ticketinfo.o: ../../../pikotools/textstream/types.h
ticketinfo.o: ../../../winix/core/error.h
ticketinfo.o: ../../../pikotools/space/spaceparser.h
ticketinfo.o: ../../../pikotools/space/space.h
ticketinfo.o: ../../../winix/db/dbitemquery.h
ticketinfo.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
ticketinfo.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
ticketinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
ticketinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
ticketinfo.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
ticketinfo.o: ../../../pikotools/utf8/utf8.h
ticketinfo.o: ../../../winix/core/winix_const.h
ticketinfo.o: ../../../winix/core/logmanipulators.h
ticketinfo.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
ticketinfo.o: ../../../winix/core/request.h ../../../winix/core/error.h
ticketinfo.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
ticketinfo.o: ../../../winix/templates/htmltextstream.h
ticketinfo.o: ../../../pikotools/space/spacetojson.h
ticketinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
ticketinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
ticketinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
ticketinfo.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
ticketinfo.o: ../../../winix/core/config.h ../../../winix/core/synchro.h
ticketinfo.o: ../../../winix/notify/notify.h
ticketinfo.o: ../../../winix/notify/notifypool.h
ticketinfo.o: ../../../winix/templates/patterns.h
ticketinfo.o: ../../../winix/templates/locale.h
ticketinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
ticketinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/blocks.h
ticketinfo.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
ticketinfo.o: ../../../ezc/src/funinfo.h ../../../ezc/src/objects.h
ticketinfo.o: ../../../ezc/src/pattern.h ../../../ezc/src/patternparser.h
ticketinfo.o: ../../../winix/notify/notifythread.h
ticketinfo.o: ../../../winix/core/basethread.h
ticketinfo.o: ../../../winix/notify/templatesnotify.h
ticketinfo.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
ticketinfo.o: ../../../winix/core/lastcontainer.h
ticketinfo.o: ../../../winix/functions/functionparser.h
ticketinfo.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
ticketinfo.o: ../../../winix/functions/adduser.h
ticketinfo.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
ticketinfo.o: ../../../winix/functions/privchanger.h
ticketinfo.o: ../../../winix/functions/chown.h
ticketinfo.o: ../../../winix/functions/ckeditor.h
ticketinfo.o: ../../../winix/functions/cp.h
ticketinfo.o: ../../../winix/functions/default.h
ticketinfo.o: ../../../winix/functions/download.h
ticketinfo.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
ticketinfo.o: ../../../winix/functions/imgcrop.h
ticketinfo.o: ../../../winix/functions/last.h
ticketinfo.o: ../../../winix/functions/login.h
ticketinfo.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
ticketinfo.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
ticketinfo.o: ../../../winix/functions/meta.h
ticketinfo.o: ../../../winix/functions/mkdir.h ../../../winix/functions/mv.h
ticketinfo.o: ../../../winix/functions/nicedit.h
ticketinfo.o: ../../../winix/functions/node.h
ticketinfo.o: ../../../winix/functions/passwd.h
ticketinfo.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
ticketinfo.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
ticketinfo.o: ../../../winix/functions/rmuser.h ../../../winix/core/run.h
ticketinfo.o: ../../../winix/functions/sort.h
ticketinfo.o: ../../../winix/functions/specialdefault.h
ticketinfo.o: ../../../winix/functions/stat.h
ticketinfo.o: ../../../winix/functions/subject.h
ticketinfo.o: ../../../winix/functions/template.h
ticketinfo.o: ../../../winix/core/timezone.h
ticketinfo.o: ../../../winix/functions/tinymce.h
ticketinfo.o: ../../../winix/functions/uname.h
ticketinfo.o: ../../../winix/functions/upload.h
ticketinfo.o: ../../../winix/functions/uptime.h
ticketinfo.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
ticketinfo.o: ../../../winix/core/htmlfilter.h tdb.h
ticketinfo.o: ../../../winix/db/dbbase.h ../../../winix/core/log.h
ticketinfo.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
ticketinfo.o: pluginmsg.h ../../../winix/core/system.h
ticketinfo.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
ticketinfo.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
ticketinfo.o: ../../../winix/core/dircontainer.h ../../../winix/core/mounts.h
ticketinfo.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
ticketinfo.o: ../../../winix/core/users.h ../../../winix/core/groups.h
ticketinfo.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
ticketinfo.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
ticketinfo.o: ../../../winix/core/timezones.h
ticketinfo.o: ../../../winix/core/sessionmanager.h
ticketinfo.o: ../../../winix/core/sessioncontainer.h
ticketinfo.o: ../../../winix/core/ipbancontainer.h
ticketinfo.o: ../../../winix/core/sessionidmanager.h
ticketinfo.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
ticketinfo.o: ../../../winix/templates/templates.h
ticketinfo.o: ../../../winix/templates/patterncacher.h
ticketinfo.o: ../../../winix/templates/indexpatterns.h
ticketinfo.o: ../../../winix/templates/patterns.h
ticketinfo.o: ../../../winix/templates/changepatterns.h
ticketinfo.o: ../../../winix/templates/htmltextstream.h
ticketinfo.o: ../../../winix/core/sessionmanager.h sessiondata.h
ticketinfo.o: ../../../winix/core/plugindata.h ../../../winix/functions/rm.h
-19
View File
@@ -1,19 +0,0 @@
include Makefile.o.dep
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
o = adduser.o changepatterns.o config.o currentdate.o dir.o doc.o env.o filters.o generic.o htmltextstream.o indexpatterns.o insert.o ipban.o item.o last.o locale.o localefilter.o login.o ls.o man.o misc.o miscspace.o mount.o passwd.o patterncacher.o patterns.o priv.o rebus.o server.o slog.o stat.o sys.o template.o templates.o textextstream.o upload.o uptime.o user.o who.o winix.o
-405
View File
@@ -1,405 +0,0 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2012-2014, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "templates.h"
namespace Winix
{
namespace TemplatesFunctions
{
bool are_spaces_the_same(const std::vector<Ezc::Var> & params, const std::vector<std::wstring> & spaces)
{
// last value from params is the parameter name (not a space)
if( spaces.size() + 1 != params.size() )
return false;
for(size_t i=0 ; i<spaces.size() ; ++i)
if( spaces[i] != params[i].str )
return false;
return true;
}
void copy_space(const std::vector<Ezc::Var> & params, std::vector<std::wstring> & spaces)
{
if( !params.empty() )
{
spaces.resize(params.size() - 1);
for(size_t i=0 ; i<params.size() - 1 ; ++i)
spaces[i] = params[i].str;
}
else
{
spaces.clear();
}
}
PT::Space * find_space(const std::vector<Ezc::Var> & params, PT::Space & space, size_t level = 0)
{
if( level + 1 < params.size() )
{
for(size_t i=0 ; i<space.spaces.size() ; ++i)
{
if( space.spaces[i]->name == params[level].str )
return find_space(params, *space.spaces[i], level+1);
}
// there is no such a space
return 0;
}
else
{
return &space;
}
}
struct SpaceInfo
{
bool inited;
PT::Space * last_space;
std::vector<std::wstring> spaces;
SpaceInfo()
{
inited = false;
last_space = 0;
}
};
static std::map<PT::Space*, SpaceInfo> spaces_map;
static size_t space_reqid = 0;
void space_init(const std::vector<Ezc::Var> & params, PT::Space & space, SpaceInfo & space_info)
{
if( !space_info.inited || !are_spaces_the_same(params, space_info.spaces) )
{
space_info.inited = true;
copy_space(params, space_info.spaces);
space_info.last_space = find_space(params, space);
}
else
{
// !! temp
//log << log1 << "taking space from the cache" << logend;
}
}
void space_check_reqid()
{
if( space_reqid != cur->request->id )
{
space_reqid = cur->request->id;
spaces_map.clear();
}
}
void space(Info & i, PT::Space & space)
{
space_check_reqid();
if( !i.params.empty() )
{
SpaceInfo & space_info = spaces_map[&space];
space_init(i.params, space, space_info);
if( space_info.last_space )
{
const std::wstring & param = i.params.back().str;
const std::wstring * value = space_info.last_space->GetValue(param);
if( value )
i.out << *value;
// else
// log << log1 << "nie ma takiej wartosci" << logend; // only for testing
// !! IMPROVE ME
}
}
}
void space_value_noescape(Info & i, PT::Space & space)
{
space_check_reqid();
if( !i.params.empty() )
{
SpaceInfo & space_info = spaces_map[&space];
space_init(i.params, space, space_info);
if( space_info.last_space )
{
const std::wstring & param = i.params.back().str;
const std::wstring * value = space_info.last_space->GetValue(param);
if( value )
i.out << R(*value);
}
}
}
/*
stack item for [for] statement
*/
struct SpaceStackItem
{
// names of the spaces
std::vector<std::wstring> spaces;
// table of values
std::vector<std::wstring> values;
// an index to 'values' which is incremented every each [for]
size_t value_index;
SpaceStackItem()
{
value_index = 0;
}
};
/*
each Space has its own SpacesTabInfo struct
*/
struct SpacesTabInfo
{
// a stack for [for] statements
std::vector<SpaceStackItem> stack_tab;
// current item from 'stack_tab'
size_t cur_stack;
SpacesTabInfo()
{
cur_stack = 0;
}
};
static std::map<PT::Space*, SpacesTabInfo> spaces_tab_info_map;
static size_t spaces_tab_reqid = 0;
bool spaces_tab_find_stack_item(std::vector<Ezc::Var> & params, SpacesTabInfo & spaces_tab_info)
{
bool found = false;
spaces_tab_info.cur_stack = spaces_tab_info.stack_tab.size();
for(size_t i=0 ; i<spaces_tab_info.stack_tab.size() ; ++i)
{
if( are_spaces_the_same(params, spaces_tab_info.stack_tab[i].spaces) )
{
spaces_tab_info.cur_stack = i;
found = true;
break;
}
}
return found;
}
void spaces_tab_add_to_stack(std::vector<Ezc::Var> & params, PT::Space & space, SpacesTabInfo & spaces_tab_info)
{
if( !params.empty() )
{
// adding a new item at the end (with the default constructor)
spaces_tab_info.stack_tab.resize(spaces_tab_info.stack_tab.size() + 1);
spaces_tab_info.cur_stack = spaces_tab_info.stack_tab.size() - 1;
SpaceStackItem & stack_item = spaces_tab_info.stack_tab.back();
copy_space(params, stack_item.spaces);
space.ListText(params.back().str, stack_item.values);
stack_item.value_index = 0;
}
}
void spaces_tab_check_reqid()
{
if( spaces_tab_reqid != cur->request->id )
{
spaces_tab_reqid = cur->request->id;
spaces_tab_info_map.clear();
}
}
void spaces_tab_init(std::vector<Ezc::Var> & params, PT::Space & space, SpacesTabInfo & spaces_tab_info)
{
PT::Space * child_space = find_space(params, space);
if( child_space )
{
if( !spaces_tab_find_stack_item(params, spaces_tab_info) )
{
// add a new value to the stack
spaces_tab_add_to_stack(params, *child_space, spaces_tab_info);
}
}
else
{
// there is not such a space
spaces_tab_info.cur_stack = spaces_tab_info.stack_tab.size();
}
}
void spaces_tab(Info & i, PT::Space & space)
{
spaces_tab_check_reqid();
if( !i.params.empty() )
{
SpacesTabInfo & spaces_tab_info = spaces_tab_info_map[&space];
spaces_tab_init(i.params, space, spaces_tab_info);
if( spaces_tab_info.cur_stack < spaces_tab_info.stack_tab.size() )
{
SpaceStackItem & stack_item = spaces_tab_info.stack_tab[spaces_tab_info.cur_stack];
// !! CHECK ME there was a change in EZC lately
// make sure this still is ok
// i.iter is different for each [for] statement (implemented in EZC)
// so we don't have to remember it in our stack
// for each the same space we have only one item in the stack, e.g.
// [for item_meta "space1" "space2" "value"]
// [for item_meta "space1" "space2" "value"]
// [end]
// [end]
// above two [for]s use the same item on our stack
stack_item.value_index = i.iter;
i.res = stack_item.value_index < stack_item.values.size();
}
}
}
void spaces_tab_value_print(HtmlTextStream & out, SpacesTabInfo & spaces_tab_info)
{
if( spaces_tab_info.cur_stack < spaces_tab_info.stack_tab.size() )
{
SpaceStackItem & stack_item = spaces_tab_info.stack_tab[spaces_tab_info.cur_stack];
out << stack_item.values[stack_item.value_index];
}
}
void spaces_tab_value(Info & i, PT::Space & space)
{
spaces_tab_check_reqid();
SpacesTabInfo & spaces_tab_info = spaces_tab_info_map[&space];
if( i.params.empty() )
{
// value from last [for ...] statement
spaces_tab_value_print(i.out, spaces_tab_info);
}
else
{
size_t cur_stack_old = spaces_tab_info.cur_stack;
if( spaces_tab_find_stack_item(i.params, spaces_tab_info) )
spaces_tab_value_print(i.out, spaces_tab_info);
spaces_tab_info.cur_stack = cur_stack_old;
}
}
bool spaces_tab_has_next(SpacesTabInfo & spaces_tab_info)
{
if( spaces_tab_info.cur_stack < spaces_tab_info.stack_tab.size() )
{
SpaceStackItem & val = spaces_tab_info.stack_tab[spaces_tab_info.cur_stack];
return val.value_index + 1 < val.values.size();
}
return false;
}
void spaces_tab_has_next(Info & i, PT::Space & space)
{
spaces_tab_check_reqid();
SpacesTabInfo & spaces_tab_info = spaces_tab_info_map[&space];
if( i.params.empty() )
{
// value from last [for ...] statement
i.res = spaces_tab_has_next(spaces_tab_info);
}
else
{
size_t cur_stack_old = spaces_tab_info.cur_stack;
if( spaces_tab_find_stack_item(i.params, spaces_tab_info) )
i.res = spaces_tab_has_next(spaces_tab_info);
spaces_tab_info.cur_stack = cur_stack_old;
}
}
} // namespace TemplatesFunctions
} // namespace Winix
+182
View File
@@ -0,0 +1,182 @@
# Makefile for GNU make
include Makefile.dep
# https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors
GLOBAL_WORKING_DIR := $(shell pwd)/../..
current_path := $(shell pwd)
global_relative_working_dir := $(shell relative_path $(current_path) $(GLOBAL_WORKING_DIR))
ifeq ($(CXX), g++)
CXX = g++6
endif
ifndef CXX
ifeq ($(OSTYPE), FreeBSD)
CXX = clang++
else
CXX = g++6
endif
endif
# CXX = g++-4.8
ifndef CXXFLAGS
CXXFLAGS = -Wall -O0 -g -fPIC -pthread -std=c++17 -I/usr/local/include -I/usr/include/postgresql -DEZC_HAS_SPECIAL_STREAM
endif
ifndef AR
AR = ar
endif
winix_include_paths = -I$(global_relative_working_dir)/winix/winixd -I$(global_relative_working_dir)/ezc/src -I$(global_relative_working_dir)/tito/src -I$(global_relative_working_dir)/morm/src -I$(global_relative_working_dir)/pikotools
ifndef LDFLAGS
LDFLAGS = -L/usr/local/lib
endif
# for make install
winix_install_dir = /usr/local/winix
export CXX
export CXXFLAGS
export LDFLAGS
export GLOBAL_WORKING_DIR
all: winix.so plugins winix
winix.so: $(winix.src.files)
@cd core ; $(MAKE) -e
@cd db ; $(MAKE) -e
@cd functions ; $(MAKE) -e
@cd notify ; $(MAKE) -e
@cd templates ; $(MAKE) -e
@cd $(GLOBAL_WORKING_DIR)/ezc/src ; $(MAKE) -e
@cd $(GLOBAL_WORKING_DIR)/tito/src ; $(MAKE) -e
@cd $(GLOBAL_WORKING_DIR)/pikotools ; $(MAKE) -e
@cd $(GLOBAL_WORKING_DIR)/morm/src ; $(MAKE) -e
$(CXX) -shared -rdynamic -Wl,-whole-archive -o winix.so $(CXXFLAGS) $(winix_include_paths) core/*.o db/*.o functions/*.o templates/*.o notify/*.o $(GLOBAL_WORKING_DIR)/ezc/src/ezc.a $(GLOBAL_WORKING_DIR)/tito/src/tito.a $(GLOBAL_WORKING_DIR)/pikotools/convert/convert.a $(GLOBAL_WORKING_DIR)/pikotools/utf8/utf8.a $(GLOBAL_WORKING_DIR)/pikotools/space/space.a $(GLOBAL_WORKING_DIR)/pikotools/mainparser/mainparser.a $(GLOBAL_WORKING_DIR)/pikotools/date/date.a $(GLOBAL_WORKING_DIR)/pikotools/log/log.a $(GLOBAL_WORKING_DIR)/morm/src/morm.a $(LDFLAGS) -lfcgi -lpq -lz -lpthread -lcurl -Wl,-no-whole-archive
winix: winix.so $(winix.src.files)
@cd main ; $(MAKE) -e
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o winix.so -lfcgi
plugins: FORCE
@cd plugins/stats ; $(MAKE) -e
@cd plugins/thread ; $(MAKE) -e
@cd plugins/ticket ; $(MAKE) -e
@cd plugins/gallery ; $(MAKE) -e
@cd plugins/group ; $(MAKE) -e
@cd plugins/menu ; $(MAKE) -e
@cd plugins/export ; $(MAKE) -e
@cd plugins/mailregister ; $(MAKE) -e
@cd plugins/seo ; $(MAKE) -e
FORCE:
clean:
@cd core ; $(MAKE) -e clean
@cd db ; $(MAKE) -e clean
@cd functions ; $(MAKE) -e clean
@cd templates ; $(MAKE) -e clean
@cd notify ; $(MAKE) -e clean
@cd plugins/stats ; $(MAKE) -e clean
@cd plugins/thread ; $(MAKE) -e clean
@cd plugins/ticket ; $(MAKE) -e clean
@cd plugins/gallery ; $(MAKE) -e clean
@cd plugins/group ; $(MAKE) -e clean
@cd plugins/menu ; $(MAKE) -e clean
@cd plugins/export ; $(MAKE) -e clean
@cd plugins/mailregister ; $(MAKE) -e clean
@cd plugins/seo ; $(MAKE) -e clean
@cd $(GLOBAL_WORKING_DIR)/ezc/src ; $(MAKE) -e clean
@cd $(GLOBAL_WORKING_DIR)/tito/src ; $(MAKE) -e clean
@cd $(GLOBAL_WORKING_DIR)/pikotools ; $(MAKE) -e clean
@cd $(GLOBAL_WORKING_DIR)/morm/src ; $(MAKE) -e clean
@cd main ; $(MAKE) -e clean
rm -f winix.so
rm -f winix
depend:
@cd core ; $(MAKE) -e depend
@cd db ; $(MAKE) -e depend
@cd functions ; $(MAKE) -e depend
@cd templates ; $(MAKE) -e depend
@cd notify ; $(MAKE) -e depend
@cd plugins/stats ; $(MAKE) -e depend
@cd plugins/thread ; $(MAKE) -e depend
@cd plugins/ticket ; $(MAKE) -e depend
@cd plugins/gallery ; $(MAKE) -e depend
@cd plugins/group ; $(MAKE) -e depend
@cd plugins/menu ; $(MAKE) -e depend
@cd plugins/export ; $(MAKE) -e depend
@cd plugins/mailregister ; $(MAKE) -e depend
@cd plugins/seo ; $(MAKE) -e depend
@cd $(GLOBAL_WORKING_DIR)/ezc/src ; $(MAKE) -e depend
@cd $(GLOBAL_WORKING_DIR)/tito/src ; $(MAKE) -e depend
@cd $(GLOBAL_WORKING_DIR)/pikotools ; $(MAKE) -e depend
@cd main ; $(MAKE) -e depend
echo -n "winix.src.files = " > Makefile.dep
find -E . -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
# use $(global_relative_working_dir) here to put relative paths to Makefile.dep
find -E $(global_relative_working_dir)/ezc/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E $(global_relative_working_dir)/tito/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E $(global_relative_working_dir)/pikotools -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E $(global_relative_working_dir)/morm/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
install: all
# installing binaries
rm -Rf $(winix_install_dir)/bin
mkdir -p $(winix_install_dir)/bin
cp winix $(winix_install_dir)/bin
cp winix.so $(winix_install_dir)/bin
# etc configs
rm -Rf $(winix_install_dir)/etc
mkdir -p $(winix_install_dir)/etc
cp -rf etc/* $(winix_install_dir)/etc/
# html templates
rm -Rf $(winix_install_dir)/html
mkdir -p $(winix_install_dir)/html
cp -rf html/* $(winix_install_dir)/html/
# txt templates
rm -Rf $(winix_install_dir)/txt
mkdir -p $(winix_install_dir)/txt
cp -rf txt/* $(winix_install_dir)/txt/
# locales
rm -Rf $(winix_install_dir)/locale
mkdir -p $(winix_install_dir)/locale
cp -rf locale/* $(winix_install_dir)/locale/
# plugins
rm -Rf $(winix_install_dir)/plugins
mkdir -p $(winix_install_dir)/plugins
find plugins/ -name "*.so" | xargs -I foo cp foo $(winix_install_dir)/plugins/
# deleting subversion directories
find $(winix_install_dir) -type d -name ".svn" | xargs -I foo rm -fr foo
# removing privileges for others
find $(winix_install_dir) -exec chmod o-r,o-x,o-w "{}" "+"
File diff suppressed because one or more lines are too long
+24
View File
@@ -0,0 +1,24 @@
include Makefile.o.dep
current_path := $(shell pwd)
global_relative_working_dir := $(shell relative_path $(current_path) $(GLOBAL_WORKING_DIR))
winix_include_paths = -I$(global_relative_working_dir)/winix/winixd -I$(global_relative_working_dir)/ezc/src -I$(global_relative_working_dir)/tito/src -I$(global_relative_working_dir)/morm/src -I$(global_relative_working_dir)/pikotools
all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(winix_include_paths) $<
depend:
makedepend -Y. $(winix_include_paths) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
include Makefile.dep
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
o = acceptbaseparser.o app.o basethread.o bbcodeparser.o compress.o config.o crypt.o dircontainer.o dirs.o filelog.o groups.o htmlfilter.o httpsimpleparser.o image.o ipbancontainer.o item.o job.o lastcontainer.o loadavg.o lock.o log.o misc.o mount.o mountparser.o mounts.o plugin.o plugindata.o postmultiparser.o rebus.o request.o run.o session.o sessioncontainer.o sessionidmanager.o sessionmanager.o sessionparser.o slog.o synchro.o system.o threadmanager.o timezone.o timezones.o user.o users.o winixbase.o winixmodel.o winixrequest.o winixsystem.o
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,7 @@
#define headerfile_winix_core_acceptbaseparser #define headerfile_winix_core_acceptbaseparser
#include <string> #include <string>
#include "winixbase.h"
namespace Winix namespace Winix
@@ -46,7 +47,7 @@ namespace Winix
// sample (you must create your own class derived from this one): // sample (you must create your own class derived from this one):
// object.Parse(L" text/html ; , ; q = 45, application / xhtml+xml ; q = 0.4 , application/xml ; q = 0.9 , */* ; q = 0.8 "); // object.Parse(L" text/html ; , ; q = 45, application / xhtml+xml ; q = 0.4 , application/xml ; q = 0.9 , */* ; q = 0.8 ");
class AcceptBaseParser class AcceptBaseParser : public WinixBase
{ {
public: public:
+455 -130
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2010-2015, Tomasz Sowa * Copyright (c) 2010-2019, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -49,6 +49,8 @@
#include "misc.h" #include "misc.h"
#include "functions/functions.h" #include "functions/functions.h"
#include "utf8/utf8.h" #include "utf8/utf8.h"
#include "convert/convert.h"
namespace Winix namespace Winix
@@ -63,39 +65,83 @@ App::App()
last_sessions_save = std::time(0); last_sessions_save = std::time(0);
fcgi_socket = -1; fcgi_socket = -1;
file_log.set_synchro(&synchro);
file_log.set_time_zones(&system.time_zones);
log.SetLogBuffer(&log_buffer);
log.SetFileLog(&file_log);
// objects dependency for main thread
winix_base.set_config(&config);
winix_base.set_log_buffer(&log_buffer);
winix_base.set_file_log(&file_log);
winix_base.set_synchro(&synchro);
winix_model.set_dependency(&winix_base);
winix_model.set_plugin(&plugin);
winix_model.set_model_connector(&model_connector);
winix_system.set_dependency(&winix_model);
winix_system.set_system(&system);
winix_request.set_dependency(&winix_system);
winix_request.set_cur(&cur);
winix_request.set_session_manager(&session_manager);
winix_request.set_locale(&TemplatesFunctions::locale);
// //////////////////////////////////
config.SetFileLog(&file_log);
config.SetLogBuffer(&log_buffer);
// temporary there is only one request // temporary there is only one request
cur.request = &req; cur.request = &req;
cur.session = session_manager.GetTmpSession(); cur.session = session_manager.GetTmpSession();
cur.mount = system.mounts.GetEmptyMount(); cur.mount = system.mounts.GetEmptyMount();
db_conn.set_dependency(&winix_base);
db.set_dependency(&winix_base);
db.SetConn(db_conn); db.SetConn(db_conn);
plugin.set_dependency(&winix_base);
plugin.SetDb(&db); plugin.SetDb(&db);
plugin.SetConfig(&config); //plugin.SetConfig(&config);
plugin.SetCur(&cur); plugin.SetCur(&cur);
plugin.SetSystem(&system); plugin.SetSystem(&system);
plugin.SetFunctions(&functions); plugin.SetFunctions(&functions);
plugin.SetTemplates(&templates); plugin.SetTemplates(&templates);
plugin.SetSynchro(&synchro); //plugin.SetSynchro(&synchro);
plugin.SetSessionManager(&session_manager); plugin.SetSessionManager(&session_manager);
plugin.SetWinixRequest(&winix_request);
req.SetConfig(&config); req.SetConfig(&config);
functions.SetConfig(&config); functions.set_dependency(&winix_request);
// functions.set_config(&config);
// functions.set_file_log(&file_log);
// functions.set_model_connector(&model_connector);
// functions.set_synchro(&synchro);
//functions.SetConfig(&config);
functions.SetCur(&cur); functions.SetCur(&cur);
functions.SetDb(&db); functions.SetDb(&db);
functions.SetSystem(&system); functions.SetSystem(&system);
functions.SetTemplates(&templates); functions.SetTemplates(&templates);
functions.SetSynchro(&synchro); //functions.SetSynchro(&synchro);
functions.SetSessionManager(&session_manager); functions.SetSessionManager(&session_manager);
system.SetConfig(&config);
system.set_dependency(&winix_model);
//system.SetConfig(&config);
system.SetCur(&cur); system.SetCur(&cur);
system.SetDb(&db); system.SetDb(&db);
system.SetSynchro(&synchro); //system.SetSynchro(&synchro);
system.SetFunctions(&functions); system.SetFunctions(&functions);
system.SetSessionManager(&session_manager); system.SetSessionManager(&session_manager);
templates.set_dependency(&winix_request);
templates.SetConfig(&config); templates.SetConfig(&config);
templates.SetCur(&cur); templates.SetCur(&cur);
templates.SetDb(&db); templates.SetDb(&db);
@@ -103,20 +149,37 @@ App::App()
templates.SetFunctions(&functions); templates.SetFunctions(&functions);
templates.SetSessionManager(&session_manager); templates.SetSessionManager(&session_manager);
session_manager.set_dependency(&winix_model); // zobaczyc czy wskoczy do przeciazonej metody w session manager
session_manager.SetLastContainer(&system.users.last); session_manager.SetLastContainer(&system.users.last);
session_manager.SetConfig(&config);
session_manager.SetCur(&cur); session_manager.SetCur(&cur);
session_manager.SetSystem(&system); session_manager.SetSystem(&system);
session_manager.SetSynchro(&synchro);
post_multi_parser.set_dependency(&winix_base);
post_multi_parser.SetConfig(&config); post_multi_parser.SetConfig(&config);
slog.SetCur(&cur);
slog.SetLocale(&TemplatesFunctions::locale);
} }
void App::InitLoggers()
{
file_log.init(config.log_file, config.log_stdout, config.log_level, config.log_save_each_line, config.log_time_zone_id);
log.SetMaxRequests(config.log_request);
}
Log & App::GetMainLog()
{
return log;
}
void App::InitPlugins()
{
plugin.LoadPlugins(config.plugins_dir, config.plugin_file);
}
bool App::InitFCGI(char * sock, char * sock_user, char * sock_group) bool App::InitFCGI(char * sock, char * sock_user, char * sock_group)
{ {
if( !WideToUTF8(config.fcgi_socket, sock, WINIX_OS_PATH_SIZE) ) if( !WideToUTF8(config.fcgi_socket, sock, WINIX_OS_PATH_SIZE) )
@@ -212,13 +275,25 @@ return true;
bool App::Init() bool App::Init()
{ {
postgresql_connector.set_conn_param(config.db_database, config.db_user, config.db_pass);
postgresql_connector.set_logger(log);
postgresql_connector.set_log_queries(config.log_db_query);
postgresql_connector.wait_for_connection();
model_connector.set_flat_connector(json_connector);
model_connector.set_db_connector(postgresql_connector);
//model_connector.set_doc_connector(doc_html_connector);
db_conn.SetConnParam(config.db_database, config.db_user, config.db_pass); db_conn.SetConnParam(config.db_database, config.db_user, config.db_pass);
db_conn.WaitForConnection(); db_conn.WaitForConnection();
db.PostgreSQLsmallerThan10(config.db_postgresql_smaller_than_10);
db.LogQueries(config.log_db_query); db.LogQueries(config.log_db_query);
cur.request->Clear(); cur.request->Clear();
compress.set_dependency(&winix_base);
compress.Init(); compress.Init();
system.Init(); system.Init();
functions.Init(); functions.Init();
templates.Init(); // init templates after functions are created templates.Init(); // init templates after functions are created
@@ -232,9 +307,14 @@ bool App::Init()
CreateStaticTree(); CreateStaticTree();
post_parser.set_dependency(&winix_model);
post_parser.LogValueSize(config.log_post_value_size); post_parser.LogValueSize(config.log_post_value_size);
// post_multi_parser has a pointer to the config // post_multi_parser has a pointer to the config
cookie_parser.set_dependency(&winix_model);
accept_encoding_parser.set_dependency(&winix_base);
plugin.Call((Session*)0, WINIX_PLUGIN_INIT); plugin.Call((Session*)0, WINIX_PLUGIN_INIT);
return true; return true;
@@ -244,16 +324,27 @@ return true;
void App::Close() void App::Close()
{ {
session_manager.SaveSessions(); {
session_manager.DeleteSessions(); Winix::Lock lock(synchro);
cur.request->Clear();
session_manager.UninitTmpSession(); plugin.Call((Winix::Session*)0, WINIX_CLOSE);
session_manager.SaveSessions();
session_manager.DeleteSessions();
cur.request->Clear();
session_manager.UninitTmpSession();
// now all sessions are cleared
}
WaitForThreads();
// now all others threads are terminated
} }
void App::BaseUrlRedirect(int code, bool add_subdomain) void App::BaseUrlRedirect(int code, bool add_subdomain)
{ {
system.PutUrlProto(config.use_ssl, cur.request->redirect_to); system.PutUrlProto(cur.request->redirect_to);
if( add_subdomain && !cur.request->subdomain.empty() ) if( add_subdomain && !cur.request->subdomain.empty() )
{ {
@@ -400,21 +491,27 @@ void App::ProcessRequestThrow()
// and then BaseUrlRedirect() will be called (for performance) // and then BaseUrlRedirect() will be called (for performance)
if( !BaseUrlRedirect() ) if( !BaseUrlRedirect() )
{ {
session_manager.SetSession();
cur.session = session_manager.GetCurSession();
SetLocale();
if( cur.session->new_session )
{
cur.session->plugin_data.Resize(plugin.Size());
plugin.Call(WINIX_SESSION_CREATED);
}
plugin.Call(WINIX_SESSION_CHANGED);
if( cur.request->env_request_uri.size() <= WINIX_URL_MAX_SIZE ) if( cur.request->env_request_uri.size() <= WINIX_URL_MAX_SIZE )
{ {
functions.Parse(); // parsing directories, files, functions and parameters functions.Parse(); // parsing directories, files, functions and parameters
if( !cur.request->dir_tab.empty() )
{
cur.mount = system.mounts.CalcCurMount();
cur.session = session_manager.PrepareSession();
functions.CheckFunctionAndSymlink(); // here a function can be changed
cur.session = session_manager.CheckIfFunctionRequireSession();
SetLocale();
if( cur.session->new_session )
{
cur.session->plugin_data.Resize(plugin.Size());
plugin.Call(WINIX_SESSION_CREATED);
}
plugin.Call(WINIX_SESSION_CHANGED);
}
} }
else else
{ {
@@ -434,7 +531,22 @@ void App::ProcessRequestThrow()
log << log1 << "App: the URL is too long: " << cur.request->env_request_uri.size() << logend; log << log1 << "App: the URL is too long: " << cur.request->env_request_uri.size() << logend;
} }
cur.mount = system.mounts.CalcCurMount(); if( cur.request->dir_tab.empty() )
{
log << log1 << "App: there is no a root dir (dir_tab is empty), adding a root dir" << logend;
Item * root_dir = system.dirs.GetRootDir();
if( root_dir )
{
cur.request->dir_tab.push_back(root_dir);
cur.request->last_item = cur.request->dir_tab.back();
cur.mount = system.mounts.CalcCurMount();
}
else
{
log << log1 << "App: oops, we do not have a root dir" << logend;
}
}
if( cur.mount->type != system.mounts.MountTypeStatic() ) if( cur.mount->type != system.mounts.MountTypeStatic() )
Make(); Make();
@@ -453,7 +565,7 @@ void App::ProcessRequest()
log << log2 << config.log_delimiter << logend; log << log2 << config.log_delimiter << logend;
ProcessRequestThrow(); ProcessRequestThrow();
SaveSessionsIfNeeded(); // !! IMPROVE ME move to the session's thread SaveSessionsIfNeeded();
system.load_avg.StopRequest(); system.load_avg.StopRequest();
} }
@@ -500,6 +612,8 @@ void App::ClearAfterRequest()
html_filtered.clear(); html_filtered.clear();
aheader_name.clear(); aheader_name.clear();
aheader_value.clear(); aheader_value.clear();
cur.mount = system.mounts.GetEmptyMount();
system.mounts.pmount = cur.mount; // IMPROVE ME system.mounts.pmount will be removed
// send_data_buf doesn't have to be cleared and it is better to not clear it (optimizing) // send_data_buf doesn't have to be cleared and it is better to not clear it (optimizing)
log << logendrequest; log << logendrequest;
@@ -554,16 +668,27 @@ void App::CreateJSONAnswer()
if( !req.return_info_only ) if( !req.return_info_only )
{ {
json_out_stream << L"{\n"; json_out_stream << L"{\n\"out\": {\n";
for(size_t i=1 ; i<req.out_streams.size() ; ++i) auto i = req.out_streams.streams_map.begin();
bool is_first = true;
for( ; i != req.out_streams.streams_map.end() ; ++i)
{ {
json_out_stream << L"\"stream_" << i << L"\": \""; if( !is_first )
JSONescape(json_out_stream, req.out_streams[i].Str()); {
json_out_stream << L"\",\n"; json_out_stream << L",\n";
}
json_out_stream << L"\"";
JSONescape(json_out_stream, i->first);
json_out_stream << L"\": \"";
JSONescape(json_out_stream, i->second->Str());
json_out_stream << L"\"";
is_first = false;
} }
json_out_stream << L"\"info\": "; json_out_stream << L"}\n,\n\"info\": ";
} }
if( req.info_serializer ) if( req.info_serializer )
@@ -590,8 +715,6 @@ void App::CreateJSONAnswer()
// !! IMPROVE ME change to a better name // !! IMPROVE ME change to a better name
void App::MakePage() void App::MakePage()
{ {
bool sent = false;
if( cur.request->page_generated || !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() ) if( cur.request->page_generated || !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() )
return; return;
@@ -599,27 +722,7 @@ bool sent = false;
cur.request->gen_skip_new_line, cur.request->gen_skip_new_line,
cur.request->gen_use_special_chars); cur.request->gen_use_special_chars);
if( cur.request->is_item && cur.request->item.file_type == WINIX_ITEM_FILETYPE_NONE && templates.Generate();
cur.request->item.content_type == Item::ct_raw && cur.request->status == WINIX_ERR_OK && cur.request->function )
{
if( cur.request->function == &functions.fun_cat )
{
TemplatesFunctions::item_print_content(cur.request->out_streams[0],
cur.request->item.content, cur.request->item.content_type);
sent = true;
}
else
if( cur.request->function == &functions.fun_run )
{
templates.GenerateRunRaw();
sent = true;
}
}
if( !sent )
{
templates.Generate();
}
} }
@@ -659,7 +762,9 @@ void App::Make()
if( cur.session->ip_ban && cur.session->ip_ban->IsIPBanned() ) if( cur.session->ip_ban && cur.session->ip_ban->IsIPBanned() )
{ {
PT::Date date(cur.session->ip_ban->expires); PT::Date date(cur.session->ip_ban->expires);
slog << logerror << T("this_ip_is_banned_until") << ' ' << date << " UTC" << logend;
// IMPROVE ME there is no slog now
//slog << logerror << T("this_ip_is_banned_until") << ' ' << date << " UTC" << logend;
cur.request->status = WINIX_ERR_PERMISSION_DENIED; cur.request->status = WINIX_ERR_PERMISSION_DENIED;
} }
@@ -668,8 +773,8 @@ void App::Make()
if( cur.request->status == WINIX_ERR_OK ) if( cur.request->status == WINIX_ERR_OK )
plugin.Call(WINIX_PREPARE_REQUEST); plugin.Call(WINIX_PREPARE_REQUEST);
if( cur.request->status == WINIX_ERR_OK ) // if( cur.request->status == WINIX_ERR_OK )
functions.CheckFunctionAndSymlink(); // functions.CheckFunctionAndSymlink();
CheckAccessFromPlugins(); CheckAccessFromPlugins();
@@ -703,12 +808,6 @@ void App::Make()
return; return;
} }
if( !cur.request->info_serializer )
{
json_generic_serializer.Clear(); // !! IMPROVE ME add to the end of a request
cur.request->info_serializer = &json_generic_serializer;
}
plugin.Call(WINIX_CONTENT_MAKE); plugin.Call(WINIX_CONTENT_MAKE);
MakePage(); MakePage();
} }
@@ -721,6 +820,22 @@ void App::LogEnvironmentVariables()
} }
void App::LogEnvironmentHTTPVariables()
{
PT::Space::Table::iterator i = cur.request->headers_in.table.begin();
for( ; i != cur.request->headers_in.table.end() ; ++i)
{
log << log1 << "HTTP Env: " << i->first << "=";
if( i->second.size() == 1 )
log << i->second[0] << logend;
else
log << "(incorrect value table size, should be one but is " << i->second.size() << ")" << logend;
}
}
/* /*
* reading the request (without GET parameters in the URL) * reading the request (without GET parameters in the URL)
@@ -734,6 +849,7 @@ void App::ReadRequest()
SetSubdomain(); SetSubdomain();
LogAccess(); LogAccess();
ReadEnvHTTPVariables();
ReadPostVars(); ReadPostVars();
@@ -743,6 +859,9 @@ void App::ReadRequest()
if( config.log_env_variables ) if( config.log_env_variables )
LogEnvironmentVariables(); LogEnvironmentVariables();
if( config.log_env_http_variables )
LogEnvironmentHTTPVariables();
CheckIE(); CheckIE();
CheckKonqueror(); CheckKonqueror();
@@ -769,25 +888,124 @@ void App::ReadEnvVariables()
{ {
SetEnv("REQUEST_METHOD", cur.request->env_request_method); SetEnv("REQUEST_METHOD", cur.request->env_request_method);
SetEnv("REQUEST_URI", cur.request->env_request_uri); SetEnv("REQUEST_URI", cur.request->env_request_uri);
SetEnv("HTTP_COOKIE", cur.request->env_http_cookie);
SetEnv("REMOTE_ADDR", cur.request->env_remote_addr);
SetEnv("HTTP_HOST", cur.request->env_http_host);
SetEnv("HTTP_USER_AGENT", cur.request->env_http_user_agent);
SetEnv("FCGI_ROLE", cur.request->env_fcgi_role); SetEnv("FCGI_ROLE", cur.request->env_fcgi_role);
SetEnv("CONTENT_TYPE", cur.request->env_content_type); SetEnv("CONTENT_TYPE", cur.request->env_content_type);
SetEnv("HTTP_ACCEPT_ENCODING", cur.request->env_http_accept_encoding);
SetEnv("HTTPS", cur.request->env_https); SetEnv("HTTPS", cur.request->env_https);
SetEnv("HTTP_HOST", cur.request->env_http_host);
SetEnv("HTTP_USER_AGENT", cur.request->env_http_user_agent);
SetEnv("HTTP_COOKIE", cur.request->env_http_cookie);
SetEnv("HTTP_ACCEPT_ENCODING", cur.request->env_http_accept_encoding);
} }
// reading from fastcgi env
void App::ReadEnvHTTPVariables()
{
const char http_prefix[] = "HTTP_";
size_t http_prefix_len = sizeof(http_prefix) / sizeof(char) - 1; // 1 means terminating null character
size_t http_headers_saved = 0;
for(char ** e = fcgi_request.envp ; *e && http_headers_saved < Request::MAX_INPUT_HEADERS ; ++e)
{
char * env = *e;
if( PT::IsSubStringNoCasep("HTTP_", env) )
{
env += http_prefix_len;
// cookies we have in a different table
if( !PT::IsSubStringNoCasep("COOKIE=", env) )
{
if( SaveEnvHTTPVariable(env) )
{
http_headers_saved += 1;
}
}
}
}
if( http_headers_saved == Request::MAX_INPUT_HEADERS )
{
log << log4 << "App: the maximum number of HTTP headers has been reached, skipping the rest" << logend;
}
}
/*
* headers in fcgi are in the form of name=value
*/
bool App::SaveEnvHTTPVariable(const char * env)
{
// CHECK ME may move to a better place? Request::INPUT_HEADER_VALUE_MAX_LENGTH is a high value
char header_name[Request::INPUT_HEADER_NAME_MAX_LENGTH + 1];
char header_value[Request::INPUT_HEADER_VALUE_MAX_LENGTH + 1];
size_t i = 0;
for( ; env[i] != 0 && env[i] != '=' && i < Request::INPUT_HEADER_NAME_MAX_LENGTH ; ++i)
{
header_name[i] = PT::ToLower(env[i]);
}
header_name[i] = 0;
if( env[i] != '=' )
{
// too long header name, skipping
log << log4 << "App: skipped HTTP header \"" << env << "\" because the header name is too long" << logend;
return false;
}
i += 1; // skipping '=' character
size_t h = 0;
for( ; env[i] != 0 && h < Request::INPUT_HEADER_VALUE_MAX_LENGTH ; ++i, ++h)
{
header_value[h] = env[i];
}
header_value[h] = 0;
if( env[i] != 0 )
{
// too long header value, skipping
log << log4 << "App: skipped HTTP header \"" << env << "\" because the header value is too long" << logend;
return false;
}
PT::UTF8ToWide(header_name, http_header);
std::wstring & inserted_header = cur.request->headers_in.Add(http_header, L"", true);
PT::UTF8ToWide(header_value, inserted_header);
http_header.clear();
return true;
}
void App::ReadEnvRemoteIP() void App::ReadEnvRemoteIP()
{ {
const char * v = FCGX_GetParam("REMOTE_ADDR", fcgi_request.envp); const char * v = nullptr;
if( config.check_proxy_ip_header )
{
http_header = L"HTTP_";
http_header += config.proxy_ip_header;
PT::ToUpper(http_header);
PT::WideToUTF8(http_header, http_header_8bit);
v = FCGX_GetParam(http_header_8bit.c_str(), fcgi_request.envp);
}
else
{
v = FCGX_GetParam("REMOTE_ADDR", fcgi_request.envp);
}
if( v ) if( v )
{ {
cur.request->ip = (int)inet_addr(v); cur.request->ip = (int)inet_addr(v);
PT::UTF8ToWide(v, cur.request->ip_str);
} }
} }
@@ -800,14 +1018,17 @@ void App::CheckRequestMethod()
if( !cur.request->env_request_method.empty() ) if( !cur.request->env_request_method.empty() )
{ {
if( ToSmall(cur.request->env_request_method[0]) == 'g' ) if( PT::ToLower(cur.request->env_request_method[0]) == 'g' )
cur.request->method = Request::get; cur.request->method = Request::get;
else else
if( ToSmall(cur.request->env_request_method[0]) == 'p' ) if( PT::ToLower(cur.request->env_request_method[0]) == 'p' )
cur.request->method = Request::post; cur.request->method = Request::post;
else else
if( ToSmall(cur.request->env_request_method[0]) == 'h' ) if( PT::ToLower(cur.request->env_request_method[0]) == 'h' )
cur.request->method = Request::head; cur.request->method = Request::head;
else
if( PT::ToLower(cur.request->env_request_method[0]) == 'd' )
cur.request->method = Request::delete_;
} }
} }
@@ -819,7 +1040,10 @@ void App::CheckSSL()
// value "on" exists in lighttpd server // value "on" exists in lighttpd server
// make sure that for other servers is "on" too // make sure that for other servers is "on" too
if( EqualNoCase(cur.request->env_https.c_str(), L"on") ) if( config.assume_connection_is_through_ssl )
cur.request->using_ssl = true;
else
if( PT::EqualNoCase(cur.request->env_https.c_str(), L"on") )
cur.request->using_ssl = true; cur.request->using_ssl = true;
} }
@@ -833,10 +1057,10 @@ void App::SetSubdomain()
void App::LogAccess() void App::LogAccess()
{ {
log << log1; log << log1;
log.PrintDate(cur.request->start_date, config.log_time_zone_id); log.PrintDate(cur.request->start_date);
log << ' ' log << ' '
<< cur.request->env_remote_addr << ' ' << cur.request->ip_str << ' '
<< cur.request->env_request_method << ' ' << cur.request->env_request_method << ' '
<< cur.request->env_http_host << cur.request->env_http_host
<< cur.request->env_request_uri << ' ' << cur.request->env_request_uri << ' '
@@ -848,17 +1072,70 @@ void App::LogAccess()
void App::ReadPostJson()
{
char buffer[1024];
const int buffer_len = sizeof(buffer) / sizeof(char) - 1;
int read_len;
post_json_parser.SetSpace(cur.request->post_in);
post_buffer.clear();
post_buffer.reserve(1024 * 1024 * 5); // IMPROVEME add to config?
cur.request->is_postin_used = true;
do
{
// IMPROVE ME
// we can read to PT::TextBuffer and make a PT::JSONToSpaceParser::Parse(PT::TextBuffer &) method
read_len = FCGX_GetStr(buffer, buffer_len, fcgi_request.in);
if( read_len > 0 )
post_buffer.append(buffer, read_len);
}
while( read_len == buffer_len );
if( !post_buffer.empty() )
{
PT::JSONToSpaceParser::Status status = post_json_parser.ParseString(post_buffer.c_str());
post_buffer.clear();
if( status != PT::JSONToSpaceParser::ok )
{
log << log1 << "App: cannot parse the input stream as a JSON object, status: " << (int)status << logend;
cur.request->post_in.Clear();
// return an error (http error of some kind?)
}
}
else
{
log << log3 << "App: input body empty (skipping parsing)" << logend;
}
}
void App::ReadPostVars() void App::ReadPostVars()
{ {
if( cur.request->method == Request::post ) // CHECKME
// what about errors during parsing input?
if( cur.request->method == Request::post || cur.request->method == Request::delete_ )
{ {
if( IsSubStringNoCase(L"multipart/form-data", cur.request->env_content_type.c_str()) ) if( PT::IsSubStringNoCase(L"multipart/form-data", cur.request->env_content_type.c_str()) )
{ {
log << log3 << "App: post content type: multipart/form-data" << logend; log << log3 << "App: post content type: multipart/form-data" << logend;
post_multi_parser.Parse(fcgi_request.in, cur.request->post_tab, cur.request->post_file_tab); post_multi_parser.Parse(fcgi_request.in, cur.request->post_tab, cur.request->post_file_tab);
} }
else else
if( PT::IsSubStringNoCase(L"application/json", cur.request->env_content_type.c_str()) )
{ {
log << log3 << "App: post content type: application/json" << logend;
ReadPostJson();
}
else
{
// IMPROVE ME may to check a correct content-type header?
post_parser.Parse(fcgi_request.in, cur.request->post_tab); post_parser.Parse(fcgi_request.in, cur.request->post_tab);
} }
} }
@@ -1149,55 +1426,54 @@ void App::PrepareHeadersNormal(Header header, size_t output_size)
// and if compression is enabled the client's browser will not be able to decompress the stream // and if compression is enabled the client's browser will not be able to decompress the stream
void App::SendHeaders() void App::SendHeaders()
{ {
PT::Space::TableSingle::iterator i; PT::Space::Table::iterator i;
PT::Space & headers = cur.request->out_headers; PT::Space & headers = cur.request->out_headers;
plugin.Call(WINIX_PREPARE_TO_SEND_HTTP_HEADERS, &headers); plugin.Call(WINIX_PREPARE_TO_SEND_HTTP_HEADERS, &headers);
for(i=headers.table_single.begin() ; i != headers.table_single.end() ; ++i) for(i=headers.table.begin() ; i != headers.table.end() ; ++i)
{ {
PT::WideToUTF8(i->first, aheader_name); if( i->second.size() == 1 )
PT::WideToUTF8(i->second, aheader_value); {
PT::WideToUTF8(i->first, aheader_name);
PT::WideToUTF8(i->second[0], aheader_value);
FCGX_PutS(aheader_name.c_str(), fcgi_request.out); FCGX_PutS(aheader_name.c_str(), fcgi_request.out);
FCGX_PutS(": ", fcgi_request.out); FCGX_PutS(": ", fcgi_request.out);
FCGX_PutS(aheader_value.c_str(), fcgi_request.out); FCGX_PutS(aheader_value.c_str(), fcgi_request.out);
FCGX_PutS("\r\n", fcgi_request.out); FCGX_PutS("\r\n", fcgi_request.out);
if( config.log_http_answer_headers ) if( config.log_http_answer_headers )
log << log1 << "HTTP Header: " << aheader_name << ": " << aheader_value << logend; log << log1 << "HTTP Header: " << aheader_name << ": " << aheader_value << logend;
}
} }
} }
template<class RawType>
DbTextStream::RawText<RawType> R(const RawType & par)
{
return DbTextStream::RawText<RawType>(par);
}
void App::SendCookies() void App::SendCookies()
{ {
PT::Space::TableSingle::iterator i; PT::Space::Table::iterator i;
PT::Space & cookies = cur.request->out_cookies; PT::Space & cookies = cur.request->out_cookies;
plugin.Call(WINIX_PREPARE_TO_SEND_HTTP_COOKIES, &cookies); plugin.Call(WINIX_PREPARE_TO_SEND_HTTP_COOKIES, &cookies);
for(i=cookies.table_single.begin() ; i != cookies.table_single.end() ; ++i) for(i=cookies.table.begin() ; i != cookies.table.end() ; ++i)
{ {
PT::WideToUTF8(i->first, aheader_name); if( i->second.size() == 1 )
PT::WideToUTF8(i->second, aheader_value); {
PT::WideToUTF8(i->first, aheader_name);
PT::WideToUTF8(i->second[0], aheader_value);
FCGX_PutS("Set-Cookie: ", fcgi_request.out); FCGX_PutS("Set-Cookie: ", fcgi_request.out);
FCGX_PutS(aheader_name.c_str(), fcgi_request.out); FCGX_PutS(aheader_name.c_str(), fcgi_request.out);
FCGX_PutS("=", fcgi_request.out); FCGX_PutS("=", fcgi_request.out);
FCGX_PutS(aheader_value.c_str(), fcgi_request.out); FCGX_PutS(aheader_value.c_str(), fcgi_request.out);
FCGX_PutS("\r\n", fcgi_request.out); FCGX_PutS("\r\n", fcgi_request.out);
if( config.log_http_answer_headers ) if( config.log_http_answer_headers )
log << log1 << "HTTP Header: Set-Cookie: " << aheader_name << "=" << aheader_value << logend; log << log1 << "HTTP Header: Set-Cookie: " << aheader_name << "=" << aheader_value << logend;
}
} }
} }
@@ -1209,7 +1485,7 @@ void App::PrepareHeaders(bool compressing, int compress_encoding, Header header,
if( cur.request->send_as_attachment ) if( cur.request->send_as_attachment )
AddHeader(L"Content-Disposition", L"attachment"); AddHeader(L"Content-Disposition", L"attachment");
if( !cur.request->redirect_to.empty() ) if( !cur.request->redirect_to.empty() && !cur.request->return_json )
{ {
PrepareHeadersRedirect(); PrepareHeadersRedirect();
} }
@@ -1233,42 +1509,66 @@ void App::PrepareHeaders(bool compressing, int compress_encoding, Header header,
} }
void App::PrepareStandardJSONFields()
{
PT::Space & info = cur.request->info;
if( !info.GetFirstValue(L"status") )
{
info.Add(L"status", cur.request->status);
}
if( !cur.request->redirect_to.empty() && !info.GetFirstValue(L"redirect_to") )
{
info.Add(L"redirect_to", cur.request->redirect_to);
}
}
void App::FilterContent() void App::FilterContent()
{ {
Request & req = *cur.request; Request & req = *cur.request;
bool raw = req.is_item && req.item.content_type == Item::ct_raw &&
req.status == WINIX_ERR_OK && req.function &&
(req.function == &functions.fun_cat || req.function == &functions.fun_run);
size_t start = req.out_streams.size(); // default nothing should be filtered bool filter_main_stream = false;
size_t end = req.out_streams.size(); bool filter_json = false;
if( config.html_filter && !req.send_bin_stream && !raw ) if( config.html_filter && !req.send_bin_stream )
{ {
if( req.return_json ) if( req.return_json )
{ {
if( !req.return_info_only ) if( !req.return_info_only && req.out_streams_use_html_filter )
{ {
start = 1; filter_json = true;
} }
} }
else else
{ {
start = 0; if( req.out_main_stream_use_html_filter )
end = 1; filter_main_stream = true;
} }
} }
if( filter_main_stream )
for(size_t i=start ; i<end ; ++i)
{ {
if( req.use_html_filter[i] ) // !! IMPROVE ME may some kind of html_filtered.reserve() here? (optimization)
TemplatesFunctions::html_filter.Filter(req.out_main_stream.Str(), html_filtered);
req.out_main_stream.Str(std::move(html_filtered)); // !! IMPROVE ME we do not have Str(&&) method
log << log3 << "App: html in the main stream has been filtered" << logend;
}
if( filter_json )
{
for(auto i = req.out_streams.streams_map.begin() ; i != req.out_streams.streams_map.end() ; ++i)
{ {
HtmlTextStream & stream = *i->second;
// !! IMPROVE ME may some kind of html_filtered.reserve() here? (optimization) // !! IMPROVE ME may some kind of html_filtered.reserve() here? (optimization)
TemplatesFunctions::html_filter.Filter(req.out_streams[i].Str(), html_filtered); TemplatesFunctions::html_filter.Filter(stream.Str(), html_filtered);
req.out_streams[i].Str(std::move(html_filtered)); stream.Str(std::move(html_filtered));
} }
log << log3 << "App: html in json out streams have been filtered" << logend;
} }
} }
@@ -1334,9 +1634,23 @@ void App::SelectCompression(size_t source_len, bool & compression_allowed, int &
bool App::CanSendContent() bool App::CanSendContent()
{ {
if( !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() ) if( !cur.request->x_sendfile.empty() )
// if there is a redirect or a file to send then we do not send a content {
// if there is a file to send then we do not send a content
return false; return false;
}
if( cur.request->return_json )
{
// if there is a redirect flag then it will be put to info struct
return true;
}
if( !cur.request->redirect_to.empty() )
{
// if there is a redirect and no json is requred then we do not send the content
return false;
}
/* /*
we don't have to check the HEAD method we don't have to check the HEAD method
@@ -1398,7 +1712,7 @@ size_t output_size = 0;
} }
else else
{ {
source = &cur.request->out_streams[0].Str(); source = &cur.request->out_main_stream.Str();
} }
SelectCompression(source->length(), compressing, compress_encoding); SelectCompression(source->length(), compressing, compress_encoding);
@@ -1501,6 +1815,15 @@ int compress_encoding;
void App::SendAnswer() void App::SendAnswer()
{ {
if( !cur.request->info_serializer )
{
json_generic_serializer.Clear(); // !! IMPROVE ME add to the end of a request
cur.request->info_serializer = &json_generic_serializer;
}
if( cur.request->return_json )
PrepareStandardJSONFields();
if( cur.request->send_bin_stream ) if( cur.request->send_bin_stream )
SendBinaryAnswer(); SendBinaryAnswer();
else else
@@ -1625,6 +1948,8 @@ void App::LogUserGroups()
{ {
LogUsers(); LogUsers();
LogGroups(); LogGroups();
log << log3 << "base_url: " << config.base_url << logend;
} }
+45 -7
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2010-2014, Tomasz Sowa * Copyright (c) 2010-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -45,11 +45,6 @@
#include <errno.h> #include <errno.h>
#include <fcgiapp.h> #include <fcgiapp.h>
#include "config.h"
#include "system.h"
#include "mounts.h"
#include "request.h"
#include "synchro.h"
#include "sessionmanager.h" #include "sessionmanager.h"
#include "db/db.h" #include "db/db.h"
#include "functions/functions.h" #include "functions/functions.h"
@@ -59,7 +54,11 @@
#include "cookieparser.h" #include "cookieparser.h"
#include "postmultiparser.h" #include "postmultiparser.h"
#include "acceptencodingparser.h" #include "acceptencodingparser.h"
#include "space/jsontospaceparser.h"
#include "winixrequest.h"
#include "log/log.h"
#include "filelog.h"
namespace Winix namespace Winix
@@ -76,6 +75,9 @@ public:
bool InitFCGI(); bool InitFCGI();
bool DropPrivileges(); bool DropPrivileges();
void InitLoggers();
Log & GetMainLog();
void InitPlugins();
bool Init(); bool Init();
void Start(); void Start();
void Close(); void Close();
@@ -101,7 +103,7 @@ public:
// users sessions // users sessions
SessionManager session_manager; SessionManager session_manager;
// database // database (DEPRACATED)
Db db; Db db;
DbConn db_conn; DbConn db_conn;
@@ -129,6 +131,8 @@ public:
Templates templates; Templates templates;
private: private:
enum Header enum Header
@@ -140,6 +144,9 @@ private:
PostParser post_parser; PostParser post_parser;
PostMultiParser post_multi_parser; PostMultiParser post_multi_parser;
PT::JSONToSpaceParser post_json_parser;
std::string post_buffer;
CookieParser cookie_parser; CookieParser cookie_parser;
AcceptEncodingParser accept_encoding_parser; AcceptEncodingParser accept_encoding_parser;
Compress compress; Compress compress;
@@ -156,6 +163,32 @@ private:
std::string output_8bit; std::string output_8bit;
BinaryPage compressed_output; BinaryPage compressed_output;
std::wstring cookie_id_string; std::wstring cookie_id_string;
std::wstring http_header;
std::string http_header_8bit;
morm::ModelConnector model_connector; // main thread model connector, each thread has its own connector
morm::JSONConnector json_connector;
morm::PostgreSQLConnector postgresql_connector;
// objects for main thread
WinixBase winix_base;
WinixModel winix_model;
WinixSystem winix_system;
WinixRequest winix_request;
// ///////////////////////
Plugin plugin;
//////////////////////////
// log_buffer for the main thread
PT::WTextStream log_buffer;
// logger only for App object
Log log;
// file logger, one object for every Log objects
FileLog file_log;
bool InitFCGI(char * sock, char * sock_user, char * sock_group); bool InitFCGI(char * sock, char * sock_user, char * sock_group);
bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group); bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group);
@@ -182,10 +215,14 @@ private:
void SendAnswer(); void SendAnswer();
void LogEnvironmentVariables(); void LogEnvironmentVariables();
void LogEnvironmentHTTPVariables();
void SetEnv(const char * name, std::wstring & env); void SetEnv(const char * name, std::wstring & env);
void ReadEnvVariables(); void ReadEnvVariables();
void ReadEnvHTTPVariables();
bool SaveEnvHTTPVariable(const char * env);
void ReadEnvRemoteIP(); void ReadEnvRemoteIP();
void ReadPostJson();
void ReadPostVars(); void ReadPostVars();
void CheckIE(); void CheckIE();
@@ -213,6 +250,7 @@ private:
void PrepareHeadersCompression(int compress_encoding); void PrepareHeadersCompression(int compress_encoding);
void PrepareHeadersNormal(Header header, size_t output_size); void PrepareHeadersNormal(Header header, size_t output_size);
void PrepareHeaders(bool compressing, int compress_encoding, Header header, size_t output_size); void PrepareHeaders(bool compressing, int compress_encoding, Header header, size_t output_size);
void PrepareStandardJSONFields();
int SelectDeflateVersion(); int SelectDeflateVersion();
void SelectCompression(size_t source_len, bool & compression_allowed, int & compression_encoding); void SelectCompression(size_t source_len, bool & compression_allowed, int & compression_encoding);
bool CanSendContent(); bool CanSendContent();
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2010-2014, Tomasz Sowa * Copyright (c) 2010-2019, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -49,13 +49,22 @@ BaseThread::BaseThread() : thread_signal(PTHREAD_COND_INITIALIZER)
} }
BaseThread::~BaseThread()
void BaseThread::SetSynchro(Synchro * psynchro)
{ {
synchro = psynchro;
} }
void BaseThread::set_main_log_buffer(PT::WTextStream * log_buffer)
{
main_log.SetLogBuffer(log_buffer);
}
void BaseThread::set_main_file_log(PT::FileLog * file_log)
{
main_log.SetFileLog(file_log);
}
void BaseThread::Mode(int mode) void BaseThread::Mode(int mode)
{ {
+15 -5
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2010-2014, Tomasz Sowa * Copyright (c) 2010-2019, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,8 @@
#include <pthread.h> #include <pthread.h>
#include "synchro.h" #include "synchro.h"
#include "winixmodel.h"
namespace Winix namespace Winix
@@ -45,14 +47,16 @@ namespace Winix
class BaseThread class BaseThread : public WinixModel
{ {
public: public:
BaseThread(); BaseThread();
virtual ~BaseThread();
void set_main_log_buffer(PT::WTextStream * log_buffer);
void set_main_file_log(PT::FileLog * file_log);
// synchro object (must be set)
void SetSynchro(Synchro * psynchro);
// work mode // work mode
// we have two modes: // we have two modes:
@@ -97,6 +101,13 @@ public:
pthread_t ThreadId(); pthread_t ThreadId();
protected:
// logger for the main thread
Log main_log;
// log from WinixBase is meant to be used by the other thread
protected: protected:
@@ -123,7 +134,6 @@ protected:
protected: protected:
Synchro * synchro;
pthread_t thread_id; // thread id - set by StartThread() pthread_t thread_id; // thread id - set by StartThread()
pthread_cond_t thread_signal; pthread_cond_t thread_signal;
int work_mode; int work_mode;
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -66,36 +66,46 @@ return false;
} }
bool BBCODEParser::IsOpeningTagMark() bool BBCODEParser::IsOpeningTagMark(wchar_t c)
{ {
return (*pchar == '['); return (c == '[');
} }
// there are no commentaries in bbcode bool BBCODEParser::IsClosingTagMark(wchar_t c)
bool BBCODEParser::IsOpeningCommentaryTagMark() {
return (c == ']');
}
bool BBCODEParser::IsClosingXmlSimpleTagMark(wchar_t c)
{ {
return false; return false;
} }
// there are no commentaries in bbcode
bool BBCODEParser::IsOpeningCommentaryTagMark(const wchar_t *)
{
return false;
}
size_t BBCODEParser::OpeningCommentaryTagMarkSize()
{
return 0;
}
bool BBCODEParser::SkipCommentaryTagIfExists() bool BBCODEParser::SkipCommentaryTagIfExists()
{ {
return false; return false;
} }
bool BBCODEParser::IsClosingTagMark()
{
return (*pchar == ']');
}
bool BBCODEParser::IsClosingXmlSimpleTagMark()
{
return false;
}
@@ -446,7 +456,7 @@ bool first_tag_removed = false;
while( *pchar != 0 ) while( *pchar != 0 )
{ {
if( IsOpeningTagMark() ) if( IsOpeningTagMark(*pchar) )
{ {
if( IsClosingTagForLastItem() ) if( IsClosingTagForLastItem() )
{ {
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -62,10 +62,12 @@ class BBCODEParser : public HTMLFilter
virtual void Init(); virtual void Init();
virtual void Uninit(); virtual void Uninit();
virtual bool IsOpeningTagMark(); virtual bool IsOpeningTagMark(wchar_t c);
virtual bool IsOpeningCommentaryTagMark(); virtual bool IsClosingTagMark(wchar_t c);
virtual bool IsClosingTagMark(); virtual bool IsClosingXmlSimpleTagMark(wchar_t c);
virtual bool IsClosingXmlSimpleTagMark();
virtual bool IsOpeningCommentaryTagMark(const wchar_t *);
virtual size_t OpeningCommentaryTagMarkSize();
virtual bool IsValidCharForName(int c); virtual bool IsValidCharForName(int c);
virtual void CheckExceptions(); virtual void CheckExceptions();
+2 -1
View File
@@ -38,6 +38,7 @@
#include <cstring> #include <cstring>
#include <zlib.h> #include <zlib.h>
#include "requesttypes.h" #include "requesttypes.h"
#include "winixbase.h"
namespace Winix namespace Winix
@@ -45,7 +46,7 @@ namespace Winix
class Compress class Compress : public WinixBase
{ {
public: public:
+44 -18
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2015, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,6 @@
#include "config.h" #include "config.h"
#include "log.h" #include "log.h"
#include "plugin.h"
#include "misc.h" #include "misc.h"
#include "crypt.h" #include "crypt.h"
@@ -50,9 +49,16 @@ Config::Config()
} }
void Config::SetFileLog(FileLog * file_log)
{
log.SetFileLog(file_log);
}
//!! czy tu w ogole mozemy uzywac log << ?
//!! przeciez jeszcze nie zostal przetworzony plik konfiguracyjny void Config::SetLogBuffer(PT::WTextStream * log_buffer)
{
log.SetLogBuffer(log_buffer);
}
void Config::ShowError() void Config::ShowError()
@@ -101,9 +107,7 @@ bool Config::ReadConfig(bool errors_to_stdout_, bool stdout_is_closed)
log << log2 << "Config: reading a config file" << logend; log << log2 << "Config: reading a config file" << logend;
parser.SplitSingle(true);
parser.SetSpace(space); parser.SetSpace(space);
PT::SpaceParser::Status status = parser.Parse(config_file); PT::SpaceParser::Status status = parser.Parse(config_file);
if( status == PT::SpaceParser::ok ) if( status == PT::SpaceParser::ok )
@@ -132,7 +136,6 @@ void Config::AssignValues(bool stdout_is_closed)
additional_groups = Bool(L"additional_groups", true); additional_groups = Bool(L"additional_groups", true);
log_file = Text(L"log_file"); log_file = Text(L"log_file");
log_notify_file = Text(L"log_notify_file");
log_delimiter = Text(L"log_delimiter", L"---------------------------------------------------------------------------------"); log_delimiter = Text(L"log_delimiter", L"---------------------------------------------------------------------------------");
fcgi_socket = Text(L"fcgi_socket"); fcgi_socket = Text(L"fcgi_socket");
fcgi_socket_chmod = Int(L"fcgi_socket_chmod", 0770); fcgi_socket_chmod = Int(L"fcgi_socket_chmod", 0770);
@@ -149,6 +152,7 @@ void Config::AssignValues(bool stdout_is_closed)
log_plugin_call = Bool(L"log_plugin_call", false); log_plugin_call = Bool(L"log_plugin_call", false);
log_post_value_size = Size(L"log_post_value_size", 80); log_post_value_size = Size(L"log_post_value_size", 80);
log_env_variables = Bool(L"log_env_variables", false); log_env_variables = Bool(L"log_env_variables", false);
log_env_http_variables = Bool(L"log_env_http_variables", false);
log_http_answer_headers = Bool(L"log_http_answer_headers", false); log_http_answer_headers = Bool(L"log_http_answer_headers", false);
post_file_max = Size(L"post_file_max", 8388608); // 8 MB post_file_max = Size(L"post_file_max", 8388608); // 8 MB
@@ -182,12 +186,15 @@ void Config::AssignValues(bool stdout_is_closed)
templates_fun_prefix = Text(L"templates_fun_prefix", L"fun_"); templates_fun_prefix = Text(L"templates_fun_prefix", L"fun_");
templates_fun_postfix = Text(L"templates_fun_postfix", L".html"); templates_fun_postfix = Text(L"templates_fun_postfix", L".html");
templates_index = Text(L"templates_index", L"index.html"); templates_index = Text(L"templates_index", L"index.html");
templates_index_raw = Text(L"templates_index_raw", L"index_raw.html");
template_only_root_use_template_fun = Bool(L"template_only_root_use_template_fun", false); template_only_root_use_template_fun = Bool(L"template_only_root_use_template_fun", false);
http_session_id_name = Text(L"http_session_id_name", L"session_id"); http_session_id_name = Text(L"http_session_id_name", L"session_id");
db_database = Text(L"db_database"); db_database = Text(L"db_database");
db_user = Text(L"db_user"); db_user = Text(L"db_user");
db_pass = Text(L"db_pass"); db_pass = Text(L"db_pass");
db_postgresql_smaller_than_10 = Bool(L"db_postgresql_smaller_than_10", false);
item_url_empty = Text(L"item_url_empty"); item_url_empty = Text(L"item_url_empty");
url_proto = Text(L"url_proto", L"http://"); url_proto = Text(L"url_proto", L"http://");
@@ -196,8 +203,9 @@ void Config::AssignValues(bool stdout_is_closed)
use_ssl = Bool(L"use_ssl", false); use_ssl = Bool(L"use_ssl", false);
use_ssl_static = Bool(L"use_ssl_static", false); use_ssl_static = Bool(L"use_ssl_static", false);
use_ssl_common = Bool(L"use_ssl_common", false); use_ssl_common = Bool(L"use_ssl_common", false);
use_ssl_only_for_logged_users = Bool(L"use_ssl_only_for_logged_users", true); use_ssl_only_for_logged_users = Bool(L"use_ssl_only_for_logged_users", false);
use_ssl_redirect_code = Int(L"use_ssl_redirect_code", 303); use_ssl_redirect_code = Int(L"use_ssl_redirect_code", 303);
assume_connection_is_through_ssl = Bool(L"assume_connection_is_through_ssl", false);
base_url = Text(L"base_url"); base_url = Text(L"base_url");
base_url_static = Text(L"base_url_static"); base_url_static = Text(L"base_url_static");
@@ -278,7 +286,7 @@ void Config::AssignValues(bool stdout_is_closed)
ezc_max_elements = Size(L"ezc_max_elements", 50000); ezc_max_elements = Size(L"ezc_max_elements", 50000);
ezc_max_loop_elements = Size(L"ezc_max_loop_elements", 5000); ezc_max_loop_elements = Size(L"ezc_max_loop_elements", 5000);
ezc_out_streams_size = Size(L"ezc_out_streams_size", 16); ezc_out_streams_size = Size(L"ezc_out_streams_size", 128);
ezc_error_prefix = Text(L"ezc_error_prefix", L"<!-- "); ezc_error_prefix = Text(L"ezc_error_prefix", L"<!-- ");
ezc_error_postfix = Text(L"ezc_error_postfix", L" -->"); ezc_error_postfix = Text(L"ezc_error_postfix", L" -->");
@@ -304,8 +312,13 @@ void Config::AssignValues(bool stdout_is_closed)
incorrect_login_cannot_login_treshold = Size(L"incorrect_login_cannot_login_treshold", 20); incorrect_login_cannot_login_treshold = Size(L"incorrect_login_cannot_login_treshold", 20);
incorrect_login_cannot_login_delay = Size(L"incorrect_login_cannot_login_delay", 1800); incorrect_login_cannot_login_delay = Size(L"incorrect_login_cannot_login_delay", 1800);
pid_file = Text(L"pid_file", L""); pid_file = Text(L"pid_file", L"");
allow_ezc_out_in_executable_items = Bool(L"allow_ezc_out_in_executable_items", false);
check_proxy_ip_header = Bool(L"check_proxy_ip_header", false);
proxy_ip_header = Text(L"proxy_ip_header", L"X_Real_IP");
antispam_list_max_size = Size(L"antispam_list_max_size", 10);
} }
@@ -314,11 +327,6 @@ void Config::AssignValues(bool stdout_is_closed)
void Config::SetAdditionalVariables() void Config::SetAdditionalVariables()
{ {
if( html_filter_orphans_mode_str == L"160" )
html_filter_orphans_mode = HTMLFilter::orphan_160space;
else
html_filter_orphans_mode = HTMLFilter::orphan_nbsp;
for(size_t i=0 ; i<static_dirs.size() ; ++i) for(size_t i=0 ; i<static_dirs.size() ; ++i)
NoLastSlash(static_dirs[i]); NoLastSlash(static_dirs[i]);
@@ -371,24 +379,42 @@ void Config::CheckPasswd()
std::wstring & Config::Text(const wchar_t * name) std::wstring Config::Text(const wchar_t * name)
{ {
return space.Text(name); return space.Text(name);
} }
std::wstring & Config::Text(const wchar_t * name, const wchar_t * def) std::wstring Config::Text(const wchar_t * name, const wchar_t * def)
{ {
return space.Text(name, def); return space.Text(name, def);
} }
std::wstring & Config::Text(const std::wstring & name, const wchar_t * def) std::wstring Config::Text(const std::wstring & name, const wchar_t * def)
{ {
return space.Text(name, def); return space.Text(name, def);
} }
std::wstring & Config::TextRef(const wchar_t * name)
{
return space.TextRef(name);
}
std::wstring & Config::TextRef(const wchar_t * name, const wchar_t * def)
{
return space.TextRef(name, def);
}
std::wstring & Config::TextRef(const std::wstring & name, const wchar_t * def)
{
return space.TextRef(name, def);
}
int Config::Int(const wchar_t * name) int Config::Int(const wchar_t * name)
{ {
return space.Int(name); return space.Int(name);
+72 -11
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2015, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -37,7 +37,9 @@
#include <string> #include <string>
#include "space/spaceparser.h" #include "space/spaceparser.h"
#include "htmlfilter.h" #include "log.h"
#include "filelog.h"
namespace Winix namespace Winix
@@ -80,8 +82,8 @@ public:
// default: true // default: true
bool additional_groups; bool additional_groups;
// log file name, log file name for notifications (sending emails, etc) // log file name
std::wstring log_file, log_notify_file; std::wstring log_file;
// the log level (how much info should be inserted to logs) // the log level (how much info should be inserted to logs)
// 1 - minimum // 1 - minimum
@@ -122,6 +124,7 @@ public:
// default: false // default: false
bool log_plugin_call; bool log_plugin_call;
// how many characters in values should be logged from POST parameters // how many characters in values should be logged from POST parameters
// default: 80 // default: 80
// set to 0 to turn it off // set to 0 to turn it off
@@ -133,6 +136,9 @@ public:
// log environment variables (fastcgi environment) // log environment variables (fastcgi environment)
bool log_env_variables; bool log_env_variables;
// log environment http variables (only HTTP_* variables from fastcgi environment)
bool log_env_http_variables;
// log headers (+cookies) which are returned to the client // log headers (+cookies) which are returned to the client
// this is what winix has generated -- the web server can change or add other headers // this is what winix has generated -- the web server can change or add other headers
// default: false // default: false
@@ -175,6 +181,10 @@ public:
// default: index.html // default: index.html
std::wstring templates_index; std::wstring templates_index;
// html template used to send raw content
// default: index_raw.html
std::wstring templates_index_raw;
// if true then only root can use 'template' winix function // if true then only root can use 'template' winix function
// default: false // default: false
bool template_only_root_use_template_fun; bool template_only_root_use_template_fun;
@@ -184,6 +194,11 @@ public:
std::wstring db_user; std::wstring db_user;
std::wstring db_pass; std::wstring db_pass;
// is the PostgreSQL later than 10
// default false
// if true then we are not using ROW() statements in sql query
bool db_postgresql_smaller_than_10;
// the name of the cookie which has the session identifier // the name of the cookie which has the session identifier
std::wstring http_session_id_name; std::wstring http_session_id_name;
@@ -250,7 +265,7 @@ public:
// default: 128 (value in the range <0 - 65535>) // default: 128 (value in the range <0 - 65535>)
size_t session_hijacking_treshold; size_t session_hijacking_treshold;
// after how many times a client will be banned if it did not send a session cookie // after how many times a client will be banned (or given temporary session) if it did not send a session cookie
// this can be a bot such as a Google Bot or just people connecting from a NAT and all have the same IP // this can be a bot such as a Google Bot or just people connecting from a NAT and all have the same IP
// default: 128 (value in the range <0 - 65535>) // default: 128 (value in the range <0 - 65535>)
size_t no_session_cookie_treshold; size_t no_session_cookie_treshold;
@@ -315,7 +330,6 @@ public:
// either: "nbsp" or "160" // either: "nbsp" or "160"
// default: "nbsp" // default: "nbsp"
std::wstring html_filter_orphans_mode_str; std::wstring html_filter_orphans_mode_str;
HTMLFilter::OrphanMode html_filter_orphans_mode;
// the html nofilter tag // the html nofilter tag
// content betweeng these tags (opening and closing) will not be filtered // content betweeng these tags (opening and closing) will not be filtered
@@ -480,7 +494,7 @@ public:
// if SSL is enabled then if this is true the SSL will be used // if SSL is enabled then if this is true the SSL will be used
// only for logged users // only for logged users
// default: true // default: false
bool use_ssl_only_for_logged_users; bool use_ssl_only_for_logged_users;
// if current connection is without SSL and should be made through SSL // if current connection is without SSL and should be made through SSL
@@ -489,6 +503,14 @@ public:
// default: 303 // default: 303
int use_ssl_redirect_code; int use_ssl_redirect_code;
// winix is testing an environment variable "HTTPS" for the value "on"
// to think that the connection is made via SSL
// you can set assume_connection_is_through_ssl to true for the winix
// to not testing any environment variables but just think the connection
// was made by https (useful when using proxy)
// default: false
bool assume_connection_is_through_ssl;
// when the HOST_HTTP environment variable is not equal to 'base_url' // when the HOST_HTTP environment variable is not equal to 'base_url'
// (the part 'http://' and the last slash is removed) // (the part 'http://' and the last slash is removed)
// the server will redirect into base_url + 'REQUEST_URI' // the server will redirect into base_url + 'REQUEST_URI'
@@ -609,7 +631,9 @@ public:
size_t ezc_max_loop_elements; size_t ezc_max_loop_elements;
// how many output streams do we have in Request class // how many output streams do we have in Request class
// default: 16 (64 maximum) // those streams used in ajax responses
// you can use no more [ezc out] statements than this limit
// default: 128
size_t ezc_out_streams_size; size_t ezc_out_streams_size;
// prefix and postfix used when there is an error in Ezc patterns // prefix and postfix used when there is an error in Ezc patterns
@@ -728,14 +752,46 @@ public:
// pid file is saved after winix has dropped privileges // pid file is saved after winix has dropped privileges
std::wstring pid_file; std::wstring pid_file;
// allow to use [ezc out] statement in executable items (used in 'run' winix function)
// default false
// warning: if you enable this options a user can override a different output stream when using ajax
bool allow_ezc_out_in_executable_items;
// check whether there is a 'log_proxy_ip_header' header
// and if so then log the IP address from it
// default: false
bool check_proxy_ip_header;
// proxy header representing the real IP address of a client
// default: X_Real_IP
std::wstring proxy_ip_header;
// antispam mechanizm
// size of an list for map: form_id to counter_id for anonymous users (each session has such an map)
// this value allowes you to open the same or different html form in the browser more than once
// and each form has its own form_id and counter_id
// default: 10 (max ten forms can be open in different tabs)
size_t antispam_list_max_size;
Config(); Config();
bool ReadConfig(bool errors_to_stdout_, bool stdout_is_closed = true); bool ReadConfig(bool errors_to_stdout_, bool stdout_is_closed = true);
std::wstring & Text(const wchar_t * name); /*
std::wstring & Text(const wchar_t * name, const wchar_t * def); *
std::wstring & Text(const std::wstring & name, const wchar_t * def); * CHECK ME
* there was a change in Pikotools
* before Text() returns a reference to the std::wstring
*
*/
std::wstring Text(const wchar_t * name);
std::wstring Text(const wchar_t * name, const wchar_t * def);
std::wstring Text(const std::wstring & name, const wchar_t * def);
std::wstring & TextRef(const wchar_t * name);
std::wstring & TextRef(const wchar_t * name, const wchar_t * def);
std::wstring & TextRef(const std::wstring & name, const wchar_t * def);
int Int(const wchar_t *); int Int(const wchar_t *);
int Int(const wchar_t * name, int def); int Int(const wchar_t * name, int def);
@@ -764,10 +820,15 @@ public:
PT::Space space; PT::Space space;
void SetFileLog(FileLog * file_log);
void SetLogBuffer(PT::WTextStream * log_buffer);
private: private:
PT::SpaceParser parser; PT::SpaceParser parser;
bool errors_to_stdout; bool errors_to_stdout;
Log log;
void ShowError(); void ShowError();
void AssignValues(bool stdout_is_closed); void AssignValues(bool stdout_is_closed);
+13 -5
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2011-2014, Tomasz Sowa * Copyright (c) 2011-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,7 @@
#include "crypt.h" #include "crypt.h"
#include "utf8/utf8.h" #include "utf8/utf8.h"
#include "log.h" #include "log.h"
#include "misc.h"
@@ -44,12 +45,18 @@ namespace Winix
void Crypt::SetConfig(Config * pconfig) //void Crypt::SetConfig(Config * pconfig)
{ //{
config = pconfig; // config = pconfig;
} //}
void Crypt::set_dependency(WinixBase * winix_base)
{
WinixBase::set_dependency(winix_base);
run.set_dependency(winix_base);
}
char Crypt::ConvertToHexForm(int val) char Crypt::ConvertToHexForm(int val)
{ {
@@ -70,6 +77,7 @@ bool Crypt::HashBin(int hash, const char * in, size_t inlen, std::string & out)
return false; return false;
run.Clear(); run.Clear();
run.set_dependency(this);
PT::WideToUTF8(config->opensll_path, command); PT::WideToUTF8(config->opensll_path, command);
run.Cmd(command); run.Cmd(command);
run.Par("dgst"); run.Par("dgst");
+8 -3
View File
@@ -39,6 +39,8 @@
#include "run.h" #include "run.h"
#include "config.h" #include "config.h"
#include "user.h" #include "user.h"
#include "winixbase.h"
namespace Winix namespace Winix
@@ -63,12 +65,15 @@ namespace Winix
/* /*
calculating hashes, encrypting and decrypting with RSA calculating hashes, encrypting and decrypting with RSA
*/ */
class Crypt class Crypt : public WinixBase
{ {
public: public:
void SetConfig(Config * pconfig); void set_dependency(WinixBase * winix_base);
//void SetConfig(Config * pconfig);
/* /*
@@ -240,7 +245,7 @@ public:
private: private:
Config * config; //Config * config;
Run run; Run run;
std::string command, bufina, keypatha; std::string command, bufina, keypatha;
//std::wstring pass_salted;//, pass_hashed; //std::wstring pass_salted;//, pass_hashed;
View File
@@ -38,6 +38,7 @@
#include <list> #include <list>
#include <map> #include <map>
#include "item.h" #include "item.h"
#include "winixbase.h"
namespace Winix namespace Winix
@@ -45,7 +46,7 @@ namespace Winix
class DirContainer class DirContainer : public WinixBase
{ {
public: public:
+9 -2
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@
#include "dirs.h" #include "dirs.h"
#include "error.h" #include "error.h"
#include "log.h" #include "notify/notify.h"
namespace Winix namespace Winix
@@ -60,6 +60,13 @@ void Dirs::SetNotify(Notify * pnotify)
} }
void Dirs::set_dependency(WinixModel * winix_model)
{
WinixModel::set_dependency(winix_model);
dir_tab.set_dependency(winix_model);
}
void Dirs::Clear() void Dirs::Clear()
{ {
dir_tab.Clear(); dir_tab.Clear();
+7 -3
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -44,19 +44,21 @@
#include "dircontainer.h" #include "dircontainer.h"
#include "db/db.h" #include "db/db.h"
#include "request.h" #include "request.h"
#include "notify/notify.h" #include "winixmodel.h"
namespace Winix namespace Winix
{ {
class Notify;
// !! IMPROVE ME // !! IMPROVE ME
// we do not support '..' in a path (for simplicity and security reasons) // we do not support '..' in a path (for simplicity and security reasons)
// (we will support '..' in the future) // (we will support '..' in the future)
class Dirs class Dirs : public WinixModel
{ {
public: public:
@@ -67,6 +69,8 @@ public:
void SetDb(Db * pdb); void SetDb(Db * pdb);
void SetNotify(Notify * pnotify); void SetNotify(Notify * pnotify);
void set_dependency(WinixModel * winix_model);
// these methods return false if there is no such a dir // these methods return false if there is no such a dir
bool IsDir(long dir_id); bool IsDir(long dir_id);
bool GetDirChilds(long parent_id, std::vector<Item*> & childs_tab); // !! zamienic na GetChilds() bool GetDirChilds(long parent_id, std::vector<Item*> & childs_tab); // !! zamienic na GetChilds()
+135
View File
@@ -0,0 +1,135 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2018-2019, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "filelog.h"
#include <ctime>
#include <string.h>
#include "utf8/utf8.h"
#include "timezones.h"
namespace Winix
{
FileLog::FileLog()
{
time_zones = nullptr;
synchro = nullptr;
log_time_zone_id = 0;
}
FileLog::~FileLog()
{
}
void FileLog::set_synchro(Synchro * synchro)
{
this->synchro = synchro;
}
void FileLog::init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id)
{
PT::FileLog::init(log_file, log_stdout, log_level, save_each_line);
this->log_time_zone_id = log_time_zone_id;
}
void FileLog::set_time_zones(TimeZones * time_zones)
{
this->time_zones = time_zones;
}
int FileLog::get_log_level()
{
return log_level;
}
bool FileLog::should_save_each_line()
{
return save_each_line;
}
PT::Date FileLog::get_local_date(const PT::Date & date)
{
if( time_zones )
{
Lock lock(synchro);
TimeZone * tz = time_zones->GetZone(log_time_zone_id);
if( tz )
{
PT::Date local_date = tz->ToLocal(date);
return local_date;
}
else
{
return date;
}
}
else
{
return date;
}
}
bool FileLog::synchro_lock()
{
return synchro->Lock();
}
void FileLog::synchro_unlock()
{
synchro->Unlock();
}
} // namespace Winix
+92
View File
@@ -0,0 +1,92 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2018, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef headerfile_winix_core_filelog
#define headerfile_winix_core_filelog
#include <sstream>
#include <fstream>
#include <iostream>
#include <string>
#include "core/synchro.h"
#include "log/log.h"
namespace Winix
{
class TimeZones;
class FileLog : public PT::FileLog
{
public:
FileLog();
virtual ~FileLog();
void set_synchro(Synchro * synchro);
void init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id);
void set_time_zones(TimeZones * time_zones);
PT::Date get_local_date(const PT::Date & date);
int get_log_level();
bool should_save_each_line();
protected:
size_t log_time_zone_id;
TimeZones * time_zones;
Synchro * synchro;
virtual bool synchro_lock();
virtual void synchro_unlock();
};
} // namespace Winix
#endif
+8 -1
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -46,6 +46,13 @@ Groups::Groups()
} }
void Groups::set_dependency(WinixModel * winix_model)
{
WinixModel::set_dependency(winix_model);
table.set_dependency(winix_model);
}
void Groups::Clear() void Groups::Clear()
{ {
table.Clear(); table.Clear();
+6 -2
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -40,6 +40,8 @@
#include "group.h" #include "group.h"
#include "ugcontainer.h" #include "ugcontainer.h"
#include "db/db.h" #include "db/db.h"
#include "winixmodel.h"
namespace Winix namespace Winix
@@ -47,7 +49,7 @@ namespace Winix
class Groups class Groups : public WinixModel
{ {
typedef UGContainer<Group> Table; typedef UGContainer<Group> Table;
@@ -55,6 +57,8 @@ Table table;
public: public:
void set_dependency(WinixModel * winix_model);
typedef Table::Iterator Iterator; typedef Table::Iterator Iterator;
typedef Table::SizeType SizeType; typedef Table::SizeType SizeType;
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -88,7 +88,13 @@ void HTMLFilter::Uninit()
void HTMLFilter::Filter(const std::wstring & in, std::wstring & out) void HTMLFilter::Filter(const std::wstring & in, std::wstring & out)
{ {
size_t out_projected_len = in.size() * 2 + 1; if( &in == &out )
{
// out cannot be the same string as in
return;
}
size_t out_projected_len = in.size() * 2 + 1;
if( out.capacity() < out_projected_len ) if( out.capacity() < out_projected_len )
out.reserve(out_projected_len); out.reserve(out_projected_len);
@@ -97,17 +103,27 @@ size_t out_projected_len = in.size() * 2 + 1;
} }
HTMLFilter::HTMLFilter() void HTMLFilter::SetSomeDefaults()
{ {
pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN];
buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN];
tab_size = 2; tab_size = 2;
trim_white = false; trim_white = false;
break_after = 0; break_after = 0;
wrap_line = 0; wrap_line = 0;
orphan_mode = orphan_nbsp; orphan_mode = orphan_nbsp;
safe_mode = false; safe_mode = false;
skip_tags = false;
skip_commentaries = false;
skip_entities = false;
analyze_entities = false;
}
HTMLFilter::HTMLFilter()
{
pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN];
buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN];
SetSomeDefaults();
} }
@@ -116,6 +132,8 @@ HTMLFilter::HTMLFilter(const HTMLFilter & f)
// don't need to copy the stack // don't need to copy the stack
pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN]; pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN];
buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN]; buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN];
SetSomeDefaults();
} }
@@ -125,6 +143,8 @@ HTMLFilter & HTMLFilter::operator=(const HTMLFilter & f)
pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN]; pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN];
buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN]; buffer = new wchar_t[WINIX_HTMLFILTER_BUFFER_MAXLEN];
// we can copy some fields from f
return *this; return *this;
} }
@@ -136,6 +156,8 @@ HTMLFilter::~HTMLFilter()
} }
void HTMLFilter::BreakWord(size_t break_after_) void HTMLFilter::BreakWord(size_t break_after_)
{ {
break_after = break_after_; break_after = break_after_;
@@ -212,9 +234,12 @@ void HTMLFilter::ClearOrphans()
void HTMLFilter::OrphansMode(HTMLFilter::OrphanMode mode) void HTMLFilter::OrphansMode(const std::wstring & orphan_mode_str)
{ {
orphan_mode = mode; if( orphan_mode_str == L"160" )
orphan_mode = orphan_160space;
else
orphan_mode = orphan_nbsp;
} }
@@ -224,6 +249,34 @@ void HTMLFilter::SafeMode(bool safe_mode_)
} }
void HTMLFilter::SkipTags(bool skip_tags)
{
this->skip_tags = skip_tags;
}
void HTMLFilter::SkipCommentaries(bool skip_commentaries)
{
this->skip_commentaries = skip_commentaries;
}
void HTMLFilter::SkipEntities(bool skip_entities)
{
this->skip_entities = skip_entities;
if( this->skip_entities )
{
this->analyze_entities = true;
}
}
void HTMLFilter::AnalyzeEntities(bool analyze_entities)
{
this->analyze_entities = analyze_entities;
}
void HTMLFilter::SetNoFilterTag(const std::wstring & tag_name) void HTMLFilter::SetNoFilterTag(const std::wstring & tag_name)
{ {
no_filter_tag = tag_name; no_filter_tag = tag_name;
@@ -359,7 +412,7 @@ bool HTMLFilter::IsClosingTagForLastItem()
pchar += LastItem().name.size(); pchar += LastItem().name.size();
SkipWhite(); SkipWhite();
if( IsClosingTagMark() ) if( IsClosingTagMark(*pchar) )
{ {
pchar += 1; pchar += 1;
return true; return true;
@@ -374,42 +427,20 @@ return false;
// used for such tags as: script, pre, textarea // used for such tags as: script, pre, textarea
void HTMLFilter::PutLastTagWithClosingTag() void HTMLFilter::PutEverythingUntilClosingTag(bool put_closing_tag_as_well)
{ {
const wchar_t * start = pchar; const wchar_t * start = pchar;
const wchar_t * end = pchar;
while( *pchar != 0 ) while( *pchar != 0 )
{ {
if( IsOpeningTagMark() ) if( IsOpeningTagMark(*pchar) )
{ {
if( IsClosingTagForLastItem() ) if( IsClosingTagForLastItem() )
{ {
PopStack(); if( put_closing_tag_as_well )
CheckNewLine(); end = pchar;
break;
}
}
else
{
pchar += 1;
}
}
Put(start, pchar);
}
// used with <nofilter> </nofilter> tags
void HTMLFilter::PutTextBetweenLastTagWithClosingTag()
{
const wchar_t * start = pchar, * end = pchar;
while( *pchar != 0 )
{
if( IsOpeningTagMark() )
{
if( IsClosingTagForLastItem() )
{
PopStack(); PopStack();
CheckNewLine(); CheckNewLine();
break; break;
@@ -427,16 +458,36 @@ const wchar_t * start = pchar, * end = pchar;
void HTMLFilter::SkipAndCheckClosingTag() void HTMLFilter::SkipAndCheckClosingTag()
{ {
bool is_quoted = false;
wchar_t quote_char = 0;
for( ; *pchar ; ++pchar ) for( ; *pchar ; ++pchar )
{ {
if( LastItem().type == Item::opening && IsClosingXmlSimpleTagMark() ) // closing xml tag: default '/' if( *pchar == '"' || *pchar == '\'' )
{
if( is_quoted )
{
if( *pchar == quote_char )
{
is_quoted = false;
}
}
else
{
is_quoted = true;
quote_char = *pchar;
}
}
else
if( !is_quoted && LastItem().type == Item::opening && IsClosingXmlSimpleTagMark(*pchar) ) // closing xml tag: default '/'
{ {
LastItem().type = Item::simple; LastItem().type = Item::simple;
} }
else
if( IsClosingTagMark() ) if( !is_quoted && IsClosingTagMark(*pchar) )
{ {
++pchar; ++pchar;
break; break;
@@ -451,7 +502,7 @@ bool HTMLFilter::IsValidCharForName(int c)
if( (c>='a' && c<='z') || if( (c>='a' && c<='z') ||
(c>='A' && c<='Z') || (c>='A' && c<='Z') ||
(c>='0' && c<='9') || (c>='0' && c<='9') ||
c=='-' || c=='!' ) c=='-' || c=='!' || c==':') // : for namespace character
return true; return true;
return false; return false;
@@ -470,6 +521,18 @@ return false;
} }
bool HTMLFilter::IsValidCharForEntityName(int c)
{
if( (c>='a' && c<='z') ||
(c>='A' && c<='Z') ||
(c>='0' && c<='9') ||
c=='#' )
return true;
return false;
}
void HTMLFilter::ReadItemName() void HTMLFilter::ReadItemName()
{ {
size_t i; size_t i;
@@ -502,38 +565,60 @@ size_t i;
void HTMLFilter::ReadItemAttrValue(bool has_quote) void HTMLFilter::ReadItemAttrValueAdd(const wchar_t * value_start, const wchar_t * value_end)
{
attr_value.push_back(std::wstring());
if( analyze_entities )
{
AnalyzeEntitiesAndPut(value_start, value_end, &attr_value.back());
}
else
{
attr_value.back().append(value_start, value_end);
}
}
void HTMLFilter::ReadItemAttrValue(bool has_quote, wchar_t quote_char)
{ {
size_t i; size_t i;
// sprawdzic to wszedzie bo teraz jest tablica
attr_value.clear(); attr_value.clear();
attr_value_temp.clear(); const wchar_t * value_start = pchar;
size_t value_len = 0; // how many non white characters
// !! dodac obsluge pojedynczego cudzyslowu for(i=0 ; *pchar ; ++i, ++pchar )
for(i=0 ; *pchar && *pchar != '\"' && !IsClosingTagMark() && (has_quote || (*pchar!=10 && !IsWhite(*pchar)) ); ++i )
{ {
if( *pchar==10 || IsWhite(*pchar) ) if( has_quote )
{ {
if( !attr_value_temp.empty() ) if( *pchar == quote_char )
{ break;
attr_value.push_back(attr_value_temp);
attr_value_temp.clear();
}
} }
else else
if( i < WINIX_HTMLFILTER_ATTR_VALUE_MAXLEN ) {
attr_value_temp += *pchar; if( IsClosingTagMark(*pchar) || *pchar == 10 || IsWhite(*pchar) )
break;
}
++pchar; if( *pchar==10 || IsWhite(*pchar) )
{
if( value_len > 0 && value_len <= WINIX_HTMLFILTER_ATTR_VALUE_MAXLEN )
ReadItemAttrValueAdd(value_start, pchar);
value_len = 0;
}
else
{
if( value_len == 0 )
value_start = pchar;
value_len += 1;
}
} }
if( !attr_value_temp.empty() ) if( value_len > 0 && value_len <= WINIX_HTMLFILTER_ATTR_VALUE_MAXLEN )
{ ReadItemAttrValueAdd(value_start, pchar);
attr_value.push_back(attr_value_temp);
attr_value_temp.clear();
}
} }
@@ -584,6 +669,57 @@ void HTMLFilter::Put(const std::wstring & str)
} }
// out can be null
void HTMLFilter::AnalyzeEntitiesAndPut(const wchar_t * str, const wchar_t * end, std::wstring * out)
{
size_t epsilon = 8; // !! IMPROVE ME put as a constant
const wchar_t * old_str = str;
while( str < end )
{
if( IsStartingEntityMark(*str) )
{
const wchar_t * entity_start = str;
str += 1; // skip &
for(size_t i=0 ; *str && IsValidCharForEntityName(*str) && i < epsilon ; ++i, ++str)
{
}
if( IsEndingEntityMark(*str) && str - entity_start > 1 ) // at least one character in entity name
{
if( out )
out->append(old_str, entity_start);
else
Put(old_str, entity_start);
str += 1; // skip ;
if( !skip_entities )
{
if( out )
out->append(entity_start, str);
else
Put(entity_start, str);
}
EntityFound(entity_start + 1, str - 1); // without & and ;
old_str = str;
}
}
else
{
str += 1;
}
}
if( out )
out->append(old_str, end);
else
Put(old_str, end);
}
int HTMLFilter::CheckOrphan(const wchar_t * str, const wchar_t * end, const std::wstring & orphan_str) int HTMLFilter::CheckOrphan(const wchar_t * str, const wchar_t * end, const std::wstring & orphan_str)
@@ -673,12 +809,12 @@ return CheckOrphan(str, end, LastItem().porphans->tab);
// (useful in html entities) // (useful in html entities)
// !! dodac sprawdzanie czy dlugosc stringu nie jest mala tez (end-str) // !! dodac sprawdzanie czy dlugosc stringu nie jest mala tez (end-str)
// i wtedy tez nie dodajemy zadnego znaku // i wtedy tez nie dodajemy zadnego znaku
bool HTMLFilter::HasSemiloconAround(const wchar_t * str, const wchar_t * end) bool HTMLFilter::HasEntityEndAround(const wchar_t * str, const wchar_t * end)
{ {
size_t i, epsilon = 8; size_t i, epsilon = 8;// !! IMPROVE ME put as a constant
for(i=0 ; str < end && i<epsilon ; ++i, ++str) for(i=0 ; str < end && i<epsilon ; ++i, ++str)
if( *str == ';' ) if( IsEndingEntityMark(*str) )
return true; return true;
return false; return false;
@@ -699,11 +835,11 @@ void HTMLFilter::PutNormalNonWhite(const wchar_t * & str, const wchar_t * end)
{ {
const wchar_t * word = str; const wchar_t * word = str;
size_t non_whites = 0; size_t non_whites = 0;
bool was_semicolon = false; bool was_entity_end = false;
for( ; str < end && *str!=10 && !IsWhite(*str) ; ++str, ++non_whites ) for( ; str < end && *str!=10 && !IsWhite(*str) ; ++str, ++non_whites )
{ {
if( break_after != 0 && non_whites >= break_after && (was_semicolon || !HasSemiloconAround(str, end)) ) if( break_after != 0 && non_whites >= break_after && (was_entity_end || !HasEntityEndAround(str, end)) )
{ {
Put(word, str); Put(word, str);
word = str; word = str;
@@ -712,10 +848,13 @@ bool was_semicolon = false;
CheckLineWrap(); CheckLineWrap();
} }
was_semicolon = (*str == ';'); was_entity_end = (IsEndingEntityMark(*str));
} }
Put(word, str); if( analyze_entities )
AnalyzeEntitiesAndPut(word, str, nullptr);
else
Put(word, str);
} }
@@ -795,8 +934,8 @@ void HTMLFilter::PutClosingTagMark()
// !! zmienic na lepsza nazwe // !! IMPROVE ME change to a better name
// bo to nie zwraca true jesli tag jest safe // this functions does not return true when the tag is safe
bool HTMLFilter::IsTagSafe(const wchar_t * tag) bool HTMLFilter::IsTagSafe(const wchar_t * tag)
{ {
if( !safe_mode ) if( !safe_mode )
@@ -838,9 +977,10 @@ bool HTMLFilter::IsTagSafe(const std::wstring & tag)
bool HTMLFilter::PutOpeningTag() bool HTMLFilter::PutOpeningTag()
{ {
if( !IsTagSafe(LastItem().name) ) if( !IsTagSafe(LastItem().name) )
// !! IMPROVE ME {
// !! dodac tutaj skipniecie calego tagu SkipAndCheckClosingTag();
return false; return false;
}
PutOpeningTagMark(); PutOpeningTagMark();
Put(LastItem().name); Put(LastItem().name);
@@ -852,7 +992,7 @@ return true;
void HTMLFilter::PutClosingTag(const wchar_t * tag) void HTMLFilter::PutClosingTag(const wchar_t * tag)
{ {
if( !IsTagSafe(tag) ) if( skip_tags || !IsTagSafe(tag) )
return; return;
PutOpeningTagMark(); PutOpeningTagMark();
@@ -897,28 +1037,28 @@ void HTMLFilter::PutNewLine()
// we assume the size of the opening mark to be one // we assume the size of the opening mark to be one
bool HTMLFilter::IsOpeningTagMark() bool HTMLFilter::IsOpeningTagMark(wchar_t c)
{ {
return (*pchar == '<'); return (c == '<');
} }
// we assume the size of the closing mark to be one // we assume the size of the closing mark to be one
bool HTMLFilter::IsClosingTagMark() bool HTMLFilter::IsClosingTagMark(wchar_t c)
{ {
return (*pchar == '>'); return (c == '>');
} }
// the slash at the end <img src=".." /> (without '>' character) // the slash at the end <img src=".." /> (without '>' character)
// we assume the size of the mark to be one // we assume the size of the mark to be one
bool HTMLFilter::IsClosingXmlSimpleTagMark() bool HTMLFilter::IsClosingXmlSimpleTagMark(wchar_t c)
{ {
return (*pchar == '/'); return (c == '/');
} }
bool HTMLFilter::IsOpeningCommentaryTagMark() bool HTMLFilter::IsOpeningCommentaryTagMark(const wchar_t * str)
{ {
static wchar_t comm_open[] = L"<!--"; static wchar_t comm_open[] = L"<!--";
size_t comm_open_len = sizeof(comm_open) / sizeof(wchar_t) - 1; size_t comm_open_len = sizeof(comm_open) / sizeof(wchar_t) - 1;
@@ -933,6 +1073,18 @@ size_t HTMLFilter::OpeningCommentaryTagMarkSize()
} }
bool HTMLFilter::IsStartingEntityMark(wchar_t c)
{
return (c == '&');
}
bool HTMLFilter::IsEndingEntityMark(wchar_t c)
{
return (c == ';');
}
// skipping the commentary tag if exists // skipping the commentary tag if exists
bool HTMLFilter::SkipCommentaryTagIfExists() bool HTMLFilter::SkipCommentaryTagIfExists()
@@ -940,7 +1092,7 @@ bool HTMLFilter::SkipCommentaryTagIfExists()
static wchar_t comm_close[] = L"-->"; static wchar_t comm_close[] = L"-->";
size_t comm_close_len = sizeof(comm_close) / sizeof(wchar_t) - 1; size_t comm_close_len = sizeof(comm_close) / sizeof(wchar_t) - 1;
if( !IsOpeningCommentaryTagMark() ) if( !IsOpeningCommentaryTagMark(pchar) )
return false; return false;
pchar += OpeningCommentaryTagMarkSize(); pchar += OpeningCommentaryTagMarkSize();
@@ -984,7 +1136,7 @@ void HTMLFilter::ReadNormalTextSkipWhite(const wchar_t * & start, const wchar_t
start = pchar; start = pchar;
// exception for the commentary tag // exception for the commentary tag
if( IsOpeningCommentaryTagMark() || !IsOpeningTagMark() ) if( IsOpeningCommentaryTagMark(pchar) || !IsOpeningTagMark(*pchar) )
{ {
PutNewLine(); PutNewLine();
PutTabs(stack_len); PutTabs(stack_len);
@@ -1005,13 +1157,23 @@ const wchar_t * last_non_white = pchar;
while( *pchar != 0 ) while( *pchar != 0 )
{ {
const wchar_t * commentary_start = pchar;
if( SkipCommentaryTagIfExists() ) if( SkipCommentaryTagIfExists() )
{ {
last_non_white = pchar - 1; // pointing at the last '>' from a commentary last_non_white = pchar - 1; // pointing at the last '>' from a commentary
PutNormalText(start, commentary_start);
if( !skip_commentaries )
{
PutNormalText(commentary_start, pchar);
}
start = pchar;
} }
else else
{ {
if( IsOpeningTagMark() ) if( IsOpeningTagMark(*pchar) )
break; break;
if( !IsWhite(*pchar) ) if( !IsWhite(*pchar) )
@@ -1029,7 +1191,7 @@ const wchar_t * last_non_white = pchar;
bool HTMLFilter::PrintOpeningItem() bool HTMLFilter::PrintOpeningItem()
{ {
if( IsNameEqual(no_filter_tag, LastItem().name) ) if( skip_tags || IsNameEqual(no_filter_tag, LastItem().name) )
return true; return true;
if( last_new_line ) if( last_new_line )
@@ -1068,16 +1230,15 @@ bool HTMLFilter::ReadItemAttr()
pchar += 1; // skipping '=' pchar += 1; // skipping '='
SkipWhiteLines(); SkipWhiteLines();
bool has_quote = (*pchar == '\"' || *pchar == '\'');
// !! dodac obsluge pojedynczego cudzyslowu wchar_t quote_char = *pchar;
bool has_quote = (*pchar == '\"');
if( has_quote ) if( has_quote )
pchar += 1; // skipping the first quote mark pchar += 1; // skipping the first quote mark
ReadItemAttrValue(has_quote); ReadItemAttrValue(has_quote, quote_char);
if( *pchar == '\"' ) if( has_quote && *pchar == quote_char )
pchar += 1; // skipping the last quote mark pchar += 1; // skipping the last quote mark
return true; return true;
@@ -1112,7 +1273,7 @@ void HTMLFilter::PrintItemAttr()
{ {
size_t i; size_t i;
if( IsNameEqual(no_filter_tag, LastItem().name) ) if( skip_tags || IsNameEqual(no_filter_tag, LastItem().name) )
return; return;
Put(' '); Put(' ');
@@ -1150,11 +1311,17 @@ void HTMLFilter::ReadItemClosing()
void HTMLFilter::ReadItemSpecial() void HTMLFilter::ReadItemSpecial()
{ {
LastItem().type = Item::special; LastItem().type = Item::special;
PutOpeningTagMark();
if( !skip_tags )
PutOpeningTagMark();
const wchar_t * start = pchar; const wchar_t * start = pchar;
pchar += 1; // skipping '!'
ReadItemName();
SkipAndCheckClosingTag(); SkipAndCheckClosingTag();
if( pchar > start ) if( !skip_tags && pchar > start )
Put(start, pchar); Put(start, pchar);
// closing tag mark is printed directly from the source // closing tag mark is printed directly from the source
@@ -1176,7 +1343,7 @@ void HTMLFilter::ReadItemOpening()
SkipAndCheckClosingTag(); // here LastItem().type can be changed to 'simple' SkipAndCheckClosingTag(); // here LastItem().type can be changed to 'simple'
if( !IsNameEqual(no_filter_tag, LastItem().name) ) if( !skip_tags && !IsNameEqual(no_filter_tag, LastItem().name) )
{ {
if( LastItem().type == Item::simple ) if( LastItem().type == Item::simple )
Put(L" /"); Put(L" /");
@@ -1187,6 +1354,15 @@ void HTMLFilter::ReadItemOpening()
} }
void HTMLFilter::ItemFound()
{
}
void HTMLFilter::EntityFound(const wchar_t * str, const wchar_t * end)
{
}
bool HTMLFilter::ReadItem() bool HTMLFilter::ReadItem()
{ {
if( *pchar == 0 ) if( *pchar == 0 )
@@ -1209,6 +1385,8 @@ bool HTMLFilter::ReadItem()
CheckNewLine(); CheckNewLine();
LastItem().new_line = last_new_line; LastItem().new_line = last_new_line;
ItemFound();
return true; return true;
} }
@@ -1265,6 +1443,8 @@ bool HTMLFilter::IsNameEqual(const std::wstring & name1, const std::wstring & na
// len characters from both strings must be equal // len characters from both strings must be equal
// IMPROVE ME change name to something like IsBeginningNameEqual
// and move to text.h (pikotools)
bool HTMLFilter::IsNameEqual(const wchar_t * name1, const wchar_t * name2, size_t len) bool HTMLFilter::IsNameEqual(const wchar_t * name1, const wchar_t * name2, size_t len)
{ {
for( ; *name1!=0 && *name2!=0 && len>0 ; ++name1, ++name2, --len ) for( ; *name1!=0 && *name2!=0 && len>0 ; ++name1, ++name2, --len )
@@ -1332,13 +1512,13 @@ void HTMLFilter::CheckExceptions()
// in safe_mode the script tag is ignored // in safe_mode the script tag is ignored
if( !safe_mode && IsLastTag(L"script") ) if( !safe_mode && IsLastTag(L"script") )
PutLastTagWithClosingTag(); PutEverythingUntilClosingTag(!skip_tags);
if( IsLastTag(L"pre") || IsLastTag(L"textarea") ) if( IsLastTag(L"pre") || IsLastTag(L"textarea") )
PutLastTagWithClosingTag(); PutEverythingUntilClosingTag(!skip_tags);
if( IsLastTag(no_filter_tag) ) if( IsLastTag(no_filter_tag) )
PutTextBetweenLastTagWithClosingTag(); PutEverythingUntilClosingTag(false);
if( IsLastTag(L"body") ) if( IsLastTag(L"body") )
LastItem().has_body_tag = true; LastItem().has_body_tag = true;
@@ -1371,7 +1551,7 @@ int i;
for(int z=(int)stack_len-2 ; z>=i ; --z) for(int z=(int)stack_len-2 ; z>=i ; --z)
{ {
if( pstack[z].new_line ) if( !skip_tags && pstack[z].new_line )
{ {
PutNewLine(); PutNewLine();
PutTabs(z); PutTabs(z);
@@ -1421,7 +1601,7 @@ void HTMLFilter::CheckClosingTags()
if( IsNameEqual(pstack[stack_len-1].name, pstack[stack_len-2].name) ) if( IsNameEqual(pstack[stack_len-1].name, pstack[stack_len-2].name) )
{ {
// last closing tag is from the previous one // last closing tag is from the previous one
if( pstack[stack_len-2].new_line ) if( !skip_tags && pstack[stack_len-2].new_line )
{ {
PutNewLine(); PutNewLine();
PutTabs(stack_len-2); PutTabs(stack_len-2);
@@ -1444,7 +1624,7 @@ bool HTMLFilter::PrintRest()
const wchar_t * start = pchar; const wchar_t * start = pchar;
// in safe mode we do not print the rest html code // in safe mode we do not print the rest html code
if( safe_mode ) if( safe_mode || skip_tags )
return false; return false;
while( *pchar ) while( *pchar )
@@ -1474,7 +1654,7 @@ void HTMLFilter::ReadLoop()
{ {
if( stack_len > 1 ) if( stack_len > 1 )
{ {
pstack[stack_len-2].new_line = LastItem().new_line; //pstack[stack_len-2].new_line = LastItem().new_line;
} }
else else
if( trim_white ) if( trim_white )
@@ -1492,6 +1672,10 @@ void HTMLFilter::ReadLoop()
{ {
CheckClosingTags(); CheckClosingTags();
} }
else
{
PopStack();
}
ReadNormalText(); ReadNormalText();
} }
+44 -17
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -39,6 +39,7 @@
#include <map> #include <map>
#include <vector> #include <vector>
#include <algorithm> #include <algorithm>
#include "core/winixbase.h"
namespace Winix namespace Winix
@@ -86,7 +87,7 @@ namespace Winix
the filter recognizes xml simple tags (with / at the end) such as: <br /> the filter recognizes xml simple tags (with / at the end) such as: <br />
*/ */
class HTMLFilter class HTMLFilter : public WinixBase
{ {
public: public:
@@ -99,7 +100,7 @@ public:
HTMLFilter(); HTMLFilter();
HTMLFilter(const HTMLFilter & f); HTMLFilter(const HTMLFilter & f);
HTMLFilter & operator=(const HTMLFilter & f); HTMLFilter & operator=(const HTMLFilter & f);
~HTMLFilter(); virtual ~HTMLFilter();
// main methods used for filtering // main methods used for filtering
@@ -128,13 +129,11 @@ public:
// false by default // false by default
void TrimWhite(bool trim); void TrimWhite(bool trim);
// first tabs in a tree // first tabs in a tree
// default: 2 (spaces) // default: 2 (spaces)
// set 0 to turn off // set 0 to turn off
void InsertTabs(size_t tabsize); void InsertTabs(size_t tabsize);
// set a name of a html tag which will be used as 'nofilter' tag // set a name of a html tag which will be used as 'nofilter' tag
// elements between such tags are not filtered (similarly as in <pre> and <textarea>) // elements between such tags are not filtered (similarly as in <pre> and <textarea>)
// these tags (opening and closing) will no be placed in the html output // these tags (opening and closing) will no be placed in the html output
@@ -145,17 +144,32 @@ public:
void AssignOrphans(const std::wstring & lang_code, const std::vector<std::wstring> & otab); void AssignOrphans(const std::wstring & lang_code, const std::vector<std::wstring> & otab);
void ClearOrphans(); void ClearOrphans();
// check 'orphans' for the specicic language // check 'orphans' for the specicic language
// if an orphan is detected then the non-break space ("&nbsp;" or ascii 160 code) will be put // if an orphan is detected then the non-break space ("&nbsp;" or ascii 160 code) will be put
// default disable (lang_none) // default disable (lang_none)
void OrphansMode(OrphanMode mode = orphan_nbsp); void OrphansMode(const std::wstring & orphan_mode);
// skipping some unsafe tags // skipping some unsafe tags
// (script, iframe, frame, frameset, applet, head, meta, html, link, body, ...) // (script, iframe, frame, frameset, applet, head, meta, html, link, body, ...)
void SafeMode(bool safe_mode_); void SafeMode(bool safe_mode_);
// skip all html tags
// gives only text without markup
// but there can be commentaries
void SkipTags(bool skip_tags);
// skip commentaries
void SkipCommentaries(bool skip_commentaries);
// if true then entities such as &nbsp; are skipped
// this automatically turns on AnalyzeEntities
// in such a case FoundEntity callbacks are sent
void SkipEntities(bool skip_entities);
// analyze html entities such as &nbsp;
// virtual method: FoundEntity is called
// entities are analyzed in normal text and in attribute values such as <p class="a&nbsp;">
void AnalyzeEntities(bool analyze_entities);
protected: protected:
@@ -216,13 +230,18 @@ protected:
virtual void Init(); virtual void Init();
virtual void Uninit(); virtual void Uninit();
virtual bool IsOpeningTagMark(); virtual bool IsOpeningTagMark(wchar_t c);
virtual bool IsOpeningCommentaryTagMark(); virtual bool IsClosingTagMark(wchar_t c);
virtual bool IsClosingTagMark(); virtual bool IsClosingXmlSimpleTagMark(wchar_t c);
virtual bool IsClosingXmlSimpleTagMark(); virtual bool IsStartingEntityMark(wchar_t c);
virtual bool IsEndingEntityMark(wchar_t c);
virtual bool IsOpeningCommentaryTagMark(const wchar_t * str);
virtual size_t OpeningCommentaryTagMarkSize();
virtual bool IsValidCharForName(int c); virtual bool IsValidCharForName(int c);
virtual bool IsValidCharForAttrName(int c); virtual bool IsValidCharForAttrName(int c);
virtual bool IsValidCharForEntityName(int c);
virtual void CheckExceptions(); virtual void CheckExceptions();
virtual bool SkipCommentaryTagIfExists(); virtual bool SkipCommentaryTagIfExists();
@@ -230,6 +249,7 @@ protected:
virtual void Put(const wchar_t * str); virtual void Put(const wchar_t * str);
virtual void Put(const wchar_t * str, const wchar_t * end); virtual void Put(const wchar_t * str, const wchar_t * end);
virtual void Put(const std::wstring & str); virtual void Put(const std::wstring & str);
virtual void AnalyzeEntitiesAndPut(const wchar_t * str, const wchar_t * end, std::wstring * out);
virtual void PutOpeningTagMark(); virtual void PutOpeningTagMark();
virtual void PutClosingTagMark(); virtual void PutClosingTagMark();
@@ -239,10 +259,14 @@ protected:
virtual void PutNormalText(const wchar_t * str, const wchar_t * end); virtual void PutNormalText(const wchar_t * str, const wchar_t * end);
virtual void ReadNormalTextSkipWhite(const wchar_t * & start, const wchar_t * & last_non_white); virtual void ReadNormalTextSkipWhite(const wchar_t * & start, const wchar_t * & last_non_white);
virtual void ItemFound();
virtual void EntityFound(const wchar_t * str, const wchar_t * end);
/* /*
others others
*/ */
void SetSomeDefaults();
Item & GetItem(size_t i); Item & GetItem(size_t i);
Item & LastItem(); Item & LastItem();
@@ -274,7 +298,6 @@ protected:
void SkipWhiteWithFirstNewLine(); void SkipWhiteWithFirstNewLine();
void SkipWhiteLines(const wchar_t * & str, const wchar_t * end); void SkipWhiteLines(const wchar_t * & str, const wchar_t * end);
bool IsClosingTagForLastItem(); bool IsClosingTagForLastItem();
size_t OpeningCommentaryTagMarkSize();
void SkipAndCheckClosingTag(); void SkipAndCheckClosingTag();
void PopStack(); void PopStack();
@@ -288,7 +311,8 @@ protected:
bool PrintOpeningItem(); bool PrintOpeningItem();
void ReadItemName(); void ReadItemName();
void ReadItemAttrName(); void ReadItemAttrName();
void ReadItemAttrValue(bool has_quote); void ReadItemAttrValueAdd(const wchar_t * value_start, const wchar_t * value_end);
void ReadItemAttrValue(bool has_quote, wchar_t quote_char);
bool ReadItemAttr(); bool ReadItemAttr();
bool CheckItemAttr(); bool CheckItemAttr();
@@ -304,11 +328,10 @@ protected:
void CheckChar(wchar_t c); void CheckChar(wchar_t c);
void CheckLineWrap(); void CheckLineWrap();
bool HasSemiloconAround(const wchar_t * str, const wchar_t * end); bool HasEntityEndAround(const wchar_t * str, const wchar_t * end);
void PutNormalNonWhite(const wchar_t * & str, const wchar_t * end); void PutNormalNonWhite(const wchar_t * & str, const wchar_t * end);
void PutNormalWhite(const wchar_t * & str, const wchar_t * end); void PutNormalWhite(const wchar_t * & str, const wchar_t * end);
void PutLastTagWithClosingTag(); void PutEverythingUntilClosingTag(bool put_closing_tag_as_well);
void PutTextBetweenLastTagWithClosingTag();
void PutTabs(size_t len); void PutTabs(size_t len);
void PutNonBreakingSpace(); void PutNonBreakingSpace();
void PutNewLine(); void PutNewLine();
@@ -335,6 +358,10 @@ protected:
size_t line_len; //length of the current line (without first spaces which create the html tree) size_t line_len; //length of the current line (without first spaces which create the html tree)
bool safe_mode; // skipping some unsafe tags bool safe_mode; // skipping some unsafe tags
Orphans orphans_temp; Orphans orphans_temp;
bool skip_tags;
bool skip_commentaries;
bool skip_entities;
bool analyze_entities;
}; };
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,7 @@
#define headerfile_winix_core_httpsimpleparser #define headerfile_winix_core_httpsimpleparser
#include <string> #include <string>
#include "winixmodel.h"
namespace Winix namespace Winix
@@ -43,7 +44,7 @@ namespace Winix
class HttpSimpleParser class HttpSimpleParser : public WinixModel
{ {
protected: protected:
+5 -7
View File
@@ -35,9 +35,7 @@
#include <ctime> #include <ctime>
#include "image.h" #include "image.h"
#include "utf8/utf8.h" #include "utf8/utf8.h"
#include "log.h"
#include "system.h" #include "system.h"
#include "plugin.h"
#include "lock.h" #include "lock.h"
@@ -492,34 +490,34 @@ void Image::ImageSavedCorrectly()
} }
log << log3 << "Image: generated a thumbnail: " << dst_path << logend; log << log3 << "Image: generated a thumbnail: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_CREATED_THUMB, &file_work); plugin->Call((Session*)0, WINIX_CREATED_THUMB, &file_work);
} }
else else
if( item_work.type == WINIX_IMAGE_TYPE_RESIZE ) if( item_work.type == WINIX_IMAGE_TYPE_RESIZE )
{ {
log << log3 << "Image: image resized: " << dst_path << logend; log << log3 << "Image: image resized: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work); plugin->Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
} }
else else
if( item_work.type == WINIX_IMAGE_TYPE_CROP ) if( item_work.type == WINIX_IMAGE_TYPE_CROP )
{ {
log << log3 << "Image: image cropped: " << dst_path << logend; log << log3 << "Image: image cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message // !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work); //plugin->Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
} }
else else
if( item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB ) if( item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB )
{ {
log << log3 << "Image: image thumbnail cropped: " << dst_path << logend; log << log3 << "Image: image thumbnail cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message // !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work); //plugin->Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
} }
else else
if( item_work.type == WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB ) if( item_work.type == WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB )
{ {
log << log3 << "Image: a new thumbnail from an original image was cropped: " << dst_path << logend; log << log3 << "Image: a new thumbnail from an original image was cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message // !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work); //plugin->Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
} }
} }
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2012-2014, Tomasz Sowa * Copyright (c) 2012-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,8 @@
#include <vector> #include <vector>
#include "ipban.h" #include "ipban.h"
#include "winixmodel.h"
namespace Winix namespace Winix
@@ -44,7 +46,7 @@ namespace Winix
class IPBanContainer class IPBanContainer : public WinixModel
{ {
public: public:
+14
View File
@@ -110,6 +110,20 @@ void Item::Clear()
} }
/*
* we're using the HtmlFilter only for those contents
*
*/
bool Item::CanContentBeHtmlFiltered(Item::ContentType ct)
{
return ct == ct_text || ct == ct_formatted_text || ct == ct_html || ct == ct_bbcode;
}
bool Item::CanContentBeHtmlFiltered()
{
return CanContentBeHtmlFiltered(content_type);
}
} // namespace Winix } // namespace Winix
+6 -3
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2016, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -82,7 +82,7 @@ struct Item
ct_formatted_text, ct_formatted_text,
ct_html, ct_html,
ct_bbcode, ct_bbcode,
ct_raw ct_other, // no auto-formatting is applied
}; };
ContentType content_type; ContentType content_type;
@@ -116,7 +116,6 @@ struct Item
int hash_type; // hash type WINIX_CRYPT_HASH_* (see crypt.h) int hash_type; // hash type WINIX_CRYPT_HASH_* (see crypt.h)
size_t file_size; // size of the file size_t file_size; // size of the file
std::wstring html_template; std::wstring html_template;
@@ -136,6 +135,10 @@ struct Item
void Clear(); void Clear();
static bool CanContentBeHtmlFiltered(Item::ContentType ct);
bool CanContentBeHtmlFiltered();
private: private:
// used by the database // used by the database
long content_id; // content id in 'content' table long content_id; // content id in 'content' table
+2 -4
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2012-2014, Tomasz Sowa * Copyright (c) 2012-2019, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -169,7 +169,7 @@ void Job::DoJob(PT::Space & job)
{ {
try try
{ {
PluginRes res = plugin.Call((Session*)0, WINIX_JOB, &job); PluginRes res = plugin->Call((Session*)0, WINIX_JOB, &job);
if( res.res_true == 0 ) if( res.res_true == 0 )
DoWinixJob(job); DoWinixJob(job);
@@ -183,9 +183,7 @@ void Job::DoJob(PT::Space & job)
// second thread (objects not locked) // second thread (objects not locked)
void Job::DoWinixJob(PT::Space & job) void Job::DoWinixJob(PT::Space & job)
{ {
Lock();
//log << log1 << "standard winix job: " << job.Text(L"type") << logend; //log << log1 << "standard winix job: " << job.Text(L"type") << logend;
Unlock();
} }
View File
@@ -40,6 +40,7 @@
#include <cstring> #include <cstring>
#include <ctime> #include <ctime>
#include "date/date.h" #include "date/date.h"
#include "winixbase.h"
@@ -81,7 +82,7 @@ struct LastItem
class LastContainer class LastContainer : public WinixBase
{ {
public: public:
+3 -3
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -32,9 +32,9 @@
* *
*/ */
#include "loadavg.h" #include "loadavg.h"
#include "log.h" #include "misc.h"
namespace Winix namespace Winix
+3 -2
View File
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2008-2014, Tomasz Sowa * Copyright (c) 2008-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,7 @@
#define headerfile_winix_core_loadavg #define headerfile_winix_core_loadavg
#include <ctime> #include <ctime>
#include "winixbase.h"
namespace Winix namespace Winix
@@ -51,7 +52,7 @@ namespace Winix
class LoadAvg class LoadAvg : public WinixBase
{ {
public: public:
LoadAvg(); LoadAvg();
View File
+300
View File
@@ -0,0 +1,300 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2008-2019, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "log.h"
#include <ctime>
#include <string.h>
#include "utf8/utf8.h"
namespace Winix
{
Log::Log()
{
request = 0;
max_requests = 1;
}
Log::~Log()
{
}
void Log::SetDependency(Log * log)
{
buffer = log->buffer;
file_log = log->file_log;
}
void Log::SetMaxRequests(int max_requests)
{
this->max_requests = max_requests;
}
void Log::PrintDate(const PT::Date & date)
{
FileLog * winix_file_log = dynamic_cast<FileLog*>(file_log);
if( winix_file_log )
(*this) << winix_file_log->get_local_date(date); // synchronization is made in get_local_date
else
(*this) << date;
}
Log & Log::operator<<(const void * s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const char * s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const std::string & s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const std::string * s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const wchar_t * s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const std::wstring & s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const std::wstring * s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(int s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(long s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(char s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(wchar_t s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(size_t s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(double s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const PT::Space & s)
{
PT::Log::operator<<(s);
return *this;
}
Log & Log::operator<<(const PT::Date & date)
{
PT::Log::operator<<(date);
return *this;
}
Log & Log::operator<<(LogManipulators m)
{
switch(m)
{
case LogManipulators::log1:
PT::Log::operator<<(PT::Log::log1);
break;
case LogManipulators::log2:
PT::Log::operator<<(PT::Log::log2);
break;
case LogManipulators::log3:
PT::Log::operator<<(PT::Log::log3);
break;
case LogManipulators::log4:
PT::Log::operator<<(PT::Log::log4);
break;
case LogManipulators::logend:
PT::Log::operator<<(PT::Log::logend);
break;
case LogManipulators::logsave:
PT::Log::operator<<(PT::Log::logsave);
break;
case LogManipulators::logendrequest:
if( ++request >= max_requests )
{
save_log_and_clear();
request = 0;
}
break;
default:
break;
}
return *this;
}
//Log & Log::SystemErr(int err)
//{
// (*this) << "errno: " << err;
//
// // strerror is not thread safe and we now use Log in each thread
// const char * err_msg = strerror(err);
//
// if( err_msg )
// (*this) << " (" << err_msg << ")";
//
// return *this;
//}
Log & Log::LogString(const std::string & value, size_t max_size)
{
PT::Log::LogString(value, max_size);
return *this;
}
Log & Log::LogString(const std::wstring & value, size_t max_size)
{
PT::Log::LogString(value, max_size);
return *this;
}
Log & Log::LogBinary(const char * blob, size_t blob_len)
{
PT::Log::LogBinary(blob, blob_len);
return *this;
}
Log & Log::LogBinary(const std::string & blob)
{
PT::Log::LogBinary(blob);
return *this;
}
} // namespace Winix
+127
View File
@@ -0,0 +1,127 @@
/*
* This file is a part of Winix
* and is distributed under the 2-Clause BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2008-2019, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef headerfile_winix_core_log
#define headerfile_winix_core_log
#include <sstream>
#include <fstream>
#include <iostream>
#include <string>
#include "logmanipulators.h"
#include "filelog.h"
#include "log/log.h"
namespace Winix
{
class Log : public PT::Log
{
public:
Log();
virtual ~Log();
virtual void SetDependency(Log * log);
virtual void SetMaxRequests(int max_requests);
virtual Log & operator<<(const void * s);
virtual Log & operator<<(const char * s);
virtual Log & operator<<(const std::string * s);
virtual Log & operator<<(const std::string & s);
virtual Log & operator<<(const wchar_t * s);
virtual Log & operator<<(const std::wstring * s);
virtual Log & operator<<(const std::wstring & s);
virtual Log & operator<<(int s);
virtual Log & operator<<(long s);
virtual Log & operator<<(char s);
virtual Log & operator<<(wchar_t s);
virtual Log & operator<<(size_t s);
virtual Log & operator<<(double s);
virtual Log & operator<<(const PT::Space & space);
virtual Log & operator<<(LogManipulators m);
virtual Log & operator<<(const PT::Date & date);
virtual void PrintDate(const PT::Date & date);
template<typename char_type, size_t stack_size, size_t heap_block_size>
Log & operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf);
virtual Log & LogString(const std::string & value, size_t max_size);
virtual Log & LogString(const std::wstring & value, size_t max_size);
virtual Log & LogBinary(const char * blob, size_t blob_len);
virtual Log & LogBinary(const std::string & blob);
//virtual Log & SystemErr(int err);
private:
// current request for logging
// starts from zero and incremented after logendrequest modifier
int request;
// how many request to save at once
int max_requests;
};
template<typename char_type, size_t stack_size, size_t heap_block_size>
Log & Log::operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf)
{
PT::Log::operator<<(buf);
return *this;
}
} // namespace Winix
#endif
@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2011-2014, Tomasz Sowa * Copyright (c) 2011-2018, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -35,13 +35,13 @@
#ifndef headerfile_winix_core_logmanipulators #ifndef headerfile_winix_core_logmanipulators
#define headerfile_winix_core_logmanipulators #define headerfile_winix_core_logmanipulators
#include "log/log.h"
namespace Winix namespace Winix
{ {
/* /*
log1 - the first level log1 - the first level
log2 log2
@@ -65,10 +65,12 @@ enum LogManipulators
log2, log2,
log3, log3,
log4, log4,
logend, logend,
logendrequest,
logsave, logsave,
logendrequest,
loginfo, loginfo,
logerror, logerror,
logwarning logwarning

Some files were not shown because too many files have changed in this diff Show More