- now the mess with threads has gone away

- we have a class BaseThread -- this is a base class -- we can inherit from it when
  creating a new thread
- others treads are correctly stopped (when signal comes) -- pthread_join
- we have a special thread only for signals



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@685 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2010-12-02 01:02:02 +00:00
parent 08e53919e2
commit 35efed9fef
52 changed files with 2464 additions and 1825 deletions

View File

@ -7,34 +7,37 @@ app.o: ../db/dbtextstream.h ../core/textstream.h misc.h ../core/error.h log.h
app.o: textstream.h ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h app.o: textstream.h ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
app.o: ../core/user.h ../core/group.h ../core/thread.h ../core/dircontainer.h app.o: ../core/user.h ../core/group.h ../core/thread.h ../core/dircontainer.h
app.o: ../core/ugcontainer.h request.h requesttypes.h session.h error.h app.o: ../core/ugcontainer.h request.h requesttypes.h session.h error.h
app.o: user.h plugindata.h rebus.h ../templates/htmltextstream.h mounts.h app.o: user.h plugindata.h rebus.h ../templates/htmltextstream.h
app.o: mount.h mountparser.h users.h ugcontainer.h lastcontainer.h groups.h app.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
app.o: group.h loadavg.h sessionmanager.h sessioncontainer.h notify.h app.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
app.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h app.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
app.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h app.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
app.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h app.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
app.o: ../../ezc/src/stringconv.h ../core/mount.h ../core/config.h app.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
app.o: ../templates/misc.h ../templates/localefilter.h ../templates/locale.h app.o: ../templatesnotify/notifythread.h ../core/basethread.h synchro.h
app.o: ../core/confparser.h ../templates/htmltextstream.h ../core/log.h app.o: ../templatesnotify/templatesnotify.h ../core/config.h ../core/users.h
app.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h users.h
app.o: groups.h group.h loadavg.h sessionmanager.h sessioncontainer.h
app.o: ../functions/functions.h ../functions/functionbase.h ../core/request.h app.o: ../functions/functions.h ../functions/functionbase.h ../core/request.h
app.o: ../core/system.h ../core/notify.h ../functions/functionparser.h app.o: ../core/system.h ../functions/functionparser.h ../functions/adduser.h
app.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h app.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
app.o: ../functions/privchanger.h ../functions/chown.h app.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
app.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h app.o: ../functions/createthread.h ../functions/default.h
app.o: ../functions/default.h ../functions/download.h ../functions/emacs.h app.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
app.o: ../functions/last.h ../functions/login.h ../functions/logout.h app.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
app.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h app.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
app.o: ../functions/node.h ../functions/priv.h ../functions/reload.h app.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
app.o: ../functions/rm.h ../functions/run.h ../functions/stat.h app.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
app.o: ../functions/subject.h ../functions/funthread.h app.o: ../functions/funthread.h ../functions/template.h
app.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h app.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
app.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h app.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
app.o: ../functions/vim.h ../core/htmlfilter.h ../templates/templates.h app.o: ../core/htmlfilter.h ../templates/templates.h
app.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h app.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
app.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h app.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
app.o: ../core/sessionmanager.h compress.h getparser.h httpsimpleparser.h app.o: ../core/sessionmanager.h compress.h getparser.h httpsimpleparser.h
app.o: postparser.h cookieparser.h postmultiparser.h acceptencodingparser.h app.o: postparser.h cookieparser.h postmultiparser.h acceptencodingparser.h
app.o: acceptbaseparser.h plugin.h pluginmsg.h app.o: acceptbaseparser.h plugin.h pluginmsg.h
basethread.o: basethread.h synchro.h log.h textstream.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h log.h textstream.h compress.o: compress.h log.h textstream.h
config.o: config.h confparser.h htmlfilter.h log.h textstream.h plugin.h config.o: config.h confparser.h htmlfilter.h log.h textstream.h plugin.h
@ -45,11 +48,18 @@ config.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
config.o: ../core/error.h ../db/dbitemquery.h ../core/item.h config.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
config.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h config.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
config.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h config.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
config.o: mounts.h mount.h mountparser.h users.h ugcontainer.h config.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
config.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h config.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
config.o: sessioncontainer.h ../functions/functions.h config.o: ../templates/localefilter.h ../templates/locale.h
config.o: ../functions/functionbase.h ../core/request.h ../core/config.h config.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
config.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h config.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
config.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
config.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
config.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
config.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
config.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
config.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
config.o: ../functions/functionbase.h ../core/request.h ../core/system.h
config.o: ../functions/functionparser.h ../functions/adduser.h config.o: ../functions/functionparser.h ../functions/adduser.h
config.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h config.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
config.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h config.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
@ -62,15 +72,10 @@ config.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
config.o: ../functions/funthread.h ../functions/template.h config.o: ../functions/funthread.h ../functions/template.h
config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
config.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h config.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
config.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h config.o: ../core/htmlfilter.h ../templates/templates.h
config.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h config.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
config.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h config.o: ../core/httpsimpleparser.h ../core/log.h
config.o: ../../ezc/src/stringconv.h ../templates/patterncacher.h config.o: ../templates/indexpatterns.h ../core/sessionmanager.h
config.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
config.o: ../core/log.h ../templates/indexpatterns.h
config.o: ../templates/localefilter.h ../templates/locale.h
config.o: ../core/confparser.h ../templates/htmltextstream.h
config.o: ../core/sessionmanager.h
confparser.o: confparser.h misc.h item.h ../../ezc/src/utf8.h confparser.o: confparser.h misc.h item.h ../../ezc/src/utf8.h
dircontainer.o: dircontainer.h item.h log.h textstream.h dircontainer.o: dircontainer.h item.h log.h textstream.h
dirs.o: dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h dirs.o: dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
@ -79,16 +84,16 @@ dirs.o: log.h textstream.h ../db/dbitemquery.h ../core/item.h
dirs.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h dirs.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
dirs.o: ../core/dircontainer.h ../core/ugcontainer.h request.h requesttypes.h dirs.o: ../core/dircontainer.h ../core/ugcontainer.h request.h requesttypes.h
dirs.o: session.h error.h user.h plugindata.h rebus.h config.h confparser.h dirs.o: session.h error.h user.h plugindata.h rebus.h config.h confparser.h
dirs.o: htmlfilter.h ../templates/htmltextstream.h notify.h dirs.o: htmlfilter.h ../templates/htmltextstream.h
dirs.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h dirs.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
dirs.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
dirs.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
dirs.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h dirs.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
dirs.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h dirs.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
dirs.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h dirs.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
dirs.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h dirs.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
dirs.o: ../templates/locale.h ../core/confparser.h dirs.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
dirs.o: ../templates/htmltextstream.h ../core/log.h system.h mounts.h mount.h dirs.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
dirs.o: mountparser.h users.h ugcontainer.h lastcontainer.h groups.h group.h
dirs.o: loadavg.h
groups.o: groups.h group.h ugcontainer.h ../db/db.h ../db/dbbase.h groups.o: groups.h group.h ugcontainer.h ../db/db.h ../db/dbbase.h
groups.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h groups.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h
groups.o: item.h ../core/error.h log.h textstream.h ../db/dbitemquery.h groups.o: item.h ../core/error.h log.h textstream.h ../db/dbitemquery.h
@ -107,11 +112,10 @@ misc.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
misc.o: ../templates/patterncacher.h ../core/item.h misc.o: ../templates/patterncacher.h ../core/item.h
misc.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h misc.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
misc.o: ../core/log.h ../templates/indexpatterns.h misc.o: ../core/log.h ../templates/indexpatterns.h
misc.o: ../templates/localefilter.h ../templates/locale.h misc.o: ../templates/localefilter.h ../templates/locale.h ../core/config.h
misc.o: ../core/confparser.h ../core/config.h ../db/db.h ../db/dbbase.h misc.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
misc.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.o: ../core/textstream.h ../core/error.h ../db/dbitemquery.h
misc.o: ../core/error.h ../db/dbitemquery.h ../db/dbitemcolumns.h misc.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../core/dircontainer.h ../core/ugcontainer.h misc.o: ../core/dircontainer.h ../core/ugcontainer.h
misc.o: ../templates/htmltextstream.h ../core/request.h ../core/system.h misc.o: ../templates/htmltextstream.h ../core/request.h ../core/system.h
misc.o: ../core/sessionmanager.h misc.o: ../core/sessionmanager.h
@ -124,6 +128,16 @@ mountparser.o: ../core/user.h ../core/group.h ../core/thread.h
mountparser.o: ../core/dircontainer.h ../core/ugcontainer.h request.h mountparser.o: ../core/dircontainer.h ../core/ugcontainer.h request.h
mountparser.o: requesttypes.h session.h user.h plugindata.h rebus.h config.h mountparser.o: requesttypes.h session.h user.h plugindata.h rebus.h config.h
mountparser.o: confparser.h htmlfilter.h ../templates/htmltextstream.h mountparser.o: confparser.h htmlfilter.h ../templates/htmltextstream.h
mountparser.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
mountparser.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
mountparser.o: ../templates/localefilter.h ../templates/locale.h
mountparser.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
mountparser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mountparser.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
mountparser.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
mountparser.o: ../templatesnotify/notifythread.h ../core/basethread.h
mountparser.o: synchro.h ../templatesnotify/templatesnotify.h
mountparser.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
mounts.o: mounts.h mount.h error.h dirs.h item.h dircontainer.h ../db/db.h mounts.o: mounts.h mount.h error.h dirs.h item.h dircontainer.h ../db/db.h
mounts.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h mounts.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
mounts.o: ../core/textstream.h misc.h ../core/error.h log.h textstream.h mounts.o: ../core/textstream.h misc.h ../core/error.h log.h textstream.h
@ -132,14 +146,22 @@ mounts.o: ../core/user.h ../core/group.h ../core/thread.h
mounts.o: ../core/dircontainer.h ../core/ugcontainer.h request.h mounts.o: ../core/dircontainer.h ../core/ugcontainer.h request.h
mounts.o: requesttypes.h session.h user.h plugindata.h rebus.h config.h mounts.o: requesttypes.h session.h user.h plugindata.h rebus.h config.h
mounts.o: confparser.h htmlfilter.h ../templates/htmltextstream.h mounts.o: confparser.h htmlfilter.h ../templates/htmltextstream.h
mounts.o: mountparser.h plugin.h pluginmsg.h system.h users.h ugcontainer.h mounts.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
mounts.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h mounts.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
mounts.o: sessioncontainer.h ../functions/functions.h mounts.o: ../templates/localefilter.h ../templates/locale.h
mounts.o: ../functions/functionbase.h ../core/request.h ../core/config.h mounts.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
mounts.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h mounts.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
mounts.o: ../functions/functionparser.h ../functions/adduser.h mounts.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
mounts.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h mounts.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
mounts.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h mounts.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
mounts.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
mounts.o: mountparser.h plugin.h pluginmsg.h system.h users.h groups.h
mounts.o: group.h loadavg.h sessionmanager.h sessioncontainer.h
mounts.o: ../functions/functions.h ../functions/functionbase.h
mounts.o: ../core/request.h ../core/system.h ../functions/functionparser.h
mounts.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
mounts.o: ../functions/privchanger.h ../functions/chown.h
mounts.o: ../functions/ckeditor.h ../functions/cp.h
mounts.o: ../functions/createthread.h ../functions/default.h mounts.o: ../functions/createthread.h ../functions/default.h
mounts.o: ../functions/download.h ../functions/emacs.h ../functions/last.h mounts.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
mounts.o: ../functions/login.h ../functions/logout.h ../functions/ls.h mounts.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
@ -149,31 +171,10 @@ mounts.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
mounts.o: ../functions/funthread.h ../functions/template.h mounts.o: ../functions/funthread.h ../functions/template.h
mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
mounts.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h mounts.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
mounts.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h mounts.o: ../core/htmlfilter.h ../templates/templates.h
mounts.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h mounts.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
mounts.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h mounts.o: ../core/httpsimpleparser.h ../core/log.h
mounts.o: ../../ezc/src/stringconv.h ../templates/patterncacher.h mounts.o: ../templates/indexpatterns.h ../core/sessionmanager.h
mounts.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
mounts.o: ../core/log.h ../templates/indexpatterns.h
mounts.o: ../templates/localefilter.h ../templates/locale.h
mounts.o: ../core/confparser.h ../templates/htmltextstream.h
mounts.o: ../core/sessionmanager.h
notify.o: log.h textstream.h notify.h ../templatesnotify/templatesnotify.h
notify.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
notify.o: ../../ezc/src/pattern.h item.h ../../ezc/src/functions.h
notify.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h
notify.o: ../core/config.h ../core/textstream.h misc.h ../templates/misc.h
notify.o: ../templates/localefilter.h ../templates/locale.h
notify.o: ../core/confparser.h ../templates/htmltextstream.h ../core/user.h
notify.o: ../core/log.h request.h requesttypes.h session.h error.h user.h
notify.o: plugindata.h rebus.h config.h confparser.h htmlfilter.h
notify.o: ../templates/htmltextstream.h system.h dirs.h dircontainer.h
notify.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
notify.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
notify.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
notify.o: ../core/dircontainer.h ../core/ugcontainer.h mounts.h mount.h
notify.o: mountparser.h users.h ugcontainer.h lastcontainer.h groups.h
notify.o: group.h loadavg.h
plugin.o: plugin.h pluginmsg.h log.h textstream.h plugindata.h config.h plugin.o: plugin.h pluginmsg.h log.h textstream.h plugindata.h config.h
plugin.o: confparser.h htmlfilter.h request.h requesttypes.h session.h item.h plugin.o: confparser.h htmlfilter.h request.h requesttypes.h session.h item.h
plugin.o: error.h user.h rebus.h ../templates/htmltextstream.h plugin.o: error.h user.h rebus.h ../templates/htmltextstream.h
@ -182,11 +183,18 @@ plugin.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
plugin.o: ../core/error.h ../db/dbitemquery.h ../core/item.h plugin.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
plugin.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h plugin.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
plugin.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h plugin.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
plugin.o: mounts.h mount.h mountparser.h users.h ugcontainer.h plugin.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
plugin.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h plugin.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
plugin.o: sessioncontainer.h ../functions/functions.h plugin.o: ../templates/localefilter.h ../templates/locale.h
plugin.o: ../functions/functionbase.h ../core/request.h ../core/config.h plugin.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
plugin.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h plugin.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
plugin.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
plugin.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
plugin.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
plugin.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
plugin.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
plugin.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
plugin.o: ../functions/functionbase.h ../core/request.h ../core/system.h
plugin.o: ../functions/functionparser.h ../functions/adduser.h plugin.o: ../functions/functionparser.h ../functions/adduser.h
plugin.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h plugin.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
plugin.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h plugin.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
@ -199,15 +207,10 @@ plugin.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
plugin.o: ../functions/funthread.h ../functions/template.h plugin.o: ../functions/funthread.h ../functions/template.h
plugin.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h plugin.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
plugin.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h plugin.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugin.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h plugin.o: ../core/htmlfilter.h ../templates/templates.h
plugin.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h plugin.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
plugin.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h plugin.o: ../core/httpsimpleparser.h ../core/log.h
plugin.o: ../../ezc/src/stringconv.h ../templates/patterncacher.h plugin.o: ../templates/indexpatterns.h ../core/sessionmanager.h
plugin.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
plugin.o: ../core/log.h ../templates/indexpatterns.h
plugin.o: ../templates/localefilter.h ../templates/locale.h
plugin.o: ../core/confparser.h ../templates/htmltextstream.h
plugin.o: ../core/sessionmanager.h
plugindata.o: plugindata.h plugin.h pluginmsg.h log.h textstream.h config.h plugindata.o: plugindata.h plugin.h pluginmsg.h log.h textstream.h config.h
plugindata.o: confparser.h htmlfilter.h request.h requesttypes.h session.h plugindata.o: confparser.h htmlfilter.h request.h requesttypes.h session.h
plugindata.o: item.h error.h user.h rebus.h ../templates/htmltextstream.h plugindata.o: item.h error.h user.h rebus.h ../templates/htmltextstream.h
@ -216,11 +219,19 @@ plugindata.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
plugindata.o: ../core/error.h ../db/dbitemquery.h ../core/item.h plugindata.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
plugindata.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h plugindata.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
plugindata.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h plugindata.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
plugindata.o: mounts.h mount.h mountparser.h users.h ugcontainer.h plugindata.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
plugindata.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h plugindata.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
plugindata.o: sessioncontainer.h ../functions/functions.h plugindata.o: ../templates/localefilter.h ../templates/locale.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/config.h plugindata.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
plugindata.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h plugindata.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
plugindata.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugindata.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
plugindata.o: ../templatesnotify/notifythread.h ../core/basethread.h
plugindata.o: synchro.h ../templatesnotify/templatesnotify.h ../core/config.h
plugindata.o: ../core/users.h ugcontainer.h lastcontainer.h mounts.h mount.h
plugindata.o: mountparser.h users.h groups.h group.h loadavg.h
plugindata.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/system.h
plugindata.o: ../functions/functionparser.h ../functions/adduser.h plugindata.o: ../functions/functionparser.h ../functions/adduser.h
plugindata.o: ../functions/cat.h ../functions/chmod.h plugindata.o: ../functions/cat.h ../functions/chmod.h
plugindata.o: ../functions/privchanger.h ../functions/chown.h plugindata.o: ../functions/privchanger.h ../functions/chown.h
@ -236,14 +247,9 @@ plugindata.o: ../functions/template.h ../functions/tinymce.h
plugindata.o: ../functions/uname.h ../functions/upload.h plugindata.o: ../functions/uname.h ../functions/upload.h
plugindata.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h plugindata.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugindata.o: ../core/htmlfilter.h ../templates/templates.h plugindata.o: ../core/htmlfilter.h ../templates/templates.h
plugindata.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
plugindata.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
plugindata.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
plugindata.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h plugindata.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
plugindata.o: ../core/httpsimpleparser.h ../core/log.h plugindata.o: ../core/httpsimpleparser.h ../core/log.h
plugindata.o: ../templates/indexpatterns.h ../templates/localefilter.h plugindata.o: ../templates/indexpatterns.h ../core/sessionmanager.h
plugindata.o: ../templates/locale.h ../core/confparser.h
plugindata.o: ../templates/htmltextstream.h ../core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h requesttypes.h config.h postmultiparser.o: postmultiparser.h error.h requesttypes.h config.h
postmultiparser.o: confparser.h htmlfilter.h log.h textstream.h postmultiparser.o: confparser.h htmlfilter.h log.h textstream.h
postmultiparser.o: ../../ezc/src/utf8.h misc.h item.h postmultiparser.o: ../../ezc/src/utf8.h misc.h item.h
@ -258,11 +264,19 @@ request.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
request.o: ../core/error.h ../db/dbitemquery.h ../core/item.h request.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
request.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h request.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
request.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h request.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
request.o: mounts.h mount.h mountparser.h users.h ugcontainer.h request.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
request.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h request.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
request.o: ../templates/localefilter.h ../templates/locale.h
request.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
request.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
request.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
request.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
request.o: ../core/basethread.h synchro.h
request.o: ../templatesnotify/templatesnotify.h ../core/config.h
request.o: ../core/users.h ugcontainer.h lastcontainer.h mounts.h mount.h
request.o: mountparser.h users.h groups.h group.h loadavg.h sessionmanager.h
request.o: sessioncontainer.h ../functions/functions.h request.o: sessioncontainer.h ../functions/functions.h
request.o: ../functions/functionbase.h ../core/request.h ../core/config.h request.o: ../functions/functionbase.h ../core/request.h ../core/system.h
request.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
request.o: ../functions/functionparser.h ../functions/adduser.h request.o: ../functions/functionparser.h ../functions/adduser.h
request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
request.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h request.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
@ -275,15 +289,10 @@ request.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
request.o: ../functions/funthread.h ../functions/template.h request.o: ../functions/funthread.h ../functions/template.h
request.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h request.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
request.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h request.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
request.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h request.o: ../core/htmlfilter.h ../templates/templates.h
request.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h request.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
request.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h request.o: ../core/httpsimpleparser.h ../core/log.h
request.o: ../../ezc/src/stringconv.h ../templates/patterncacher.h request.o: ../templates/indexpatterns.h ../core/sessionmanager.h
request.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
request.o: ../core/log.h ../templates/indexpatterns.h
request.o: ../templates/localefilter.h ../templates/locale.h
request.o: ../core/confparser.h ../templates/htmltextstream.h
request.o: ../core/sessionmanager.h
session.o: session.h item.h error.h user.h plugindata.h rebus.h misc.h session.o: session.h item.h error.h user.h plugindata.h rebus.h misc.h
sessioncontainer.o: sessioncontainer.h session.h item.h error.h user.h sessioncontainer.o: sessioncontainer.h session.h item.h error.h user.h
sessioncontainer.o: plugindata.h rebus.h lastcontainer.h request.h sessioncontainer.o: plugindata.h rebus.h lastcontainer.h request.h
@ -299,12 +308,22 @@ sessionmanager.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h
sessionmanager.o: ../db/dbtextstream.h ../core/error.h log.h sessionmanager.o: ../db/dbtextstream.h ../core/error.h log.h
sessionmanager.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h sessionmanager.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
sessionmanager.o: ../core/user.h ../core/group.h ../core/thread.h sessionmanager.o: ../core/user.h ../core/group.h ../core/thread.h
sessionmanager.o: ../core/dircontainer.h ../core/ugcontainer.h mounts.h sessionmanager.o: ../core/dircontainer.h ../core/ugcontainer.h
sessionmanager.o: mount.h mountparser.h users.h ugcontainer.h groups.h sessionmanager.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
sessionmanager.o: group.h loadavg.h sessionparser.h plugin.h pluginmsg.h sessionmanager.o: ../templates/locale.h ../core/confparser.h
sessionmanager.o: ../templates/misc.h ../templates/localefilter.h
sessionmanager.o: ../templates/locale.h ../../ezc/src/ezc.h
sessionmanager.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
sessionmanager.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
sessionmanager.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
sessionmanager.o: ../templates/htmltextstream.h
sessionmanager.o: ../templatesnotify/notifythread.h ../core/basethread.h
sessionmanager.o: synchro.h ../templatesnotify/templatesnotify.h
sessionmanager.o: ../core/config.h ../core/users.h ugcontainer.h mounts.h
sessionmanager.o: mount.h mountparser.h users.h groups.h group.h loadavg.h
sessionmanager.o: sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: ../functions/functions.h ../functions/functionbase.h sessionmanager.o: ../functions/functions.h ../functions/functionbase.h
sessionmanager.o: ../core/request.h ../core/config.h ../core/system.h sessionmanager.o: ../core/request.h ../core/system.h
sessionmanager.o: ../core/notify.h ../../ezc/src/utf8.h
sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h
sessionmanager.o: ../functions/cat.h ../functions/chmod.h sessionmanager.o: ../functions/cat.h ../functions/chmod.h
sessionmanager.o: ../functions/privchanger.h ../functions/chown.h sessionmanager.o: ../functions/privchanger.h ../functions/chown.h
@ -321,25 +340,16 @@ sessionmanager.o: ../functions/template.h ../functions/tinymce.h
sessionmanager.o: ../functions/uname.h ../functions/upload.h sessionmanager.o: ../functions/uname.h ../functions/upload.h
sessionmanager.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h sessionmanager.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
sessionmanager.o: ../core/htmlfilter.h ../templates/templates.h sessionmanager.o: ../core/htmlfilter.h ../templates/templates.h
sessionmanager.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
sessionmanager.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
sessionmanager.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
sessionmanager.o: ../templates/patterncacher.h sessionmanager.o: ../templates/patterncacher.h
sessionmanager.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h sessionmanager.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
sessionmanager.o: ../core/log.h ../templates/indexpatterns.h sessionmanager.o: ../core/log.h ../templates/indexpatterns.h
sessionmanager.o: ../templates/localefilter.h ../templates/locale.h
sessionmanager.o: ../core/confparser.h ../templates/htmltextstream.h
sessionmanager.o: ../core/sessionmanager.h sessionmanager.o: ../core/sessionmanager.h
sessionparser.o: sessionparser.h session.h item.h error.h user.h plugindata.h sessionparser.o: sessionparser.h session.h item.h error.h user.h plugindata.h
sessionparser.o: rebus.h sessioncontainer.h lastcontainer.h request.h sessionparser.o: rebus.h sessioncontainer.h lastcontainer.h request.h
sessionparser.o: requesttypes.h config.h confparser.h htmlfilter.h sessionparser.o: requesttypes.h config.h confparser.h htmlfilter.h
sessionparser.o: textstream.h ../templates/htmltextstream.h sessionparser.o: textstream.h ../templates/htmltextstream.h
sessionparser.o: ../core/textstream.h misc.h users.h ugcontainer.h ../db/db.h sessionparser.o: ../core/textstream.h misc.h users.h log.h
sessionparser.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h synchro.o: synchro.h
sessionparser.o: ../core/error.h log.h ../db/dbitemquery.h ../core/item.h
sessionparser.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
sessionparser.o: ../core/thread.h ../core/dircontainer.h
sessionparser.o: ../core/ugcontainer.h
system.o: system.h dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h system.o: system.h dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h
system.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h system.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h
system.o: ../core/error.h log.h textstream.h ../db/dbitemquery.h system.o: ../core/error.h log.h textstream.h ../db/dbitemquery.h
@ -347,25 +357,20 @@ system.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
system.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h system.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
system.o: request.h requesttypes.h session.h error.h user.h plugindata.h system.o: request.h requesttypes.h session.h error.h user.h plugindata.h
system.o: rebus.h config.h confparser.h htmlfilter.h system.o: rebus.h config.h confparser.h htmlfilter.h
system.o: ../templates/htmltextstream.h mounts.h mount.h mountparser.h system.o: ../templates/htmltextstream.h ../templatesnotify/notify.h
system.o: users.h ugcontainer.h lastcontainer.h groups.h group.h loadavg.h system.o: ../templatesnotify/notifypool.h ../templates/locale.h
system.o: notify.h ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h system.o: ../core/confparser.h ../templates/misc.h
system.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h system.o: ../templates/localefilter.h ../templates/locale.h
system.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
system.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h system.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
system.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h system.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
system.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h system.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
system.o: ../templates/locale.h ../core/confparser.h system.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
system.o: ../templates/htmltextstream.h ../core/log.h system.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
system.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
system.o: ../templates/templates.h ../templates/patterncacher.h system.o: ../templates/templates.h ../templates/patterncacher.h
system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
system.o: ../core/log.h ../templates/indexpatterns.h ../core/request.h system.o: ../core/log.h ../templates/indexpatterns.h ../core/request.h
system.o: ../core/system.h ../core/sessionmanager.h system.o: ../core/system.h ../core/sessionmanager.h
textstream.o: textstream.h misc.h item.h textstream.o: textstream.h misc.h item.h
users.o: users.h user.h ugcontainer.h lastcontainer.h request.h users.o: users.h
users.o: requesttypes.h session.h item.h error.h plugindata.h rebus.h
users.o: config.h confparser.h htmlfilter.h textstream.h
users.o: ../templates/htmltextstream.h ../core/textstream.h misc.h ../db/db.h
users.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
users.o: log.h ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
users.o: ../core/user.h ../core/group.h ../core/thread.h
users.o: ../core/dircontainer.h ../core/ugcontainer.h

