- 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: ../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: user.h plugindata.h rebus.h ../templates/htmltextstream.h mounts.h
app.o: mount.h mountparser.h users.h ugcontainer.h lastcontainer.h groups.h
app.o: group.h loadavg.h sessionmanager.h sessioncontainer.h notify.h
app.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
app.o: user.h plugindata.h rebus.h ../templates/htmltextstream.h
app.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
app.o: ../templates/locale.h ../core/confparser.h ../templates/misc.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/functions.h ../../ezc/src/funinfo.h
app.o: ../../ezc/src/stringconv.h ../core/mount.h ../core/config.h
app.o: ../templates/misc.h ../templates/localefilter.h ../templates/locale.h
app.o: ../core/confparser.h ../templates/htmltextstream.h ../core/log.h
app.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
app.o: ../templatesnotify/notifythread.h ../core/basethread.h synchro.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: ../core/system.h ../core/notify.h ../functions/functionparser.h
app.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
app.o: ../functions/privchanger.h ../functions/chown.h
app.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h
app.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
app.o: ../functions/last.h ../functions/login.h ../functions/logout.h
app.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
app.o: ../functions/node.h ../functions/priv.h ../functions/reload.h
app.o: ../functions/rm.h ../functions/run.h ../functions/stat.h
app.o: ../functions/subject.h ../functions/funthread.h
app.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h
app.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
app.o: ../functions/vim.h ../core/htmlfilter.h ../templates/templates.h
app.o: ../core/system.h ../functions/functionparser.h ../functions/adduser.h
app.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
app.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
app.o: ../functions/createthread.h ../functions/default.h
app.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
app.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
app.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
app.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
app.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
app.o: ../functions/funthread.h ../functions/template.h
app.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
app.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
app.o: ../core/htmlfilter.h ../templates/templates.h
app.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.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: postparser.h cookieparser.h postmultiparser.h acceptencodingparser.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
compress.o: compress.h log.h textstream.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: ../db/dbitemcolumns.h ../core/user.h ../core/group.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: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
config.o: sessioncontainer.h ../functions/functions.h
config.o: ../functions/functionbase.h ../core/request.h ../core/config.h
config.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
config.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
config.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
config.o: ../templates/localefilter.h ../templates/locale.h
config.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.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/cat.h ../functions/chmod.h ../functions/privchanger.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/tinymce.h ../functions/uname.h ../functions/upload.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: ../../ezc/src/generator.h ../../ezc/src/pattern.h
config.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
config.o: ../../ezc/src/stringconv.h ../templates/patterncacher.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
config.o: ../core/htmlfilter.h ../templates/templates.h
config.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
config.o: ../core/httpsimpleparser.h ../core/log.h
config.o: ../templates/indexpatterns.h ../core/sessionmanager.h
confparser.o: confparser.h misc.h item.h ../../ezc/src/utf8.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
@ -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: ../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: htmlfilter.h ../templates/htmltextstream.h notify.h
dirs.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
dirs.o: htmlfilter.h ../templates/htmltextstream.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/pattern.h ../../ezc/src/functions.h
dirs.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h
dirs.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
dirs.o: ../templates/locale.h ../core/confparser.h
dirs.o: ../templates/htmltextstream.h ../core/log.h system.h mounts.h mount.h
dirs.o: mountparser.h users.h ugcontainer.h lastcontainer.h groups.h group.h
dirs.o: loadavg.h
dirs.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
dirs.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
dirs.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.h
dirs.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.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: 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/ckeditorgetparser.h ../core/httpsimpleparser.h
misc.o: ../core/log.h ../templates/indexpatterns.h
misc.o: ../templates/localefilter.h ../templates/locale.h
misc.o: ../core/confparser.h ../core/config.h ../db/db.h ../db/dbbase.h
misc.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
misc.o: ../core/error.h ../db/dbitemquery.h ../db/dbitemcolumns.h
misc.o: ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../templates/localefilter.h ../templates/locale.h ../core/config.h
misc.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
misc.o: ../core/textstream.h ../core/error.h ../db/dbitemquery.h
misc.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../core/dircontainer.h ../core/ugcontainer.h
misc.o: ../templates/htmltextstream.h ../core/request.h ../core/system.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: requesttypes.h session.h user.h plugindata.h rebus.h config.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: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.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: requesttypes.h session.h user.h plugindata.h rebus.h config.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: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
mounts.o: sessioncontainer.h ../functions/functions.h
mounts.o: ../functions/functionbase.h ../core/request.h ../core/config.h
mounts.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
mounts.o: ../functions/functionparser.h ../functions/adduser.h
mounts.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
mounts.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
mounts.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
mounts.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
mounts.o: ../templates/localefilter.h ../templates/locale.h
mounts.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
mounts.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
mounts.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
mounts.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.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/download.h ../functions/emacs.h ../functions/last.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/tinymce.h ../functions/uname.h ../functions/upload.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: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mounts.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
mounts.o: ../../ezc/src/stringconv.h ../templates/patterncacher.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
mounts.o: ../core/htmlfilter.h ../templates/templates.h
mounts.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
mounts.o: ../core/httpsimpleparser.h ../core/log.h
mounts.o: ../templates/indexpatterns.h ../core/sessionmanager.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: 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: ../db/dbitemcolumns.h ../core/user.h ../core/group.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: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
plugin.o: sessioncontainer.h ../functions/functions.h
plugin.o: ../functions/functionbase.h ../core/request.h ../core/config.h
plugin.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
plugin.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
plugin.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
plugin.o: ../templates/localefilter.h ../templates/locale.h
plugin.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.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/cat.h ../functions/chmod.h ../functions/privchanger.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/tinymce.h ../functions/uname.h ../functions/upload.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: ../../ezc/src/generator.h ../../ezc/src/pattern.h
plugin.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugin.o: ../../ezc/src/stringconv.h ../templates/patterncacher.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
plugin.o: ../core/htmlfilter.h ../templates/templates.h
plugin.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
plugin.o: ../core/httpsimpleparser.h ../core/log.h
plugin.o: ../templates/indexpatterns.h ../core/sessionmanager.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: 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: ../db/dbitemcolumns.h ../core/user.h ../core/group.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: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
plugindata.o: sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/config.h
plugindata.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
plugindata.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
plugindata.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
plugindata.o: ../templates/localefilter.h ../templates/locale.h
plugindata.o: ../../ezc/src/ezc.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/cat.h ../functions/chmod.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/uptime.h ../functions/who.h ../functions/vim.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: ../core/httpsimpleparser.h ../core/log.h
plugindata.o: ../templates/indexpatterns.h ../templates/localefilter.h
plugindata.o: ../templates/locale.h ../core/confparser.h
plugindata.o: ../templates/htmltextstream.h ../core/sessionmanager.h
plugindata.o: ../templates/indexpatterns.h ../core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h requesttypes.h config.h
postmultiparser.o: confparser.h htmlfilter.h log.h textstream.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: ../db/dbitemcolumns.h ../core/user.h ../core/group.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: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
request.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.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: ../functions/functionbase.h ../core/request.h ../core/config.h
request.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
request.o: ../functions/functionbase.h ../core/request.h ../core/system.h
request.o: ../functions/functionparser.h ../functions/adduser.h
request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.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/tinymce.h ../functions/uname.h ../functions/upload.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: ../../ezc/src/generator.h ../../ezc/src/pattern.h
request.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
request.o: ../../ezc/src/stringconv.h ../templates/patterncacher.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
request.o: ../core/htmlfilter.h ../templates/templates.h
request.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
request.o: ../core/httpsimpleparser.h ../core/log.h
request.o: ../templates/indexpatterns.h ../core/sessionmanager.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: 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/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
sessionmanager.o: ../core/user.h ../core/group.h ../core/thread.h
sessionmanager.o: ../core/dircontainer.h ../core/ugcontainer.h mounts.h
sessionmanager.o: mount.h mountparser.h users.h ugcontainer.h groups.h
sessionmanager.o: group.h loadavg.h sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: ../core/dircontainer.h ../core/ugcontainer.h
sessionmanager.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.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: ../core/request.h ../core/config.h ../core/system.h
sessionmanager.o: ../core/notify.h ../../ezc/src/utf8.h
sessionmanager.o: ../core/request.h ../core/system.h
sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h
sessionmanager.o: ../functions/cat.h ../functions/chmod.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/uptime.h ../functions/who.h ../functions/vim.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/ckeditorgetparser.h ../core/httpsimpleparser.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
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: requesttypes.h config.h confparser.h htmlfilter.h
sessionparser.o: textstream.h ../templates/htmltextstream.h
sessionparser.o: ../core/textstream.h misc.h users.h ugcontainer.h ../db/db.h
sessionparser.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.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
sessionparser.o: ../core/textstream.h misc.h users.h log.h
synchro.o: synchro.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: ../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: request.h requesttypes.h session.h error.h user.h plugindata.h
system.o: rebus.h config.h confparser.h htmlfilter.h
system.o: ../templates/htmltextstream.h mounts.h mount.h mountparser.h
system.o: users.h ugcontainer.h lastcontainer.h groups.h group.h loadavg.h
system.o: notify.h ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
system.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
system.o: ../templates/htmltextstream.h ../templatesnotify/notify.h
system.o: ../templatesnotify/notifypool.h ../templates/locale.h
system.o: ../core/confparser.h ../templates/misc.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/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h
system.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
system.o: ../templates/locale.h ../core/confparser.h
system.o: ../templates/htmltextstream.h ../core/log.h
system.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
system.o: ../templates/htmltextstream.h ../templatesnotify/notifythread.h
system.o: ../core/basethread.h synchro.h ../templatesnotify/templatesnotify.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/ckeditorgetparser.h ../core/httpsimpleparser.h
system.o: ../core/log.h ../templates/indexpatterns.h ../core/request.h
system.o: ../core/system.h ../core/sessionmanager.h
textstream.o: textstream.h misc.h item.h
users.o: users.h user.h ugcontainer.h lastcontainer.h request.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
users.o: users.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 <grp.h>
#include <unistd.h>
#include <sys/param.h>
#include <cstdio>
#include <fetch.h>
#include <signal.h>
#include "app.h"
#include "plugin.h"
@ -23,7 +27,6 @@
App::App()
{
was_stop_signal = false;
stdout_is_closed = false;
last_sessions_save = std::time(0);
fcgi_socket = -1;
@ -45,18 +48,11 @@ App::App()
functions.SetDb(&db);
functions.SetSystem(&system);
functions.SetTemplates(&templates);
functions.SetNotify(&notify);
system.SetConfig(&config);
system.SetRequest(&request);
system.SetDb(&db);
templates_notify.SetConfig(&config);
notify.SetRequest(&request);
notify.SetConfig(&config);
notify.SetSystem(&system);
notify.SetTemplatesNotify(&templates_notify);
system.SetSynchro(&synchro);
templates.SetConfig(&config);
templates.SetRequest(&request);
@ -137,23 +133,15 @@ bool App::Init()
system.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
templates.CreateFunctions(); // create functions first (functions will be cached by patterns)
templates.ReadIndexFileNames();
templates.ReadTemplates();
// init notify after templates (it uses locales from templates)
system.notify.ReadTemplates();
session_manager.LoadSessions();
plugin.Call(WINIX_PLUGIN_INIT);
@ -228,7 +216,6 @@ void App::ProcessRequestThrow()
}
SendAnswer();
notify.ItemChanged(request.notify_code);
// it's better to remove sessions at the end of a request
// as it can take a little time
@ -240,7 +227,19 @@ void App::ProcessRequest()
{
try
{
system.load_avg.StartRequest();
log << log2 << config.log_delimiter << logend;
ProcessRequestThrow();
SaveSessionsIfNeeded();
if( request.function )
request.function->Clear();
request.Clear();
system.load_avg.StopRequest();
log << logsave;
}
catch(const std::exception & e)
{
@ -259,27 +258,14 @@ void App::ProcessRequest()
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 )
break;
Lock();
// !! tu bedzie lock.WorkStart()
if( !synchro.was_stop_signal )
ProcessRequest();
system.load_avg.StartRequest();
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();
Unlock();
}
}
@ -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 "mounts.h"
#include "request.h"
#include "synchro.h"
#include "sessionmanager.h"
#include "notify.h"
#include "db/db.h"
#include "functions/functions.h"
#include "templates/templates.h"
#include "templatesnotify/templatesnotify.h"
#include "compress.h"
#include "htmlfilter.h"
#include "getparser.h"
@ -41,7 +40,6 @@
class App
{
public:
@ -55,7 +53,12 @@ public:
void Close();
void LogUserGroups();
bool Demonize();
void WasStopSignal();
void SetStopSignal();
bool WasStopSignal();
bool Lock();
void Unlock();
void StartThreads();
void WaitForThreads();
// configuration read from a config file
Config config;
@ -66,9 +69,6 @@ public:
// users sessions
SessionManager session_manager;
// notifications (by emails)
Notify notify;
// database
Db db;
DbConn db_conn;
@ -103,7 +103,6 @@ public:
*/
Templates templates;
TemplatesNotify templates_notify;
private:
@ -123,16 +122,18 @@ private:
Compress compress;
HTMLFilter html_filter;
std::wstring clean_html, html_with_debug;
volatile bool was_stop_signal;
FCGX_Request fcgi_request;
int fcgi_socket;
Synchro synchro;
pthread_t signal_thread;
std::string url_to_fetch_on_exit;
void ProcessRequestThrow();
void ProcessRequest();
bool BaseUrlRedirect();
void MakePage();
void Make();
void SaveSessionsIfNeeded(); // !! wywalic do managara sesji??
void SaveSessionsIfNeeded(); // !! wywalic do menagera sesji??
void LogAccess();
void ReadRequest();
@ -162,6 +163,9 @@ private:
void LogGroups();
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?
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_tmp_dir = Text(L"auth_tmp_dir");
templates_dir = Text(L"templates_dir");
templates_dir_default = Text(L"templates_dir_default");
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");
templates_dir = Text(L"templates_dir");
templates_dir_default = Text(L"templates_dir_default");
txt_templates_dir = Text(L"txt_templates_dir");
txt_templates_dir_default = Text(L"txt_templates_dir_default");
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);
http_session_id_name = AText(L"http_session_id_name");

