diff --git a/winixd/Makefile.dep b/winixd/Makefile.dep
index 2e7ee51..5d9dcd8 100644
--- a/winixd/Makefile.dep
+++ b/winixd/Makefile.dep
@@ -1 +1 @@
-winix.src.files = ./core/acceptbaseparser.cpp ./core/acceptbaseparser.h ./core/acceptencodingparser.h ./core/app.cpp ./core/app.h ./core/basethread.cpp ./core/basethread.h ./core/bbcodeparser.cpp ./core/bbcodeparser.h ./core/compress.cpp ./core/compress.h ./core/config.cpp ./core/config.h ./core/cookieparser.h ./core/crypt.cpp ./core/crypt.h ./core/cur.h ./core/dircontainer.cpp ./core/dircontainer.h ./core/dirs.cpp ./core/dirs.h ./core/error.h ./core/filelog.cpp ./core/filelog.h ./core/groups.cpp ./core/groups.h ./core/htmlfilter.cpp ./core/htmlfilter.h ./core/httpsimpleparser.cpp ./core/httpsimpleparser.h ./core/image.cpp ./core/image.h ./core/ipban.h ./core/ipbancontainer.cpp ./core/ipbancontainer.h ./core/job.cpp ./core/job.h ./core/lastcontainer.cpp ./core/lastcontainer.h ./core/loadavg.cpp ./core/loadavg.h ./core/lock.h ./core/lock.cpp ./core/log.cpp ./core/log.h ./core/logmanipulators.h ./core/misc.cpp ./core/misc.h ./core/mount.cpp ./core/mount.h ./core/mountparser.cpp ./core/mountparser.h ./core/mounts.cpp ./core/mounts.h ./core/plugin.cpp ./core/plugin.h ./core/plugindata.cpp ./core/plugindata.h ./core/pluginmsg.h ./core/postmultiparser.cpp ./core/postmultiparser.h ./core/postparser.h ./core/rebus.cpp ./core/rebus.h ./core/request.cpp ./core/request.h ./core/requesttypes.h ./core/run.cpp ./core/run.h ./core/session.cpp ./core/session.h ./core/sessioncontainer.cpp ./core/sessioncontainer.h ./core/sessionidmanager.cpp ./core/sessionidmanager.h ./core/sessionmanager.cpp ./core/sessionmanager.h ./core/sessionparser.cpp ./core/sessionparser.h ./core/slog.cpp ./core/slog.h ./core/synchro.cpp ./core/synchro.h ./core/system.cpp ./core/system.h ./core/textstream.h ./core/threadmanager.cpp ./core/timezone.h ./core/threadmanager.h ./core/timezone.cpp ./core/timezones.cpp ./core/timezones.h ./core/ugcontainer.h ./core/users.cpp ./core/users.h ./core/version.h ./core/winix_const.h ./core/winixbase.cpp ./core/winixbase.h ./core/winixmodeldeprecated.cpp ./core/winixrequest.cpp ./core/winixrequest.h ./core/winixsystem.cpp ./core/winixsystem.h ./core/winixmodeldeprecated.h ./db/db.cpp ./db/db.h ./db/dbbase.cpp ./db/dbbase.h ./db/dbconn.cpp ./db/dbconn.h ./db/dbtextstream.cpp ./db/dbtextstream.h ./functions/account.cpp ./functions/account.h ./functions/adduser.cpp ./functions/adduser.h ./functions/cat.cpp ./functions/cat.h ./functions/chmod.cpp ./functions/chmod.h ./functions/chown.cpp ./functions/chown.h ./functions/ckeditor.cpp ./functions/ckeditor.h ./functions/cp.cpp ./functions/cp.h ./functions/default.cpp ./functions/default.h ./functions/download.cpp ./functions/download.h ./functions/emacs.cpp ./functions/emacs.h ./functions/env.cpp ./functions/env.h ./functions/functionbase.cpp ./functions/functionbase.h ./functions/functionparser.cpp ./functions/functionparser.h ./functions/functions.cpp ./functions/functions.h ./functions/imgcrop.cpp ./functions/imgcrop.h ./functions/ipban.cpp ./functions/ipban.h ./functions/last.cpp ./functions/last.h ./functions/ln.cpp ./functions/ln.h ./functions/locale.cpp ./functions/locale.h ./functions/login.cpp ./functions/login.h ./functions/logout.cpp ./functions/logout.h ./functions/ls.cpp ./functions/ls.h ./functions/man.cpp ./functions/man.h ./functions/meta.cpp ./functions/meta.h ./functions/mkdir.cpp ./functions/mkdir.h ./functions/mount.cpp ./functions/mount.h ./functions/mv.cpp ./functions/mv.h ./functions/nicedit.cpp ./functions/nicedit.h ./functions/node.cpp ./functions/node.h ./functions/passwd.cpp ./functions/passwd.h ./functions/priv.cpp ./functions/priv.h ./functions/privchanger.cpp ./functions/privchanger.h ./functions/pw.cpp ./functions/pw.h ./functions/reload.cpp ./functions/reload.h ./functions/rm.cpp ./functions/rm.h ./functions/rmuser.cpp ./functions/rmuser.h ./functions/run.cpp ./functions/run.h ./functions/sort.cpp ./functions/sort.h ./functions/specialdefault.cpp ./functions/specialdefault.h ./functions/stat.cpp ./functions/stat.h ./functions/subject.cpp ./functions/subject.h ./functions/template.cpp ./functions/template.h ./functions/timezone.cpp ./functions/timezone.h ./functions/tinymce.cpp ./functions/tinymce.h ./functions/uname.cpp ./functions/uname.h ./functions/upload.cpp ./functions/upload.h ./functions/uptime.cpp ./functions/uptime.h ./functions/vim.cpp ./functions/vim.h ./functions/who.cpp ./functions/who.h ./main/main.cpp ./models/group.cpp ./models/group.h ./models/item.cpp ./models/item.h ./models/itemcontent.cpp ./models/itemcontent.h ./models/migration.cpp ./models/migration.h ./models/user.cpp ./models/user.h ./models/winixmodel.cpp ./models/winixmodel.h ./models/winixmodelconnector.cpp ./models/winixmodelconnector.h ./models/userwrapper.h ./notify/notify.cpp ./notify/notify.h ./notify/notifypool.cpp ./notify/notifypool.h ./notify/notifythread.cpp ./notify/notifythread.h ./notify/templatesnotify.cpp ./notify/templatesnotify.h ./plugins/export/edb.cpp ./plugins/export/edb.h ./plugins/export/export.h ./plugins/export/exportinfo.cpp ./plugins/export/exportinfo.h ./plugins/export/exportthread.cpp ./plugins/export/exportthread.h ./plugins/export/funexport.cpp ./plugins/export/funexport.h ./plugins/export/init.cpp ./plugins/export/message.h ./plugins/gallery/gallery.cpp ./plugins/gallery/gallery.h ./plugins/gallery/galleryinfo.cpp ./plugins/gallery/galleryinfo.h ./plugins/gallery/init.cpp ./plugins/gallery/templates.cpp ./plugins/group/groupinfo.cpp ./plugins/group/groupinfo.h ./plugins/group/groups.cpp ./plugins/group/groups.h ./plugins/group/init.cpp ./plugins/group/templates.cpp ./plugins/mailregister/funregistermail.cpp ./plugins/mailregister/funregistermail.h ./plugins/mailregister/funregistermail_showusers.cpp ./plugins/mailregister/funregistermail_showusers.h ./plugins/mailregister/init.cpp ./plugins/mailregister/mdb.cpp ./plugins/mailregister/mdb.h ./plugins/mailregister/registermail_info.cpp ./plugins/mailregister/registermail_info.h ./plugins/mailregister/templates.cpp ./plugins/menu/cache.cpp ./plugins/menu/cache.h ./plugins/menu/init.cpp ./plugins/menu/templates.cpp ./plugins/seo/init.cpp ./plugins/seo/seo.cpp ./plugins/seo/seo.h ./plugins/stats/bot.cpp ./plugins/stats/bot.h ./plugins/stats/init.cpp ./plugins/stats/stats.cpp ./plugins/stats/stats.h ./plugins/stats/statssession.h ./plugins/stats/templates.cpp ./plugins/stats/templates.h ./plugins/thread/createthread.cpp ./plugins/thread/createthread.h ./plugins/thread/funthread.cpp ./plugins/thread/funthread.h ./plugins/thread/init.cpp ./plugins/thread/pluginmsg.h ./plugins/thread/reply.cpp ./plugins/thread/reply.h ./plugins/thread/showthreads.cpp ./plugins/thread/showthreads.h ./plugins/thread/tdb.cpp ./plugins/thread/tdb.h ./plugins/thread/templates.cpp ./plugins/thread/templates.h ./plugins/thread/thread.cpp ./plugins/thread/thread.h ./plugins/thread/threadfiles.cpp ./plugins/thread/threadfiles.h ./plugins/thread/threadinfo.cpp ./plugins/thread/threadinfo.h ./plugins/ticket/createticket.cpp ./plugins/ticket/createticket.h ./plugins/ticket/editticket.cpp ./plugins/ticket/editticket.h ./plugins/ticket/funticket.cpp ./plugins/ticket/funticket.h ./plugins/ticket/init.cpp ./plugins/ticket/pluginmsg.h ./plugins/ticket/sessiondata.cpp ./plugins/ticket/sessiondata.h ./plugins/ticket/showtickets.cpp ./plugins/ticket/showtickets.h ./plugins/ticket/tdb.cpp ./plugins/ticket/tdb.h ./plugins/ticket/templates.cpp ./plugins/ticket/ticket.h ./plugins/ticket/ticketinfo.cpp ./plugins/ticket/ticketinfo.h ./templates/adduser.cpp ./templates/antispam.cpp ./templates/changepatterns.cpp ./templates/changepatterns.h ./templates/config.cpp ./templates/currentdate.cpp ./templates/dir.cpp ./templates/doc.cpp ./templates/filters.cpp ./templates/generic.cpp ./templates/htmltextstream.cpp ./templates/htmltextstream.h ./templates/indexpatterns.cpp ./templates/indexpatterns.h ./templates/insert.cpp ./templates/ipban.cpp ./templates/item.cpp ./templates/last.cpp ./templates/locale.cpp ./templates/locale.h ./templates/localefilter.cpp ./templates/localefilter.h ./templates/login.cpp ./templates/ls.cpp ./templates/man.cpp ./templates/misc.cpp ./templates/misc.h ./templates/mount.cpp ./templates/passwd.cpp ./templates/patterncacher.cpp ./templates/patterncacher.h ./templates/patterns.cpp ./templates/patterns.h ./templates/priv.cpp ./templates/rebus.cpp ./templates/server.cpp ./templates/slog.cpp ./templates/stat.cpp ./templates/sys.cpp ./templates/template.cpp ./templates/templates.cpp ./templates/templates.h ./templates/textextstream.cpp ./templates/textextstream.h ./templates/upload.cpp ./templates/uptime.cpp ./templates/user.cpp ./templates/who.cpp ./templates/winix.cpp ../../ezc/src/blocks.cpp ../../ezc/src/blocks.h ../../ezc/src/cache.cpp ../../ezc/src/cache.h ../../ezc/src/expressionparser.h ../../ezc/src/ezc.h ../../ezc/src/functions.h ../../ezc/src/funinfo.h ../../ezc/src/generator.h ../../ezc/src/item.cpp ../../ezc/src/item.h ../../ezc/src/objects.h ../../ezc/src/outstreams.h ../../ezc/src/pattern.cpp ../../ezc/src/pattern.h ../../ezc/src/patternparser.cpp ../../ezc/src/patternparser.h ../../ezc/src/models.cpp ../../ezc/src/models.h ../../tito/src/aes.cpp ../../tito/src/aes.h ../../tito/src/base32.cpp ../../tito/src/base32.h ../../tito/src/base64.cpp ../../tito/src/base64.h ../../tito/src/crypto.cpp ../../tito/src/crypto.h ../../tito/src/misc.cpp ../../tito/src/misc.h ../../pikotools/src/convert/inttostr.cpp ../../pikotools/src/convert/inttostr.h ../../pikotools/src/convert/convert.h ../../pikotools/src/convert/misc.cpp ../../pikotools/src/convert/misc.h ../../pikotools/src/convert/patternreplacer.h ../../pikotools/src/convert/strtoint.h ../../pikotools/src/convert/text.cpp ../../pikotools/src/convert/text.h ../../pikotools/src/convert/text_private.h ../../pikotools/src/convert/double.cpp ../../pikotools/src/convert/double.h ../../pikotools/src/date/date.cpp ../../pikotools/src/date/date.h ../../pikotools/src/log/filelog.cpp ../../pikotools/src/log/filelog.h ../../pikotools/src/log/log.cpp ../../pikotools/src/log/log.h ../../pikotools/src/membuffer/membuffer.h ../../pikotools/src/space/space.cpp ../../pikotools/src/space/space.h ../../pikotools/src/space/spaceparser.cpp ../../pikotools/src/space/spaceparser.h ../../pikotools/src/textstream/textstream.h ../../pikotools/src/textstream/types.h ../../pikotools/src/textstream/stream.h ../../pikotools/src/utf8/utf8.cpp ../../pikotools/src/utf8/utf8.h ../../pikotools/src/utf8/utf8_private.cpp ../../pikotools/src/utf8/utf8_private.h ../../pikotools/src/utf8/utf8_templates.h ../../pikotools/src/csv/csvparser.h ../../pikotools/src/csv/csvparser.cpp ../../pikotools/src/mainoptions/mainoptionsparser.h ../../pikotools/src/mainoptions/mainoptionsparser.cpp ../../morm/src/baseexpression.cpp ../../morm/src/baseexpression.h ../../morm/src/clearer.cpp ../../morm/src/clearer.h ../../morm/src/cursor.h ../../morm/src/cursorhelper.h ../../morm/src/dbconnector.cpp ../../morm/src/dbconnector.h ../../morm/src/dbexpression.cpp ../../morm/src/dbexpression.h ../../morm/src/fieldvaluehelper.h ../../morm/src/finder.h ../../morm/src/finderhelper.h ../../morm/src/flatconnector.cpp ../../morm/src/flatconnector.h ../../morm/src/flatexpression.cpp ../../morm/src/flatexpression.h ../../morm/src/jsonconnector.cpp ../../morm/src/jsonconnector.h ../../morm/src/jsonexpression.cpp ../../morm/src/jsonexpression.h ../../morm/src/model.cpp ../../morm/src/model.h ../../morm/src/modelconnector.cpp ../../morm/src/modelconnector.h ../../morm/src/modeldata.h ../../morm/src/modelenv.h ../../morm/src/morm.h ../../morm/src/morm_types.h ../../morm/src/outstream.h ../../morm/src/postgresqlconnector.cpp ../../morm/src/postgresqlconnector.h ../../morm/src/postgresqlexpression.cpp ../../morm/src/postgresqlexpression.h ../../morm/src/postgresqlqueryresult.cpp ../../morm/src/postgresqlqueryresult.h ../../morm/src/queryresult.cpp ../../morm/src/queryresult.h ../../morm/src/ft.h ../../morm/src/wrapper.h ../../morm/src/spacewrapper.h ../../morm/src/modelcontainerwrapper.h ../../morm/src/baseobjectwrapper.h
\ No newline at end of file
+winix.src.files = ./core/acceptbaseparser.cpp ./core/acceptbaseparser.h ./core/acceptencodingparser.h ./core/app.cpp ./core/app.h ./core/basethread.cpp ./core/basethread.h ./core/bbcodeparser.cpp ./core/bbcodeparser.h ./core/compress.cpp ./core/compress.h ./core/config.cpp ./core/config.h ./core/cookieparser.h ./core/crypt.cpp ./core/crypt.h ./core/cur.h ./core/dircontainer.cpp ./core/dircontainer.h ./core/dirs.cpp ./core/dirs.h ./core/error.h ./core/filelog.cpp ./core/filelog.h ./core/groups.cpp ./core/groups.h ./core/htmlfilter.cpp ./core/htmlfilter.h ./core/httpsimpleparser.cpp ./core/httpsimpleparser.h ./core/image.cpp ./core/image.h ./core/ipban.h ./core/ipbancontainer.cpp ./core/ipbancontainer.h ./core/job.cpp ./core/job.h ./core/lastcontainer.cpp ./core/lastcontainer.h ./core/loadavg.cpp ./core/loadavg.h ./core/lock.h ./core/lock.cpp ./core/log.cpp ./core/log.h ./core/logmanipulators.h ./core/misc.cpp ./core/misc.h ./core/mount.cpp ./core/mount.h ./core/mountparser.cpp ./core/mountparser.h ./core/mounts.cpp ./core/mounts.h ./core/plugin.cpp ./core/plugin.h ./core/plugindata.cpp ./core/plugindata.h ./core/pluginmsg.h ./core/postmultiparser.cpp ./core/postmultiparser.h ./core/postparser.h ./core/rebus.cpp ./core/rebus.h ./core/request.cpp ./core/request.h ./core/requesttypes.h ./core/run.cpp ./core/run.h ./core/session.cpp ./core/session.h ./core/sessioncontainer.cpp ./core/sessioncontainer.h ./core/sessionidmanager.cpp ./core/sessionidmanager.h ./core/sessionmanager.cpp ./core/sessionmanager.h ./core/sessionparser.cpp ./core/sessionparser.h ./core/slog.cpp ./core/slog.h ./core/synchro.cpp ./core/synchro.h ./core/system.cpp ./core/system.h ./core/textstream.h ./core/threadmanager.cpp ./core/timezone.h ./core/threadmanager.h ./core/timezone.cpp ./core/timezones.cpp ./core/timezones.h ./core/ugcontainer.h ./core/users.cpp ./core/users.h ./core/version.h ./core/winix_const.h ./core/winixbase.cpp ./core/winixbase.h ./core/winixmodeldeprecated.cpp ./core/winixrequest.cpp ./core/winixrequest.h ./core/winixsystem.cpp ./core/winixsystem.h ./core/winixmodeldeprecated.h ./db/db.cpp ./db/db.h ./db/dbbase.cpp ./db/dbbase.h ./db/dbconn.cpp ./db/dbconn.h ./db/dbtextstream.cpp ./db/dbtextstream.h ./functions/account.cpp ./functions/account.h ./functions/adduser.cpp ./functions/adduser.h ./functions/cat.cpp ./functions/cat.h ./functions/chmod.cpp ./functions/chmod.h ./functions/chown.cpp ./functions/chown.h ./functions/ckeditor.cpp ./functions/ckeditor.h ./functions/cp.cpp ./functions/cp.h ./functions/default.cpp ./functions/default.h ./functions/download.cpp ./functions/download.h ./functions/emacs.cpp ./functions/emacs.h ./functions/env.cpp ./functions/env.h ./functions/functionbase.cpp ./functions/functionbase.h ./functions/functionparser.cpp ./functions/functionparser.h ./functions/functions.cpp ./functions/functions.h ./functions/imgcrop.cpp ./functions/imgcrop.h ./functions/ipban.cpp ./functions/ipban.h ./functions/last.cpp ./functions/last.h ./functions/ln.cpp ./functions/ln.h ./functions/locale.cpp ./functions/locale.h ./functions/login.cpp ./functions/login.h ./functions/logout.cpp ./functions/logout.h ./functions/ls.cpp ./functions/ls.h ./functions/man.cpp ./functions/man.h ./functions/meta.cpp ./functions/meta.h ./functions/mkdir.cpp ./functions/mkdir.h ./functions/mount.cpp ./functions/mount.h ./functions/mv.cpp ./functions/mv.h ./functions/nicedit.cpp ./functions/nicedit.h ./functions/node.cpp ./functions/node.h ./functions/passwd.cpp ./functions/passwd.h ./functions/priv.cpp ./functions/priv.h ./functions/privchanger.cpp ./functions/privchanger.h ./functions/pw.cpp ./functions/pw.h ./functions/reload.cpp ./functions/reload.h ./functions/rm.cpp ./functions/rm.h ./functions/rmuser.cpp ./functions/rmuser.h ./functions/run.cpp ./functions/run.h ./functions/sort.cpp ./functions/sort.h ./functions/specialdefault.cpp ./functions/specialdefault.h ./functions/stat.cpp ./functions/stat.h ./functions/subject.cpp ./functions/subject.h ./functions/template.cpp ./functions/template.h ./functions/timezone.cpp ./functions/timezone.h ./functions/tinymce.cpp ./functions/tinymce.h ./functions/uname.cpp ./functions/uname.h ./functions/upload.cpp ./functions/upload.h ./functions/uptime.cpp ./functions/uptime.h ./functions/vim.cpp ./functions/vim.h ./functions/who.cpp ./functions/who.h ./main/main.cpp ./models/group.cpp ./models/group.h ./models/item.cpp ./models/item.h ./models/itemcontent.cpp ./models/itemcontent.h ./models/migration.cpp ./models/migration.h ./models/user.cpp ./models/user.h ./models/winixmodel.cpp ./models/winixmodel.h ./models/winixmodelconnector.cpp ./models/winixmodelconnector.h ./models/userwrapper.h ./notify/notify.cpp ./notify/notify.h ./notify/notifypool.cpp ./notify/notifypool.h ./notify/notifythread.cpp ./notify/notifythread.h ./notify/templatesnotify.cpp ./notify/templatesnotify.h ./plugins/export/edb.cpp ./plugins/export/edb.h ./plugins/export/export.h ./plugins/export/exportinfo.cpp ./plugins/export/exportinfo.h ./plugins/export/exportthread.cpp ./plugins/export/exportthread.h ./plugins/export/funexport.cpp ./plugins/export/funexport.h ./plugins/export/init.cpp ./plugins/export/message.h ./plugins/gallery/gallery.cpp ./plugins/gallery/gallery.h ./plugins/gallery/galleryinfo.cpp ./plugins/gallery/galleryinfo.h ./plugins/gallery/init.cpp ./plugins/gallery/templates.cpp ./plugins/group/groupinfo.cpp ./plugins/group/groupinfo.h ./plugins/group/groups.cpp ./plugins/group/groups.h ./plugins/group/init.cpp ./plugins/group/templates.cpp ./plugins/mailregister/funregistermail.cpp ./plugins/mailregister/funregistermail.h ./plugins/mailregister/funregistermail_showusers.cpp ./plugins/mailregister/funregistermail_showusers.h ./plugins/mailregister/init.cpp ./plugins/mailregister/mdb.cpp ./plugins/mailregister/mdb.h ./plugins/mailregister/registermail_info.cpp ./plugins/mailregister/registermail_info.h ./plugins/mailregister/templates.cpp ./plugins/menu/cache.cpp ./plugins/menu/cache.h ./plugins/menu/init.cpp ./plugins/menu/templates.cpp ./plugins/seo/init.cpp ./plugins/seo/seo.cpp ./plugins/seo/seo.h ./plugins/stats/bot.cpp ./plugins/stats/bot.h ./plugins/stats/init.cpp ./plugins/stats/stats.cpp ./plugins/stats/stats.h ./plugins/stats/statssession.h ./plugins/stats/templates.cpp ./plugins/stats/templates.h ./plugins/thread/createthread.cpp ./plugins/thread/createthread.h ./plugins/thread/funthread.cpp ./plugins/thread/funthread.h ./plugins/thread/init.cpp ./plugins/thread/pluginmsg.h ./plugins/thread/reply.cpp ./plugins/thread/reply.h ./plugins/thread/showthreads.cpp ./plugins/thread/showthreads.h ./plugins/thread/tdb.cpp ./plugins/thread/tdb.h ./plugins/thread/templates.cpp ./plugins/thread/templates.h ./plugins/thread/thread.cpp ./plugins/thread/thread.h ./plugins/thread/threadfiles.cpp ./plugins/thread/threadfiles.h ./plugins/thread/threadinfo.cpp ./plugins/thread/threadinfo.h ./plugins/ticket/createticket.cpp ./plugins/ticket/createticket.h ./plugins/ticket/editticket.cpp ./plugins/ticket/editticket.h ./plugins/ticket/funticket.cpp ./plugins/ticket/funticket.h ./plugins/ticket/init.cpp ./plugins/ticket/pluginmsg.h ./plugins/ticket/sessiondata.cpp ./plugins/ticket/sessiondata.h ./plugins/ticket/showtickets.cpp ./plugins/ticket/showtickets.h ./plugins/ticket/tdb.cpp ./plugins/ticket/tdb.h ./plugins/ticket/templates.cpp ./plugins/ticket/ticket.h ./plugins/ticket/ticketinfo.cpp ./plugins/ticket/ticketinfo.h ./templates/adduser.cpp ./templates/antispam.cpp ./templates/changepatterns.cpp ./templates/changepatterns.h ./templates/config.cpp ./templates/currentdate.cpp ./templates/dir.cpp ./templates/doc.cpp ./templates/filters.cpp ./templates/generic.cpp ./templates/htmltextstream.cpp ./templates/htmltextstream.h ./templates/indexpatterns.cpp ./templates/indexpatterns.h ./templates/insert.cpp ./templates/ipban.cpp ./templates/last.cpp ./templates/locale.cpp ./templates/locale.h ./templates/localefilter.cpp ./templates/localefilter.h ./templates/login.cpp ./templates/ls.cpp ./templates/man.cpp ./templates/misc.cpp ./templates/misc.h ./templates/mount.cpp ./templates/passwd.cpp ./templates/patterncacher.cpp ./templates/patterncacher.h ./templates/patterns.cpp ./templates/patterns.h ./templates/priv.cpp ./templates/rebus.cpp ./templates/server.cpp ./templates/slog.cpp ./templates/stat.cpp ./templates/sys.cpp ./templates/template.cpp ./templates/templates.cpp ./templates/templates.h ./templates/textextstream.cpp ./templates/textextstream.h ./templates/upload.cpp ./templates/uptime.cpp ./templates/user.cpp ./templates/who.cpp ./templates/winix.cpp ../../ezc/src/blocks.cpp ../../ezc/src/blocks.h ../../ezc/src/cache.cpp ../../ezc/src/cache.h ../../ezc/src/expressionparser.h ../../ezc/src/ezc.h ../../ezc/src/functions.h ../../ezc/src/funinfo.h ../../ezc/src/generator.h ../../ezc/src/item.cpp ../../ezc/src/item.h ../../ezc/src/objects.h ../../ezc/src/outstreams.h ../../ezc/src/pattern.cpp ../../ezc/src/pattern.h ../../ezc/src/patternparser.cpp ../../ezc/src/patternparser.h ../../ezc/src/models.cpp ../../ezc/src/models.h ../../tito/src/aes.cpp ../../tito/src/aes.h ../../tito/src/base32.cpp ../../tito/src/base32.h ../../tito/src/base64.cpp ../../tito/src/base64.h ../../tito/src/crypto.cpp ../../tito/src/crypto.h ../../tito/src/misc.cpp ../../tito/src/misc.h ../../pikotools/src/convert/inttostr.cpp ../../pikotools/src/convert/inttostr.h ../../pikotools/src/convert/convert.h ../../pikotools/src/convert/misc.cpp ../../pikotools/src/convert/misc.h ../../pikotools/src/convert/patternreplacer.h ../../pikotools/src/convert/strtoint.h ../../pikotools/src/convert/text.cpp ../../pikotools/src/convert/text.h ../../pikotools/src/convert/text_private.h ../../pikotools/src/convert/double.cpp ../../pikotools/src/convert/double.h ../../pikotools/src/date/date.cpp ../../pikotools/src/date/date.h ../../pikotools/src/log/filelog.cpp ../../pikotools/src/log/filelog.h ../../pikotools/src/log/log.cpp ../../pikotools/src/log/log.h ../../pikotools/src/membuffer/membuffer.h ../../pikotools/src/space/space.cpp ../../pikotools/src/space/space.h ../../pikotools/src/space/spaceparser.cpp ../../pikotools/src/space/spaceparser.h ../../pikotools/src/textstream/textstream.h ../../pikotools/src/textstream/types.h ../../pikotools/src/textstream/stream.h ../../pikotools/src/utf8/utf8.cpp ../../pikotools/src/utf8/utf8.h ../../pikotools/src/utf8/utf8_private.cpp ../../pikotools/src/utf8/utf8_private.h ../../pikotools/src/utf8/utf8_templates.h ../../pikotools/src/csv/csvparser.h ../../pikotools/src/csv/csvparser.cpp ../../pikotools/src/mainoptions/mainoptionsparser.h ../../pikotools/src/mainoptions/mainoptionsparser.cpp ../../morm/src/baseexpression.cpp ../../morm/src/baseexpression.h ../../morm/src/clearer.cpp ../../morm/src/clearer.h ../../morm/src/cursor.h ../../morm/src/cursorhelper.h ../../morm/src/dbconnector.cpp ../../morm/src/dbconnector.h ../../morm/src/dbexpression.cpp ../../morm/src/dbexpression.h ../../morm/src/fieldvaluehelper.h ../../morm/src/finder.h ../../morm/src/finderhelper.h ../../morm/src/flatconnector.cpp ../../morm/src/flatconnector.h ../../morm/src/flatexpression.cpp ../../morm/src/flatexpression.h ../../morm/src/jsonconnector.cpp ../../morm/src/jsonconnector.h ../../morm/src/jsonexpression.cpp ../../morm/src/jsonexpression.h ../../morm/src/model.cpp ../../morm/src/model.h ../../morm/src/modelconnector.cpp ../../morm/src/modelconnector.h ../../morm/src/modeldata.h ../../morm/src/modelenv.h ../../morm/src/morm.h ../../morm/src/morm_types.h ../../morm/src/outstream.h ../../morm/src/postgresqlconnector.cpp ../../morm/src/postgresqlconnector.h ../../morm/src/postgresqlexpression.cpp ../../morm/src/postgresqlexpression.h ../../morm/src/postgresqlqueryresult.cpp ../../morm/src/postgresqlqueryresult.h ../../morm/src/queryresult.cpp ../../morm/src/queryresult.h ../../morm/src/ft.h ../../morm/src/wrapper.h ../../morm/src/spacewrapper.h ../../morm/src/modelcontainerwrapper.h ../../morm/src/baseobjectwrapper.h
\ No newline at end of file
diff --git a/winixd/core/misc.cpp b/winixd/core/misc.cpp
index 9614320..32d709e 100644
--- a/winixd/core/misc.cpp
+++ b/winixd/core/misc.cpp
@@ -359,7 +359,7 @@ void CorrectUrlOnlyAllowedChar(std::wstring & url)
-
+// DEPRECATED now pt::Date can print a month in Roman numerals
const wchar_t * DateToStr(int year, int month, int day)
{
static const wchar_t * month_letter[] = { L"I", L"II", L"III", L"IV", L"V", L"VI", L"VII", L"VIII", L"IX", L"X", L"XI", L"XII" };
@@ -383,6 +383,7 @@ static wchar_t buffer[100];
}
+// DEPRECATED now pt::Date can print a month in Roman numerals
const wchar_t * DateToStr(int year, int month, int day, int hour, int min, int sec)
{
static const wchar_t * month_letter[] = { L"I", L"II", L"III", L"IV", L"V", L"VI", L"VII", L"VIII", L"IX", L"X", L"XI", L"XII" };
diff --git a/winixd/html/fun_ckeditor.html b/winixd/html/fun_ckeditor.html
index 8e90c2b..883c485 100644
--- a/winixd/html/fun_ckeditor.html
+++ b/winixd/html/fun_ckeditor.html
@@ -29,7 +29,7 @@
[# template fun_ls.html uses the name: itemcontent to refer to this textarea item]
@@ -42,7 +42,7 @@
diff --git a/winixd/html/fun_imgcrop.html b/winixd/html/fun_imgcrop.html
index e68f30c..83d4b6a 100644
--- a/winixd/html/fun_imgcrop.html
+++ b/winixd/html/fun_imgcrop.html
@@ -5,7 +5,7 @@
[if request.is_item]
- [if any request.is_item item_filetype_is_image]
+ [if any request.is_item item.content.filetype_is_image]
[if winix_function_param_is "thumb"]
{imgcrop_crop_only_thumb_info}
@@ -80,7 +80,7 @@
-
+
|
diff --git a/winixd/html/fun_login.html b/winixd/html/fun_login.html
index 0820d4c..cdf4092 100644
--- a/winixd/html/fun_login.html
+++ b/winixd/html/fun_login.html
@@ -9,7 +9,7 @@
[else]
diff --git a/winixd/html/fun_nicedit.html b/winixd/html/fun_nicedit.html
index fb734bd..ed237b2 100644
--- a/winixd/html/fun_nicedit.html
+++ b/winixd/html/fun_nicedit.html
@@ -44,7 +44,7 @@
diff --git a/winixd/html/fun_rm.html b/winixd/html/fun_rm.html
index af7fee3..fd9167a 100644
--- a/winixd/html/fun_rm.html
+++ b/winixd/html/fun_rm.html
@@ -5,7 +5,7 @@
[if request.is_item]
- [if item_type_is_symlink]
+ [if item.type_is_symlink]
{rm_symlink}: [dir][item.url]
[else]
{rm_file}: [dir][item.url]
diff --git a/winixd/html/fun_run.html b/winixd/html/fun_run.html
index 4449bcb..fd787b1 100644
--- a/winixd/html/fun_run.html
+++ b/winixd/html/fun_run.html
@@ -1,19 +1,7 @@
[if item.content.type_is "other"][item.run][else]
-
- [if false]
- [if mount_page_arg_is "subject"]
-
[item.subject]
- [end]
-
- [if mount_page_arg_is "info"]
- [include "item_info.html"]
- [end]
- [end]
-
[item.execute]
-
[end]
diff --git a/winixd/html/fun_template.html b/winixd/html/fun_template.html
index 43ed106..5a6de13 100644
--- a/winixd/html/fun_template.html
+++ b/winixd/html/fun_template.html
@@ -9,8 +9,8 @@
{template_info_file}:
- [if item_has_html_template]
- [item_html_template]
+ [if item.has_html_template]
+ [item.html_template]
[else]
{template_from_mount_point}
diff --git a/winixd/html/fun_thread.html b/winixd/html/fun_thread.html
index 5643c11..5711c72 100644
--- a/winixd/html/fun_thread.html
+++ b/winixd/html/fun_thread.html
@@ -1,15 +1,9 @@
-[if mount_page_arg_is "subject"]
[item.subject]
[end]
-[if false]
-[if mount_page_arg_is "info"][include "item_info.html"][end]
-[end]
-
[if not [thread_mount_arg_is "sort_desc"]]
[if item.has_write_access]
{edit}[end]
- [if thread_mount_arg_is "subject"]
[item.subject]
[end]
- [if thread_mount_arg_is "info"][include "item_info.html"][end]
+
[item.subject]
[item.content.print_content]
[end]
@@ -38,8 +32,7 @@
[if thread_mount_arg_is "sort_desc"]
[if item.has_write_access]
{edit}[end]
- [if thread_mount_arg_is "subject"]
[item.subject]
[end]
- [if thread_mount_arg_is "info"][include "item_info.html"][end]
+
[item.subject]
[item.content.print_content]
[end]
diff --git a/winixd/html/fun_ticket.html b/winixd/html/fun_ticket.html
index f69cae8..6a37f69 100644
--- a/winixd/html/fun_ticket.html
+++ b/winixd/html/fun_ticket.html
@@ -1,10 +1,5 @@
-[if mount_page_arg_is "subject"]
[item.subject]
[end]
-[if mount_page_arg_is "info"][include "item_info.html"][end]
-
-
-
[if ticket_can_edit]
\[{edit}\]
[end]
diff --git a/winixd/html/fun_tinymce.html b/winixd/html/fun_tinymce.html
index e01c59f..76ac8cb 100644
--- a/winixd/html/fun_tinymce.html
+++ b/winixd/html/fun_tinymce.html
@@ -26,7 +26,7 @@
[if mount_type_is "ticket"][end]
@@ -38,7 +38,7 @@
diff --git a/winixd/html/fun_vim.html b/winixd/html/fun_vim.html
index 3ad211c..ef29133 100644
--- a/winixd/html/fun_vim.html
+++ b/winixd/html/fun_vim.html
@@ -42,7 +42,7 @@
diff --git a/winixd/html/item_info.html b/winixd/html/item_info.html
deleted file mode 100644
index e84500c..0000000
--- a/winixd/html/item_info.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
- {added_by}: [item.content.display_user_name], [item_date_creation_nice][if not item_dates_equal],
- {last_modified}[if item_users_different] {by}: [item_modification_user],[else]:[end]
- [item_date_modification_nice][end]
-
diff --git a/winixd/html/item_tab_info.html b/winixd/html/item_tab_info.html
deleted file mode 100644
index ec5275a..0000000
--- a/winixd/html/item_tab_info.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- {added_by}: [item_tab_user], [item_tab_date_creation_nice][if not item_tab_dates_equal],
- {last_modified}[if item_tab_users_different] {by}: [item_tab_modification_user],[else]:[end]
- [item_tab_date_modification_nice]
- [end]
-
-
diff --git a/winixd/models/item.cpp b/winixd/models/item.cpp
index 5615705..6b3f3af 100644
--- a/winixd/models/item.cpp
+++ b/winixd/models/item.cpp
@@ -92,6 +92,7 @@ void Item::fields()
field(L"execute", &Item::execute);
+ field(L"has_html_template", &Item::has_html_template);
// may we should add a method setTypeFromInt(int t)?
type = static_cast(type_helper);
@@ -648,6 +649,11 @@ void Item::execute(EzcEnv & env)
}
+bool Item::has_html_template()
+{
+ return !html_template.empty();
+}
+
} // namespace Winix
diff --git a/winixd/models/item.h b/winixd/models/item.h
index dd1a2a7..b6c6c9e 100644
--- a/winixd/models/item.h
+++ b/winixd/models/item.h
@@ -197,6 +197,7 @@ public:
bool is_parent_for_current_dir() const;
bool is_current_dir() const;
+ bool has_html_template();
protected:
diff --git a/winixd/models/itemcontent.cpp b/winixd/models/itemcontent.cpp
index a7e4f1c..ea08da3 100644
--- a/winixd/models/itemcontent.cpp
+++ b/winixd/models/itemcontent.cpp
@@ -90,6 +90,7 @@ void ItemContent::fields()
field(L"privileges_octal", &ItemContent::privileges_octal);
field(L"has_user", &ItemContent::has_user);
field(L"has_group", &ItemContent::has_group);
+ field(L"item_users_different", &ItemContent::item_users_different);
field(L"user", &ItemContent::user);
field(L"group", &ItemContent::group);
field(L"type_is", &ItemContent::type_is);
@@ -106,6 +107,12 @@ void ItemContent::fields()
field(L"is_meta_object", &ItemContent::is_meta_object);
field(L"is_admin_meta_object", &ItemContent::is_admin_meta_object);
+ field(L"are_dates_equal", &ItemContent::are_dates_equal);
+ field(L"can_content_be_html_filtered", &ItemContent::CanContentBeHtmlFiltered);
+
+ field(L"is_link_to", &ItemContent::is_link_to);
+ field(L"is_link_redirect", &ItemContent::is_link_redirect);
+
// IMPROVEME prepare a setter functions which tests whether content_raw_type_helper and content_parsed_type_helper are correct values
content_raw_type = static_cast(content_raw_type_helper);
content_parsed_type = static_cast(content_parsed_type_helper);
@@ -450,6 +457,13 @@ bool ItemContent::has_group() const
return group_id != -1;
}
+
+bool ItemContent::item_users_different()
+{
+ return user_id != modification_user_id;
+}
+
+
void ItemContent::user(morm::Wrapper & wrapper)
{
Users * users = get_users();
@@ -600,17 +614,36 @@ void ItemContent::display_user_name(EzcEnv & env)
}
-bool ItemContent::is_meta_object()
+bool ItemContent::is_meta_object() const
{
return meta.is_object();
}
-bool ItemContent::is_admin_meta_object()
+bool ItemContent::is_admin_meta_object() const
{
return admin_meta.is_object();
}
+bool ItemContent::are_dates_equal() const
+{
+ return date_creation == date_modification;
+}
+
+
+bool ItemContent::is_link_to() const
+{
+ return !link_to.empty();
+}
+
+
+bool ItemContent::is_link_redirect() const
+{
+ return link_redirect == 1;
+}
+
+
+
} // namespace Winix
diff --git a/winixd/models/itemcontent.h b/winixd/models/itemcontent.h
index 1f257ff..e52fa60 100644
--- a/winixd/models/itemcontent.h
+++ b/winixd/models/itemcontent.h
@@ -272,10 +272,15 @@ public:
bool has_user() const;
bool has_group() const;
+ bool item_users_different();
- bool is_meta_object();
- bool is_admin_meta_object();
+ bool is_meta_object() const;
+ bool is_admin_meta_object() const;
+ bool are_dates_equal() const;
+
+ bool is_link_to() const;
+ bool is_link_redirect() const;
protected:
diff --git a/winixd/templates/Makefile.dep b/winixd/templates/Makefile.dep
index c72946c..b72b94d 100644
--- a/winixd/templates/Makefile.dep
+++ b/winixd/templates/Makefile.dep
@@ -1590,131 +1590,6 @@ ipban.o: ../../../winix/winixd/functions/upload.h
ipban.o: ../../../winix/winixd/functions/uptime.h
ipban.o: ../../../winix/winixd/functions/who.h
ipban.o: ../../../winix/winixd/functions/vim.h
-item.o: templates.h ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
-item.o: ../../../ezc/src/blocks.h ../../../ezc/src/item.h
-item.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
-item.o: ../../../pikotools/src/utf8/utf8.h
-item.o: ../../../pikotools/src/textstream/stream.h
-item.o: ../../../pikotools/src/utf8/utf8_templates.h
-item.o: ../../../pikotools/src/utf8/utf8_private.h ../../../ezc/src/funinfo.h
-item.o: ../../../ezc/src/objects.h ../../../ezc/src/pattern.h
-item.o: ../../../ezc/src/outstreams.h ../../../ezc/src/expressionparser.h
-item.o: ../../../ezc/src/models.h ../../../pikotools/src/log/log.h
-item.o: ../../../pikotools/src/textstream/textstream.h
-item.o: ../../../pikotools/src/textstream/stream.h
-item.o: ../../../pikotools/src/space/space.h
-item.o: ../../../pikotools/src/textstream/types.h
-item.o: ../../../pikotools/src/convert/inttostr.h
-item.o: ../../../pikotools/src/date/date.h
-item.o: ../../../pikotools/src/membuffer/membuffer.h
-item.o: ../../../pikotools/src/textstream/types.h
-item.o: ../../../pikotools/src/log/filelog.h ../../../ezc/src/patternparser.h
-item.o: misc.h localefilter.h locale.h
-item.o: ../../../pikotools/src/space/spaceparser.h
-item.o: ../../../pikotools/src/space/space.h
-item.o: ../../../winix/winixd/core/winixbase.h
-item.o: ../../../winix/winixd/core/config.h ../../../winix/winixd/core/log.h
-item.o: ../../../winix/winixd/core/logmanipulators.h ../../../morm/src/morm.h
-item.o: ../../../morm/src/morm_types.h ../../../morm/src/model.h
-item.o: ../../../morm/src/modelconnector.h ../../../morm/src/clearer.h
-item.o: ../../../morm/src/dbconnector.h ../../../morm/src/queryresult.h
-item.o: ../../../morm/src/ft.h ../../../morm/src/flatconnector.h
-item.o: ../../../morm/src/dbexpression.h ../../../morm/src/baseexpression.h
-item.o: ../../../morm/src/modelenv.h ../../../morm/src/modeldata.h
-item.o: ../../../morm/src/cursorhelper.h ../../../morm/src/finderhelper.h
-item.o: ../../../morm/src/fieldvaluehelper.h ../../../morm/src/wrapper.h
-item.o: ../../../morm/src/spacewrapper.h
-item.o: ../../../morm/src/baseobjectwrapper.h
-item.o: ../../../morm/src/modelcontainerwrapper.h
-item.o: ../../../pikotools/src/convert/text.h
-item.o: ../../../morm/src/flatexpression.h ../../../morm/src/finder.h
-item.o: ../../../morm/src/cursor.h ../../../morm/src/jsonexpression.h
-item.o: ../../../morm/src/postgresqlexpression.h
-item.o: ../../../morm/src/jsonconnector.h
-item.o: ../../../morm/src/postgresqlconnector.h
-item.o: ../../../morm/src/postgresqlqueryresult.h
-item.o: ../../../winix/winixd/core/log.h ../../../winix/winixd/core/synchro.h
-item.o: ../../../winix/winixd/core/filelog.h
-item.o: ../../../winix/winixd/core/lock.h
-item.o: ../../../winix/winixd/core/synchro.h
-item.o: ../../../pikotools/src/convert/patternreplacer.h
-item.o: ../../../pikotools/src/convert/strtoint.h
-item.o: ../../../pikotools/src/convert/text.h htmltextstream.h
-item.o: ../../../winix/winixd/core/textstream.h patterncacher.h
-item.o: ../../../winix/winixd/models/item.h
-item.o: ../../../winix/winixd/models/winixmodel.h
-item.o: ../../../winix/winixd/models/winixmodelconnector.h
-item.o: ../../../winix/winixd/models/itemcontent.h
-item.o: ../../../winix/winixd/templates/htmltextstream.h
-item.o: ../../../winix/winixd/templates/misc.h indexpatterns.h patterns.h
-item.o: changepatterns.h ../../../winix/winixd/core/cur.h
-item.o: ../../../winix/winixd/core/request.h
-item.o: ../../../winix/winixd/core/requesttypes.h
-item.o: ../../../winix/winixd/core/error.h
-item.o: ../../../winix/winixd/core/config.h
-item.o: ../../../winix/winixd/core/textstream.h
-item.o: ../../../winix/winixd/models/winixmodel.h
-item.o: ../../../winix/winixd/core/session.h
-item.o: ../../../winix/winixd/models/user.h
-item.o: ../../../winix/winixd/core/plugindata.h
-item.o: ../../../winix/winixd/core/rebus.h
-item.o: ../../../winix/winixd/core/winixbase.h
-item.o: ../../../winix/winixd/core/ipban.h ../../../winix/winixd/core/mount.h
-item.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
-item.o: ../../../winix/winixd/core/basethread.h
-item.o: ../../../winix/winixd/core/winixmodeldeprecated.h
-item.o: ../../../winix/winixd/core/plugin.h
-item.o: ../../../winix/winixd/core/pluginmsg.h
-item.o: ../../../winix/winixd/core/dirs.h
-item.o: ../../../winix/winixd/core/dircontainer.h
-item.o: ../../../winix/winixd/db/db.h ../../../winix/winixd/db/dbbase.h
-item.o: ../../../winix/winixd/db/dbconn.h
-item.o: ../../../winix/winixd/db/dbtextstream.h
-item.o: ../../../winix/winixd/core/error.h
-item.o: ../../../winix/winixd/models/group.h
-item.o: ../../../winix/winixd/core/dircontainer.h
-item.o: ../../../winix/winixd/core/ugcontainer.h
-item.o: ../../../winix/winixd/core/mounts.h
-item.o: ../../../winix/winixd/core/mountparser.h
-item.o: ../../../winix/winixd/core/crypt.h ../../../winix/winixd/core/run.h
-item.o: ../../../winix/winixd/core/users.h
-item.o: ../../../winix/winixd/core/ugcontainer.h
-item.o: ../../../winix/winixd/core/lastcontainer.h
-item.o: ../../../winix/winixd/core/cur.h ../../../winix/winixd/core/groups.h
-item.o: ../../../winix/winixd/core/loadavg.h
-item.o: ../../../winix/winixd/core/image.h
-item.o: ../../../winix/winixd/core/threadmanager.h
-item.o: ../../../winix/winixd/models/winixmodelconnector.h
-item.o: ../../../winix/winixd/notify/notify.h
-item.o: ../../../winix/winixd/core/winixmodeldeprecated.h
-item.o: ../../../winix/winixd/notify/notifypool.h
-item.o: ../../../winix/winixd/templates/locale.h
-item.o: ../../../winix/winixd/templates/patterns.h
-item.o: ../../../winix/winixd/notify/notifythread.h
-item.o: ../../../winix/winixd/core/basethread.h
-item.o: ../../../winix/winixd/notify/templatesnotify.h
-item.o: ../../../winix/winixd/core/users.h
-item.o: ../../../winix/winixd/core/timezones.h
-item.o: ../../../winix/winixd/core/timezone.h
-item.o: ../../../winix/winixd/core/sessionmanager.h
-item.o: ../../../winix/winixd/core/sessioncontainer.h
-item.o: ../../../winix/winixd/core/ipbancontainer.h
-item.o: ../../../winix/winixd/core/system.h
-item.o: ../../../winix/winixd/core/sessionidmanager.h
-item.o: ../../../tito/src/base64.h ../../../tito/src/aes.h
-item.o: ../../../winix/winixd/core/htmlfilter.h
-item.o: ../../../winix/winixd/core/winixrequest.h
-item.o: ../../../winix/winixd/core/winixsystem.h
-item.o: ../../../winix/winixd/core/slog.h
-item.o: ../../../winix/winixd/core/request.h
-item.o: ../../../winix/winixd/core/misc.h
-item.o: ../../../winix/winixd/core/winix_const.h
-item.o: ../../../pikotools/src/convert/convert.h
-item.o: ../../../pikotools/src/convert/inttostr.h
-item.o: ../../../pikotools/src/convert/patternreplacer.h
-item.o: ../../../pikotools/src/convert/double.h
-item.o: ../../../winix/winixd/core/bbcodeparser.h
-item.o: ../../../winix/winixd/core/htmlfilter.h
last.o: templates.h ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
last.o: ../../../ezc/src/blocks.h ../../../ezc/src/item.h
last.o: ../../../ezc/src/cache.h ../../../ezc/src/functions.h
diff --git a/winixd/templates/Makefile.o.dep b/winixd/templates/Makefile.o.dep
index 4714dd7..d72d439 100644
--- a/winixd/templates/Makefile.o.dep
+++ b/winixd/templates/Makefile.o.dep
@@ -1 +1 @@
-o = adduser.o antispam.o changepatterns.o config.o currentdate.o dir.o doc.o filters.o generic.o htmltextstream.o indexpatterns.o insert.o ipban.o item.o last.o locale.o localefilter.o login.o ls.o man.o misc.o mount.o passwd.o patterncacher.o patterns.o priv.o rebus.o server.o slog.o stat.o sys.o template.o templates.o textextstream.o upload.o uptime.o user.o who.o winix.o
\ No newline at end of file
+o = adduser.o antispam.o changepatterns.o config.o currentdate.o dir.o doc.o filters.o generic.o htmltextstream.o indexpatterns.o insert.o ipban.o last.o locale.o localefilter.o login.o ls.o man.o misc.o mount.o passwd.o patterncacher.o patterns.o priv.o rebus.o server.o slog.o stat.o sys.o template.o templates.o textextstream.o upload.o uptime.o user.o who.o winix.o
\ No newline at end of file
diff --git a/winixd/templates/item.cpp b/winixd/templates/item.cpp
deleted file mode 100644
index b79cca4..0000000
--- a/winixd/templates/item.cpp
+++ /dev/null
@@ -1,858 +0,0 @@
-/*
- * This file is a part of Winix
- * and is distributed under the 2-Clause BSD licence.
- * Author: Tomasz Sowa
- */
-
-/*
- * Copyright (c) 2008-2021, Tomasz Sowa
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "templates.h"
-#include "misc.h"
-#include "core/request.h"
-#include "core/misc.h"
-#include "core/bbcodeparser.h"
-#include "core/textstream.h"
-
-namespace Winix
-{
-
-
-namespace TemplatesFunctions
-{
-static HtmlTextStream item_run_content;
-static EzcGen ezc_generator;
-
-
-
-
-
-//void item_is(Info & i)
-//{
-// i.res = cur->request->is_item;
-//}
-
-
-//void item_no_is(Info & i)
-//{
-// i.res = !cur->request->is_item;
-//}
-
-
-//void item_id(Info & i)
-//{
-// i.out << cur->request->last_item->id;
-//}
-
-
-
-//void item_subject(Info & i)
-//{
-// i.out << cur->request->last_item->subject;
-//}
-
-
-//void item_subject_noescape(Info & i)
-//{
-// i.out << R(cur->request->last_item->subject);
-//}
-
-
-
-//void item_content(Info & i)
-//{
-// i.out << cur->request->last_item->item_content.content_raw;
-//}
-
-
-
-//void item_content_noescape(Info & i)
-//{
-// i.out << R(cur->request->last_item->item_content.content_raw);
-//}
-
-
-//void item_content_type_is(Item & item, Info & i)
-//{
-// i.res = false;
-//
-// if( item.item_content.content_raw_type == ItemContent::ct_text && i.par == L"text" )
-// i.res = true;
-// else
-// if( item.item_content.content_raw_type == ItemContent::ct_formatted_text && i.par == L"formatted text" )
-// i.res = true;
-// else
-// if( item.item_content.content_raw_type == ItemContent::ct_html && i.par == L"html" )
-// i.res = true;
-// else
-// if( item.item_content.content_raw_type == ItemContent::ct_bbcode && i.par == L"bbcode" )
-// i.res = true;
-// else
-// if( item.item_content.content_raw_type == ItemContent::ct_other && i.par == L"other" )
-// i.res = true;
-//}
-//
-//
-//void item_content_type_is(Info & i)
-//{
-// item_content_type_is(*cur->request->last_item, i);
-//}
-
-
-//void item_content_is_empty(Info & i)
-//{
-// i.res = cur->request->last_item->item_content.content_raw.empty();
-//}
-
-
-//void item_privileges(Info & i)
-//{
-// i.out << Toa(cur->request->last_item->item_content.privileges, 8);
-//}
-
-
-// RENAMED TO item.dir_link
-//void item_dir(Info & i)
-//{
-// dir(i);
-//}
-
-
-//void item_url(Info & i)
-//{
-// i.out << cur->request->last_item->url;
-//}
-
-
-//void item_url_is(Info & i)
-//{
-// i.res = (cur->request->last_item->url == i.par);
-//}
-
-
-//void item_url_is_no(Info & i)
-//{
-// i.res = (cur->request->last_item->url != i.par);
-//}
-
-
-//void item_link(Info & i)
-//{
-// doc_proto(i);
-//
-// if( !cur->request->subdomain.empty() )
-// i.out << cur->request->subdomain << '.';
-//
-// i.out << config->base_url;
-// item_dir(i);
-// item_url(i);
-//}
-
-
-
-
-//void item_filetype_is_none(Info & i)
-//{
-// i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_NONE;
-//}
-//
-//
-//void item_filetype_is_image(Info & i)
-//{
-// i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_IMAGE;
-//}
-
-
-//void item_has_static_file(Info & i)
-//{
-// i.res = cur->request->last_item->item_content.file_type != WINIX_ITEM_FILETYPE_NONE && !cur->request->last_item->item_content.file_path.empty();
-//}
-
-
-//void item_has_thumb(Info & i)
-//{
-// i.res = cur->request->last_item->item_content.file_has_thumb;
-//}
-
-
-// changed to item.has_read_access
-//void item_can_read(Info & i)
-//{
-// i.res = system->HasReadAccess(*cur->request->last_item);
-//}
-
-
-// changed to item.has_write_access
-//void item_can_write(Info & i)
-//{
-// i.res = system->HasWriteAccess(*cur->request->last_item);
-//}
-
-// changed to item.can_be_removed
-//void item_can_remove(Info & i)
-//{
-// // !! tutaj trzeba bedzie cos innego zrobic
-// // zwlaszcza jak dojdzie sticky bit
-// i.res = system->HasWriteAccess(*cur->request->dir_tab.back());
-//}
-
-
-//void item_user(Info & i)
-//{
-// User * puser = system->users.GetUser(cur->request->last_item->item_content.user_id);
-// print_user_name(i, puser, cur->request->last_item->item_content.guest_name);
-//}
-
-
-
-void item_modification_user(Info & i)
-{
- User * puser = system->users.GetUser(cur->request->last_item->item_content.modification_user_id);
- print_user_name(i, puser, cur->request->last_item->item_content.guest_name);
-}
-
-
-void item_users_different(Info & i)
-{
- i.res = (cur->request->last_item->item_content.user_id != cur->request->last_item->item_content.modification_user_id);
-}
-
-
-void item_date_creation(Info & i)
-{
- pt::Date date = system->ToLocal(cur->request->last_item->item_content.date_creation);
- i.out << DateToStr(date.year, date.month, date.day, date.hour, date.min, date.sec);
-}
-
-
-void item_date_modification(Info & i)
-{
- pt::Date date = system->ToLocal(cur->request->last_item->item_content.date_modification);
- i.out << DateToStr(date.year, date.month, date.day, date.hour, date.min, date.sec);
-}
-
-
-void item_date_creation_nice(Info & i)
-{
- print_date_nice(i, cur->request->last_item->item_content.date_creation);
-}
-
-
-void item_date_modification_nice(Info & i)
-{
- print_date_nice(i, cur->request->last_item->item_content.date_modification);
-}
-
-
-void item_dates_equal(Info & i)
-{
- pt::Date & date1 = cur->request->last_item->item_content.date_creation;
- pt::Date & date2 = cur->request->last_item->item_content.date_modification;
-
- i.res = date1 == date2;
-}
-
-
-
-//void item_run(Info & i)
-//{
-// if( !cur->request->is_item )
-// {
-// i.out << "";
-// return;
-// }
-//
-// if( system->HasReadExecAccess(*cur->request->last_item) )
-// {
-// Ezc::Pattern * p = pattern_cacher.GetPattern(*cur->request->last_item);
-//
-// item_run_content.Clear();
-// InitGenerator(ezc_generator, cur->request->models);
-// ezc_generator.SetPattern(*p);
-//
-// if( config->allow_ezc_frames_in_executable_items )
-// ezc_generator.Generate(item_run_content, cur->request->out_streams);
-// else
-// ezc_generator.Generate(item_run_content);
-//
-// ItemContent::print_content(i.out, item_run_content.Str(), cur->request->last_item->item_content.content_raw_type, config->html_filter);
-// }
-// else
-// {
-// i.out << "";
-// }
-//}
-
-
-//void item_guest_name(Info & i)
-//{
-// i.out << cur->request->last_item->item_content.guest_name;
-//}
-
-
-//void item_html_template(Info & i)
-//{
-// i.out << cur->request->last_item->html_template;
-//}
-
-
-void item_has_html_template(Info & i)
-{
- i.res = !cur->request->last_item->html_template.empty();
-}
-
-
-//void item_type_is_dir(Info & i)
-//{
-// i.res = cur->request->last_item->type == Item::dir;
-//}
-//
-//
-//void item_type_is_file(Info & i)
-//{
-// i.res = cur->request->last_item->type == Item::file;
-//}
-//
-//
-//void item_type_is_symlink(Info & i)
-//{
-// i.res = cur->request->last_item->type == Item::symlink;
-//}
-
-
-void item_is_link_to(Info & i)
-{
- i.res = !cur->request->last_item->item_content.link_to.empty();
-}
-
-
-void item_link_to(Info & i)
-{
- i.out << cur->request->last_item->item_content.link_to;
-}
-
-
-void item_is_link_redirect(Info & i)
-{
- i.res = cur->request->last_item->item_content.link_redirect == 1;
-}
-
-void item_file_size(Info & i)
-{
- i.res = cur->request->last_item->item_content.file_size;
-}
-
-void item_sort(Info & i)
-{
- i.out << cur->request->last_item->sort_index;
-}
-
-
-
-//void item_meta_str(Info & i)
-//{
-// cur->request->last_item->item_content.meta.serialize_to_space_stream(i.out, true);
-//}
-//
-//
-//void item_meta(Info & i)
-//{
-// space_value(i, cur->request->last_item->item_content.meta);
-//}
-//
-//
-//void item_meta_noescape(Info & i)
-//{
-// space_value(i, cur->request->last_item->item_content.meta, false);
-//}
-
-
-
-//void item_meta_tab(Info & i)
-//{
-// space_list_tab(i, cur->request->last_item->item_content.meta);
-//}
-//
-//
-//void item_meta_tab_value(Info & i)
-//{
-// space_list_tab_value(i, cur->request->last_item->item_content.meta, L"item_meta_tab");
-//}
-//
-//
-//
-//void item_meta_tab_has_next(Info & i)
-//{
-// space_list_tab_has_next(i, cur->request->last_item->item_content.meta, L"item_meta_tab");
-//}
-
-
-
-
-//void item_admin_meta_str(Info & i)
-//{
-// cur->request->last_item->item_content.meta_admin.serialize_to_space_stream(i.out, true);
-//}
-//
-//
-//void item_admin_meta(Info & i)
-//{
-// space_value(i, cur->request->last_item->item_content.meta_admin);
-//}
-//
-//
-//void item_admin_meta_tab(Info & i)
-//{
-// space_list_tab(i, cur->request->last_item->item_content.meta_admin);
-//}
-//
-//
-//void item_admin_meta_tab_value(Info & i)
-//{
-// space_list_tab_value(i, cur->request->last_item->item_content.meta_admin, L"item_admin_meta_tab");
-//}
-//
-//
-//void item_admin_meta_tab_has_next(Info & i)
-//{
-// space_list_tab_has_next(i, cur->request->last_item->item_content.meta_admin, L"item_admin_meta_tab");
-//}
-//
-
-void item_can_content_be_html_filtered(Info & i)
-{
- i.res = cur->request->last_item->item_content.CanContentBeHtmlFiltered();
-}
-
-
-/*
-static size_t item_index;
-
-
-void item_tab(Info & i)
-{
- item_index = i.iter;
- i.res = item_index < cur->request->item_tab.size();
-}
-
-
-void item_tab_index(Info & i)
-{
- i.out << item_index;
-}
-
-
-void item_tab_id(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].id;
-}
-
-
-void item_tab_subject(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].subject;
-}
-
-void item_tab_subject_noescape(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << R(cur->request->item_tab[item_index].subject);
-}
-
-
-void item_tab_content(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].item_content.content_raw;
-}
-
-
-void item_tab_content_noescape(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << R(cur->request->item_tab[item_index].item_content.content_raw);
-}
-
-
-void item_tab_print_content(Info & i)
-{
- if( item_index >= cur->request->item_tab.size() )
- return;
-
- std::wstring & content = cur->request->item_tab[item_index].item_content.content_raw;
- ItemContent::ContentType type = cur->request->item_tab[item_index].item_content.content_raw_type;
-
- item_print_content(i.out, content, type);
-}
-
-
-void item_tab_privileges(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << "0" << Toa(cur->request->item_tab[item_index].item_content.privileges, 8);
-}
-
-
-
-void item_tab_dir(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- std::wstring path;
-
- if( system->dirs.MakePath(cur->request->item_tab[item_index].parent_id, path) )
- i.out << path;
- else
- i.out << "/the path does not exist/"; // !! IMPROVEME move me to locales and put some info to log
- }
-}
-
-
-void item_tab_url(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].url;
-}
-
-
-void item_tab_link(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- doc_proto(i);
-
- if( !cur->request->subdomain.empty() )
- i.out << cur->request->subdomain << '.';
-
- i.out << config->base_url;
- item_tab_dir(i);
- item_tab_url(i);
- }
-}
-
-
-void item_tab_filetype_is_none(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].item_content.file_type == WINIX_ITEM_FILETYPE_NONE;
-}
-
-
-void item_tab_filetype_is_image(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].item_content.file_type == WINIX_ITEM_FILETYPE_IMAGE;
-}
-
-
-
-void item_tab_can_read(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- if( system->HasReadAccess(cur->request->item_tab[item_index]) )
- i.res = true;
- }
-}
-
-
-void item_tab_can_write(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- if( system->HasWriteAccess(cur->request->item_tab[item_index]) )
- i.res = true;
- }
-}
-
-
-void item_tab_user(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- User * puser = system->users.GetUser(cur->request->item_tab[item_index].item_content.user_id);
- print_user_name(i, puser, cur->request->item_tab[item_index].item_content.guest_name);
- }
-}
-
-
-
-void item_tab_modification_user(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- User * puser = system->users.GetUser(cur->request->item_tab[item_index].item_content.modification_user_id);
- print_user_name(i, puser, cur->request->item_tab[item_index].item_content.guest_name);
- }
-}
-
-
-
-void item_tab_users_different(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- i.res = (cur->request->item_tab[item_index].item_content.user_id != cur->request->item_tab[item_index].item_content.modification_user_id);
- }
-}
-
-
-
-void item_tab_group(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- long group_id = cur->request->item_tab[item_index].item_content.group_id;
- Group * pgroup = system->groups.GetGroup(group_id);
-
- if( pgroup )
- i.out << pgroup->name;
- else
- i.out << group_id;
- }
-}
-
-
-void item_tab_date_creation(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- pt::Date date = system->ToLocal(cur->request->item_tab[item_index].item_content.date_creation);
- i.out << DateToStr(date.year, date.month, date.day, date.hour, date.min, date.sec);
- }
-}
-
-
-void item_tab_date_modification(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- pt::Date date = system->ToLocal(cur->request->item_tab[item_index].item_content.date_modification);
- i.out << DateToStr(date.year, date.month, date.day, date.hour, date.min, date.sec);
- }
-}
-
-
-void item_tab_date_creation_nice(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- print_date_nice(i, cur->request->item_tab[item_index].item_content.date_creation);
- }
-}
-
-
-
-void item_tab_date_modification_nice(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- print_date_nice(i, cur->request->item_tab[item_index].item_content.date_modification);
- }
-}
-
-
-void item_tab_dates_equal(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- pt::Date & date1 = cur->request->item_tab[item_index].item_content.date_creation;
- pt::Date & date2 = cur->request->item_tab[item_index].item_content.date_modification;
-
- i.res = date1 == date2;
- }
-}
-
-
-void item_tab_run(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- if( system->HasReadExecAccess(cur->request->item_tab[item_index]) )
- {
- Ezc::Pattern * p = pattern_cacher.GetPattern(cur->request->item_tab[item_index]);
- item_run_content.Clear();
- InitGenerator(ezc_generator, cur->request->models);
- ezc_generator.SetPattern(*p);
-
- if( config->allow_ezc_frames_in_executable_items )
- ezc_generator.Generate(item_run_content, cur->request->out_streams);
- else
- ezc_generator.Generate(item_run_content);
-
- item_print_content(i.out, item_run_content.Str(), cur->request->item_tab[item_index].item_content.content_raw_type);
- }
- else
- {
- i.out << "";
- }
- }
-}
-
-
-void item_tab_can_use_emacs(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- // !!
- //i.res = cur->request->CanUseEmacs(cur->request->item_tab[item_index], true);
- }
-}
-
-
-void item_tab_has_static_file(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- {
- i.res = cur->request->item_tab[item_index].item_content.file_type != WINIX_ITEM_FILETYPE_NONE &&
- !cur->request->item_tab[item_index].item_content.file_path.empty();
- }
-}
-
-
-void item_tab_has_thumb(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].item_content.file_has_thumb;
-}
-
-
-void item_tab_type_is_dir(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].type == Item::dir;
-}
-
-
-void item_tab_type_is_file(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].type == Item::file;
-}
-
-
-void item_tab_type_is_symlink(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].type == Item::symlink;
-}
-
-
-void item_tab_is_link_to(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = !cur->request->item_tab[item_index].item_content.link_to.empty();
-}
-
-
-void item_tab_link_to(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].item_content.link_to;
-}
-
-
-void item_tab_is_link_redirect(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.res = cur->request->item_tab[item_index].item_content.link_redirect == 1;
-}
-
-
-void item_tab_file_size(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].item_content.file_size;
-}
-
-void item_tab_sort(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- i.out << cur->request->item_tab[item_index].sort_index;
-}
-
-void item_tab_has_next(Info & i)
-{
- i.res = item_index + 1 < cur->request->item_tab.size();
-}
-
-
-
-void item_tab_meta_str(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- cur->request->item_tab[item_index].item_content.meta.serialize_to_space_stream(i.out, true);
-}
-
-
-void item_tab_meta(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- space_value(i, cur->request->item_tab[item_index].item_content.meta);
-}
-
-void item_tab_meta_noescape(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- space_value(i, cur->request->item_tab[item_index].item_content.meta, false);
-}
-
-void item_tab_meta_tab(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- space_list_tab(i, cur->request->item_tab[item_index].item_content.meta);
-}
-
-
-void item_tab_meta_tab_value(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- space_list_tab_value(i, cur->request->item_tab[item_index].item_content.meta, L"item_tab_meta_tab");
-}
-
-
-
-void item_tab_meta_tab_has_next(Info & i)
-{
- if( item_index < cur->request->item_tab.size() )
- space_list_tab_has_next(i, cur->request->item_tab[item_index].item_content.meta, L"item_tab_meta_tab");
-}
-*/
-
-
-
-
-
-} // namespace TemplatesFunctions
-
-} // namespace Winix
-
-
-
diff --git a/winixd/templates/templates.cpp b/winixd/templates/templates.cpp
index 565d895..dfa4ef8 100644
--- a/winixd/templates/templates.cpp
+++ b/winixd/templates/templates.cpp
@@ -339,29 +339,6 @@ void Templates::CreateFunctions()
ezc_functions.Insert("doc_css_more_than_one", doc_css_more_than_one);
- /*
- env
- */
-// ezc_functions.Insert("env_str", env_str);
-// ezc_functions.Insert("env", env);
-// ezc_functions.Insert("env_tab", env_tab);
-// ezc_functions.Insert("env_tab_value", env_tab_value);
-// ezc_functions.Insert("env_tab_has_next", env_tab_has_next);
-// ezc_functions.Insert("env_admin_str", env_admin_str);
-// ezc_functions.Insert("env_admin", env_admin);
-// ezc_functions.Insert("env_admin_tab", env_admin_tab);
-// ezc_functions.Insert("env_admin_tab_value", env_admin_tab_value);
-// ezc_functions.Insert("env_admin_tab_has_next", env_admin_tab_has_next);
-// ezc_functions.Insert("env_user_admin_env_str", env_user_admin_env_str);
-// ezc_functions.Insert("env_user_env_str", env_user_env_str);
-// ezc_functions.Insert("env_user_id", env_user_id);
-// ezc_functions.Insert("env_user_name", env_user_name);
-// ezc_functions.Insert("env_user_tab", env_user_tab);
-// ezc_functions.Insert("env_user_tab_id", env_user_tab_id);
-// ezc_functions.Insert("env_user_tab_name", env_user_tab_name);
-// ezc_functions.Insert("env_user_tab_is_current", env_user_tab_is_current);
-
-
/*
filters
*/
@@ -429,111 +406,6 @@ void Templates::CreateFunctions()
ezc_functions.Insert("ipban_tab_is_logging_allowed", ipban_tab_is_logging_allowed);
- /*
- item
- */
- //ezc_functions.Insert("item_is", item_is);
- //ezc_functions.Insert("item_no_is", item_no_is);
-// ezc_functions.Insert("item_id", item_id);
-// ezc_functions.Insert("item_subject", item_subject);
-// ezc_functions.Insert("item_subject_noescape", item_subject_noescape);
-// ezc_functions.Insert("item_content_is_empty", item_content_is_empty);
-// ezc_functions.Insert("item_content", item_content);
-// ezc_functions.Insert("item_content_noescape", item_content_noescape);
-// ezc_functions.Insert("item_content_type_is", item_content_type_is);
- //ezc_functions.Insert("item_privileges", item_privileges);
-// ezc_functions.Insert("item_dir", item_dir);
-// ezc_functions.Insert("item_url", item_url);
-// ezc_functions.Insert("item_url_is", item_url_is);
-// ezc_functions.Insert("item_url_is_no", item_url_is_no);
-// ezc_functions.Insert("item_link", item_link);
-// ezc_functions.Insert("item_filetype_is_none", item_filetype_is_none);
-// ezc_functions.Insert("item_filetype_is_image", item_filetype_is_image);
- //ezc_functions.Insert("item_has_static_file", item_has_static_file);
-// ezc_functions.Insert("item_has_thumb", item_has_thumb);
-
-// ezc_functions.Insert("item_can_read", item_can_read);
-// ezc_functions.Insert("item_can_write", item_can_write);
-// ezc_functions.Insert("item_can_remove", item_can_remove);
- //ezc_functions.Insert("item_user", item_user);
- ezc_functions.Insert("item_modification_user", item_modification_user);
- ezc_functions.Insert("item_users_different", item_users_different);
- ezc_functions.Insert("item_date_creation", item_date_creation);
- ezc_functions.Insert("item_date_modification", item_date_modification);
- ezc_functions.Insert("item_date_creation_nice", item_date_creation_nice);
- ezc_functions.Insert("item_date_modification_nice",item_date_modification_nice);
- ezc_functions.Insert("item_dates_equal", item_dates_equal);
-// ezc_functions.Insert("item_run", item_run);
-// ezc_functions.Insert("item_guest_name", item_guest_name);
-// ezc_functions.Insert("item_html_template", item_html_template);
- ezc_functions.Insert("item_has_html_template", item_has_html_template);
-// ezc_functions.Insert("item_type_is_dir", item_type_is_dir);
-// ezc_functions.Insert("item_type_is_file", item_type_is_file);
-// ezc_functions.Insert("item_type_is_symlink", item_type_is_symlink);
- ezc_functions.Insert("item_is_link_to", item_is_link_to);
- ezc_functions.Insert("item_link_to", item_link_to);
- ezc_functions.Insert("item_is_link_redirect", item_is_link_redirect);
- ezc_functions.Insert("item_file_size", item_file_size);
- ezc_functions.Insert("item_sort", item_sort);
-// ezc_functions.Insert("item_meta_str", item_meta_str);
-// ezc_functions.Insert("item_meta", item_meta);
-// ezc_functions.Insert("item_meta_noescape", item_meta_noescape);
-// ezc_functions.Insert("item_meta_tab", item_meta_tab);
-// ezc_functions.Insert("item_meta_tab_value", item_meta_tab_value);
-// ezc_functions.Insert("item_meta_tab_has_next", item_meta_tab_has_next);
-// ezc_functions.Insert("item_admin_meta_str", item_admin_meta_str);
-// ezc_functions.Insert("item_admin_meta", item_admin_meta);
-// ezc_functions.Insert("item_admin_meta_tab", item_admin_meta_tab);
-// ezc_functions.Insert("item_admin_meta_tab_value", item_admin_meta_tab_value);
-// ezc_functions.Insert("item_admin_meta_tab_has_next", item_admin_meta_tab_has_next);
- ezc_functions.Insert("item_can_content_be_html_filtered", item_can_content_be_html_filtered);
-
- /*
- ezc_functions.Insert("item_tab", item_tab);
- ezc_functions.Insert("item_tab_index", item_tab_index);
- ezc_functions.Insert("item_tab_id", item_tab_id);
- ezc_functions.Insert("item_tab_subject", item_tab_subject);
- ezc_functions.Insert("item_tab_subject_noescape", item_tab_subject_noescape);
- ezc_functions.Insert("item_tab_content", item_tab_content);
- ezc_functions.Insert("item_tab_content_noescape", item_tab_content_noescape);
- ezc_functions.Insert("item_tab_print_content", item_tab_print_content);
- ezc_functions.Insert("item_tab_privileges", item_tab_privileges);
- ezc_functions.Insert("item_tab_dir", item_tab_dir);
- ezc_functions.Insert("item_tab_url", item_tab_url);
- ezc_functions.Insert("item_tab_link", item_tab_link);
- ezc_functions.Insert("item_tab_filetype_is_none", item_tab_filetype_is_none);
- ezc_functions.Insert("item_tab_filetype_is_image", item_tab_filetype_is_image);
- ezc_functions.Insert("item_tab_can_read", item_tab_can_read);
- ezc_functions.Insert("item_tab_can_write", item_tab_can_write);
- ezc_functions.Insert("item_tab_user", item_tab_user);
- ezc_functions.Insert("item_tab_modification_user", item_tab_modification_user);
- ezc_functions.Insert("item_tab_users_different", item_tab_users_different);
- ezc_functions.Insert("item_tab_group", item_tab_group);
- ezc_functions.Insert("item_tab_date_creation", item_tab_date_creation);
- ezc_functions.Insert("item_tab_date_modification", item_tab_date_modification);
- ezc_functions.Insert("item_tab_date_creation_nice", item_tab_date_creation_nice);
- ezc_functions.Insert("item_tab_date_modification_nice", item_tab_date_modification_nice);
- ezc_functions.Insert("item_tab_dates_equal", item_tab_dates_equal);
- ezc_functions.Insert("item_tab_run", item_tab_run);
- ezc_functions.Insert("item_tab_can_use_emacs", item_tab_can_use_emacs);
- ezc_functions.Insert("item_tab_has_static_file", item_tab_has_static_file);
- ezc_functions.Insert("item_tab_has_thumb", item_tab_has_thumb);
- ezc_functions.Insert("item_tab_type_is_dir", item_tab_type_is_dir);
- ezc_functions.Insert("item_tab_type_is_file", item_tab_type_is_file);
- ezc_functions.Insert("item_tab_type_is_symlink", item_tab_type_is_symlink);
- ezc_functions.Insert("item_tab_is_link_to", item_tab_is_link_to);
- ezc_functions.Insert("item_tab_link_to", item_tab_link_to);
- ezc_functions.Insert("item_tab_is_link_redirect", item_tab_is_link_redirect);
- ezc_functions.Insert("item_tab_file_size", item_tab_file_size);
- ezc_functions.Insert("item_tab_sort", item_tab_sort);
- ezc_functions.Insert("item_tab_has_next", item_tab_has_next);
- ezc_functions.Insert("item_tab_meta_str", item_tab_meta_str);
- ezc_functions.Insert("item_tab_meta", item_tab_meta);
- ezc_functions.Insert("item_tab_meta_noescape", item_tab_meta_noescape);
- ezc_functions.Insert("item_tab_meta_tab", item_tab_meta_tab);
- ezc_functions.Insert("item_tab_meta_tab_value", item_tab_meta_tab_value);
- ezc_functions.Insert("item_tab_meta_tab_has_next", item_tab_meta_tab_has_next);
- */
/*
last
diff --git a/winixd/templates/templates.h b/winixd/templates/templates.h
index 580a8ac..398b724 100644
--- a/winixd/templates/templates.h
+++ b/winixd/templates/templates.h
@@ -229,29 +229,6 @@ namespace TemplatesFunctions
void doc_css_more_than_one(Info & i);
- /*
- env
- */
-// void env_str(Info & i);
-// void env(Info & i);
-// void env_tab(Info & i);
-// void env_tab_value(Info & i);
-// void env_tab_has_next(Info & i);
-// void env_admin_str(Info & i);
-// void env_admin(Info & i);
-// void env_admin_tab(Info & i);
-// void env_admin_tab_value(Info & i);
-// void env_admin_tab_has_next(Info & i);
-// void env_user_admin_env_str(Info & i);
-// void env_user_env_str(Info & i);
-// void env_user_id(Info & i);
-// void env_user_name(Info & i);
-// void env_user_tab(Info & i);
-// void env_user_tab_id(Info & i);
-// void env_user_tab_name(Info & i);
-// void env_user_tab_is_current(Info & i);
-
-
/*
filters
*/
@@ -319,111 +296,6 @@ namespace TemplatesFunctions
void ipban_tab_is_logging_allowed(Info & i);
- /*
- item
- */
- //void item_is(Info & i);
- //void item_no_is(Info & i);
- //void item_id(Info & i);
- //void item_subject(Info & i);
- //void item_subject_noescape(Info & i);
- //void item_content(Info & i);
- //void item_content_noescape(Info & i);
- //void item_content_type_is(Item & item, Info & i);
- //void item_content_type_is(Info & i);
- //void item_content_is_empty(Info & i);
- //void item_privileges(Info & i);
- //void item_dir(Info & i); // RENAMED TO item.dir_link
- //void item_url(Info & i);
- //void item_url_is(Info & i);
- //void item_url_is_no(Info & i);
- //void item_link(Info & i);
- //void item_filetype_is_none(Info & i);
- //void item_filetype_is_image(Info & i);
- //void item_has_static_file(Info & i);
- //void item_has_thumb(Info & i);
-// void item_can_read(Info & i);
-// void item_can_write(Info & i);
-// void item_can_remove(Info & i);
- //void item_user(Info & i);
- void item_modification_user(Info & i);
- void item_users_different(Info & i);
- void item_date_creation(Info & i);
- void item_date_modification(Info & i);
- void item_date_creation_nice(Info & i);
- void item_date_modification_nice(Info & i);
- void item_dates_equal(Info & i);
- //void item_run(Info & i);
- //void item_guest_name(Info & i);
- //void item_html_template(Info & i);
- void item_has_html_template(Info & i);
- //void item_type_is_dir(Info & i);
- //void item_type_is_file(Info & i);
- //void item_type_is_symlink(Info & i);
- void item_is_link_to(Info & i);
- void item_link_to(Info & i);
- void item_is_link_redirect(Info & i);
- void item_file_size(Info & i);
- void item_sort(Info & i);
- //void item_meta_str(Info & i);
- //void item_meta(Info & i);
- //void item_meta_noescape(Info & i);
-// void item_meta_tab(Info & i);
-// void item_meta_tab_value(Info & i);
-// void item_meta_tab_has_next(Info & i);
-// void item_admin_meta_str(Info & i);
-// void item_admin_meta(Info & i);
-// void item_admin_meta_tab(Info & i);
-// void item_admin_meta_tab_value(Info & i);
-// void item_admin_meta_tab_has_next(Info & i);
- void item_can_content_be_html_filtered(Info & i);
-
- /*
- void item_tab(Info & i);
- void item_tab_index(Info & i);
- void item_tab_id(Info & i);
- void item_tab_subject(Info & i);
- void item_tab_subject_noescape(Info & i);
- void item_tab_content(Info & i);
- void item_tab_content_noescape(Info & i);
- void item_tab_print_content(Info & i);
- void item_tab_privileges(Info & i);
- void item_tab_dir(Info & i);
- void item_tab_url(Info & i);
- void item_tab_link(Info & i);
- void item_tab_filetype_is_none(Info & i);
- void item_tab_filetype_is_image(Info & i);
- void item_tab_can_read(Info & i);
- void item_tab_can_write(Info & i);
- void item_tab_user(Info & i);
- void item_tab_modification_user(Info & i);
- void item_tab_users_different(Info & i);
- void item_tab_group(Info & i);
- void item_tab_date_creation(Info & i);
- void item_tab_date_modification(Info & i);
- void item_tab_date_creation_nice(Info & i);
- void item_tab_date_modification_nice(Info & i);
- void item_tab_dates_equal(Info & i);
- void item_tab_run(Info & i);
- void item_tab_can_use_emacs(Info & i);
- void item_tab_has_static_file(Info & i);
- void item_tab_has_thumb(Info & i);
- void item_tab_type_is_dir(Info & i);
- void item_tab_type_is_file(Info & i);
- void item_tab_type_is_symlink(Info & i);
- void item_tab_is_link_to(Info & i);
- void item_tab_link_to(Info & i);
- void item_tab_is_link_redirect(Info & i);
- void item_tab_file_size(Info & i);
- void item_tab_sort(Info & i);
- void item_tab_has_next(Info & i);
- void item_tab_meta_str(Info & i);
- void item_tab_meta(Info & i);
- void item_tab_meta_noescape(Info & i);
- void item_tab_meta_tab(Info & i);
- void item_tab_meta_tab_value(Info & i);
- void item_tab_meta_tab_has_next(Info & i);
- */
/*
last