View File

@ -1 +1 @@
o = acceptbaseparser.o app.o bbcodeparser.o compress.o config.o confparser.o dircontainer.o dirs.o groups.o htmlfilter.o httpsimpleparser.o item.o lastcontainer.o loadavg.o log.o misc.o mount.o mountparser.o mounts.o notify.o plugin.o plugindata.o postmultiparser.o rebus.o request.o session.o sessioncontainer.o sessionmanager.o sessionparser.o system.o textstream.o users.o o = acceptbaseparser.o app.o basethread.o bbcodeparser.o compress.o config.o confparser.o dircontainer.o dirs.o groups.o htmlfilter.o httpsimpleparser.o item.o lastcontainer.o loadavg.o log.o misc.o mount.o mountparser.o mounts.o plugin.o plugindata.o postmultiparser.o rebus.o request.o session.o sessioncontainer.o sessionmanager.o sessionparser.o synchro.o system.o textstream.o users.o

View File

@ -11,6 +11,10 @@
#include <pwd.h> #include <pwd.h>
#include <grp.h> #include <grp.h>
#include <unistd.h> #include <unistd.h>
#include <sys/param.h>
#include <cstdio>
#include <fetch.h>
#include <signal.h>
#include "app.h" #include "app.h"
#include "plugin.h" #include "plugin.h"
@ -23,7 +27,6 @@
App::App() App::App()
{ {
was_stop_signal = false;
stdout_is_closed = false; stdout_is_closed = false;
last_sessions_save = std::time(0); last_sessions_save = std::time(0);
fcgi_socket = -1; fcgi_socket = -1;
@ -45,18 +48,11 @@ App::App()
functions.SetDb(&db); functions.SetDb(&db);
functions.SetSystem(&system); functions.SetSystem(&system);
functions.SetTemplates(&templates); functions.SetTemplates(&templates);
functions.SetNotify(&notify);
system.SetConfig(&config); system.SetConfig(&config);
system.SetRequest(&request); system.SetRequest(&request);
system.SetDb(&db); system.SetDb(&db);
system.SetSynchro(&synchro);
templates_notify.SetConfig(&config);
notify.SetRequest(&request);
notify.SetConfig(&config);
notify.SetSystem(&system);
notify.SetTemplatesNotify(&templates_notify);
templates.SetConfig(&config); templates.SetConfig(&config);
templates.SetRequest(&request); templates.SetRequest(&request);
@ -137,23 +133,15 @@ bool App::Init()
system.Init(); system.Init();
functions.Init(); functions.Init();
// !! teraz mamy dwa katalogi z templetami
// !! o co chodzilo?
if( !notify.Init() )
return false; // !! dodac logsave do logow
// call this after system.Init() (mount points identificators should be created)
templates_notify.SetMountTypes( system.mounts.MountTypeCms(),
system.mounts.MountTypeThread(),
2 ); // !! chwilowo
//system.mounts.MountTypeTicket() );
// init templates after functions are created // init templates after functions are created
templates.CreateFunctions(); // create functions first (functions will be cached by patterns) templates.CreateFunctions(); // create functions first (functions will be cached by patterns)
templates.ReadIndexFileNames(); templates.ReadIndexFileNames();
templates.ReadTemplates(); templates.ReadTemplates();
// init notify after templates (it uses locales from templates)
system.notify.ReadTemplates();
session_manager.LoadSessions(); session_manager.LoadSessions();
plugin.Call(WINIX_PLUGIN_INIT); plugin.Call(WINIX_PLUGIN_INIT);
@ -228,7 +216,6 @@ void App::ProcessRequestThrow()
} }
SendAnswer(); SendAnswer();
notify.ItemChanged(request.notify_code);
// it's better to remove sessions at the end of a request // it's better to remove sessions at the end of a request
// as it can take a little time // as it can take a little time
@ -240,7 +227,19 @@ void App::ProcessRequest()
{ {
try try
{ {
system.load_avg.StartRequest();
log << log2 << config.log_delimiter << logend;
ProcessRequestThrow(); ProcessRequestThrow();
SaveSessionsIfNeeded();
if( request.function )
request.function->Clear();
request.Clear();
system.load_avg.StopRequest();
log << logsave;
} }
catch(const std::exception & e) catch(const std::exception & e)
{ {
@ -259,27 +258,14 @@ void App::ProcessRequest()
void App::Start() void App::Start()
{ {
while( !was_stop_signal && FCGX_Accept_r(&fcgi_request) == 0 ) while( !synchro.was_stop_signal && FCGX_Accept_r(&fcgi_request) == 0 )
{ {
if( was_stop_signal ) Lock();
break;
// !! tu bedzie lock.WorkStart() if( !synchro.was_stop_signal )
ProcessRequest();
system.load_avg.StartRequest(); Unlock();
log << log2 << config.log_delimiter << logend;
ProcessRequest();
SaveSessionsIfNeeded();
if( request.function )
request.function->Clear();
request.Clear();
system.load_avg.StopRequest();
log << logsave;
// !! tu bedzie lock.WorkStop();
} }
} }
@ -974,8 +960,102 @@ return true;
} }
void App::WasStopSignal() // this method is called from a signal routine
void App::SetStopSignal()
{ {
was_stop_signal = true; synchro.was_stop_signal = true;
} }
bool App::WasStopSignal()
{
return synchro.was_stop_signal;
}
bool App::Lock()
{
return synchro.Lock();
}
void App::Unlock()
{
synchro.Unlock();
}
void App::WaitForThreads()
{
// special thread hangs on fetchStatURL -- I don't know why
// but it doesn't matter, don't use pthread_join on it
//pthread_join(signal_thread, 0);
system.notify.WaitForThread();
}
void App::FetchPageOnExit()
{
// stupid trick to break FCGX_Accept_r() function
// even with FCGX_InitRequest(..., ..., FCGI_FAIL_ACCEPT_ON_INTR) the FCGX_Accept_r
// doesn't want to break on a signal
// so we request one page from the server for exiting from FCGX_Accept_r
url_stat url;
fetchStatURL(url_to_fetch_on_exit.c_str(), &url, "");
}
void * App::SpecialThreadForSignals(void * app_object)
{
sigset_t set;
App * app = reinterpret_cast<App*>(app_object);
sigemptyset(&set);
sigaddset(&set, SIGTERM);
sigaddset(&set, SIGINT);
// waiting for SIGTERM or SIGINT
sigwait(&set, 0);
app->Lock();
app->synchro.was_stop_signal = true;
FCGX_ShutdownPending();
Ezc::WideToUTF8(app->config.base_url, app->url_to_fetch_on_exit);
app->system.notify.SendSignalToThread();
app->Unlock();
// this thread will hang on this method
// but will be terminated when the main thread exits
app->FetchPageOnExit();
pthread_exit(0);
return 0;
}
void App::StartThreads()
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGTERM);
sigaddset(&set, SIGINT);
// blocking SIGTERM and SIGINT
// new threads will have the signals blocked too
pthread_sigmask(SIG_BLOCK, &set, 0);
// special thread only for signals
pthread_create(&signal_thread, 0, SpecialThreadForSignals, this);
// thread for notifications
system.notify.StartThread();
}

View File

@ -24,12 +24,11 @@
#include "system.h" #include "system.h"
#include "mounts.h" #include "mounts.h"
#include "request.h" #include "request.h"
#include "synchro.h"
#include "sessionmanager.h" #include "sessionmanager.h"
#include "notify.h"
#include "db/db.h" #include "db/db.h"
#include "functions/functions.h" #include "functions/functions.h"
#include "templates/templates.h" #include "templates/templates.h"
#include "templatesnotify/templatesnotify.h"
#include "compress.h" #include "compress.h"
#include "htmlfilter.h" #include "htmlfilter.h"
#include "getparser.h" #include "getparser.h"
@ -41,7 +40,6 @@
class App class App
{ {
public: public:
@ -55,7 +53,12 @@ public:
void Close(); void Close();
void LogUserGroups(); void LogUserGroups();
bool Demonize(); bool Demonize();
void WasStopSignal(); void SetStopSignal();
bool WasStopSignal();
bool Lock();
void Unlock();
void StartThreads();
void WaitForThreads();
// configuration read from a config file // configuration read from a config file
Config config; Config config;
@ -66,9 +69,6 @@ public:
// users sessions // users sessions
SessionManager session_manager; SessionManager session_manager;
// notifications (by emails)
Notify notify;
// database // database
Db db; Db db;
DbConn db_conn; DbConn db_conn;
@ -103,7 +103,6 @@ public:
*/ */
Templates templates; Templates templates;
TemplatesNotify templates_notify;
private: private:
@ -123,16 +122,18 @@ private:
Compress compress; Compress compress;
HTMLFilter html_filter; HTMLFilter html_filter;
std::wstring clean_html, html_with_debug; std::wstring clean_html, html_with_debug;
volatile bool was_stop_signal;
FCGX_Request fcgi_request; FCGX_Request fcgi_request;
int fcgi_socket; int fcgi_socket;
Synchro synchro;
pthread_t signal_thread;
std::string url_to_fetch_on_exit;
void ProcessRequestThrow(); void ProcessRequestThrow();
void ProcessRequest(); void ProcessRequest();
bool BaseUrlRedirect(); bool BaseUrlRedirect();
void MakePage(); void MakePage();
void Make(); void Make();
void SaveSessionsIfNeeded(); // !! wywalic do managara sesji?? void SaveSessionsIfNeeded(); // !! wywalic do menagera sesji??
void LogAccess(); void LogAccess();
void ReadRequest(); void ReadRequest();
@ -162,6 +163,9 @@ private:
void LogGroups(); void LogGroups();
bool DropPrivileges(const std::string & user, uid_t uid, gid_t gid, bool additional_groups); bool DropPrivileges(const std::string & user, uid_t uid, gid_t gid, bool additional_groups);
static void * SpecialThreadForSignals(void*);
void FetchPageOnExit();
// !! dodac do session managera? // !! dodac do session managera?
time_t last_sessions_save; time_t last_sessions_save;
}; };

208
core/basethread.cpp Executable file
View File

@ -0,0 +1,208 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#include <errno.h>
#include "basethread.h"
#include "log.h"
BaseThread::BaseThread()
{
synchro = 0;
thread_signal = 0;
thread_id = 0;
}
void BaseThread::SetSynchro(Synchro * psynchro)
{
synchro = psynchro;
}
void BaseThread::SetSignal(pthread_cond_t * psignal)
{
thread_signal = psignal;
}
bool BaseThread::Lock()
{
return synchro->Lock();
}
void BaseThread::Unlock()
{
synchro->Unlock();
}
bool BaseThread::IsExitSignal()
{
bool res = true;
if( Lock() )
{
res = synchro->was_stop_signal;
Unlock();
}
return res;
}
bool BaseThread::BaseInit()
{
bool init_status = false;
if( Lock() )
{
init_status = Init(); // your virtual method
Unlock();
}
return init_status;
}
void BaseThread::BaseUninit()
{
if( Lock() )
{
Uninit(); // your virtual method
Unlock();
}
}
bool BaseThread::BaseSignalReceived()
{
bool make_do;
try
{
make_do = SignalReceived(); // your short-time virtual method (objects are locked)
}
catch(...)
{
}
return make_do;
}
// this is called only if your SignalReceived() returned true
void BaseThread::BaseDo()
{
try
{
Do(); // your long-time virtual method (objects are *not* locked)
}
catch(...)
{
}
}
// use it with Lock and Unlock
bool BaseThread::WaitForSignal()
{
return pthread_cond_wait(thread_signal, &synchro->mutex) == 0;
}
// use it with Lock and Unlock
// it breaks only if there was a stop signal a the time has expired
bool BaseThread::WaitForSignalSleep(time_t second)
{
timespec t;
int res;
t.tv_sec = time(0) + second;
t.tv_nsec = 0;
do
{
res = pthread_cond_timedwait(thread_signal, &synchro->mutex, &t);
}
while( res == 0 && !synchro->was_stop_signal );
// above condition means there was a signal
// but it was not a stop signal so we should still wait
return res == 0 || res == ETIMEDOUT;
}
void BaseThread::WaitForThread()
{
pthread_join(thread_id, 0);
}
void BaseThread::StartRoutine()
{
bool make_do;
do
{
if( Lock() )
{
make_do = false;
if( !synchro->was_stop_signal && WaitForSignal() ) // automatically unlock, wait and lock again when signal comes
if( !synchro->was_stop_signal )
make_do = BaseSignalReceived(); // your short-time virtual method will be called (objects locked)
Unlock(); // unlocking from WaitForSignal()
if( make_do )
BaseDo(); // your long-time virtual method will be called (objects *not* locked)
}
}
while( !IsExitSignal() );
}
void * BaseThread::StartRoutine(void * this_object)
{
BaseThread * base = reinterpret_cast<BaseThread*>(this_object);
if( base->synchro && base->thread_signal )
{
if( base->BaseInit() )
{
base->StartRoutine();
base->BaseUninit();
}
}
pthread_exit(0);
return 0;
}
bool BaseThread::StartThread()
{
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
int res = pthread_create(&thread_id, &attr, StartRoutine, this);
pthread_attr_destroy(&attr);
return res == 0;
}