View File

@ -84,7 +84,10 @@ public:
std::string fcgi_socket_group;
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
// default:

View File

@ -10,7 +10,6 @@
#include "dirs.h"
#include "error.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()
{
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 )
*pdir = 0;
@ -434,7 +439,6 @@ Error Dirs::AddDirectory(Item & item, bool add_to_dir_tab, Item ** pdir)
if( status == WINIX_ERR_OK )
{
request->notify_code |= WINIX_NOTIFY_DIR_ADD;
Item * d = AddDir(item);
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 )
*pdir = d;
if( notify_code )
notify->ItemChanged(notify_code, item);
}
return status;

View File

@ -19,6 +19,7 @@
#include "dircontainer.h"
#include "db/db.h"
#include "request.h"
#include "templatesnotify/notify.h"
// we do not support '..' in a path (for simplicity and security reasons)
@ -33,6 +34,7 @@ public:
void SetRequest(Request * prequest);
void SetDb(Db * pdb);
void SetNotify(Notify * pnotify);
// these methods return false if there is no such a dir
bool IsDir(long dir_id);
@ -65,12 +67,13 @@ public:
Item * CreateVarDir();
// !! 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:
Request * request;
Db * db;
Notify * notify;
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;
notify_code = 0;
browser_msie = false;
redirect_to.clear();
x_sendfile.clear();