91
core/basethread.h Executable file
View File

@ -0,0 +1,91 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucorebasethread
#define headerfilecmslucorebasethread
#include <pthread.h>
#include "synchro.h"
class BaseThread
{
public:
BaseThread();
// these method must be called before starting the thread
void SetSynchro(Synchro * psynchro);
void SetSignal(pthread_cond_t * psignal);
// starting the thread
bool StartThread();
// waiting until the thread exits
void WaitForThread();
// virtual methods which should/can be inherited by your class
// the methods will be called from the other thread
// initialize the thread
// (global objects are locked)
// if it returns false then the thread immediately exists
virtual bool Init() { return false; }
// uninitialize the thread
// this is called before the thread is prepare to detach
// (global objects are locked)
virtual void Uninit() {}
// signal came
// check specific job and return true to call Do() next
// (global objects are locked -- copy some global objects to local variables)
virtual bool SignalReceived() { return false; };
// if SignalReceived() returned true then this method is called
// global object are *not* locked -- use only your local variables
// if you have to do something on global objects use synchro->Lock() and synchro->Unlock()
virtual void Do() {}
protected:
// this pointers must be set
Synchro * synchro;
pthread_cond_t * thread_signal;
pthread_t thread_id; // thread id - set automatically
void StartRoutine();
static void * StartRoutine(void *);
bool BaseInit();
void BaseUninit();
bool BaseSignalReceived();
void BaseDo();
bool WaitForSignal();
bool WaitForSignalSleep(time_t second);
bool Lock();
void Unlock();
// if the work done by Do() is long time consuming you should periodically check
// wheter there was a signal for exiting, and if it was just simply return from Do()
// (it's checking with locking and unlocking)
bool IsExitSignal();
};
#endif

View File

@ -114,11 +114,13 @@ void Config::AssignValues(bool stdout_is_closed)
auth_hashfs_dir = Text(L"auth_hashfs_dir"); auth_hashfs_dir = Text(L"auth_hashfs_dir");
auth_tmp_dir = Text(L"auth_tmp_dir"); auth_tmp_dir = Text(L"auth_tmp_dir");
templates_dir = Text(L"templates_dir"); templates_dir = Text(L"templates_dir");
templates_dir_default = Text(L"templates_dir_default"); templates_dir_default = Text(L"templates_dir_default");
templates_fun_prefix = Text(L"templates_fun_prefix", L"fun_"); txt_templates_dir = Text(L"txt_templates_dir");
templates_fun_postfix = Text(L"templates_fun_postfix", L".html"); txt_templates_dir_default = Text(L"txt_templates_dir_default");
templates_index = Text(L"templates_index", L"index.html"); templates_fun_prefix = Text(L"templates_fun_prefix", L"fun_");
templates_fun_postfix = Text(L"templates_fun_postfix", L".html");
templates_index = Text(L"templates_index", L"index.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 = AText(L"http_session_id_name"); http_session_id_name = AText(L"http_session_id_name");

View File

@ -84,7 +84,10 @@ public:
std::string fcgi_socket_group; std::string fcgi_socket_group;
std::wstring templates_dir; std::wstring templates_dir;
std::wstring templates_dir_default; // templates from winix std::wstring templates_dir_default; // html templates from winix
std::wstring txt_templates_dir;
std::wstring txt_templates_dir_default; // txt (notifications) templates from winix
// prefix and postfix for functions templates // prefix and postfix for functions templates
// default: // default:

View File

@ -10,7 +10,6 @@
#include "dirs.h" #include "dirs.h"
#include "error.h" #include "error.h"
#include "log.h" #include "log.h"
#include "notify.h"
@ -26,6 +25,12 @@ void Dirs::SetRequest(Request * prequest)
} }
void Dirs::SetNotify(Notify * pnotify)
{
notify = pnotify;
}
void Dirs::Clear() void Dirs::Clear()
{ {
dir_tab.Clear(); dir_tab.Clear();
@ -422,7 +427,7 @@ bool Dirs::DelDir(long dir_id)
} }
Error Dirs::AddDirectory(Item & item, bool add_to_dir_tab, Item ** pdir) Error Dirs::AddDirectory(Item & item, bool add_to_dir_tab, Item ** pdir, int notify_code)
{ {
if( pdir ) if( pdir )
*pdir = 0; *pdir = 0;
@ -434,7 +439,6 @@ Error Dirs::AddDirectory(Item & item, bool add_to_dir_tab, Item ** pdir)
if( status == WINIX_ERR_OK ) if( status == WINIX_ERR_OK )
{ {
request->notify_code |= WINIX_NOTIFY_DIR_ADD;
Item * d = AddDir(item); Item * d = AddDir(item);
if( add_to_dir_tab && !request->dir_tab.empty() && request->dir_tab.back()->id == item.parent_id ) if( add_to_dir_tab && !request->dir_tab.empty() && request->dir_tab.back()->id == item.parent_id )
@ -442,6 +446,9 @@ Error Dirs::AddDirectory(Item & item, bool add_to_dir_tab, Item ** pdir)
if( pdir ) if( pdir )
*pdir = d; *pdir = d;
if( notify_code )
notify->ItemChanged(notify_code, item);
} }
return status; return status;

View File

@ -19,6 +19,7 @@
#include "dircontainer.h" #include "dircontainer.h"
#include "db/db.h" #include "db/db.h"
#include "request.h" #include "request.h"
#include "templatesnotify/notify.h"
// we do not support '..' in a path (for simplicity and security reasons) // we do not support '..' in a path (for simplicity and security reasons)
@ -33,6 +34,7 @@ public:
void SetRequest(Request * prequest); void SetRequest(Request * prequest);
void SetDb(Db * pdb); void SetDb(Db * pdb);
void SetNotify(Notify * pnotify);
// 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);
@ -65,12 +67,13 @@ public:
Item * CreateVarDir(); Item * CreateVarDir();
// !! jak juz wczesniejsze nazwy beda zmienione to tutaj damy AddDir() /AddDir() juz istnieje przeciez?/ // !! jak juz wczesniejsze nazwy beda zmienione to tutaj damy AddDir() /AddDir() juz istnieje przeciez?/
Error AddDirectory(Item & item, bool add_to_dir_tab = false, Item ** pdir = 0); Error AddDirectory(Item & item, bool add_to_dir_tab = false, Item ** pdir = 0, int notify_code = 0);
private: private:
Request * request; Request * request;
Db * db; Db * db;
Notify * notify;
DirContainer dir_tab; DirContainer dir_tab;

View File

@ -1,315 +0,0 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#include <pthread.h>
#include <unistd.h>
#include "log.h"
#include "notify.h"
#include "misc.h"
#include "request.h"
#include "utf8.h"
// the second thread uses this pointer to reference to 'this'
// (methods for the thread should be static)
Notify * Notify::obj;
void Notify::SetRequest(Request * prequest)
{
request = prequest;
}
void Notify::SetConfig(Config * pconfig)
{
config = pconfig;
}
void Notify::SetSystem(System * psystem)
{
system = psystem;
}
void Notify::SetTemplatesNotify(TemplatesNotify * ptemplates_notify)
{
templates_notify = ptemplates_notify;
}
/*
methods for the second thread
the thread can reference to 'this' by using 'obj' pointer
*/
void * Notify::ThreadRoutine(void * arg)
{
obj = (Notify*)arg;
while( true )
{
CheckQueue();
sleep(30);
}
}
void Notify::CheckQueue()
{
std::list<NotifyMsg>::iterator i = obj->notify_pool.begin();
while( i != obj->notify_pool.end() )
{
SendEmail(*i);
obj->Lock();
i = obj->notify_pool.erase(i);
obj->Unlock();
sleep(3);
}
}
void Notify::SendEmail(NotifyMsg & n)
{
TemplatesNotifyFunctions::notify_msg = &n;
obj->Lock(); // templates can be reloaded from the first thread
obj->templates_notify->Generate(n.lang);
obj->Unlock();
SendEmail(n.email, obj->templates_notify->notify_str.Str());
}
void Notify::SendEmail(const std::wstring & email, const std::wstring & message)
{
nlog.PutDate(log1);
if( !ValidateEmail(email) )
{
nlog << log1 << "Notify: email: " << email << " is not correct" << logend;
return;
}
obj->command = "sendmail ";
AssignString(email, obj->command, false);
FILE * sendmail = popen(obj->command.c_str(), "w");
if( !sendmail )
{
nlog << log1 << "Notify: can't run sendmail" << logend;
return;
}
SendMessage(sendmail, message);
pclose(sendmail);
nlog << log1 << "Notify: email to: " << email << " has been sent" << logend;
nlog << logsave;
}
void Notify::SendMessage(FILE * sendmail, const std::wstring & message)
{
char buf[10];
size_t len;
for(size_t i=0 ; i<message.length() ; ++i)
{
if( message[i] == '\n' )
{
fprintf(sendmail, "\r\n");
}
else
{
len = Ezc::IntToUTF8(int(message[i]), buf, sizeof(buf));
for(size_t a=0 ; a<len ; ++a)
fputc(buf[a], sendmail);
}
}
}
/*
methods for main thread
*/
Notify::Notify() : mutex(PTHREAD_MUTEX_INITIALIZER)
{
}
Notify::~Notify()
{
}
void Notify::ReadTemplates()
{
// we are in the first thread here
// the second thread can use our templates and we must Lock()
// (the second thread is using Lock() too)
Lock();
templates_notify->Read();
Unlock();
}
bool Notify::Init()
{
templates_notify->CreateFunctions();
// CreateFunctions() should be called before ReadTemplates()
// because the patterns will cache the functions
ReadTemplates();
int t = pthread_create(&thread, 0, ThreadRoutine, (void*)this);
if( t != 0 )
{
// log (not nlog) here
log << log1 << "Notify: can't create a thread" << logend;
return false;
}
return true;
}
bool Notify::Lock()
{
if( pthread_mutex_lock(&mutex) != 0 )
return false;
return true;
}
void Notify::Unlock()
{
pthread_mutex_unlock(&mutex);
}
void Notify::CreateItemDir(std::wstring & dir, bool clear)
{
if( clear )
dir.clear();
for(size_t a=0 ; a<request->dir_tab.size() ; ++a)
{
dir += request->dir_tab[a]->url;
dir += '/';
}
}
void Notify::CreateItemLink(std::wstring & link)
{
link = config->base_url;
CreateItemDir(link, false);
link += request->item.url;
}
void Notify::ItemChanged(int notify_code)
{
bool sending;
Users::Iterator i;
if( notify_code == 0 )
return;
if( !system || !system->mounts.pmount || !config )
{
// !! system->mounts.pmount byl czasami null
// !! kiedy dodawana byla funkcja "vim"
log << log1 << "!!! Notify: some objects are not set: "
<< system << ", "
<< system->mounts.pmount << ", "
<< config << logend;
return;
}
n.notify_code = notify_code;
n.current_mount_type = system->mounts.pmount->type;
n.doc_base_url = config->base_url;
CreateItemDir(n.item_dir);
CreateItemLink(n.item_link);
Lock();
try
{
// don't clear notify_pool here -- it is used (and will be cleared) by the second thread
for(i=system->users.Begin() ; i != system->users.End() ; ++i)
{
sending = false;
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
//system->mounts.pmount->type == system->mounts.MountTypeTicket() )
{
if( (i->thread_notify & notify_code) != 0 )
sending = true;
}
else
if( system->mounts.pmount->type == system->mounts.MountTypeCms() )
{
if( (i->cms_notify & notify_code) != 0 )
sending = true;
}
if( sending )
{
n.email = i->email;
n.lang = Locale::StrToLang(config->locale_str);// !! bedzie osobno dla kazdego uzytkownika
if( n.lang == Locale::lang_unknown )
n.lang = Locale::lang_en;
notify_pool.insert(notify_pool.end(), n);
}
}
}
catch(...)
{
Unlock();
throw;
}
Unlock();
}

View File

@ -1,91 +0,0 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslunotify
#define headerfilecmslunotify
#include <list>
#include <string>
#include <cstdio>
#include "templatesnotify/templatesnotify.h"
#include "request.h"
#include "config.h"
#include "system.h"
#include "users.h"
#define WINIX_NOTIFY_ITEM_ADD 1
#define WINIX_NOTIFY_ITEM_EDIT 2
#define WINIX_NOTIFY_ITEM_DELETE 4
#define WINIX_NOTIFY_DIR_ADD 8
class Notify
{
public:
Notify();
~Notify();
void SetRequest(Request * prequest);
void SetConfig(Config * pconfig);
void SetSystem(System * psystem);
void SetTemplatesNotify(TemplatesNotify * ptemplates_notify);
void ReadTemplates();
bool Init();
/*
this method addes an item to our special pool
the pool is used by a second thread
*/
void ItemChanged(int notify_code);
private:
Request * request;
Config * config;
System * system;
TemplatesNotify * templates_notify;
static void * ThreadRoutine(void * arg);
bool Lock();
void Unlock();
static void CheckQueue();
static void SendEmail(NotifyMsg & n);
static void SendEmail(const std::wstring & email);
static void SendEmail(const std::wstring & email, const std::wstring & message);
static void SendMessage(FILE * sendmail, const std::wstring & message);
void CreateItemDir(std::wstring & dir, bool clear = true);
void CreateItemLink(std::wstring & link);
pthread_t thread;
pthread_mutex_t mutex;
NotifyMsg n;
/*
objects accessed by the second thread
*/
std::list<NotifyMsg> notify_pool;
static Notify * obj;
std::string command;
};
#endif

View File

@ -93,7 +93,6 @@ void Request::Clear()
status = WINIX_ERR_OK; status = WINIX_ERR_OK;
notify_code = 0;
browser_msie = false; browser_msie = false;
redirect_to.clear(); redirect_to.clear();
x_sendfile.clear(); x_sendfile.clear();

View File

@ -35,10 +35,6 @@ struct Request
// it's used for some optimalizations e.g. in templates // it's used for some optimalizations e.g. in templates
size_t id; size_t id;
//FCGX_Stream * in, * out, * err;
//FCGX_ParamArray env; // defined as 'char **'
// !! moze pozbyc sie tego none? // !! moze pozbyc sie tego none?
enum Method { get, post, head, none } method; enum Method { get, post, head, none } method;
enum Role { responder, authorizer } role; enum Role { responder, authorizer } role;
@ -95,9 +91,6 @@ struct Request
// request status // request status
Error status; Error status;
// last notify
int notify_code;
// usually items in the current directory (depends on the function) // usually items in the current directory (depends on the function)
std::vector<Item> item_tab; std::vector<Item> item_tab;

35
core/synchro.cpp Executable file
View File

@ -0,0 +1,35 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "synchro.h"
Synchro::Synchro() : mutex(PTHREAD_MUTEX_INITIALIZER)
{
was_stop_signal = false;
}
bool Synchro::Lock()
{
return pthread_mutex_lock(&mutex) == 0;
}
void Synchro::Unlock()
{
pthread_mutex_unlock(&mutex);
}

36
core/synchro.h Executable file
View File

@ -0,0 +1,36 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucoresynchro
#define headerfilecmslucoresynchro
#include <pthread.h>
struct Synchro
{
// one global mutex
pthread_mutex_t mutex;
// true when winix is closing
volatile bool was_stop_signal;
Synchro();
bool Lock();
void Unlock();
};
#endif

View File

@ -10,7 +10,6 @@
#include "system.h" #include "system.h"
#include "misc.h" #include "misc.h"
#include "error.h" #include "error.h"
#include "notify.h"
#include "templates/templates.h" #include "templates/templates.h"
@ -33,6 +32,11 @@ void System::SetDb(Db * pdb)
} }
void System::SetSynchro(Synchro * psynchro)
{
synchro = psynchro;
}
@ -40,7 +44,7 @@ void System::Init()
{ {
dirs.SetDb(db); dirs.SetDb(db);
dirs.SetRequest(request); dirs.SetRequest(request);
dirs.SetNotify(&notify);
dirs.ReadDirs(); dirs.ReadDirs();
mounts.SetDirs(&dirs); mounts.SetDirs(&dirs);
@ -56,6 +60,13 @@ void System::Init()
rebus.SetRequest(request); rebus.SetRequest(request);
rebus.Init(); rebus.Init();
notify.SetSynchro(synchro);
notify.SetRequest(request);
notify.SetConfig(config);
notify.SetUsers(&users);
notify.SetDirs(&dirs);
notify.Init();
} }
@ -486,7 +497,7 @@ bool System::MakePath(Item & item, bool create_dir)
Error System::AddFile(Item & item, bool notify) Error System::AddFile(Item & item, int notify_code)
{ {
if( item.type == Item::dir ) if( item.type == Item::dir )
return WINIX_ERR_FILE_EXPECTED; return WINIX_ERR_FILE_EXPECTED;
@ -498,8 +509,8 @@ Error System::AddFile(Item & item, bool notify)
log << log2 << "System: added a new file, url: " << item.url << ", id: " << item.id log << log2 << "System: added a new file, url: " << item.url << ", id: " << item.id
<< ", parent_id: " << item.parent_id << logend; << ", parent_id: " << item.parent_id << logend;
if( notify ) if( notify_code )
request->notify_code |= WINIX_NOTIFY_ITEM_ADD; notify.ItemChanged(notify_code, item);
} }
return status; return status;
@ -508,7 +519,7 @@ return status;
Error System::EditFile(Item & item, bool with_url, bool notify) Error System::EditFile(Item & item, bool with_url, int notify_code)
{ {
if( item.type == Item::dir ) if( item.type == Item::dir )
return WINIX_ERR_FILE_EXPECTED; return WINIX_ERR_FILE_EXPECTED;
@ -527,8 +538,8 @@ Error System::EditFile(Item & item, bool with_url, bool notify)
log << log2 << "System: modified an item" << logend; log << log2 << "System: modified an item" << logend;
if( notify ) if( notify_code )
request->notify_code |= WINIX_NOTIFY_ITEM_EDIT; notify.ItemChanged(notify_code, item);
} }

View File

@ -7,8 +7,8 @@
* *
*/ */
#ifndef headerfilecmslucorefs #ifndef headerfilecmslucoresystem
#define headerfilecmslucorefs #define headerfilecmslucoresystem
#include "dirs.h" #include "dirs.h"
@ -20,7 +20,9 @@
#include "groups.h" #include "groups.h"
#include "rebus.h" #include "rebus.h"
#include "loadavg.h" #include "loadavg.h"
#include "synchro.h"
#include <ctime> #include <ctime>
#include "templatesnotify/notify.h"
@ -48,6 +50,9 @@ public:
// load averages // load averages
LoadAvg load_avg; LoadAvg load_avg;
// notifications (by emails)
Notify notify;
// the time when the winix starts // the time when the winix starts
time_t system_start; time_t system_start;
@ -55,6 +60,7 @@ public:
void SetRequest(Request * prequest); void SetRequest(Request * prequest);
void SetConfig(Config * pconfig); void SetConfig(Config * pconfig);
void SetDb(Db * pdb); void SetDb(Db * pdb);
void SetSynchro(Synchro * psynchro);
void Init(); void Init();
void RedirectTo(const Item & item, const wchar_t * postfix = 0); void RedirectTo(const Item & item, const wchar_t * postfix = 0);
@ -83,8 +89,8 @@ public:
bool MakePath(const Item & item, std::wstring & path, bool create_dir); bool MakePath(const Item & item, std::wstring & path, bool create_dir);
bool MakePath(Item & item, bool create_dir); // output path is: item.auth_path bool MakePath(Item & item, bool create_dir); // output path is: item.auth_path
Error AddFile(Item & item, bool notify = true); Error AddFile(Item & item, int notify_code = 0);
Error EditFile(Item & item, bool with_url = true, bool notify = true); Error EditFile(Item & item, bool with_url = true, int notify_code = 0);
// converting GMT time to local time (different for each user) // converting GMT time to local time (different for each user)
time_t LocalTime(time_t gmt_time); time_t LocalTime(time_t gmt_time);
@ -97,6 +103,7 @@ private:
Request * request; Request * request;
Config * config; Config * config;
Db * db; Db * db;
Synchro * synchro;
std::wstring path; std::wstring path;
bool MakePathSimpleFs(std::wstring & path, long dir_id, bool create_dir); bool MakePathSimpleFs(std::wstring & path, long dir_id, bool create_dir);

View File

@ -22,7 +22,7 @@ struct User
std::vector<long> groups; std::vector<long> groups;
std::wstring email; std::wstring email;
int cms_notify; int cms_notify; // !! bedziemy tylko jedno notify wykorzystywac (zmienic nazwe na notify)
int thread_notify; int thread_notify;
// !! currently all users have the same offset // !! currently all users have the same offset

File diff suppressed because it is too large Load Diff

View File

@ -127,7 +127,7 @@ void CreateThread::MakePost()
return; return;
} }
request->status = system->dirs.AddDirectory(request->item, true); request->status = system->dirs.AddDirectory(request->item, true, 0, WINIX_NOTIFY_CODE_THREAD_ADD);
if( request->status == WINIX_ERR_OK ) if( request->status == WINIX_ERR_OK )
{ {

View File

@ -89,6 +89,29 @@ void Emacs::PostFunEmacsModifyMountPoint(bool adding)
int Emacs::NotifyCodeEdit()
{
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
return WINIX_NOTIFY_CODE_THREAD_POST_CHANGED;
return WINIX_NOTIFY_CODE_FILE_EDIT;
}
int Emacs::NotifyCodeAdd()
{
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
return WINIX_NOTIFY_CODE_THREAD_REPLAYED;
return WINIX_NOTIFY_CODE_FILE_ADD;
}
void Emacs::MakePost() void Emacs::MakePost()
{ {
bool adding = !request->is_item; bool adding = !request->is_item;
@ -110,11 +133,11 @@ void Emacs::MakePost()
request->is_item = true; // !! moze lepiej nie ustawiac is_item? (bo jak wystapi blad np dodania do bazy danych request->is_item = true; // !! moze lepiej nie ustawiac is_item? (bo jak wystapi blad np dodania do bazy danych
// to formularz edycji zmieni sie z 'dodaj' na 'edytuj' // to formularz edycji zmieni sie z 'dodaj' na 'edytuj'
request->item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask request->item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask
request->status = system->AddFile(request->item); request->status = system->AddFile(request->item, NotifyCodeAdd());
} }
else else
{ {
request->status = system->EditFile(request->item, request->item.url != old_url); request->status = system->EditFile(request->item, request->item.url != old_url, NotifyCodeEdit());
} }

View File

@ -31,6 +31,8 @@ private:
bool HasAccess(const Item & item); // !! takie funkcje to nie powinny byc skladowe modelu? bool HasAccess(const Item & item); // !! takie funkcje to nie powinny byc skladowe modelu?
bool PostEmacsCheckAbuse(bool adding); bool PostEmacsCheckAbuse(bool adding);
void PostFunEmacsModifyMountPoint(bool adding); void PostFunEmacsModifyMountPoint(bool adding);
int NotifyCodeEdit();
int NotifyCodeAdd();
std::wstring old_url; std::wstring old_url;
}; };

View File

@ -61,11 +61,6 @@ void FunctionBase::SetTemplates(Templates * ptemplates)
templates = ptemplates; templates = ptemplates;
} }
void FunctionBase::SetNotify(Notify * pnotify)
{
notify = pnotify;
}
void FunctionBase::Init() void FunctionBase::Init()
{ {

View File

@ -17,7 +17,7 @@
#include "core/request.h" #include "core/request.h"
#include "core/config.h" #include "core/config.h"
#include "core/system.h" #include "core/system.h"
#include "core/notify.h" #include "templatesnotify/notify.h"
#include "utf8.h" #include "utf8.h"
@ -52,7 +52,6 @@ public:
void SetSystem(System * psystem); void SetSystem(System * psystem);
void SetFunctions(Functions * pfunctions); void SetFunctions(Functions * pfunctions);
void SetTemplates(Templates * ptemplates); void SetTemplates(Templates * ptemplates);
void SetNotify(Notify * pnotify);
protected: protected:
@ -62,7 +61,6 @@ protected:
System * system; System * system;
Functions * functions; Functions * functions;
Templates * templates; Templates * templates;
Notify * notify;
}; };

View File

@ -45,10 +45,6 @@ void Functions::SetTemplates(Templates * ptemplates)
} }
void Functions::SetNotify(Notify * pnotify)
{
notify = pnotify;
}
size_t Functions::FunctionsSize() size_t Functions::FunctionsSize()
@ -138,7 +134,6 @@ void Functions::SetObjects(FunctionBase * fun)
fun->SetSystem(system); fun->SetSystem(system);
fun->SetFunctions(this); fun->SetFunctions(this);
fun->SetTemplates(templates); fun->SetTemplates(templates);
fun->SetNotify(notify);
} }

View File

@ -105,7 +105,6 @@ public:
void SetDb(Db * pdb); void SetDb(Db * pdb);
void SetSystem(System * psystem); void SetSystem(System * psystem);
void SetTemplates(Templates * ptemplates); void SetTemplates(Templates * ptemplates);
void SetNotify(Notify * pnotify);
FunctionBase * Find(const std::wstring & function_name); FunctionBase * Find(const std::wstring & function_name);
Error CheckSpecialFile(const Item & item); Error CheckSpecialFile(const Item & item);
@ -139,7 +138,6 @@ private:
Db * db; Db * db;
System * system; System * system;
Templates * templates; Templates * templates;
Notify * notify;
std::wstring temp; std::wstring temp;
HTMLFilter html_filter; HTMLFilter html_filter;

View File

@ -27,7 +27,8 @@ void Reload::FunReloadTemplates()
log << log1 << "Content: reloading html templates" << logend; log << log1 << "Content: reloading html templates" << logend;
templates->ReadTemplates(); templates->ReadTemplates();
notify->ReadTemplates(); // make sure that ReadTemplates() is using some kind of locking // reload notify after templates (notify uses locales from templates)
system->notify.ReadTemplates();
} }

View File

@ -1,70 +0,0 @@
Subject: [if notify_item_added]{notify_new}[else]{notify_change}[end]\n
From: {notify_from}\n
To: [notify_to]\n
Content-Type: {notify_content_type}
\n\n
{notify_header}
\n\n
{notify_msg1}\s
[if-one notify_mount_type_is_thread notify_mount_type_is_ticket]
[if notify_dir_added]
[if notify_mount_type_is_thread]
{notify_msg2}\n
[else]
{notify_msg2b}\n
[end]
[notify_doc_base_url][notify_item_dir]\n\n
[else]
[if notify_item_added]
[if notify_mount_type_is_thread]
{notify_msg3}\n
[else]
{notify_msg3b}\n
[end]
[notify_doc_base_url][notify_item_dir]\n\n
[end]
[end]
[if notify_item_edited]
{notify_msg4}\n
[notify_doc_base_url][notify_item_dir]\n\n
[end]
[if notify_item_deleted]
{notify_msg5}\n
[notify_doc_base_url][notify_item_dir]\n\n
[end]
[else]
[if notify_mount_type_is_cms]
[if-one notify_item_added notify_dir_added]
{notify_msg6}\n
[notify_item_link]\n\n
[end]
[if notify_item_edited]
{notify_msg7}\n
[notify_item_link]\n\n
[end]
[if notify_item_deleted]
{notify_msg8}\n
[notify_item_link]\n\n
[end]
[end]
[end]
{notify_msg9}\n
{notify_msg9b}\n
\n
-- \n
{notify_footer1}\n
{notify_footer2}\n
{notify_footer3}\n
{notify_footer4}\n

View File

@ -246,7 +246,7 @@ uname_header = Uname
notify_new = News notify_new = News
notify_change = Changes notify_change = Changes
notify_from = winix notifications <dontreply@winix.org> notify_from = winix notifications <dontreply@winix.org>
notify_content_type = text/plain; charset="ISO-8859-1" notify_content_type = text/plain; charset="UTF-8"
notify_header = Welcome notify_header = Welcome
notify_msg1 = We would like to inform you that notify_msg1 = We would like to inform you that
notify_msg2 = someone created a new thread: notify_msg2 = someone created a new thread:

View File

@ -248,10 +248,12 @@ uname_header = Nazwa systemu
# notifications # notifications
notify_new = Coś nowego # subjects should be coded in a special way: http://tools.ietf.org/html/rfc2047
# we don't use it at the moment
notify_new = Cos nowego
notify_change = Zmiany notify_change = Zmiany
notify_from = winix notifications <dontreply@winix.org> notify_from = winix notifications <dontreply@winix.org>
notify_content_type = text/plain; charset="ISO-8859-2" notify_content_type = text/plain; charset="UTF-8"
notify_header = Witamy notify_header = Witamy
notify_msg1 = Chcielibyśmy powiadomić że właśnie notify_msg1 = Chcielibyśmy powiadomić że właśnie
notify_msg2 = ktoś rozpoczął nowy wątek: notify_msg2 = ktoś rozpoczął nowy wątek:

View File

@ -10,19 +10,22 @@ main.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
main.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h main.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
main.o: ../core/requesttypes.h ../core/session.h ../core/error.h main.o: ../core/requesttypes.h ../core/session.h ../core/error.h
main.o: ../core/user.h ../core/plugindata.h ../core/rebus.h main.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
main.o: ../templates/htmltextstream.h ../core/mounts.h ../core/mount.h main.o: ../templates/htmltextstream.h ../templatesnotify/notify.h
main.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h main.o: ../templatesnotify/notifypool.h ../templates/locale.h
main.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h main.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
main.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h main.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
main.o: ../core/notify.h ../templatesnotify/templatesnotify.h main.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
main.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h main.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
main.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h main.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
main.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h main.o: ../templatesnotify/notifythread.h ../core/basethread.h
main.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h main.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
main.o: ../templates/locale.h ../core/confparser.h main.o: ../core/config.h ../core/users.h ../core/ugcontainer.h
main.o: ../templates/htmltextstream.h ../functions/functions.h main.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
main.o: ../core/mountparser.h ../core/users.h ../core/groups.h
main.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
main.o: ../core/sessioncontainer.h ../functions/functions.h
main.o: ../functions/functionbase.h ../core/request.h ../core/system.h main.o: ../functions/functionbase.h ../core/request.h ../core/system.h
main.o: ../core/notify.h ../functions/functionparser.h ../functions/adduser.h main.o: ../functions/functionparser.h ../functions/adduser.h
main.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h main.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
main.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h main.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
main.o: ../functions/createthread.h ../functions/default.h main.o: ../functions/createthread.h ../functions/default.h

View File

@ -9,11 +9,8 @@
#include <cstdlib> #include <cstdlib>
#include <ctime> #include <ctime>
#include <signal.h>
#include <iostream> #include <iostream>
#include <sys/param.h> #include <sys/param.h>
#include <cstdio>
#include <fetch.h>
#include "core/log.h" #include "core/log.h"
#include "core/app.h" #include "core/app.h"
@ -32,30 +29,6 @@ Plugin plugin;
App app; App app;
static std::string url_to_fetch_on_exit;
void fetch_page_on_exit()
{
// stupid trick to break FCGX_Accept_r() function
// even with FCGX_InitRequest(..., ..., FCGI_FAIL_ACCEPT_ON_INTR) the FCGX_Accept_r
// doesn't want to break on a signal
// so we request one page from the server for exiting from FCGX_Accept_r
FILE * f = fetchGetURL(url_to_fetch_on_exit.c_str(), "");
if( f )
fclose(f);
}
void signal_term(int)
{
FCGX_ShutdownPending();
app.WasStopSignal();
fetch_page_on_exit();
}
void print_syntax() void print_syntax()
@ -78,7 +51,6 @@ int main(int argv, char ** argc)
app.system.system_start = time(0); app.system.system_start = time(0);
app.config.config_file = argc[1]; app.config.config_file = argc[1];
//app.config.config_file = "/home/tomek/roboczy/slimaczek.pl/slimaczek.conf.loc";
if( !app.config.ReadConfig(true, false) ) /* errors to stdout, stdout in not closed */ if( !app.config.ReadConfig(true, false) ) /* errors to stdout, stdout in not closed */
return 2; return 2;
@ -121,34 +93,10 @@ int main(int argv, char ** argc)
// because some of the plugins can init its own sessions dates // because some of the plugins can init its own sessions dates
plugin.LoadPlugins(app.config.plugins_dir, app.config.plugin_file); plugin.LoadPlugins(app.config.plugins_dir, app.config.plugin_file);
// app.Init() starts other threads as well (they will be waiting on the lock)
if( !app.Init() ) if( !app.Init() )
return 1; return 1;
// ----
/*
struct sigaction act, old_act;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
act.sa_handler = signal_term;
sigaction(SIGINT, &act, &old_act);
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
act.sa_handler = signal_term;
sigaction(SIGTERM, &act, &old_act);
*/
// ----
Ezc::WideToUTF8(app.config.base_url, url_to_fetch_on_exit);
signal(SIGTERM, signal_term);
signal(SIGINT, signal_term);
log.PutDate(log1); log.PutDate(log1);
log << "winix started" << logend << logsavenow; log << "winix started" << logend << logsavenow;
@ -157,10 +105,20 @@ sigaction(SIGTERM, &act, &old_act);
// !! zrobic wyjatek dla root // !! zrobic wyjatek dla root
//app.db.CheckAllUrlSubject(); //app.db.CheckAllUrlSubject();
app.StartThreads();
// now we have more threads, we should use Lock() and Unlock()
// main loop
app.Start(); app.Start();
app.Lock();
plugin.Call(WINIX_CLOSE); plugin.Call(WINIX_CLOSE);
app.Close(); app.Close();
app.Unlock();
app.WaitForThreads();
// now all others threads are terminated
log.PutDate(log1); log.PutDate(log1);
log << "winix stopped" << logend << logsavenow; log << "winix stopped" << logend << logsavenow;

View File

@ -14,39 +14,41 @@ init.o: ../../core/group.h ../../core/thread.h ../../core/dircontainer.h
init.o: ../../core/ugcontainer.h bot.h stats.h templates.h init.o: ../../core/ugcontainer.h bot.h stats.h templates.h
init.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/request.h init.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/request.h
init.o: ../../core/system.h ../../core/dirs.h ../../core/dircontainer.h init.o: ../../core/system.h ../../core/dirs.h ../../core/dircontainer.h
init.o: ../../templatesnotify/notify.h ../../templatesnotify/notifypool.h
init.o: ../../templates/locale.h ../../core/confparser.h
init.o: ../../templates/misc.h ../../templates/localefilter.h
init.o: ../../templates/locale.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
init.o: ../../templates/htmltextstream.h ../../templatesnotify/notifythread.h
init.o: ../../core/basethread.h ../../core/synchro.h
init.o: ../../templatesnotify/templatesnotify.h ../../core/users.h
init.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
init.o: ../../core/mounts.h ../../core/mount.h ../../core/mountparser.h init.o: ../../core/mounts.h ../../core/mount.h ../../core/mountparser.h
init.o: ../../core/users.h ../../core/ugcontainer.h init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/lastcontainer.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/sessionmanager.h init.o: ../../core/loadavg.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../functions/functions.h init.o: ../../core/sessioncontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/system.h init.o: ../../functions/functionbase.h ../../core/system.h
init.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h init.o: ../../functions/functionparser.h ../../functions/adduser.h
init.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h init.o: ../../functions/cat.h ../../functions/chmod.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h init.o: ../../functions/privchanger.h ../../functions/chown.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h init.o: ../../functions/ckeditor.h ../../functions/cp.h
init.o: ../../../ezc/src/stringconv.h ../../core/mount.h init.o: ../../functions/createthread.h ../../functions/default.h
init.o: ../../templates/misc.h ../../templates/localefilter.h init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../templates/locale.h ../../core/confparser.h init.o: ../../functions/last.h ../../functions/login.h
init.o: ../../templates/htmltextstream.h ../../functions/functionparser.h init.o: ../../functions/logout.h ../../functions/ls.h ../../functions/mkdir.h
init.o: ../../functions/adduser.h ../../functions/cat.h init.o: ../../functions/mv.h ../../functions/node.h ../../functions/priv.h
init.o: ../../functions/chmod.h ../../functions/privchanger.h init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/run.h
init.o: ../../functions/chown.h ../../functions/ckeditor.h init.o: ../../functions/stat.h ../../functions/subject.h
init.o: ../../functions/cp.h ../../functions/createthread.h init.o: ../../functions/funthread.h ../../functions/template.h
init.o: ../../functions/default.h ../../functions/download.h init.o: ../../functions/tinymce.h ../../functions/uname.h
init.o: ../../functions/emacs.h ../../functions/last.h init.o: ../../functions/upload.h ../../functions/uptime.h
init.o: ../../functions/login.h ../../functions/logout.h ../../functions/ls.h init.o: ../../functions/who.h ../../functions/vim.h ../../core/htmlfilter.h
init.o: ../../functions/mkdir.h ../../functions/mv.h ../../functions/node.h init.o: ../../templates/templates.h ../../templates/patterncacher.h
init.o: ../../functions/priv.h ../../functions/reload.h ../../functions/rm.h init.o: ../../templates/ckeditorgetparser.h ../../core/httpsimpleparser.h
init.o: ../../functions/run.h ../../functions/stat.h init.o: ../../core/log.h ../../templates/indexpatterns.h
init.o: ../../functions/subject.h ../../functions/funthread.h init.o: ../../core/sessionmanager.h statssession.h ../../core/plugindata.h
init.o: ../../functions/template.h ../../functions/tinymce.h
init.o: ../../functions/uname.h ../../functions/upload.h
init.o: ../../functions/uptime.h ../../functions/who.h ../../functions/vim.h
init.o: ../../core/htmlfilter.h ../../templates/templates.h
init.o: ../../templates/patterncacher.h ../../templates/ckeditorgetparser.h
init.o: ../../core/httpsimpleparser.h ../../core/log.h
init.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
init.o: statssession.h ../../core/plugindata.h
stats.o: stats.h ../../core/config.h ../../core/log.h ../../core/textstream.h stats.o: stats.h ../../core/config.h ../../core/log.h ../../core/textstream.h
stats.o: ../../core/misc.h ../../core/item.h ../../../ezc/src/utf8.h stats.o: ../../core/misc.h ../../core/item.h ../../../ezc/src/utf8.h
templates.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h templates.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h
@ -59,25 +61,27 @@ templates.o: ../../core/textstream.h ../../core/error.h
templates.o: ../../db/dbitemquery.h ../../core/item.h templates.o: ../../db/dbitemquery.h ../../core/item.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/thread.h ../../core/dircontainer.h templates.o: ../../core/thread.h ../../core/dircontainer.h
templates.o: ../../core/ugcontainer.h ../../core/mounts.h ../../core/mount.h templates.o: ../../core/ugcontainer.h ../../templatesnotify/notify.h
templates.o: ../../core/error.h ../../core/mountparser.h ../../core/users.h templates.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
templates.o: ../../core/user.h ../../core/ugcontainer.h templates.o: ../../core/confparser.h ../../templates/misc.h
templates.o: ../../core/lastcontainer.h ../../core/groups.h templates.o: ../../templates/localefilter.h ../../templates/locale.h
templates.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
templates.o: ../../../ezc/src/stringconv.h ../../templates/htmltextstream.h
templates.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
templates.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
templates.o: ../../core/config.h ../../core/users.h ../../core/user.h
templates.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
templates.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
templates.o: ../../core/mountparser.h ../../core/users.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/session.h ../../functions/functions.h templates.o: ../../core/session.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../core/request.h templates.o: ../../functions/functionbase.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../core/textstream.h templates.o: ../../core/requesttypes.h ../../core/textstream.h
templates.o: ../../core/misc.h ../../templates/htmltextstream.h templates.o: ../../core/misc.h ../../templates/htmltextstream.h
templates.o: ../../core/config.h ../../core/system.h ../../core/notify.h templates.o: ../../core/system.h ../../functions/functionparser.h
templates.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
templates.o: ../../core/mount.h ../../templates/misc.h
templates.o: ../../templates/localefilter.h ../../templates/locale.h
templates.o: ../../core/confparser.h ../../templates/htmltextstream.h
templates.o: ../../core/log.h ../../functions/functionparser.h
templates.o: ../../functions/adduser.h ../../functions/cat.h templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../functions/chmod.h ../../functions/privchanger.h templates.o: ../../functions/chmod.h ../../functions/privchanger.h
templates.o: ../../functions/chown.h ../../functions/ckeditor.h templates.o: ../../functions/chown.h ../../functions/ckeditor.h