View File

@ -35,10 +35,6 @@ struct Request
// it's used for some optimalizations e.g. in templates
size_t id;
//FCGX_Stream * in, * out, * err;
//FCGX_ParamArray env; // defined as 'char **'
// !! moze pozbyc sie tego none?
enum Method { get, post, head, none } method;
enum Role { responder, authorizer } role;
@ -95,9 +91,6 @@ struct Request
// request status
Error status;
// last notify
int notify_code;
// usually items in the current directory (depends on the function)
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 "misc.h"
#include "error.h"
#include "notify.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.SetRequest(request);
dirs.SetNotify(&notify);
dirs.ReadDirs();
mounts.SetDirs(&dirs);
@ -56,6 +60,13 @@ void System::Init()
rebus.SetRequest(request);
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 )
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
<< ", parent_id: " << item.parent_id << logend;
if( notify )
request->notify_code |= WINIX_NOTIFY_ITEM_ADD;
if( notify_code )
notify.ItemChanged(notify_code, item);
}
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 )
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;
if( notify )
request->notify_code |= WINIX_NOTIFY_ITEM_EDIT;
if( notify_code )
notify.ItemChanged(notify_code, item);
}

View File

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

View File

@ -22,7 +22,7 @@ struct User
std::vector<long> groups;
std::wstring email;
int cms_notify;
int cms_notify; // !! bedziemy tylko jedno notify wykorzystywac (zmienic nazwe na notify)
int thread_notify;
// !! 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;
}
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 )
{

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()
{
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
// to formularz edycji zmieni sie z 'dodaj' na 'edytuj'
request->item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask
request->status = system->AddFile(request->item);
request->status = system->AddFile(request->item, NotifyCodeAdd());
}
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 PostEmacsCheckAbuse(bool adding);
void PostFunEmacsModifyMountPoint(bool adding);
int NotifyCodeEdit();
int NotifyCodeAdd();
std::wstring old_url;
};