View File

@ -16,19 +16,22 @@ createticket.o: ../../core/confparser.h ../../core/htmlfilter.h
createticket.o: ../../templates/htmltextstream.h ../../core/config.h createticket.o: ../../templates/htmltextstream.h ../../core/config.h
createticket.o: ../../core/system.h ../../core/dirs.h createticket.o: ../../core/system.h ../../core/dirs.h
createticket.o: ../../core/dircontainer.h ../../core/request.h createticket.o: ../../core/dircontainer.h ../../core/request.h
createticket.o: ../../core/mounts.h ../../core/mount.h createticket.o: ../../templatesnotify/notify.h
createticket.o: ../../core/mountparser.h ../../core/users.h createticket.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
createticket.o: ../../core/ugcontainer.h ../../core/lastcontainer.h createticket.o: ../../core/confparser.h ../../templates/misc.h
createticket.o: ../../core/groups.h ../../core/group.h ../../core/loadavg.h createticket.o: ../../templates/localefilter.h ../../templates/locale.h
createticket.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h
createticket.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h createticket.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
createticket.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h createticket.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
createticket.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h createticket.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
createticket.o: ../../../ezc/src/stringconv.h ../../core/mount.h createticket.o: ../../../ezc/src/stringconv.h
createticket.o: ../../templates/misc.h ../../templates/localefilter.h createticket.o: ../../templates/htmltextstream.h
createticket.o: ../../templates/locale.h ../../core/confparser.h createticket.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
createticket.o: ../../templates/htmltextstream.h ../../core/log.h createticket.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
createticket.o: ../../core/system.h ticketinfo.h ticketparser.h ticketconf.h createticket.o: ../../core/users.h ../../core/ugcontainer.h
createticket.o: ../../core/lastcontainer.h ../../core/mounts.h
createticket.o: ../../core/mount.h ../../core/mountparser.h
createticket.o: ../../core/users.h ../../core/groups.h ../../core/group.h
createticket.o: ../../core/loadavg.h ticketinfo.h ticketparser.h ticketconf.h
createticket.o: ../../functions/functions.h ../../functions/functionbase.h createticket.o: ../../functions/functions.h ../../functions/functionbase.h
createticket.o: ../../functions/functionparser.h ../../functions/adduser.h createticket.o: ../../functions/functionparser.h ../../functions/adduser.h
createticket.o: ../../functions/cat.h ../../functions/chmod.h createticket.o: ../../functions/cat.h ../../functions/chmod.h
@ -57,24 +60,26 @@ editticket.o: ../../db/db.h ../../db/dbbase.h ../../db/dbitemquery.h
editticket.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h editticket.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
editticket.o: ../../core/thread.h ../../core/dircontainer.h editticket.o: ../../core/thread.h ../../core/dircontainer.h
editticket.o: ../../core/ugcontainer.h ../../core/request.h editticket.o: ../../core/ugcontainer.h ../../core/request.h
editticket.o: ../../templatesnotify/notify.h
editticket.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
editticket.o: ../../core/confparser.h ../../templates/misc.h
editticket.o: ../../templates/localefilter.h ../../templates/locale.h
editticket.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
editticket.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
editticket.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
editticket.o: ../../../ezc/src/stringconv.h ../../templates/htmltextstream.h
editticket.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
editticket.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
editticket.o: ../../core/config.h ../../core/users.h ../../core/user.h
editticket.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
editticket.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h editticket.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
editticket.o: ../../core/mountparser.h ../../core/config.h editticket.o: ../../core/mountparser.h ../../core/config.h
editticket.o: ../../core/confparser.h ../../core/htmlfilter.h editticket.o: ../../core/confparser.h ../../core/htmlfilter.h
editticket.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h editticket.o: ../../core/users.h ../../core/groups.h ../../core/group.h
editticket.o: ../../core/lastcontainer.h ../../core/groups.h editticket.o: ../../core/rebus.h ../../core/loadavg.h
editticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
editticket.o: ../../functions/functionbase.h ../../core/request.h editticket.o: ../../functions/functionbase.h ../../core/request.h
editticket.o: ../../core/requesttypes.h ../../core/session.h editticket.o: ../../core/requesttypes.h ../../core/session.h
editticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h editticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h
editticket.o: ../../core/config.h ../../core/notify.h
editticket.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h
editticket.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h
editticket.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
editticket.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
editticket.o: ../../core/mount.h ../../templates/misc.h
editticket.o: ../../templates/localefilter.h ../../templates/locale.h
editticket.o: ../../core/confparser.h ../../templates/htmltextstream.h
editticket.o: ../../core/log.h ../../core/system.h
editticket.o: ../../functions/functions.h ../../functions/functionbase.h editticket.o: ../../functions/functions.h ../../functions/functionbase.h
editticket.o: ../../functions/functionparser.h ../../functions/adduser.h editticket.o: ../../functions/functionparser.h ../../functions/adduser.h
editticket.o: ../../functions/cat.h ../../functions/chmod.h editticket.o: ../../functions/cat.h ../../functions/chmod.h
@ -103,24 +108,27 @@ funticket.o: ../../db/db.h ../../db/dbbase.h ../../db/dbitemquery.h
funticket.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h funticket.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
funticket.o: ../../core/thread.h ../../core/dircontainer.h funticket.o: ../../core/thread.h ../../core/dircontainer.h
funticket.o: ../../core/ugcontainer.h ../../core/request.h funticket.o: ../../core/ugcontainer.h ../../core/request.h
funticket.o: ../../templatesnotify/notify.h
funticket.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
funticket.o: ../../core/confparser.h ../../templates/misc.h
funticket.o: ../../templates/localefilter.h ../../templates/locale.h
funticket.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
funticket.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
funticket.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
funticket.o: ../../../ezc/src/stringconv.h ../../templates/htmltextstream.h
funticket.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
funticket.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
funticket.o: ../../core/config.h ../../core/users.h ../../core/user.h
funticket.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
funticket.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h funticket.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
funticket.o: ../../core/mountparser.h ../../core/config.h funticket.o: ../../core/mountparser.h ../../core/config.h
funticket.o: ../../core/confparser.h ../../core/htmlfilter.h funticket.o: ../../core/confparser.h ../../core/htmlfilter.h
funticket.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h funticket.o: ../../core/users.h ../../core/groups.h ../../core/group.h
funticket.o: ../../core/lastcontainer.h ../../core/groups.h funticket.o: ../../core/rebus.h ../../core/loadavg.h
funticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
funticket.o: ../../functions/functionbase.h ../../core/request.h funticket.o: ../../functions/functionbase.h ../../core/request.h
funticket.o: ../../core/requesttypes.h ../../core/session.h funticket.o: ../../core/requesttypes.h ../../core/session.h
funticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h funticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h
funticket.o: ../../core/config.h ../../core/notify.h funticket.o: ../../core/misc.h
funticket.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h
funticket.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h
funticket.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
funticket.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
funticket.o: ../../core/mount.h ../../templates/misc.h
funticket.o: ../../templates/localefilter.h ../../templates/locale.h
funticket.o: ../../core/confparser.h ../../templates/htmltextstream.h
funticket.o: ../../core/log.h ../../core/system.h ../../core/misc.h
init.o: tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h init.o: tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h
init.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h init.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h
init.o: ../../core/item.h ../../core/error.h ../../core/log.h init.o: ../../core/item.h ../../core/error.h ../../core/log.h
@ -129,25 +137,27 @@ init.o: ticketconf.h ../../core/item.h ../../core/system.h ../../core/dirs.h
init.o: ../../core/dircontainer.h ../../db/db.h ../../db/dbbase.h init.o: ../../core/dircontainer.h ../../db/db.h ../../db/dbbase.h
init.o: ../../db/dbitemquery.h ../../db/dbitemcolumns.h ../../core/user.h init.o: ../../db/dbitemquery.h ../../db/dbitemcolumns.h ../../core/user.h
init.o: ../../core/group.h ../../core/thread.h ../../core/dircontainer.h init.o: ../../core/group.h ../../core/thread.h ../../core/dircontainer.h
init.o: ../../core/ugcontainer.h ../../core/request.h ../../core/mounts.h init.o: ../../core/ugcontainer.h ../../core/request.h
init.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h init.o: ../../templatesnotify/notify.h ../../templatesnotify/notifypool.h
init.o: ../../core/config.h ../../core/confparser.h ../../core/htmlfilter.h init.o: ../../templates/locale.h ../../core/confparser.h
init.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h init.o: ../../templates/misc.h ../../templates/localefilter.h
init.o: ../../core/lastcontainer.h ../../core/groups.h ../../core/group.h init.o: ../../templates/locale.h ../../../ezc/src/ezc.h
init.o: ../../core/rebus.h ../../core/loadavg.h
init.o: ../../functions/functionbase.h ../../core/request.h
init.o: ../../core/requesttypes.h ../../core/session.h
init.o: ../../core/plugindata.h ../../templates/htmltextstream.h
init.o: ../../core/config.h ../../core/notify.h
init.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h init.o: ../../../ezc/src/utf8.h ../../../ezc/src/generator.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h init.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
init.o: ../../core/mount.h ../../templates/misc.h init.o: ../../templates/htmltextstream.h ../../templatesnotify/notifythread.h
init.o: ../../templates/localefilter.h ../../templates/locale.h init.o: ../../core/basethread.h ../../core/synchro.h
init.o: ../../core/confparser.h ../../templates/htmltextstream.h init.o: ../../templatesnotify/templatesnotify.h ../../core/config.h
init.o: ../../core/log.h ../../core/system.h editticket.h createticket.h init.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
init.o: ../../core/plugin.h ../../core/pluginmsg.h init.o: ../../core/lastcontainer.h ../../core/mounts.h ../../core/mount.h
init.o: ../../core/error.h ../../core/mountparser.h ../../core/config.h
init.o: ../../core/confparser.h ../../core/htmlfilter.h ../../core/users.h
init.o: ../../core/groups.h ../../core/group.h ../../core/rebus.h
init.o: ../../core/loadavg.h ../../functions/functionbase.h
init.o: ../../core/request.h ../../core/requesttypes.h ../../core/session.h
init.o: ../../core/plugindata.h ../../templates/htmltextstream.h editticket.h
init.o: createticket.h ../../core/log.h ../../core/plugin.h
init.o: ../../core/pluginmsg.h ../../core/system.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../functions/functions.h ../../functions/functionbase.h init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../functions/functionparser.h ../../functions/adduser.h init.o: ../../functions/functionparser.h ../../functions/adduser.h
@ -184,44 +194,47 @@ templates.o: ../../db/dbitemquery.h ../../db/dbitemcolumns.h
templates.o: ../../core/user.h ../../core/group.h ../../core/thread.h templates.o: ../../core/user.h ../../core/group.h ../../core/thread.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../core/log.h ../../core/textstream.h ../../core/request.h templates.o: ../../core/log.h ../../core/textstream.h ../../core/request.h
templates.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h templates.o: ../../templatesnotify/notify.h
templates.o: ../../core/mountparser.h ../../core/config.h templates.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
templates.o: ../../core/confparser.h ../../core/htmlfilter.h templates.o: ../../core/confparser.h ../../templates/misc.h
templates.o: ../../templates/localefilter.h ../../templates/locale.h
templates.o: ../../templates/htmltextstream.h
templates.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
templates.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
templates.o: ../../core/textstream.h ../../core/misc.h ../../core/config.h
templates.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h templates.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/groups.h templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
templates.o: ../../core/config.h ../../core/confparser.h
templates.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h tdb.h templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h tdb.h
templates.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h templates.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/textstream.h ../../core/misc.h ../../core/error.h templates.o: ../../core/error.h editticket.h ../../functions/functionbase.h
templates.o: editticket.h ../../functions/functionbase.h ../../core/request.h templates.o: ../../core/request.h ../../core/requesttypes.h
templates.o: ../../core/requesttypes.h ../../core/session.h templates.o: ../../core/session.h ../../core/plugindata.h
templates.o: ../../core/plugindata.h ../../templates/htmltextstream.h templates.o: ../../templates/htmltextstream.h createticket.h
templates.o: ../../core/config.h ../../core/notify.h templates.o: ../../core/misc.h ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../templatesnotify/templatesnotify.h ../../core/mount.h templates.o: ../../core/system.h ../../core/sessionmanager.h
templates.o: ../../templates/misc.h ../../templates/localefilter.h templates.o: ../../core/sessioncontainer.h ../../functions/functions.h
templates.o: ../../templates/locale.h ../../core/confparser.h templates.o: ../../functions/functionbase.h ../../functions/functionparser.h
templates.o: ../../templates/htmltextstream.h ../../core/log.h templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../core/system.h createticket.h ../../core/misc.h templates.o: ../../functions/chmod.h ../../functions/privchanger.h
templates.o: ../../core/plugin.h ../../core/pluginmsg.h templates.o: ../../functions/chown.h ../../functions/ckeditor.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h templates.o: ../../functions/cp.h ../../functions/createthread.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h templates.o: ../../functions/default.h ../../functions/download.h
templates.o: ../../functions/functionparser.h ../../functions/adduser.h templates.o: ../../functions/emacs.h ../../functions/last.h
templates.o: ../../functions/cat.h ../../functions/chmod.h templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/privchanger.h ../../functions/chown.h templates.o: ../../functions/ls.h ../../functions/mkdir.h
templates.o: ../../functions/ckeditor.h ../../functions/cp.h templates.o: ../../functions/mv.h ../../functions/node.h
templates.o: ../../functions/createthread.h ../../functions/default.h templates.o: ../../functions/priv.h ../../functions/reload.h
templates.o: ../../functions/download.h ../../functions/emacs.h templates.o: ../../functions/rm.h ../../functions/run.h
templates.o: ../../functions/last.h ../../functions/login.h templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/logout.h ../../functions/ls.h templates.o: ../../functions/funthread.h ../../functions/template.h
templates.o: ../../functions/mkdir.h ../../functions/mv.h templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/node.h ../../functions/priv.h templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/reload.h ../../functions/rm.h templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../functions/run.h ../../functions/stat.h templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../functions/subject.h ../../functions/funthread.h templates.o: ../../templates/patterncacher.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../templates/ckeditorgetparser.h templates.o: ../../templates/ckeditorgetparser.h
templates.o: ../../core/httpsimpleparser.h ../../core/log.h templates.o: ../../core/httpsimpleparser.h ../../core/log.h
templates.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h templates.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
@ -234,14 +247,24 @@ ticketinfo.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
ticketinfo.o: ../../core/thread.h ../../core/dircontainer.h ticketinfo.o: ../../core/thread.h ../../core/dircontainer.h
ticketinfo.o: ../../core/ugcontainer.h ../../core/log.h ticketinfo.o: ../../core/ugcontainer.h ../../core/log.h
ticketinfo.o: ../../core/textstream.h ../../core/request.h ticketinfo.o: ../../core/textstream.h ../../core/request.h
ticketinfo.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h ticketinfo.o: ../../templatesnotify/notify.h
ticketinfo.o: ../../core/mountparser.h ../../core/config.h ticketinfo.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
ticketinfo.o: ../../core/confparser.h ../../core/htmlfilter.h ticketinfo.o: ../../core/confparser.h ../../templates/misc.h
ticketinfo.o: ../../templates/localefilter.h ../../templates/locale.h
ticketinfo.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
ticketinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
ticketinfo.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
ticketinfo.o: ../../../ezc/src/stringconv.h ../../templates/htmltextstream.h
ticketinfo.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
ticketinfo.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.h
ticketinfo.o: ../../core/textstream.h ../../core/misc.h ../../core/config.h
ticketinfo.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h ticketinfo.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
ticketinfo.o: ../../core/lastcontainer.h ../../core/groups.h ticketinfo.o: ../../core/lastcontainer.h ../../core/mounts.h
ticketinfo.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
ticketinfo.o: ../../core/config.h ../../core/confparser.h
ticketinfo.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
ticketinfo.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h ticketinfo.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
ticketinfo.o: tdb.h ../../db/dbbase.h ../../db/dbconn.h ticketinfo.o: tdb.h ../../db/dbbase.h ../../db/dbconn.h
ticketinfo.o: ../../db/dbtextstream.h ../../core/textstream.h ticketinfo.o: ../../db/dbtextstream.h ../../core/error.h ../../core/log.h
ticketinfo.o: ../../core/misc.h ../../core/error.h ../../core/log.h
ticketinfo.o: ../../core/misc.h ticketinfo.o: ../../core/misc.h
ticketparser.o: ticketparser.h ticketconf.h ../../core/log.h ticketparser.o: ticketparser.h ticketconf.h ../../core/log.h

View File

@ -5,31 +5,35 @@ adduser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
adduser.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h adduser.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
adduser.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h adduser.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
adduser.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h adduser.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
adduser.o: ../core/textstream.h ../core/user.h ../core/log.h adduser.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
adduser.o: ../core/textstream.h patterncacher.h ../core/item.h
adduser.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h adduser.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
adduser.o: indexpatterns.h ../core/config.h ../core/confparser.h adduser.o: ../core/textstream.h indexpatterns.h ../core/config.h
adduser.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h adduser.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h
adduser.o: ../db/dbtextstream.h ../core/error.h ../core/log.h adduser.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
adduser.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h adduser.o: ../core/log.h ../db/dbitemquery.h ../db/dbitemcolumns.h
adduser.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h adduser.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h adduser.o: ../core/ugcontainer.h ../core/request.h ../core/requesttypes.h
adduser.o: ../core/error.h ../core/user.h ../core/plugindata.h adduser.o: ../core/session.h ../core/error.h ../core/user.h
adduser.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h adduser.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
adduser.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h adduser.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
adduser.o: ../core/request.h ../core/mounts.h ../core/mount.h adduser.o: ../core/dircontainer.h ../core/request.h
adduser.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h adduser.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
adduser.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h adduser.o: ../templates/locale.h ../templates/misc.h
adduser.o: ../core/loadavg.h ../core/sessionmanager.h adduser.o: ../templatesnotify/notifythread.h ../core/basethread.h
adduser.o: ../core/sessioncontainer.h ../core/system.h adduser.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
adduser.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
adduser.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
adduser.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
adduser.o: ../core/sessionmanager.h ../core/sessioncontainer.h
adduser.o: ../core/system.h
dir.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h dir.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
dir.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h dir.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
dir.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h dir.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
dir.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h dir.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h
dir.o: ../core/confparser.h htmltextstream.h ../core/textstream.h dir.o: ../core/confparser.h htmltextstream.h ../core/textstream.h
dir.o: ../core/user.h ../core/log.h ../core/textstream.h patterncacher.h dir.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
dir.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h dir.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.h
dir.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h dir.o: indexpatterns.h ../core/config.h ../core/confparser.h
dir.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h dir.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
dir.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h dir.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h
dir.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h dir.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
@ -37,34 +41,37 @@ dir.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
dir.o: ../core/requesttypes.h ../core/session.h ../core/error.h dir.o: ../core/requesttypes.h ../core/session.h ../core/error.h
dir.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h dir.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
dir.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h dir.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
dir.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h dir.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
dir.o: ../core/mount.h ../core/mountparser.h ../core/users.h dir.o: ../templatesnotify/notifypool.h ../templates/locale.h
dir.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h dir.o: ../templates/misc.h ../templatesnotify/notifythread.h
dir.o: ../core/basethread.h ../core/synchro.h
dir.o: ../templatesnotify/templatesnotify.h ../core/users.h
dir.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
dir.o: ../core/mount.h ../core/mountparser.h ../core/users.h ../core/groups.h
dir.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h dir.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
dir.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h dir.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
dir.o: ../functions/functions.h ../functions/functionbase.h ../core/notify.h dir.o: ../functions/functions.h ../functions/functionbase.h
dir.o: ../templatesnotify/templatesnotify.h ../core/mount.h dir.o: ../functions/functionparser.h ../functions/adduser.h
dir.o: ../templates/misc.h ../functions/functionparser.h dir.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
dir.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h dir.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
dir.o: ../functions/privchanger.h ../functions/chown.h dir.o: ../functions/createthread.h ../functions/default.h
dir.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h dir.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
dir.o: ../functions/default.h ../functions/download.h ../functions/emacs.h dir.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
dir.o: ../functions/last.h ../functions/login.h ../functions/logout.h dir.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
dir.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h dir.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
dir.o: ../functions/node.h ../functions/priv.h ../functions/reload.h dir.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
dir.o: ../functions/rm.h ../functions/run.h ../functions/stat.h dir.o: ../functions/funthread.h ../functions/template.h
dir.o: ../functions/subject.h ../functions/funthread.h dir.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
dir.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h dir.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
dir.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h dir.o: ../core/htmlfilter.h
dir.o: ../functions/vim.h ../core/htmlfilter.h
doc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h doc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
doc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h doc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
doc.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h doc.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
doc.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h doc.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h
doc.o: ../core/confparser.h htmltextstream.h ../core/textstream.h doc.o: ../core/confparser.h htmltextstream.h ../core/textstream.h
doc.o: ../core/user.h ../core/log.h ../core/textstream.h patterncacher.h doc.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
doc.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h doc.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.h
doc.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h doc.o: indexpatterns.h ../core/config.h ../core/confparser.h
doc.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h doc.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
doc.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h doc.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h
doc.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h doc.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
@ -72,9 +79,13 @@ doc.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
doc.o: ../core/requesttypes.h ../core/session.h ../core/error.h doc.o: ../core/requesttypes.h ../core/session.h ../core/error.h
doc.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h doc.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
doc.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h doc.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
doc.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h doc.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
doc.o: ../core/mount.h ../core/mountparser.h ../core/users.h doc.o: ../templatesnotify/notifypool.h ../templates/locale.h
doc.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h doc.o: ../templates/misc.h ../templatesnotify/notifythread.h
doc.o: ../core/basethread.h ../core/synchro.h
doc.o: ../templatesnotify/templatesnotify.h ../core/users.h
doc.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
doc.o: ../core/mount.h ../core/mountparser.h ../core/users.h ../core/groups.h
doc.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h doc.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
doc.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h doc.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
doc.o: ../core/misc.h doc.o: ../core/misc.h
@ -83,36 +94,38 @@ htmltextstream.o: locale.h ../core/confparser.h ../../ezc/src/ezc.h
htmltextstream.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h htmltextstream.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
htmltextstream.o: ../../ezc/src/pattern.h ../../ezc/src/item.h htmltextstream.o: ../../ezc/src/pattern.h ../../ezc/src/item.h
htmltextstream.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h htmltextstream.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
htmltextstream.o: ../../ezc/src/stringconv.h ../core/user.h ../core/log.h htmltextstream.o: ../../ezc/src/stringconv.h ../core/user.h
htmltextstream.o: ../core/textstream.h
indexpatterns.o: indexpatterns.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h indexpatterns.o: indexpatterns.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
indexpatterns.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h indexpatterns.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
indexpatterns.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h indexpatterns.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
indexpatterns.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h indexpatterns.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
indexpatterns.o: localefilter.h locale.h ../core/confparser.h indexpatterns.o: localefilter.h locale.h ../core/confparser.h
indexpatterns.o: htmltextstream.h ../core/textstream.h ../core/user.h indexpatterns.o: htmltextstream.h ../core/textstream.h ../core/user.h
indexpatterns.o: ../core/log.h ../core/textstream.h ../core/config.h indexpatterns.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
indexpatterns.o: ../core/confparser.h ../core/htmlfilter.h indexpatterns.o: ../core/log.h ../core/textstream.h
item.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h item.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
item.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h item.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
item.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h item.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
item.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h item.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
item.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h item.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
item.o: ../core/textstream.h ../core/user.h ../core/log.h item.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
item.o: ../core/textstream.h patterncacher.h ../core/item.h
item.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h item.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
item.o: indexpatterns.h ../core/config.h ../core/confparser.h item.o: ../core/textstream.h indexpatterns.h ../core/config.h
item.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h item.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
item.o: ../db/dbtextstream.h ../core/error.h ../core/log.h item.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
item.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h item.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
item.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h item.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
item.o: ../core/request.h ../core/requesttypes.h ../core/session.h item.o: ../core/request.h ../core/requesttypes.h ../core/session.h
item.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h item.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
item.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h item.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
item.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h item.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
item.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h item.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
item.o: ../templates/locale.h ../templates/misc.h
item.o: ../templatesnotify/notifythread.h ../core/basethread.h
item.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
item.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h item.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
item.o: ../core/groups.h ../core/group.h ../core/loadavg.h item.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
item.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
item.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h item.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
item.o: ../core/misc.h ../core/bbcodeparser.h item.o: ../core/misc.h ../core/bbcodeparser.h
last.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h last.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -120,21 +133,24 @@ last.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
last.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h last.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
last.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h last.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
last.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h last.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
last.o: ../core/textstream.h ../core/user.h ../core/log.h last.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
last.o: ../core/textstream.h patterncacher.h ../core/item.h
last.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h last.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
last.o: indexpatterns.h ../core/config.h ../core/confparser.h last.o: ../core/textstream.h indexpatterns.h ../core/config.h
last.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h last.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
last.o: ../db/dbtextstream.h ../core/error.h ../core/log.h last.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
last.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h last.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
last.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h last.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
last.o: ../core/request.h ../core/requesttypes.h ../core/session.h last.o: ../core/request.h ../core/requesttypes.h ../core/session.h
last.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h last.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
last.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h last.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
last.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h last.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
last.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h last.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
last.o: ../templates/locale.h ../templates/misc.h
last.o: ../templatesnotify/notifythread.h ../core/basethread.h
last.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
last.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h last.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
last.o: ../core/groups.h ../core/group.h ../core/loadavg.h last.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
last.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
last.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h last.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
last.o: ../core/lastcontainer.h ../core/request.h ../core/misc.h last.o: ../core/lastcontainer.h ../core/request.h ../core/misc.h
locale.o: locale.h ../core/confparser.h ../core/log.h ../core/textstream.h locale.o: locale.h ../core/confparser.h ../core/log.h ../core/textstream.h
@ -149,9 +165,9 @@ ls.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
ls.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h ls.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
ls.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h ls.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h
ls.o: ../core/confparser.h htmltextstream.h ../core/textstream.h ls.o: ../core/confparser.h htmltextstream.h ../core/textstream.h
ls.o: ../core/user.h ../core/log.h ../core/textstream.h patterncacher.h ls.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
ls.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h ls.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.h
ls.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h ls.o: indexpatterns.h ../core/config.h ../core/confparser.h
ls.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h ls.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
ls.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h ls.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h
ls.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h ls.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
@ -159,9 +175,13 @@ ls.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
ls.o: ../core/requesttypes.h ../core/session.h ../core/error.h ../core/user.h ls.o: ../core/requesttypes.h ../core/session.h ../core/error.h ../core/user.h
ls.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ls.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
ls.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h ls.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
ls.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h ls.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
ls.o: ../core/mount.h ../core/mountparser.h ../core/users.h ls.o: ../templatesnotify/notifypool.h ../templates/locale.h
ls.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h ls.o: ../templates/misc.h ../templatesnotify/notifythread.h
ls.o: ../core/basethread.h ../core/synchro.h
ls.o: ../templatesnotify/templatesnotify.h ../core/users.h
ls.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
ls.o: ../core/mount.h ../core/mountparser.h ../core/users.h ../core/groups.h
ls.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h ls.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
ls.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h ls.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
misc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h misc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -169,21 +189,24 @@ misc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
misc.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h misc.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
misc.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h misc.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
misc.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h misc.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
misc.o: ../core/textstream.h ../core/user.h ../core/log.h misc.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
misc.o: ../core/textstream.h patterncacher.h ../core/item.h
misc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h misc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
misc.o: indexpatterns.h ../core/config.h ../core/confparser.h misc.o: ../core/textstream.h indexpatterns.h ../core/config.h
misc.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h misc.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
misc.o: ../db/dbtextstream.h ../core/error.h ../core/log.h misc.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
misc.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h misc.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
misc.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h misc.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
misc.o: ../core/request.h ../core/requesttypes.h ../core/session.h misc.o: ../core/request.h ../core/requesttypes.h ../core/session.h
misc.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h misc.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
misc.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h misc.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
misc.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h misc.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
misc.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h misc.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
misc.o: ../templates/locale.h ../templates/misc.h
misc.o: ../templatesnotify/notifythread.h ../core/basethread.h
misc.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
misc.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h misc.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
misc.o: ../core/groups.h ../core/group.h ../core/loadavg.h misc.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
misc.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
misc.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h misc.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
misc.o: ../core/misc.h misc.o: ../core/misc.h
mount.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h mount.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -191,21 +214,24 @@ mount.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mount.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h mount.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
mount.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h mount.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
mount.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h mount.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
mount.o: ../core/textstream.h ../core/user.h ../core/log.h mount.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
mount.o: ../core/textstream.h patterncacher.h ../core/item.h
mount.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h mount.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
mount.o: indexpatterns.h ../core/config.h ../core/confparser.h mount.o: ../core/textstream.h indexpatterns.h ../core/config.h
mount.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h mount.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
mount.o: ../db/dbtextstream.h ../core/error.h ../core/log.h mount.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
mount.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h mount.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
mount.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h mount.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
mount.o: ../core/request.h ../core/requesttypes.h ../core/session.h mount.o: ../core/request.h ../core/requesttypes.h ../core/session.h
mount.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h mount.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
mount.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h mount.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
mount.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h mount.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
mount.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h mount.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
mount.o: ../templates/locale.h ../templates/misc.h
mount.o: ../templatesnotify/notifythread.h ../core/basethread.h
mount.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
mount.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h mount.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
mount.o: ../core/groups.h ../core/group.h ../core/loadavg.h mount.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
mount.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
mount.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h mount.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
mount.o: ../core/misc.h mount.o: ../core/misc.h
patterncacher.o: patterncacher.h ../core/item.h misc.h localefilter.h patterncacher.o: patterncacher.h ../core/item.h misc.h localefilter.h
@ -215,84 +241,92 @@ patterncacher.o: ../../ezc/src/pattern.h ../../ezc/src/item.h
patterncacher.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h patterncacher.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
patterncacher.o: ../../ezc/src/stringconv.h htmltextstream.h patterncacher.o: ../../ezc/src/stringconv.h htmltextstream.h
patterncacher.o: ../core/textstream.h ../core/user.h ../core/log.h patterncacher.o: ../core/textstream.h ../core/user.h ../core/log.h
patterncacher.o: ../core/textstream.h ../core/log.h patterncacher.o: ../core/textstream.h
priv.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h priv.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
priv.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h priv.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
priv.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h priv.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
priv.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h priv.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
priv.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h priv.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
priv.o: ../core/textstream.h ../core/user.h ../core/log.h priv.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
priv.o: ../core/textstream.h patterncacher.h ../core/item.h
priv.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h priv.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
priv.o: indexpatterns.h ../core/config.h ../core/confparser.h priv.o: ../core/textstream.h indexpatterns.h ../core/config.h
priv.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h priv.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
priv.o: ../db/dbtextstream.h ../core/error.h ../core/log.h priv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
priv.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h priv.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
priv.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h priv.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
priv.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h priv.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
priv.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h priv.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
priv.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h priv.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
priv.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h priv.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
priv.o: ../templates/locale.h ../templates/misc.h
priv.o: ../templatesnotify/notifythread.h ../core/basethread.h
priv.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
priv.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h priv.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
priv.o: ../core/groups.h ../core/group.h ../core/loadavg.h priv.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
priv.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
priv.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h priv.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
priv.o: ../core/misc.h ../functions/functions.h ../functions/functionbase.h priv.o: ../core/misc.h ../functions/functions.h ../functions/functionbase.h
priv.o: ../core/notify.h ../templatesnotify/templatesnotify.h ../core/mount.h priv.o: ../functions/functionparser.h ../functions/adduser.h
priv.o: ../templates/misc.h ../functions/functionparser.h priv.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
priv.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h priv.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
priv.o: ../functions/privchanger.h ../functions/chown.h priv.o: ../functions/createthread.h ../functions/default.h
priv.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h priv.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
priv.o: ../functions/default.h ../functions/download.h ../functions/emacs.h priv.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
priv.o: ../functions/last.h ../functions/login.h ../functions/logout.h priv.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
priv.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h priv.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
priv.o: ../functions/node.h ../functions/priv.h ../functions/reload.h priv.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
priv.o: ../functions/rm.h ../functions/run.h ../functions/stat.h priv.o: ../functions/funthread.h ../functions/template.h
priv.o: ../functions/subject.h ../functions/funthread.h priv.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
priv.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h priv.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
priv.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h priv.o: ../core/htmlfilter.h
priv.o: ../functions/vim.h ../core/htmlfilter.h
rebus.o: ../core/request.h templates.h ../../ezc/src/ezc.h rebus.o: ../core/request.h templates.h ../../ezc/src/ezc.h
rebus.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h rebus.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
rebus.o: ../../ezc/src/pattern.h ../../ezc/src/item.h ../../ezc/src/funinfo.h rebus.o: ../../ezc/src/pattern.h ../../ezc/src/item.h ../../ezc/src/funinfo.h
rebus.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h rebus.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
rebus.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h rebus.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
rebus.o: ../core/textstream.h ../core/user.h ../core/log.h rebus.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
rebus.o: ../core/textstream.h patterncacher.h ../core/item.h
rebus.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h rebus.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
rebus.o: indexpatterns.h ../core/config.h ../core/confparser.h rebus.o: ../core/textstream.h indexpatterns.h ../core/config.h
rebus.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h rebus.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
rebus.o: ../db/dbtextstream.h ../core/error.h ../core/log.h rebus.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
rebus.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h rebus.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
rebus.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h rebus.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h
rebus.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h rebus.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
rebus.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h rebus.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
rebus.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h rebus.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
rebus.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h rebus.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
rebus.o: ../templates/locale.h ../templates/misc.h
rebus.o: ../templatesnotify/notifythread.h ../core/basethread.h
rebus.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
rebus.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h rebus.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
rebus.o: ../core/groups.h ../core/group.h ../core/loadavg.h rebus.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
rebus.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
rebus.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h rebus.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
stat.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h stat.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
stat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h stat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
stat.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h stat.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
stat.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h stat.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
stat.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h stat.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
stat.o: ../core/textstream.h ../core/user.h ../core/log.h stat.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
stat.o: ../core/textstream.h patterncacher.h ../core/item.h
stat.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h stat.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
stat.o: indexpatterns.h ../core/config.h ../core/confparser.h stat.o: ../core/textstream.h indexpatterns.h ../core/config.h
stat.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h stat.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
stat.o: ../db/dbtextstream.h ../core/error.h ../core/log.h stat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
stat.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h stat.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
stat.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h stat.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
stat.o: ../core/request.h ../core/requesttypes.h ../core/session.h stat.o: ../core/request.h ../core/requesttypes.h ../core/session.h
stat.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h stat.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
stat.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h stat.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
stat.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h stat.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
stat.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h stat.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
stat.o: ../templates/locale.h ../templates/misc.h
stat.o: ../templatesnotify/notifythread.h ../core/basethread.h
stat.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
stat.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h stat.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
stat.o: ../core/groups.h ../core/group.h ../core/loadavg.h stat.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
stat.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
stat.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h stat.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
stat.o: ../core/misc.h stat.o: ../core/misc.h
sys.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h sys.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -300,9 +334,9 @@ sys.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
sys.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h sys.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
sys.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h sys.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h
sys.o: ../core/confparser.h htmltextstream.h ../core/textstream.h sys.o: ../core/confparser.h htmltextstream.h ../core/textstream.h
sys.o: ../core/user.h ../core/log.h ../core/textstream.h patterncacher.h sys.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
sys.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h sys.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.h
sys.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h sys.o: indexpatterns.h ../core/config.h ../core/confparser.h
sys.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h sys.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
sys.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h sys.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h
sys.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h sys.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
@ -310,9 +344,13 @@ sys.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
sys.o: ../core/requesttypes.h ../core/session.h ../core/error.h sys.o: ../core/requesttypes.h ../core/session.h ../core/error.h
sys.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h sys.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
sys.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h sys.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
sys.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h sys.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
sys.o: ../core/mount.h ../core/mountparser.h ../core/users.h sys.o: ../templatesnotify/notifypool.h ../templates/locale.h
sys.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h sys.o: ../templates/misc.h ../templatesnotify/notifythread.h
sys.o: ../core/basethread.h ../core/synchro.h
sys.o: ../templatesnotify/templatesnotify.h ../core/users.h
sys.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
sys.o: ../core/mount.h ../core/mountparser.h ../core/users.h ../core/groups.h
sys.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h sys.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
sys.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h sys.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
sys.o: ../core/version.h sys.o: ../core/version.h
@ -321,21 +359,25 @@ template.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
template.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h template.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
template.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h template.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
template.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h template.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
template.o: ../core/textstream.h ../core/user.h ../core/log.h template.o: ../core/textstream.h ../core/user.h patterncacher.h
template.o: ../core/textstream.h patterncacher.h ../core/item.h template.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
template.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h template.o: ../core/log.h ../core/textstream.h indexpatterns.h
template.o: indexpatterns.h ../core/config.h ../core/confparser.h template.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
template.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h template.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
template.o: ../db/dbtextstream.h ../core/error.h ../core/log.h template.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
template.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h template.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
template.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h template.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
template.o: ../core/request.h ../core/requesttypes.h ../core/session.h template.o: ../core/requesttypes.h ../core/session.h ../core/error.h
template.o: ../core/error.h ../core/user.h ../core/plugindata.h template.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
template.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h template.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
template.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h template.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
template.o: ../core/request.h ../core/mounts.h ../core/mount.h template.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
template.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h template.o: ../templates/locale.h ../templates/misc.h
template.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h template.o: ../templatesnotify/notifythread.h ../core/basethread.h
template.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
template.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
template.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
template.o: ../core/users.h ../core/groups.h ../core/group.h
template.o: ../core/loadavg.h ../core/sessionmanager.h template.o: ../core/loadavg.h ../core/sessionmanager.h
template.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h template.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
templates.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h templates.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -343,27 +385,29 @@ templates.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
templates.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h templates.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
templates.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h templates.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
templates.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h templates.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
templates.o: ../core/textstream.h ../core/user.h ../core/log.h templates.o: ../core/textstream.h ../core/user.h patterncacher.h
templates.o: ../core/textstream.h patterncacher.h ../core/item.h templates.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
templates.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h templates.o: ../core/log.h ../core/textstream.h indexpatterns.h
templates.o: indexpatterns.h ../core/config.h ../core/confparser.h templates.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
templates.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h templates.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
templates.o: ../db/dbtextstream.h ../core/error.h ../core/log.h templates.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
templates.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h templates.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
templates.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h templates.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h templates.o: ../core/requesttypes.h ../core/session.h ../core/error.h
templates.o: ../core/error.h ../core/user.h ../core/plugindata.h templates.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
templates.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h templates.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
templates.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h templates.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
templates.o: ../core/request.h ../core/mounts.h ../core/mount.h templates.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
templates.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h templates.o: ../templates/locale.h ../templates/misc.h
templates.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h templates.o: ../templatesnotify/notifythread.h ../core/basethread.h
templates.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
templates.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
templates.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
templates.o: ../core/users.h ../core/groups.h ../core/group.h
templates.o: ../core/loadavg.h ../core/sessionmanager.h templates.o: ../core/loadavg.h ../core/sessionmanager.h
templates.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h templates.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
templates.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h templates.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h
templates.o: ../functions/functions.h ../functions/functionbase.h templates.o: ../functions/functions.h ../functions/functionbase.h
templates.o: ../core/notify.h ../templatesnotify/templatesnotify.h
templates.o: ../core/mount.h ../templates/misc.h
templates.o: ../functions/functionparser.h ../functions/adduser.h templates.o: ../functions/functionparser.h ../functions/adduser.h
templates.o: ../functions/cat.h ../functions/chmod.h templates.o: ../functions/cat.h ../functions/chmod.h
templates.o: ../functions/privchanger.h ../functions/chown.h templates.o: ../functions/privchanger.h ../functions/chown.h
@ -383,26 +427,27 @@ thread.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
thread.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h thread.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
thread.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h thread.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
thread.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h thread.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
thread.o: ../core/textstream.h ../core/user.h ../core/log.h thread.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
thread.o: ../core/textstream.h patterncacher.h ../core/item.h
thread.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h thread.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
thread.o: indexpatterns.h ../core/config.h ../core/confparser.h thread.o: ../core/textstream.h indexpatterns.h ../core/config.h
thread.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h thread.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
thread.o: ../db/dbtextstream.h ../core/error.h ../core/log.h thread.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
thread.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h thread.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
thread.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h thread.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
thread.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h thread.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
thread.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h thread.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
thread.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h thread.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
thread.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h thread.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
thread.o: ../templates/locale.h ../templates/misc.h
thread.o: ../templatesnotify/notifythread.h ../core/basethread.h
thread.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
thread.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h thread.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
thread.o: ../core/groups.h ../core/group.h ../core/loadavg.h thread.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
thread.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
thread.o: ../core/sessionmanager.h ../core/sessioncontainer.h thread.o: ../core/sessionmanager.h ../core/sessioncontainer.h
thread.o: ../core/system.h ../core/misc.h ../functions/functions.h thread.o: ../core/system.h ../core/misc.h ../functions/functions.h
thread.o: ../functions/functionbase.h ../core/notify.h thread.o: ../functions/functionbase.h ../functions/functionparser.h
thread.o: ../templatesnotify/templatesnotify.h ../core/mount.h
thread.o: ../templates/misc.h ../functions/functionparser.h
thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
thread.o: ../functions/privchanger.h ../functions/chown.h thread.o: ../functions/privchanger.h ../functions/chown.h
thread.o: ../functions/ckeditor.h ../functions/cp.h thread.o: ../functions/ckeditor.h ../functions/cp.h
@ -421,21 +466,24 @@ upload.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
upload.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h upload.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
upload.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h upload.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
upload.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h upload.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
upload.o: ../core/textstream.h ../core/user.h ../core/log.h upload.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
upload.o: ../core/textstream.h patterncacher.h ../core/item.h
upload.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h upload.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
upload.o: indexpatterns.h ../core/config.h ../core/confparser.h upload.o: ../core/textstream.h indexpatterns.h ../core/config.h
upload.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h upload.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
upload.o: ../db/dbtextstream.h ../core/error.h ../core/log.h upload.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
upload.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h upload.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
upload.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h upload.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
upload.o: ../core/request.h ../core/requesttypes.h ../core/session.h upload.o: ../core/request.h ../core/requesttypes.h ../core/session.h
upload.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h upload.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
upload.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h upload.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
upload.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h upload.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
upload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h upload.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
upload.o: ../templates/locale.h ../templates/misc.h
upload.o: ../templatesnotify/notifythread.h ../core/basethread.h
upload.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
upload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h upload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
upload.o: ../core/groups.h ../core/group.h ../core/loadavg.h upload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
upload.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
upload.o: ../core/sessionmanager.h ../core/sessioncontainer.h upload.o: ../core/sessionmanager.h ../core/sessioncontainer.h
upload.o: ../core/system.h ../core/request.h upload.o: ../core/system.h ../core/request.h
uptime.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h uptime.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -443,21 +491,24 @@ uptime.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
uptime.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h uptime.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
uptime.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h uptime.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
uptime.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h uptime.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
uptime.o: ../core/textstream.h ../core/user.h ../core/log.h uptime.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
uptime.o: ../core/textstream.h patterncacher.h ../core/item.h
uptime.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h uptime.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
uptime.o: indexpatterns.h ../core/config.h ../core/confparser.h uptime.o: ../core/textstream.h indexpatterns.h ../core/config.h
uptime.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h uptime.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
uptime.o: ../db/dbtextstream.h ../core/error.h ../core/log.h uptime.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
uptime.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h uptime.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
uptime.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h uptime.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
uptime.o: ../core/request.h ../core/requesttypes.h ../core/session.h uptime.o: ../core/request.h ../core/requesttypes.h ../core/session.h
uptime.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h uptime.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
uptime.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h uptime.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
uptime.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h uptime.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
uptime.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h uptime.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
uptime.o: ../templates/locale.h ../templates/misc.h
uptime.o: ../templatesnotify/notifythread.h ../core/basethread.h
uptime.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
uptime.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h uptime.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
uptime.o: ../core/groups.h ../core/group.h ../core/loadavg.h uptime.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
uptime.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
uptime.o: ../core/sessionmanager.h ../core/sessioncontainer.h uptime.o: ../core/sessionmanager.h ../core/sessioncontainer.h
uptime.o: ../core/system.h uptime.o: ../core/system.h
user.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h user.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -465,21 +516,24 @@ user.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
user.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h user.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
user.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h user.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
user.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h user.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
user.o: ../core/textstream.h ../core/user.h ../core/log.h user.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
user.o: ../core/textstream.h patterncacher.h ../core/item.h
user.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h user.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
user.o: indexpatterns.h ../core/config.h ../core/confparser.h user.o: ../core/textstream.h indexpatterns.h ../core/config.h
user.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h user.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
user.o: ../db/dbtextstream.h ../core/error.h ../core/log.h user.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
user.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h user.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
user.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h user.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
user.o: ../core/request.h ../core/requesttypes.h ../core/session.h user.o: ../core/request.h ../core/requesttypes.h ../core/session.h
user.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h user.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
user.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h user.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
user.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h user.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
user.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h user.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
user.o: ../templates/locale.h ../templates/misc.h
user.o: ../templatesnotify/notifythread.h ../core/basethread.h
user.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
user.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h user.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
user.o: ../core/groups.h ../core/group.h ../core/loadavg.h user.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
user.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
user.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h user.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
user.o: ../core/request.h ../core/misc.h user.o: ../core/request.h ../core/misc.h
who.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h who.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -487,9 +541,9 @@ who.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
who.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h who.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
who.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h who.o: ../../ezc/src/stringconv.h misc.h localefilter.h locale.h
who.o: ../core/confparser.h htmltextstream.h ../core/textstream.h who.o: ../core/confparser.h htmltextstream.h ../core/textstream.h
who.o: ../core/user.h ../core/log.h ../core/textstream.h patterncacher.h who.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
who.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h who.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.h
who.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h who.o: indexpatterns.h ../core/config.h ../core/confparser.h
who.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h who.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
who.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h who.o: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.h
who.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h who.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
@ -497,9 +551,13 @@ who.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
who.o: ../core/requesttypes.h ../core/session.h ../core/error.h who.o: ../core/requesttypes.h ../core/session.h ../core/error.h
who.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h who.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
who.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h who.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
who.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h who.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
who.o: ../core/mount.h ../core/mountparser.h ../core/users.h who.o: ../templatesnotify/notifypool.h ../templates/locale.h
who.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h who.o: ../templates/misc.h ../templatesnotify/notifythread.h
who.o: ../core/basethread.h ../core/synchro.h
who.o: ../templatesnotify/templatesnotify.h ../core/users.h
who.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
who.o: ../core/mount.h ../core/mountparser.h ../core/users.h ../core/groups.h
who.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h who.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
who.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h who.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
winix.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h winix.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -507,29 +565,30 @@ winix.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
winix.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h winix.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
winix.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h winix.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
winix.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h winix.o: localefilter.h locale.h ../core/confparser.h htmltextstream.h
winix.o: ../core/textstream.h ../core/user.h ../core/log.h winix.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
winix.o: ../core/textstream.h patterncacher.h ../core/item.h
winix.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h winix.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
winix.o: indexpatterns.h ../core/config.h ../core/confparser.h winix.o: ../core/textstream.h indexpatterns.h ../core/config.h
winix.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h winix.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.h
winix.o: ../db/dbtextstream.h ../core/error.h ../core/log.h winix.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h ../core/log.h
winix.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h winix.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
winix.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h winix.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
winix.o: ../core/request.h ../core/requesttypes.h ../core/session.h winix.o: ../core/request.h ../core/requesttypes.h ../core/session.h
winix.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h winix.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
winix.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h winix.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
winix.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h winix.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
winix.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h winix.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
winix.o: ../templates/locale.h ../templates/misc.h
winix.o: ../templatesnotify/notifythread.h ../core/basethread.h
winix.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
winix.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h winix.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
winix.o: ../core/groups.h ../core/group.h ../core/loadavg.h winix.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
winix.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
winix.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h winix.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
winix.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h winix.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h
winix.o: ../functions/functions.h ../functions/functionbase.h winix.o: ../functions/functions.h ../functions/functionbase.h
winix.o: ../core/notify.h ../templatesnotify/templatesnotify.h winix.o: ../functions/functionparser.h ../functions/adduser.h
winix.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h winix.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
winix.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h winix.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
winix.o: ../functions/privchanger.h ../functions/chown.h
winix.o: ../functions/ckeditor.h ../functions/cp.h
winix.o: ../functions/createthread.h ../functions/default.h winix.o: ../functions/createthread.h ../functions/default.h
winix.o: ../functions/download.h ../functions/emacs.h ../functions/last.h winix.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
winix.o: ../functions/login.h ../functions/logout.h ../functions/ls.h winix.o: ../functions/login.h ../functions/logout.h ../functions/ls.h