View File

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

View File

@ -17,7 +17,7 @@
#include "core/request.h"
#include "core/config.h"
#include "core/system.h"
#include "core/notify.h"
#include "templatesnotify/notify.h"
#include "utf8.h"
@ -52,7 +52,6 @@ public:
void SetSystem(System * psystem);
void SetFunctions(Functions * pfunctions);
void SetTemplates(Templates * ptemplates);
void SetNotify(Notify * pnotify);
protected:
@ -62,7 +61,6 @@ protected:
System * system;
Functions * functions;
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()
@ -138,7 +134,6 @@ void Functions::SetObjects(FunctionBase * fun)
fun->SetSystem(system);
fun->SetFunctions(this);
fun->SetTemplates(templates);
fun->SetNotify(notify);
}

View File

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

View File

@ -27,7 +27,8 @@ void Reload::FunReloadTemplates()
log << log1 << "Content: reloading html templates" << logend;
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_change = Changes
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_msg1 = We would like to inform you that
notify_msg2 = someone created a new thread:

View File

@ -248,10 +248,12 @@ uname_header = Nazwa systemu
# 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_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_msg1 = Chcielibyśmy powiadomić że właśnie
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/requesttypes.h ../core/session.h ../core/error.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: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h
main.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
main.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
main.o: ../core/notify.h ../templatesnotify/templatesnotify.h
main.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
main.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
main.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h ../core/mount.h
main.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
main.o: ../templates/locale.h ../core/confparser.h
main.o: ../templates/htmltextstream.h ../functions/functions.h
main.o: ../templates/htmltextstream.h ../templatesnotify/notify.h
main.o: ../templatesnotify/notifypool.h ../templates/locale.h
main.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
main.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
main.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
main.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
main.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
main.o: ../templatesnotify/notifythread.h ../core/basethread.h
main.o: ../core/synchro.h ../templatesnotify/templatesnotify.h
main.o: ../core/config.h ../core/users.h ../core/ugcontainer.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: ../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/chown.h ../functions/ckeditor.h ../functions/cp.h
main.o: ../functions/createthread.h ../functions/default.h

View File

@ -9,11 +9,8 @@
#include <cstdlib>
#include <ctime>
#include <signal.h>
#include <iostream>
#include <sys/param.h>
#include <cstdio>
#include <fetch.h>
#include "core/log.h"
#include "core/app.h"
@ -32,30 +29,6 @@ Plugin plugin;
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()
@ -78,7 +51,6 @@ int main(int argv, char ** argc)
app.system.system_start = time(0);
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 */
return 2;
@ -121,34 +93,10 @@ int main(int argv, char ** argc)
// because some of the plugins can init its own sessions dates
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() )
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 << "winix started" << logend << logsavenow;
@ -157,10 +105,20 @@ sigaction(SIGTERM, &act, &old_act);
// !! zrobic wyjatek dla root
//app.db.CheckAllUrlSubject();
app.StartThreads();
// now we have more threads, we should use Lock() and Unlock()
// main loop
app.Start();
app.Lock();
plugin.Call(WINIX_CLOSE);
app.Close();
app.Unlock();
app.WaitForThreads();
// now all others threads are terminated
log.PutDate(log1);
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/plugin.h ../../core/pluginmsg.h ../../core/request.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/users.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/groups.h ../../core/group.h
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/system.h
init.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h
init.o: ../../../ezc/src/ezc.h ../../../ezc/src/utf8.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../core/mount.h
init.o: ../../templates/misc.h ../../templates/localefilter.h
init.o: ../../templates/locale.h ../../core/confparser.h
init.o: ../../templates/htmltextstream.h ../../functions/functionparser.h
init.o: ../../functions/adduser.h ../../functions/cat.h
init.o: ../../functions/chmod.h ../../functions/privchanger.h
init.o: ../../functions/chown.h ../../functions/ckeditor.h
init.o: ../../functions/cp.h ../../functions/createthread.h
init.o: ../../functions/default.h ../../functions/download.h
init.o: ../../functions/emacs.h ../../functions/last.h
init.o: ../../functions/login.h ../../functions/logout.h ../../functions/ls.h
init.o: ../../functions/mkdir.h ../../functions/mv.h ../../functions/node.h
init.o: ../../functions/priv.h ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/run.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/funthread.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
init.o: ../../functions/functionparser.h ../../functions/adduser.h
init.o: ../../functions/cat.h ../../functions/chmod.h
init.o: ../../functions/privchanger.h ../../functions/chown.h
init.o: ../../functions/ckeditor.h ../../functions/cp.h
init.o: ../../functions/createthread.h ../../functions/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ls.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/node.h ../../functions/priv.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/run.h
init.o: ../../functions/stat.h ../../functions/subject.h
init.o: ../../functions/funthread.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
init.o: ../../functions/upload.h ../../functions/uptime.h
init.o: ../../functions/who.h ../../functions/vim.h ../../core/htmlfilter.h
init.o: ../../templates/templates.h ../../templates/patterncacher.h
init.o: ../../templates/ckeditorgetparser.h ../../core/httpsimpleparser.h
init.o: ../../core/log.h ../../templates/indexpatterns.h
init.o: ../../core/sessionmanager.h statssession.h ../../core/plugindata.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
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/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/thread.h ../../core/dircontainer.h
templates.o: ../../core/ugcontainer.h ../../core/mounts.h ../../core/mount.h
templates.o: ../../core/error.h ../../core/mountparser.h ../../core/users.h
templates.o: ../../core/user.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/groups.h
templates.o: ../../core/ugcontainer.h ../../templatesnotify/notify.h
templates.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
templates.o: ../../core/confparser.h ../../templates/misc.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/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/session.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../core/textstream.h
templates.o: ../../core/misc.h ../../templates/htmltextstream.h
templates.o: ../../core/config.h ../../core/system.h ../../core/notify.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: ../../core/system.h ../../functions/functionparser.h
templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../functions/chmod.h ../../functions/privchanger.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: ../../core/system.h ../../core/dirs.h
createticket.o: ../../core/dircontainer.h ../../core/request.h
createticket.o: ../../core/mounts.h ../../core/mount.h
createticket.o: ../../core/mountparser.h ../../core/users.h
createticket.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
createticket.o: ../../core/groups.h ../../core/group.h ../../core/loadavg.h
createticket.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h
createticket.o: ../../templatesnotify/notify.h
createticket.o: ../../templatesnotify/notifypool.h ../../templates/locale.h
createticket.o: ../../core/confparser.h ../../templates/misc.h
createticket.o: ../../templates/localefilter.h ../../templates/locale.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/functions.h ../../../ezc/src/funinfo.h
createticket.o: ../../../ezc/src/stringconv.h ../../core/mount.h
createticket.o: ../../templates/misc.h ../../templates/localefilter.h
createticket.o: ../../templates/locale.h ../../core/confparser.h
createticket.o: ../../templates/htmltextstream.h ../../core/log.h
createticket.o: ../../core/system.h ticketinfo.h ticketparser.h ticketconf.h
createticket.o: ../../../ezc/src/stringconv.h
createticket.o: ../../templates/htmltextstream.h
createticket.o: ../../templatesnotify/notifythread.h ../../core/basethread.h
createticket.o: ../../core/synchro.h ../../templatesnotify/templatesnotify.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/functionparser.h ../../functions/adduser.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: ../../core/thread.h ../../core/dircontainer.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/mountparser.h ../../core/config.h
editticket.o: ../../core/confparser.h ../../core/htmlfilter.h
editticket.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
editticket.o: ../../core/lastcontainer.h ../../core/groups.h
editticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
editticket.o: ../../core/users.h ../../core/groups.h ../../core/group.h
editticket.o: ../../core/rebus.h ../../core/loadavg.h
editticket.o: ../../functions/functionbase.h ../../core/request.h
editticket.o: ../../core/requesttypes.h ../../core/session.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/functionparser.h ../../functions/adduser.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: ../../core/thread.h ../../core/dircontainer.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/mountparser.h ../../core/config.h
funticket.o: ../../core/confparser.h ../../core/htmlfilter.h
funticket.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
funticket.o: ../../core/lastcontainer.h ../../core/groups.h
funticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
funticket.o: ../../core/users.h ../../core/groups.h ../../core/group.h
funticket.o: ../../core/rebus.h ../../core/loadavg.h
funticket.o: ../../functions/functionbase.h ../../core/request.h
funticket.o: ../../core/requesttypes.h ../../core/session.h
funticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h
funticket.o: ../../core/config.h ../../core/notify.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
funticket.o: ../../core/misc.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: ../../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: ../../db/dbitemquery.h ../../db/dbitemcolumns.h ../../core/user.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/mount.h ../../core/error.h ../../core/mountparser.h
init.o: ../../core/config.h ../../core/confparser.h ../../core/htmlfilter.h
init.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/groups.h ../../core/group.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: ../../core/ugcontainer.h ../../core/request.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: ../../core/mount.h ../../templates/misc.h
init.o: ../../templates/localefilter.h ../../templates/locale.h
init.o: ../../core/confparser.h ../../templates/htmltextstream.h
init.o: ../../core/log.h ../../core/system.h editticket.h createticket.h
init.o: ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../templates/htmltextstream.h ../../templatesnotify/notifythread.h
init.o: ../../core/basethread.h ../../core/synchro.h
init.o: ../../templatesnotify/templatesnotify.h ../../core/config.h
init.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.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: ../../functions/functions.h ../../functions/functionbase.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/dircontainer.h ../../core/ugcontainer.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: ../../core/mountparser.h ../../core/config.h
templates.o: ../../core/confparser.h ../../core/htmlfilter.h
templates.o: ../../templatesnotify/notify.h
templates.o: ../../templatesnotify/notifypool.h ../../templates/locale.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/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: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/textstream.h ../../core/misc.h ../../core/error.h
templates.o: editticket.h ../../functions/functionbase.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../core/session.h
templates.o: ../../core/plugindata.h ../../templates/htmltextstream.h
templates.o: ../../core/config.h ../../core/notify.h
templates.o: ../../templatesnotify/templatesnotify.h ../../core/mount.h
templates.o: ../../templates/misc.h ../../templates/localefilter.h
templates.o: ../../templates/locale.h ../../core/confparser.h
templates.o: ../../templates/htmltextstream.h ../../core/log.h
templates.o: ../../core/system.h createticket.h ../../core/misc.h
templates.o: ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../functions/functionparser.h ../../functions/adduser.h
templates.o: ../../functions/cat.h ../../functions/chmod.h
templates.o: ../../functions/privchanger.h ../../functions/chown.h
templates.o: ../../functions/ckeditor.h ../../functions/cp.h
templates.o: ../../functions/createthread.h ../../functions/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/last.h ../../functions/login.h
templates.o: ../../functions/logout.h ../../functions/ls.h
templates.o: ../../functions/mkdir.h ../../functions/mv.h
templates.o: ../../functions/node.h ../../functions/priv.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/run.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/funthread.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: ../../core/error.h editticket.h ../../functions/functionbase.h
templates.o: ../../core/request.h ../../core/requesttypes.h
templates.o: ../../core/session.h ../../core/plugindata.h
templates.o: ../../templates/htmltextstream.h createticket.h
templates.o: ../../core/misc.h ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../core/system.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../functions/functionparser.h
templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../functions/chmod.h ../../functions/privchanger.h
templates.o: ../../functions/chown.h ../../functions/ckeditor.h
templates.o: ../../functions/cp.h ../../functions/createthread.h
templates.o: ../../functions/default.h ../../functions/download.h
templates.o: ../../functions/emacs.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ls.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/node.h
templates.o: ../../functions/priv.h ../../functions/reload.h
templates.o: ../../functions/rm.h ../../functions/run.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/funthread.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h
templates.o: ../../templates/ckeditorgetparser.h
templates.o: ../../core/httpsimpleparser.h ../../core/log.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/ugcontainer.h ../../core/log.h
ticketinfo.o: ../../core/textstream.h ../../core/request.h
ticketinfo.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
ticketinfo.o: ../../core/mountparser.h ../../core/config.h
ticketinfo.o: ../../core/confparser.h ../../core/htmlfilter.h
ticketinfo.o: ../../templatesnotify/notify.h
ticketinfo.o: ../../templatesnotify/notifypool.h ../../templates/locale.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/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: tdb.h ../../db/dbbase.h ../../db/dbconn.h
ticketinfo.o: ../../db/dbtextstream.h ../../core/textstream.h
ticketinfo.o: ../../core/misc.h ../../core/error.h ../../core/log.h
ticketinfo.o: ../../db/dbtextstream.h ../../core/error.h ../../core/log.h
ticketinfo.o: ../../core/misc.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
adduser.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
adduser.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
adduser.o: indexpatterns.h ../core/config.h ../core/confparser.h
adduser.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
adduser.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
adduser.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
adduser.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h
adduser.o: ../core/error.h ../core/user.h ../core/plugindata.h
adduser.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h
adduser.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
adduser.o: ../core/request.h ../core/mounts.h ../core/mount.h
adduser.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h
adduser.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
adduser.o: ../core/loadavg.h ../core/sessionmanager.h
adduser.o: ../core/sessioncontainer.h ../core/system.h
adduser.o: ../core/textstream.h indexpatterns.h ../core/config.h
adduser.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h
adduser.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
adduser.o: ../core/log.h ../db/dbitemquery.h ../db/dbitemcolumns.h
adduser.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
adduser.o: ../core/ugcontainer.h ../core/request.h ../core/requesttypes.h
adduser.o: ../core/session.h ../core/error.h ../core/user.h
adduser.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
adduser.o: ../templates/htmltextstream.h ../core/system.h ../core/dirs.h
adduser.o: ../core/dircontainer.h ../core/request.h
adduser.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
adduser.o: ../templates/locale.h ../templates/misc.h
adduser.o: ../templatesnotify/notifythread.h ../core/basethread.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: ../../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/stringconv.h misc.h localefilter.h locale.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/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
dir.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h
dir.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
dir.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.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: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.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/user.h ../core/plugindata.h ../core/rebus.h ../core/config.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/mount.h ../core/mountparser.h ../core/users.h
dir.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
dir.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
dir.o: ../templatesnotify/notifypool.h ../templates/locale.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/sessioncontainer.h ../core/system.h ../core/misc.h
dir.o: ../functions/functions.h ../functions/functionbase.h ../core/notify.h
dir.o: ../templatesnotify/templatesnotify.h ../core/mount.h
dir.o: ../templates/misc.h ../functions/functionparser.h
dir.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
dir.o: ../functions/privchanger.h ../functions/chown.h
dir.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h
dir.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
dir.o: ../functions/last.h ../functions/login.h ../functions/logout.h
dir.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
dir.o: ../functions/node.h ../functions/priv.h ../functions/reload.h
dir.o: ../functions/rm.h ../functions/run.h ../functions/stat.h
dir.o: ../functions/subject.h ../functions/funthread.h
dir.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h
dir.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
dir.o: ../functions/vim.h ../core/htmlfilter.h
dir.o: ../functions/functions.h ../functions/functionbase.h
dir.o: ../functions/functionparser.h ../functions/adduser.h
dir.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
dir.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
dir.o: ../functions/createthread.h ../functions/default.h
dir.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
dir.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
dir.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
dir.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
dir.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
dir.o: ../functions/funthread.h ../functions/template.h
dir.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
dir.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
dir.o: ../core/htmlfilter.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/funinfo.h ../../ezc/src/functions.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/user.h ../core/log.h ../core/textstream.h patterncacher.h
doc.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
doc.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h
doc.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
doc.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.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: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.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/user.h ../core/plugindata.h ../core/rebus.h ../core/config.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/mount.h ../core/mountparser.h ../core/users.h
doc.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
doc.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
doc.o: ../templatesnotify/notifypool.h ../templates/locale.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/sessioncontainer.h ../core/system.h ../core/request.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/pattern.h ../../ezc/src/item.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: ../core/textstream.h
htmltextstream.o: ../../ezc/src/stringconv.h ../core/user.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/item.h ../../ezc/src/funinfo.h
indexpatterns.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
indexpatterns.o: localefilter.h locale.h ../core/confparser.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/confparser.h ../core/htmlfilter.h
indexpatterns.o: ../core/config.h ../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: ../../ezc/src/generator.h ../../ezc/src/pattern.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: 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 patterncacher.h ../core/item.h
item.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
item.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
item.o: indexpatterns.h ../core/config.h ../core/confparser.h
item.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
item.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
item.o: ../core/textstream.h indexpatterns.h ../core/config.h
item.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/misc.h ../core/bbcodeparser.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
last.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
last.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
last.o: indexpatterns.h ../core/config.h ../core/confparser.h
last.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
last.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
last.o: ../core/textstream.h indexpatterns.h ../core/config.h
last.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/lastcontainer.h ../core/request.h ../core/misc.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/stringconv.h misc.h localefilter.h locale.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/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
ls.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h
ls.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
ls.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.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: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.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/plugindata.h ../core/rebus.h ../core/config.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/mount.h ../core/mountparser.h ../core/users.h
ls.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
ls.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
ls.o: ../templatesnotify/notifypool.h ../templates/locale.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/sessioncontainer.h ../core/system.h ../core/request.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
misc.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
misc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
misc.o: indexpatterns.h ../core/config.h ../core/confparser.h
misc.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
misc.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
misc.o: ../core/textstream.h indexpatterns.h ../core/config.h
misc.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/misc.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
mount.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
mount.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
mount.o: indexpatterns.h ../core/config.h ../core/confparser.h
mount.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
mount.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
mount.o: ../core/textstream.h indexpatterns.h ../core/config.h
mount.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/misc.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/stringconv.h htmltextstream.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: ../../ezc/src/generator.h ../../ezc/src/pattern.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: 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 patterncacher.h ../core/item.h
priv.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
priv.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
priv.o: indexpatterns.h ../core/config.h ../core/confparser.h
priv.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
priv.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
priv.o: ../core/textstream.h indexpatterns.h ../core/config.h
priv.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/misc.h ../functions/functions.h ../functions/functionbase.h
priv.o: ../core/notify.h ../templatesnotify/templatesnotify.h ../core/mount.h
priv.o: ../templates/misc.h ../functions/functionparser.h
priv.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
priv.o: ../functions/privchanger.h ../functions/chown.h
priv.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h
priv.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
priv.o: ../functions/last.h ../functions/login.h ../functions/logout.h
priv.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
priv.o: ../functions/node.h ../functions/priv.h ../functions/reload.h
priv.o: ../functions/rm.h ../functions/run.h ../functions/stat.h
priv.o: ../functions/subject.h ../functions/funthread.h
priv.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h
priv.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
priv.o: ../functions/vim.h ../core/htmlfilter.h
priv.o: ../functions/functionparser.h ../functions/adduser.h
priv.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
priv.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
priv.o: ../functions/createthread.h ../functions/default.h
priv.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
priv.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
priv.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
priv.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
priv.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
priv.o: ../functions/funthread.h ../functions/template.h
priv.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
priv.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
priv.o: ../core/htmlfilter.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/pattern.h ../../ezc/src/item.h ../../ezc/src/funinfo.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: ../core/textstream.h ../core/user.h ../core/log.h
rebus.o: ../core/textstream.h patterncacher.h ../core/item.h
rebus.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
rebus.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
rebus.o: indexpatterns.h ../core/config.h ../core/confparser.h
rebus.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
rebus.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
rebus.o: ../core/textstream.h indexpatterns.h ../core/config.h
rebus.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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
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/item.h ../../ezc/src/funinfo.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: ../core/textstream.h ../core/user.h ../core/log.h
stat.o: ../core/textstream.h patterncacher.h ../core/item.h
stat.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
stat.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
stat.o: indexpatterns.h ../core/config.h ../core/confparser.h
stat.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
stat.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
stat.o: ../core/textstream.h indexpatterns.h ../core/config.h
stat.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/misc.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/stringconv.h misc.h localefilter.h locale.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/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
sys.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h
sys.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
sys.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.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: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.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/user.h ../core/plugindata.h ../core/rebus.h ../core/config.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/mount.h ../core/mountparser.h ../core/users.h
sys.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
sys.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
sys.o: ../templatesnotify/notifypool.h ../templates/locale.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/sessioncontainer.h ../core/system.h ../core/request.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
template.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
template.o: indexpatterns.h ../core/config.h ../core/confparser.h
template.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
template.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
template.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
template.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
template.o: ../core/request.h ../core/requesttypes.h ../core/session.h
template.o: ../core/error.h ../core/user.h ../core/plugindata.h
template.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h
template.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
template.o: ../core/request.h ../core/mounts.h ../core/mount.h
template.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h
template.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
template.o: ../core/textstream.h ../core/user.h patterncacher.h
template.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
template.o: ../core/log.h ../core/textstream.h indexpatterns.h
template.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
template.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
template.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
template.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
template.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
template.o: ../core/requesttypes.h ../core/session.h ../core/error.h
template.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
template.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
template.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
template.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
template.o: ../templates/locale.h ../templates/misc.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/sessioncontainer.h ../core/system.h ../core/misc.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
templates.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
templates.o: indexpatterns.h ../core/config.h ../core/confparser.h
templates.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
templates.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
templates.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/group.h
templates.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
templates.o: ../core/error.h ../core/user.h ../core/plugindata.h
templates.o: ../core/rebus.h ../core/config.h ../templates/htmltextstream.h
templates.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
templates.o: ../core/request.h ../core/mounts.h ../core/mount.h
templates.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h
templates.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
templates.o: ../core/textstream.h ../core/user.h patterncacher.h
templates.o: ../core/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
templates.o: ../core/log.h ../core/textstream.h indexpatterns.h
templates.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
templates.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
templates.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
templates.o: ../db/dbitemcolumns.h ../core/group.h ../core/thread.h
templates.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
templates.o: ../core/requesttypes.h ../core/session.h ../core/error.h
templates.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
templates.o: ../core/config.h ../templates/htmltextstream.h ../core/system.h
templates.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
templates.o: ../templatesnotify/notify.h ../templatesnotify/notifypool.h
templates.o: ../templates/locale.h ../templates/misc.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/sessioncontainer.h ../core/system.h ../core/misc.h
templates.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.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/cat.h ../functions/chmod.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
thread.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
thread.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
thread.o: indexpatterns.h ../core/config.h ../core/confparser.h
thread.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
thread.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
thread.o: ../core/textstream.h indexpatterns.h ../core/config.h
thread.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/system.h ../core/misc.h ../functions/functions.h
thread.o: ../functions/functionbase.h ../core/notify.h
thread.o: ../templatesnotify/templatesnotify.h ../core/mount.h
thread.o: ../templates/misc.h ../functions/functionparser.h
thread.o: ../functions/functionbase.h ../functions/functionparser.h
thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
thread.o: ../functions/privchanger.h ../functions/chown.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
upload.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
upload.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
upload.o: indexpatterns.h ../core/config.h ../core/confparser.h
upload.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
upload.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
upload.o: ../core/textstream.h indexpatterns.h ../core/config.h
upload.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/system.h ../core/request.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
uptime.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
uptime.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
uptime.o: indexpatterns.h ../core/config.h ../core/confparser.h
uptime.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
uptime.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
uptime.o: ../core/textstream.h indexpatterns.h ../core/config.h
uptime.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/system.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
user.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
user.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
user.o: indexpatterns.h ../core/config.h ../core/confparser.h
user.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
user.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
user.o: ../core/textstream.h indexpatterns.h ../core/config.h
user.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/request.h ../core/misc.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/stringconv.h misc.h localefilter.h locale.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/item.h ckeditorgetparser.h ../core/httpsimpleparser.h
who.o: ../core/log.h indexpatterns.h ../core/config.h ../core/confparser.h
who.o: ../core/user.h patterncacher.h ../core/item.h ckeditorgetparser.h
who.o: ../core/httpsimpleparser.h ../core/log.h ../core/textstream.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: ../db/dbtextstream.h ../core/error.h ../core/log.h ../db/dbitemquery.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/user.h ../core/plugindata.h ../core/rebus.h ../core/config.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/mount.h ../core/mountparser.h ../core/users.h
who.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
who.o: ../core/dircontainer.h ../core/request.h ../templatesnotify/notify.h
who.o: ../templatesnotify/notifypool.h ../templates/locale.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/sessioncontainer.h ../core/system.h ../core/misc.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/functions.h ../../ezc/src/stringconv.h misc.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 patterncacher.h ../core/item.h
winix.o: ../core/textstream.h ../core/user.h patterncacher.h ../core/item.h
winix.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
winix.o: indexpatterns.h ../core/config.h ../core/confparser.h
winix.o: ../core/htmlfilter.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
winix.o: ../db/dbtextstream.h ../core/error.h ../core/log.h
winix.o: ../core/textstream.h indexpatterns.h ../core/config.h
winix.o: ../core/confparser.h ../core/htmlfilter.h ../db/db.h ../db/dbbase.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: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.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/config.h ../templates/htmltextstream.h ../core/system.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/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/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h
winix.o: ../functions/functions.h ../functions/functionbase.h
winix.o: ../core/notify.h ../templatesnotify/templatesnotify.h
winix.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h
winix.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
winix.o: ../functions/privchanger.h ../functions/chown.h
winix.o: ../functions/ckeditor.h ../functions/cp.h
winix.o: ../functions/functionparser.h ../functions/adduser.h
winix.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
winix.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
winix.o: ../functions/createthread.h ../functions/default.h
winix.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
winix.o: ../functions/login.h ../functions/logout.h ../functions/ls.h