View File

@ -18,8 +18,6 @@
#include "htmltextstream.h" #include "htmltextstream.h"
#include "core/user.h" #include "core/user.h"
// !! usunac
#include "core/log.h"
namespace TemplatesFunctions namespace TemplatesFunctions
{ {

View File

@ -11,7 +11,6 @@
#include "core/misc.h" #include "core/misc.h"
#include "core/plugin.h" #include "core/plugin.h"
#include "core/textstream.h" #include "core/textstream.h"
#include "localefilter.h"
#include "functions/functions.h" #include "functions/functions.h"

View File

@ -24,6 +24,7 @@
#include "core/request.h" #include "core/request.h"
#include "core/system.h" #include "core/system.h"
#include "core/sessionmanager.h" #include "core/sessionmanager.h"
#include "localefilter.h"
@ -48,6 +49,7 @@ namespace TemplatesFunctions
extern PatternCacher pattern_cacher; // patterns for user items (files with an executable bit set) extern PatternCacher pattern_cacher; // patterns for user items (files with an executable bit set)
extern Locale locale; extern Locale locale;
extern EzcFun ezc_functions; extern EzcFun ezc_functions;
extern LocaleFilter locale_filter;
extern CKEditorGetParser ckeditor_getparser; extern CKEditorGetParser ckeditor_getparser;
extern Config * config; extern Config * config;

View File

@ -1,34 +1,56 @@
# DO NOT DELETE # DO NOT DELETE
notify.o: templatesnotify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h notify.o: notify.h notifypool.h ../templates/locale.h ../core/confparser.h
notify.o: ../templates/misc.h ../templates/localefilter.h
notify.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
notify.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h notify.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
notify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h notify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
notify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h notify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
notify.o: ../core/mount.h ../core/config.h ../core/confparser.h notify.o: ../templates/htmltextstream.h ../core/textstream.h ../core/misc.h
notify.o: ../core/htmlfilter.h ../core/textstream.h ../core/misc.h notify.o: ../core/user.h notifythread.h ../core/basethread.h
notify.o: ../templates/misc.h ../templates/localefilter.h notify.o: ../core/synchro.h templatesnotify.h ../core/config.h
notify.o: ../templates/locale.h ../core/confparser.h notify.o: ../core/confparser.h ../core/htmlfilter.h ../core/users.h
notify.o: ../templates/htmltextstream.h ../core/user.h ../core/log.h notify.o: ../core/user.h ../core/ugcontainer.h ../core/log.h
notify.o: ../core/textstream.h ../core/notify.h notify.o: ../core/textstream.h ../core/lastcontainer.h ../core/request.h
notify.o: ../templatesnotify/templatesnotify.h ../core/request.h
notify.o: ../core/requesttypes.h ../core/session.h ../core/error.h notify.o: ../core/requesttypes.h ../core/session.h ../core/error.h
notify.o: ../core/log.h ../core/user.h ../core/plugindata.h ../core/rebus.h notify.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
notify.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h notify.o: ../templates/htmltextstream.h ../db/db.h ../db/dbbase.h
notify.o: ../core/dirs.h ../core/dircontainer.h ../db/db.h ../db/dbbase.h
notify.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h notify.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
notify.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h notify.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
notify.o: ../core/group.h ../core/thread.h ../core/dircontainer.h notify.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
notify.o: ../core/ugcontainer.h ../core/mounts.h ../core/mount.h notify.o: ../core/ugcontainer.h ../templates/templates.h
notify.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h notify.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
notify.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h notify.o: ../core/httpsimpleparser.h ../core/log.h
notify.o: ../core/loadavg.h notify.o: ../templates/indexpatterns.h ../core/request.h ../core/system.h
notify.o: ../core/dirs.h ../core/dircontainer.h ../templatesnotify/notify.h
notify.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
notify.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
notify.o: ../core/sessionmanager.h ../core/sessioncontainer.h
notify.o: ../core/system.h ../core/dirs.h ../core/synchro.h
notifypool.o: notifypool.h ../templates/locale.h ../core/confparser.h
notifythread.o: notifythread.h ../core/basethread.h ../core/synchro.h
notifythread.o: templatesnotify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
notifythread.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
notifythread.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
notifythread.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
notifythread.o: ../core/textstream.h ../core/misc.h notifypool.h
notifythread.o: ../templates/locale.h ../core/confparser.h
notifythread.o: ../templates/misc.h ../templates/localefilter.h
notifythread.o: ../templates/locale.h ../templates/htmltextstream.h
notifythread.o: ../core/user.h ../core/config.h ../core/confparser.h
notifythread.o: ../core/htmlfilter.h ../core/users.h ../core/user.h
notifythread.o: ../core/ugcontainer.h ../core/log.h ../core/textstream.h
notifythread.o: ../core/lastcontainer.h ../core/request.h
notifythread.o: ../core/requesttypes.h ../core/session.h ../core/error.h
notifythread.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
notifythread.o: ../templates/htmltextstream.h ../db/db.h ../db/dbbase.h
notifythread.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
notifythread.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
notifythread.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
notifythread.o: ../core/ugcontainer.h
templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
templatesnotify.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h templatesnotify.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
templatesnotify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h templatesnotify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
templatesnotify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h templatesnotify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
templatesnotify.o: ../core/mount.h ../core/config.h ../core/confparser.h templatesnotify.o: ../core/textstream.h ../core/misc.h notifypool.h
templatesnotify.o: ../core/htmlfilter.h ../core/textstream.h ../core/misc.h
templatesnotify.o: ../templates/misc.h ../templates/localefilter.h
templatesnotify.o: ../templates/locale.h ../core/confparser.h templatesnotify.o: ../templates/locale.h ../core/confparser.h
templatesnotify.o: ../templates/htmltextstream.h ../core/user.h ../core/log.h
templatesnotify.o: ../core/textstream.h ../core/misc.h ../templates/locale.h

View File

@ -1 +1 @@
o = notify.o templatesnotify.o o = notify.o notifypool.o notifythread.o templatesnotify.o

View File

@ -1,95 +0,0 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "templatesnotify.h"
#include "core/notify.h"
namespace TemplatesNotifyFunctions
{
void notify_item_added(Info & i)
{
i.res = (notify_msg->notify_code & WINIX_NOTIFY_ITEM_ADD) != 0;
}
void notify_item_edited(Info & i)
{
i.res = (notify_msg->notify_code & WINIX_NOTIFY_ITEM_EDIT) != 0;
}
void notify_item_deleted(Info & i)
{
i.res = (notify_msg->notify_code & WINIX_NOTIFY_ITEM_DELETE) != 0;
}
void notify_dir_added(Info & i)
{
i.res = (notify_msg->notify_code & WINIX_NOTIFY_DIR_ADD) != 0;
}
void notify_to(Info & i)
{
i.out << notify_msg->email;
}
void notify_mount_type_is_thread(Info & i)
{
i.res = notify_msg->current_mount_type == mount_type_thread;
}
void notify_mount_type_is_ticket(Info & i)
{
i.res = notify_msg->current_mount_type == mount_type_ticket;
}
void notify_mount_type_is_cms(Info & i)
{
i.res = notify_msg->current_mount_type == mount_type_cms;
}
void notify_doc_base_url(Info & i)
{
i.out << notify_msg->doc_base_url;
}
void notify_item_dir(Info & i)
{
i.out << notify_msg->item_dir;
}
void notify_item_link(Info & i)
{
i.out << notify_msg->item_link;
}
} // namespace TemplatesNotifyFunctions

81
templatesnotify/notify.h Executable file
View File

@ -0,0 +1,81 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslunotify
#define headerfilecmslunotify
#include <vector>
#include <string>
#include "notifypool.h"
#include "templates/misc.h"
#include "notifythread.h"
class Request;
class Config;
class Users;
class Dirs;
class Synchro;
class Notify
{
public:
Notify();
void SetSynchro(Synchro * psynchro);
void SetRequest(Request * prequest);
void SetConfig(Config * pconfig);
void SetUsers(Users * pusers);
void SetDirs(Dirs * pdirs);
void Init();
void StartThread();
void SendSignalToThread(); // use it in lock/unlock
void WaitForThread();
size_t AddTemplate(const std::wstring & file_name);
void ReadTemplates();
void ItemChanged(int notify_code, const Item & item);
private:
Request * request;
Config * config;
Dirs * dirs;
Users * users;
Synchro * synchro;
NotifyThread notify_thread;
NotifyMsg msg;
NotifyPool notify_pool;
// conditional variable
pthread_cond_t thread_signal;
size_t notify_template_cms;
size_t notify_template_thread;
// templates file names
std::vector<std::wstring> templates_names;
// vector table [language][file]
TemplatesFunctions::Patterns patterns;
void CreateItemLink(const Item & item, std::wstring & link, std::wstring & dir_link);
};
#endif

59
templatesnotify/notifypool.cpp Executable file
View File

@ -0,0 +1,59 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "notifypool.h"
bool NotifyPool::Empty() const
{
return notify_pool.empty();
}
size_t NotifyPool::Size() const
{
return notify_pool.size(); // it has O(n)
}
NotifyMsg & NotifyPool::GetFirst()
{
return *notify_pool.begin();
}
void NotifyPool::DeleteFirst()
{
if( notify_pool.empty() )
return;
notify_pool.erase(notify_pool.begin());
}
void NotifyPool::Add(const NotifyMsg & msg)
{
notify_pool.insert(notify_pool.end(), msg);
}

82
templatesnotify/notifypool.h Executable file
View File

@ -0,0 +1,82 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslunotifypool
#define headerfilecmslunotifypool
#include <list>
#include <string>
#include "templates/locale.h"
#define WINIX_NOTIFY_CODE_DIR_ADD 1
#define WINIX_NOTIFY_CODE_DIR_EDIT 2
#define WINIX_NOTIFY_CODE_DIR_DELETE 4
#define WINIX_NOTIFY_CODE_FILE_ADD 8
#define WINIX_NOTIFY_CODE_FILE_EDIT 16
#define WINIX_NOTIFY_CODE_FILE_DELETE 32
// new thread has been starded
#define WINIX_NOTIFY_CODE_THREAD_ADD 64
// someone replayed in a thread
#define WINIX_NOTIFY_CODE_THREAD_REPLAYED 128
// someone edited its post
#define WINIX_NOTIFY_CODE_THREAD_POST_CHANGED 256
#define WINIX_NOTIFY_CODE_THREAD_DELETE 512
struct NotifyMsg
{
int code;
std::wstring item_link; // link to a file or a dir (can be the same as dir_link if the item is a directory)
std::wstring dir_link; // link to a dir
size_t template_index;
};
// used by the second thread (and its templates)
struct NotifyUserMsg
{
std::wstring name;
std::wstring email;
Locale::Lang lang;
};
class NotifyPool
{
public:
bool Empty() const;
size_t Size() const;
NotifyMsg & GetFirst();
void DeleteFirst();
void Add(const NotifyMsg & msg);
private:
std::list<NotifyMsg> notify_pool;
};
#endif

246
templatesnotify/notifythread.cpp Executable file
View File

@ -0,0 +1,246 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "notifythread.h"
// first thread (objects are locked)
NotifyThread::NotifyThread()
{
patterns_changed = true;
}
// first thread (objects are locked)
void NotifyThread::SetConfig(Config * pconfig)
{
config = pconfig;
}
// first thread (objects are locked)
void NotifyThread::SetUsers(Users * pusers)
{
users = pusers;
}
// first thread (objects are locked)
void NotifyThread::SetNotifyPool(NotifyPool * pool)
{
notify_pool = pool;
}
// first thread (objects are locked)
void NotifyThread::SetPatterns(TemplatesFunctions::Patterns * pat)
{
pat_global = pat;
}
// first thread (objects are locked)
void NotifyThread::PatternsChanged()
{
patterns_changed = true;
}
// first thread (objects are locked)
bool NotifyThread::Init()
{
TemplatesNotifyFunctions::CreateFunctions();
return true;
}
// first thread (objects are locked)
bool NotifyThread::SignalReceived()
{
if( patterns_changed )
{
// !! usunac
log << log3 << "NotifyThread: copying global patterns to local ones" << logend;
patterns = *pat_global;
patterns_changed = false;
}
return !notify_pool->Empty();
}
// second thread (objects are not locked)
// return true if there is something to send from the first queue (notify_pool)
bool NotifyThread::AddNextNotify()
{
Users::Iterator i;
bool res = false;
Lock();
if( !notify_pool->Empty() )
{
TemplatesNotifyFunctions::notify_msg = notify_pool->GetFirst();
notify_pool->DeleteFirst();
for(i=users->Begin() ; i != users->End() ; ++i)
{
if( (i->cms_notify & TemplatesNotifyFunctions::notify_msg.code) != 0 ) // !! bedzie jedno pole i->notify
{
msg.name = i->name;
msg.email = i->email;
msg.lang = Locale::StrToLang(config->locale_str); // !! bedzie osobno dla kazdego uzytkownika
if( msg.lang == Locale::lang_unknown )
msg.lang = Locale::lang_en;
notify_user.insert(notify_user.end(), msg);
res = true;
}
}
}
Unlock();
return res;
}
// second thread -- here we must use Lock() and Unlock() explicitly
void NotifyThread::Do()
{
NotifyUser::iterator i;
bool queue_end;
while( AddNextNotify() )
{
Lock();
i = notify_user.begin();
queue_end = notify_user.empty();
Unlock();
while( !queue_end )
{
Lock();
TemplatesNotifyFunctions::notify_user_msg = *i;
log << log3 << "NotifyThread: sending notification to: " << i->name << ", email: " << i->email << logend;
Unlock();
SendMail();
Lock();
WaitForSignalSleep(2); // automatically unlock and lock again when returns
bool stop = synchro->was_stop_signal;
Unlock();
if( stop )
return;
Lock();
notify_user.erase(i++);
queue_end = (i == notify_user.end());
Unlock();
}
}
}
// second thread
void NotifyThread::SendMail()
{
notify_stream.Clear();
size_t lang_index = static_cast<size_t>(TemplatesNotifyFunctions::notify_user_msg.lang);
size_t template_index = TemplatesNotifyFunctions::notify_msg.template_index;
if( lang_index >= patterns.size() ||
template_index >= patterns[lang_index].size() )
{
// ops, something wrong
return;
}
generator.RecognizeSpecialChars(true);
generator.TrimWhite(true);
generator.SkipNewLine(true);
generator.Generate(notify_stream, patterns[lang_index][template_index],
TemplatesNotifyFunctions::ezc_functions);
SendMail(TemplatesNotifyFunctions::notify_user_msg.email, notify_stream.Str());
}
// second thread
void NotifyThread::SendMail(const std::wstring & email, const std::wstring & message)
{
nlog.PutDate(log1);
if( !ValidateEmail(email) )
{
nlog << log1 << "NotifyThread: email adress: " << email << " is not correct" << logend;
return;
}
sendmail_command = "sendmail ";
Ezc::WideToUTF8(email, sendmail_command, false);
FILE * sendmail = popen(sendmail_command.c_str(), "w");
if( !sendmail )
{
nlog << log1 << "NotifyThread: can't run sendmail" << logend;
return;
}
SendMail(sendmail, message);
pclose(sendmail);
nlog << log1 << "NotifyThread: email to: " << email << " has been sent" << logend;
nlog << logsave;
}
// second thread
void NotifyThread::SendMail(FILE * sendmail, const std::wstring & message)
{
char buf[10];
size_t len;
for(size_t i=0 ; i<message.length() ; ++i)
{
if( message[i] == '\n' )
{
fprintf(sendmail, "\r\n");
}
else
{
len = Ezc::IntToUTF8(int(message[i]), buf, sizeof(buf) / sizeof(char));
for(size_t a=0 ; a<len ; ++a)
fputc(buf[a], sendmail);
}
}
}

66
templatesnotify/notifythread.h Executable file
View File

@ -0,0 +1,66 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslunotifythread
#define headerfilecmslunotifythread
#include "core/basethread.h"
#include "templatesnotify.h"
#include "ezc.h"
#include "templates/misc.h"
#include "core/config.h"
#include "core/users.h"
// we have set following pointers: request, config, system (from BaseThread)
class NotifyThread : public BaseThread
{
public:
NotifyThread();
void SetConfig(Config * pconfig);
void SetUsers(Users * pusers);
void SetNotifyPool(NotifyPool * pool);
void SetPatterns(TemplatesFunctions::Patterns * pat);
void PatternsChanged();
private:
Config * config;
Users * users;
NotifyPool * notify_pool;
TemplatesFunctions::Patterns * pat_global;
NotifyUserMsg msg;
typedef std::list<NotifyUserMsg> NotifyUser;
NotifyUser notify_user;
std::string sendmail_command;
bool patterns_changed;
TemplatesFunctions::Patterns patterns;
TemplatesNotifyFunctions::NotifyStream notify_stream;
Ezc::Generator<TemplatesNotifyFunctions::NotifyStream> generator;
virtual bool Init();
virtual bool SignalReceived();
bool AddNextNotify();
virtual void Do();
void SendMail();
void SendMail(const std::wstring & email, const std::wstring & message);
void SendMail(FILE * sendmail, const std::wstring & message);
};
#endif

View File

@ -8,33 +8,117 @@
*/ */
#include "templatesnotify.h" #include "templatesnotify.h"
#include "core/misc.h"
#include "core/log.h"
#include "core/textstream.h"
#include "templates/locale.h"
namespace TemplatesNotifyFunctions namespace TemplatesNotifyFunctions
{ {
Ezc::Functions<NotifyStream> ezc_functions;
// id of mount points types
int mount_type_cms;
int mount_type_thread;
int mount_type_ticket;
Patterns patterns;
Ezc::Functions<TextStream<std::wstring> > ezc_functions;
Locale locale;
LocaleFilter locale_filter;
Config * config;
// you can use this pointer in template functions (will be always valid) // you can use this pointer in template functions (will be always valid)
NotifyMsg * notify_msg; NotifyUserMsg notify_user_msg;
NotifyMsg notify_msg;
void notify_file_added(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_FILE_ADD) != 0;
}
void notify_file_edited(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_FILE_EDIT) != 0;
}
void notify_file_deleted(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_FILE_DELETE) != 0;
}
void notify_dir_added(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_DIR_ADD) != 0;
}
void notify_thread_added(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_THREAD_ADD) != 0;
}
void notify_thread_replayed(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_THREAD_REPLAYED) != 0;
}
void notify_thread_post_changed(Info & i)
{
i.res = (notify_msg.code & WINIX_NOTIFY_CODE_THREAD_POST_CHANGED) != 0;
}
void notify_to(Info & i)
{
i.out << notify_user_msg.email;
}
/*
void notify_doc_base_url(Info & i)
{
i.out << notify_user_msg.doc_base_url;
}
*/
void notify_item_link(Info & i)
{
i.out << notify_msg.item_link;
}
void notify_dir_link(Info & i)
{
i.out << notify_msg.dir_link;
}
void CreateFunctions()
{
ezc_functions.Clear();
ezc_functions.Insert("notify_file_added", notify_file_added);
ezc_functions.Insert("notify_file_edited", notify_file_edited);
ezc_functions.Insert("notify_file_deleted", notify_file_deleted);
ezc_functions.Insert("notify_dir_added", notify_dir_added);
ezc_functions.Insert("notify_thread_added", notify_thread_added);
ezc_functions.Insert("notify_thread_replayed", notify_thread_replayed);
ezc_functions.Insert("notify_thread_post_changed", notify_thread_post_changed);
ezc_functions.Insert("notify_to", notify_to);
//ezc_functions.Insert("notify_doc_base_url", notify_doc_base_url);
ezc_functions.Insert("notify_item_link", notify_item_link);
ezc_functions.Insert("notify_dir_link", notify_dir_link);
}
} // namespace TemplatesNotifyFunctions } // namespace TemplatesNotifyFunctions
@ -42,112 +126,6 @@ NotifyMsg * notify_msg;
void TemplatesNotify::SetConfig(Config * pconfig)
{
TemplatesNotifyFunctions::config = pconfig;
}
void TemplatesNotify::SetMountTypes(int mcms, int mthread, int mticket)
{
using namespace TemplatesNotifyFunctions;
mount_type_cms = mcms;
mount_type_thread = mthread;
mount_type_ticket = mticket;
}
void TemplatesNotify::CreateFunctions()
{
using namespace TemplatesNotifyFunctions;
ezc_functions.Clear();
ezc_functions.Insert("notify_item_added", notify_item_added);
ezc_functions.Insert("notify_item_edited", notify_item_edited);
ezc_functions.Insert("notify_item_deleted", notify_item_deleted);
ezc_functions.Insert("notify_dir_added", notify_dir_added);
ezc_functions.Insert("notify_to", notify_to);
ezc_functions.Insert("notify_mount_type_is_thread", notify_mount_type_is_thread);
ezc_functions.Insert("notify_mount_type_is_ticket", notify_mount_type_is_ticket);
ezc_functions.Insert("notify_mount_type_is_cms", notify_mount_type_is_cms);
ezc_functions.Insert("notify_doc_base_url", notify_doc_base_url);
ezc_functions.Insert("notify_item_dir", notify_item_dir);
ezc_functions.Insert("notify_item_link", notify_item_link);
}
void TemplatesNotify::ClearPatterns()
{
using namespace TemplatesNotifyFunctions;
TemplatesFunctions::ClearPatterns(patterns, pat_last);
}
// templates are read in the main thread
// (before creating the second thread)
void TemplatesNotify::Read()
{
using namespace TemplatesNotifyFunctions;
Locale::Lang lang = Locale::StrToLang(config->locale_str);
if( lang != Locale::lang_unknown )
locale.SetLang(lang);
else
locale.SetLang(Locale::lang_en);
ClearPatterns();
locale.UTF8(config->utf8);
locale.Read(config->locale_dir, config->locale_dir_default);
// !! nazwe pliku do konfiga
TemplatesFunctions::Read(patterns, pat_email_notify, locale, locale_filter, ezc_functions,
L"notify_email.txt", config->utf8,
config->templates_dir, config->templates_dir_default, true);
notify_msg = 0;
}
void TemplatesNotify::Generate(Locale::Lang lang)
{
using namespace TemplatesNotifyFunctions;
notify_str.Clear();
if( !notify_msg )
return;
if( static_cast<size_t>(lang) >= patterns.size() )
{
// ops, something wrong
return;
}
Ezc::Generator<TextStream<std::wstring> > generator;
generator.RecognizeSpecialChars(true);
generator.TrimWhite(true);
generator.SkipNewLine(true);
generator.Generate(notify_str, patterns[lang][pat_email_notify]);
}
TemplatesNotify::TemplatesNotify()
{
ClearPatterns();
}

View File

@ -7,94 +7,26 @@
* *
*/ */
#ifndef headerfilecmslutemplatestemplatesnotify #ifndef headerfile_winix_notify_templatesnotify
#define headerfilecmslutemplatestemplatesnotify #define headerfile_winix_notify_templatesnotify
#include <iomanip>
#include <set>
#include <string>
#include "ezc.h" #include "ezc.h"
#include "core/mount.h"
#include "core/config.h"
#include "core/textstream.h" #include "core/textstream.h"
#include "templates/misc.h" #include "notifypool.h"
struct NotifyMsg
{
std::wstring email;
int notify_code;
int current_mount_type;
Locale::Lang lang;
std::wstring doc_base_url;
std::wstring item_dir;
std::wstring item_link;
};
namespace TemplatesNotifyFunctions namespace TemplatesNotifyFunctions
{ {
extern int mount_type_cms; typedef TextStream<std::wstring> NotifyStream;
extern int mount_type_thread; typedef Ezc::FunInfo<NotifyStream> Info;
extern int mount_type_ticket;
typedef Ezc::FunInfo<TextStream<std::wstring> > Info; extern NotifyUserMsg notify_user_msg;
extern NotifyMsg notify_msg;
enum Pat {
pat_email_notify = 0, // first should be zero
pat_last // should be last extern Ezc::Functions<NotifyStream> ezc_functions;
};
typedef std::vector<std::vector<Ezc::Pattern> > Patterns;
extern Patterns patterns;
extern NotifyMsg * notify_msg;
extern Config * config;
void notify_item_added(Info & i);
void notify_item_edited(Info & i);
void notify_item_deleted(Info & i);
void notify_dir_added(Info & i);
void notify_to(Info & i);
void notify_mount_type_is_thread(Info & i);
void notify_mount_type_is_ticket(Info & i);
void notify_mount_type_is_cms(Info & i);
void notify_doc_base_url(Info & i);
void notify_item_dir(Info & i);
void notify_item_link(Info & i);
} // namespace TemplatesNotifyFunctions
class TemplatesNotify
{
public:
TemplatesNotify();
void SetConfig(Config * pconfig);
void SetMountTypes(int mcms, int mthread, int mticket);
void Read();
void CreateFunctions(); void CreateFunctions();
void Generate(Locale::Lang lang); }
TextStream<std::wstring> notify_str;
private:
void Read(TemplatesNotifyFunctions::Pat pat, const std::string & dir, const char * file);
void Read(TemplatesNotifyFunctions::Pat pat, const char * file);
void ClearPatterns();
std::wstring temp;
};
#endif #endif

34
txt/notify_email_cms.txt Executable file
View File

@ -0,0 +1,34 @@
Subject: [if notify_file_added]{notify_new}[else]{notify_change}[end]\n
From: {notify_from}\n
To: [notify_to]\n
Content-Type: {notify_content_type}
\n\n
{notify_header}
\n\n
{notify_msg1}\s
[if-one notify_file_added notify_dir_added]
{notify_msg6}\n
[notify_item_link]\n\n
[end]
[if notify_file_edited]
{notify_msg7}\n
[notify_item_link]\n\n
[end]
[if notify_file_deleted]
{notify_msg8}\n
[notify_item_link]\n\n
[end]
{notify_msg9}\n
{notify_msg9b}\n
\n
-- \n
{notify_footer1}\n
{notify_footer2}\n
{notify_footer3}\n
{notify_footer4}\n

43
txt/notify_email_thread.txt Executable file
View File

@ -0,0 +1,43 @@
Subject: [if notify_thread_added]{notify_new}[else]{notify_change}[end]\n
From: {notify_from}\n
To: [notify_to]\n
Content-Type: {notify_content_type}
\n\n
{notify_header}
\n\n
{notify_msg1}\s
[if notify_thread_added]
{notify_msg2}\n
[notify_dir_link]\n\n
[end]
[if notify_thread_replayed]
{notify_msg3}\n
[notify_dir_link]\n\n
[end]
[if notify_thread_post_changed]
{notify_msg4}\n
[notify_item_link]\n\n
[# dodac drugi link typu: caly watek i adres url]
[end]
[# tu bedzie jakos inaczej]
[if notify_file_deleted]
{notify_msg5}\n
[notify_item_link]\n\n
[end]
{notify_msg9}\n
{notify_msg9b}\n
\n
-- \n
{notify_footer1}\n
{notify_footer2}\n
{notify_footer3}\n
{notify_footer4}\n

39
txt/notify_email_ticket.txt Executable file
View File

@ -0,0 +1,39 @@
Subject: [if notify_file_added]{notify_new}[else]{notify_change}[end]\n
From: {notify_from}\n
To: [notify_to]\n
Content-Type: {notify_content_type}
\n\n
{notify_header}
\n\n
{notify_msg1}\s
[if notify_dir_added]
{notify_msg2b}\n
[notify_item_link]\n\n
[end]
[if notify_file_added]
{notify_msg3b}\n
[notify_item_link]\n\n
[end]
[if notify_file_edited]
{notify_msg4}\n
[notify_item_link]\n\n
[end]
[if notify_file_deleted]
{notify_msg5}\n
[notify_item_link]\n\n
[end]
{notify_msg9}\n
{notify_msg9b}\n
\n
-- \n
{notify_footer1}\n
{notify_footer2}\n
{notify_footer3}\n
{notify_footer4}\n