View File

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

View File

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

View File

@ -24,6 +24,7 @@
#include "core/request.h"
#include "core/system.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 Locale locale;
extern EzcFun ezc_functions;
extern LocaleFilter locale_filter;
extern CKEditorGetParser ckeditor_getparser;
extern Config * config;

View File

@ -1,34 +1,56 @@
# 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/item.h ../../ezc/src/funinfo.h
notify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
notify.o: ../core/mount.h ../core/config.h ../core/confparser.h
notify.o: ../core/htmlfilter.h ../core/textstream.h ../core/misc.h
notify.o: ../templates/misc.h ../templates/localefilter.h
notify.o: ../templates/locale.h ../core/confparser.h
notify.o: ../templates/htmltextstream.h ../core/user.h ../core/log.h
notify.o: ../core/textstream.h ../core/notify.h
notify.o: ../templatesnotify/templatesnotify.h ../core/request.h
notify.o: ../templates/htmltextstream.h ../core/textstream.h ../core/misc.h
notify.o: ../core/user.h notifythread.h ../core/basethread.h
notify.o: ../core/synchro.h templatesnotify.h ../core/config.h
notify.o: ../core/confparser.h ../core/htmlfilter.h ../core/users.h
notify.o: ../core/user.h ../core/ugcontainer.h ../core/log.h
notify.o: ../core/textstream.h ../core/lastcontainer.h ../core/request.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/config.h ../templates/htmltextstream.h ../core/system.h
notify.o: ../core/dirs.h ../core/dircontainer.h ../db/db.h ../db/dbbase.h
notify.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
notify.o: ../templates/htmltextstream.h ../db/db.h ../db/dbbase.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: ../core/group.h ../core/thread.h ../core/dircontainer.h
notify.o: ../core/ugcontainer.h ../core/mounts.h ../core/mount.h
notify.o: ../core/mountparser.h ../core/users.h ../core/ugcontainer.h
notify.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
notify.o: ../core/loadavg.h
notify.o: ../core/ugcontainer.h ../templates/templates.h
notify.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
notify.o: ../core/httpsimpleparser.h ../core/log.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: ../../ezc/src/generator.h ../../ezc/src/pattern.h
templatesnotify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.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/htmlfilter.h ../core/textstream.h ../core/misc.h
templatesnotify.o: ../templates/misc.h ../templates/localefilter.h
templatesnotify.o: ../core/textstream.h ../core/misc.h notifypool.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 "core/misc.h"
#include "core/log.h"
#include "core/textstream.h"
#include "templates/locale.h"
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)
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
@ -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
#define headerfilecmslutemplatestemplatesnotify
#ifndef headerfile_winix_notify_templatesnotify
#define headerfile_winix_notify_templatesnotify
#include <iomanip>
#include <set>
#include <string>
#include "ezc.h"
#include "core/mount.h"
#include "core/config.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
{
extern int mount_type_cms;
extern int mount_type_thread;
extern int mount_type_ticket;
typedef TextStream<std::wstring> NotifyStream;
typedef Ezc::FunInfo<NotifyStream> Info;
typedef Ezc::FunInfo<TextStream<std::wstring> > Info;
enum Pat {
pat_email_notify = 0, // first should be zero
extern NotifyUserMsg notify_user_msg;
extern NotifyMsg notify_msg;
pat_last // should be last
};
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();
extern Ezc::Functions<NotifyStream> ezc_functions;
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

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