changed: winix 'upload' function is a file manager now

we're using an jquery upload plugin
added:   Item struct has new rows: hash, hash_type, file_size, sort_index
added:   css mount parameter
         you can specify css files there, and javascript wysiwyg editors
         (ckeditor, tinymce) can make use of it
changed: post parsers can parse post variables with the same name
         (a postfix is added in such a case)
added:   common_dir parameter to the config
         this is a path to common directory (directory with common static files)
         it is needed to the 'css' mount parameter
         


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@746 e52654a7-88a9-db11-a3e9-0013d4bc506e
pull/3/head
Tomasz Sowa 12 years ago
parent 1d6ff73aad
commit 06f42dd9cb

@ -3,26 +3,27 @@
acceptbaseparser.o: acceptbaseparser.h
app.o: app.h config.h confparser.h htmlfilter.h system.h dirs.h item.h
app.o: dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
app.o: ../db/dbtextstream.h ../core/textstream.h misc.h ../core/error.h
app.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
app.o: ../core/user.h ../core/group.h ../core/dircontainer.h
app.o: ../core/ugcontainer.h log.h textstream.h logmanipulators.h slog.h
app.o: cur.h request.h requesttypes.h error.h ../templates/htmltextstream.h
app.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
app.o: ../core/confparser.h ../notify/notify.h ../notify/notifypool.h
app.o: ../templates/misc.h ../templates/localefilter.h ../templates/locale.h
app.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
app.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
app.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
app.o: ../templates/htmltextstream.h ../notify/notifythread.h
app.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
app.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
app.o: mounts.h mount.h mountparser.h crypt.h run.h users.h groups.h group.h
app.o: loadavg.h thumb.h basethread.h sessionmanager.h sessioncontainer.h
app.o: ../functions/functions.h ../functions/functionbase.h ../core/request.h
app.o: ../core/system.h ../core/synchro.h ../functions/functionparser.h
app.o: ../core/cur.h ../functions/adduser.h ../functions/cat.h
app.o: ../functions/chmod.h ../functions/privchanger.h ../functions/chown.h
app.o: ../db/dbtextstream.h ../core/textstream.h misc.h requesttypes.h
app.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
app.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
app.o: ../core/dircontainer.h ../core/ugcontainer.h log.h textstream.h
app.o: logmanipulators.h slog.h cur.h request.h error.h
app.o: ../templates/htmltextstream.h session.h user.h plugindata.h rebus.h
app.o: mount.h ../templates/locale.h ../core/confparser.h ../notify/notify.h
app.o: ../notify/notifypool.h ../templates/misc.h ../templates/localefilter.h
app.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
app.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
app.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
app.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
app.o: ../notify/notifythread.h ../core/basethread.h synchro.h
app.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
app.o: ugcontainer.h lastcontainer.h mounts.h mountparser.h crypt.h run.h
app.o: users.h groups.h group.h loadavg.h thumb.h basethread.h
app.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
app.o: ../functions/functionbase.h ../core/request.h ../core/system.h
app.o: ../core/synchro.h ../functions/functionparser.h ../core/cur.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/default.h
app.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
app.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
@ -41,18 +42,18 @@ app.o: acceptbaseparser.h plugin.h pluginmsg.h
basethread.o: basethread.h log.h textstream.h logmanipulators.h slog.h cur.h
basethread.o: request.h requesttypes.h item.h error.h config.h confparser.h
basethread.o: htmlfilter.h ../templates/htmltextstream.h ../core/textstream.h
basethread.o: misc.h session.h user.h plugindata.h rebus.h
basethread.o: misc.h session.h user.h plugindata.h rebus.h mount.h
basethread.o: ../templates/locale.h ../core/confparser.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h log.h textstream.h logmanipulators.h slog.h cur.h
compress.o: request.h requesttypes.h item.h error.h config.h confparser.h
compress.o: htmlfilter.h ../templates/htmltextstream.h ../core/textstream.h
compress.o: misc.h session.h user.h plugindata.h rebus.h
compress.o: misc.h session.h user.h plugindata.h rebus.h mount.h
compress.o: ../templates/locale.h ../core/confparser.h
config.o: config.h confparser.h htmlfilter.h log.h textstream.h
config.o: logmanipulators.h slog.h cur.h request.h requesttypes.h item.h
config.o: error.h ../templates/htmltextstream.h ../core/textstream.h misc.h
config.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
config.o: session.h user.h plugindata.h rebus.h mount.h ../templates/locale.h
config.o: ../core/confparser.h plugin.h pluginmsg.h system.h dirs.h
config.o: dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
config.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
@ -66,19 +67,18 @@ config.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
config.o: ../templates/htmltextstream.h ../notify/notifythread.h
config.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
config.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
config.o: mounts.h mount.h mountparser.h crypt.h run.h users.h groups.h
config.o: group.h loadavg.h thumb.h basethread.h sessionmanager.h
config.o: sessioncontainer.h ../functions/functions.h
config.o: ../functions/functionbase.h ../core/request.h ../core/system.h
config.o: ../core/synchro.h ../functions/functionparser.h ../core/cur.h
config.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
config.o: ../functions/privchanger.h ../functions/chown.h
config.o: ../functions/ckeditor.h ../functions/cp.h ../functions/default.h
config.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
config.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
config.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
config.o: ../functions/nicedit.h ../functions/node.h ../functions/priv.h
config.o: ../functions/reload.h ../functions/rm.h
config.o: mounts.h mountparser.h crypt.h run.h users.h groups.h group.h
config.o: loadavg.h thumb.h basethread.h sessionmanager.h sessioncontainer.h
config.o: ../functions/functions.h ../functions/functionbase.h
config.o: ../core/request.h ../core/system.h ../core/synchro.h
config.o: ../functions/functionparser.h ../core/cur.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
config.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
config.o: ../functions/last.h ../functions/login.h ../functions/logout.h
config.o: ../functions/ln.h ../functions/ls.h ../functions/mkdir.h
config.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
config.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
config.o: ../functions/specialdefault.h ../functions/stat.h
config.o: ../functions/subject.h ../functions/template.h
config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
@ -87,28 +87,29 @@ 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
confparser.o: confparser.h misc.h item.h requesttypes.h ../../ezc/src/utf8.h
crypt.o: crypt.h run.h config.h confparser.h htmlfilter.h user.h
crypt.o: ../../ezc/src/utf8.h misc.h item.h log.h textstream.h
crypt.o: logmanipulators.h slog.h cur.h request.h requesttypes.h error.h
crypt.o: ../../ezc/src/utf8.h misc.h item.h requesttypes.h log.h textstream.h
crypt.o: logmanipulators.h slog.h cur.h request.h error.h
crypt.o: ../templates/htmltextstream.h ../core/textstream.h session.h
crypt.o: plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
crypt.o: plugindata.h rebus.h mount.h ../templates/locale.h
crypt.o: ../core/confparser.h
dircontainer.o: dircontainer.h item.h log.h textstream.h logmanipulators.h
dircontainer.o: slog.h cur.h request.h requesttypes.h error.h config.h
dircontainer.o: confparser.h htmlfilter.h ../templates/htmltextstream.h
dircontainer.o: ../core/textstream.h misc.h session.h user.h plugindata.h
dircontainer.o: rebus.h ../templates/locale.h ../core/confparser.h
dircontainer.o: rebus.h mount.h ../templates/locale.h ../core/confparser.h
dirs.o: dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
dirs.o: ../db/dbtextstream.h ../core/textstream.h misc.h ../core/error.h
dirs.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
dirs.o: ../core/user.h ../core/group.h ../core/dircontainer.h
dirs.o: ../core/ugcontainer.h log.h textstream.h logmanipulators.h slog.h
dirs.o: cur.h request.h requesttypes.h error.h config.h confparser.h
dirs.o: htmlfilter.h ../templates/htmltextstream.h session.h user.h
dirs.o: plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
dirs.o: ../notify/notify.h ../notify/notifypool.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: ../db/dbtextstream.h ../core/textstream.h misc.h requesttypes.h
dirs.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
dirs.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
dirs.o: ../core/dircontainer.h ../core/ugcontainer.h log.h textstream.h
dirs.o: logmanipulators.h slog.h cur.h request.h error.h config.h
dirs.o: confparser.h htmlfilter.h ../templates/htmltextstream.h session.h
dirs.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
dirs.o: ../core/confparser.h ../notify/notify.h ../notify/notifypool.h
dirs.o: ../templates/misc.h ../templates/localefilter.h ../templates/locale.h
dirs.o: ../../ezc/src/ezc.h ../../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
dirs.o: ../templates/htmltextstream.h ../notify/notifythread.h
@ -116,57 +117,59 @@ dirs.o: ../core/basethread.h synchro.h ../notify/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 ../db/dbitemquery.h ../core/item.h
groups.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
groups.o: item.h requesttypes.h ../core/error.h ../db/dbitemquery.h
groups.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
groups.o: ../core/dircontainer.h ../core/ugcontainer.h log.h textstream.h
groups.o: logmanipulators.h slog.h cur.h request.h requesttypes.h error.h
groups.o: config.h confparser.h htmlfilter.h ../templates/htmltextstream.h
groups.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
groups.o: logmanipulators.h slog.h cur.h request.h error.h config.h
groups.o: confparser.h htmlfilter.h ../templates/htmltextstream.h session.h
groups.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
groups.o: ../core/confparser.h
htmlfilter.o: htmlfilter.h
httpsimpleparser.o: httpsimpleparser.h
item.o: item.h misc.h
item.o: item.h misc.h requesttypes.h crypt.h run.h config.h confparser.h
item.o: htmlfilter.h user.h
lastcontainer.o: lastcontainer.h log.h textstream.h logmanipulators.h slog.h
lastcontainer.o: cur.h request.h requesttypes.h item.h error.h config.h
lastcontainer.o: confparser.h htmlfilter.h ../templates/htmltextstream.h
lastcontainer.o: ../core/textstream.h misc.h session.h user.h plugindata.h
lastcontainer.o: rebus.h ../templates/locale.h ../core/confparser.h
lastcontainer.o: rebus.h mount.h ../templates/locale.h ../core/confparser.h
loadavg.o: loadavg.h log.h textstream.h logmanipulators.h slog.h cur.h
loadavg.o: request.h requesttypes.h item.h error.h config.h confparser.h
loadavg.o: htmlfilter.h ../templates/htmltextstream.h ../core/textstream.h
loadavg.o: misc.h session.h user.h plugindata.h rebus.h ../templates/locale.h
loadavg.o: ../core/confparser.h
loadavg.o: misc.h session.h user.h plugindata.h rebus.h mount.h
loadavg.o: ../templates/locale.h ../core/confparser.h
log.o: log.h textstream.h logmanipulators.h slog.h cur.h request.h
log.o: requesttypes.h item.h error.h config.h confparser.h htmlfilter.h
log.o: ../templates/htmltextstream.h ../core/textstream.h misc.h session.h
log.o: user.h plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
log.o: ../../ezc/src/utf8.h
misc.o: misc.h item.h log.h textstream.h logmanipulators.h slog.h cur.h
misc.o: request.h requesttypes.h error.h config.h confparser.h htmlfilter.h
log.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
log.o: ../core/confparser.h ../../ezc/src/utf8.h
misc.o: misc.h item.h requesttypes.h log.h textstream.h logmanipulators.h
misc.o: slog.h cur.h request.h error.h config.h confparser.h htmlfilter.h
misc.o: ../templates/htmltextstream.h ../core/textstream.h session.h user.h
misc.o: plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
misc.o: ../templates/templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
misc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
misc.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
misc.o: ../../ezc/src/stringconv.h ../templates/patterncacher.h
misc.o: ../core/item.h ../templates/ckeditorgetparser.h
misc.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
misc.o: plugindata.h rebus.h mount.h ../templates/locale.h
misc.o: ../core/confparser.h ../templates/templates.h ../../ezc/src/ezc.h
misc.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
misc.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
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 ../core/config.h
misc.o: ../templates/htmltextstream.h ../core/cur.h ../core/system.h
misc.o: ../core/sessionmanager.h ../core/htmlfilter.h ../db/db.h
misc.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
misc.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/user.h
misc.o: ../core/group.h ../core/dircontainer.h ../core/ugcontainer.h
mount.o: mount.h misc.h item.h
mount.o: mount.h misc.h item.h requesttypes.h
mountparser.o: mountparser.h mount.h item.h dirs.h dircontainer.h ../db/db.h
mountparser.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
mountparser.o: ../core/textstream.h misc.h ../core/error.h
mountparser.o: ../core/textstream.h misc.h requesttypes.h ../core/error.h
mountparser.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
mountparser.o: ../core/user.h ../core/group.h ../core/dircontainer.h
mountparser.o: ../core/ugcontainer.h log.h textstream.h logmanipulators.h
mountparser.o: slog.h cur.h request.h requesttypes.h error.h config.h
mountparser.o: confparser.h htmlfilter.h ../templates/htmltextstream.h
mountparser.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
mountparser.o: slog.h cur.h request.h error.h config.h confparser.h
mountparser.o: htmlfilter.h ../templates/htmltextstream.h session.h user.h
mountparser.o: plugindata.h rebus.h ../templates/locale.h
mountparser.o: ../core/confparser.h ../notify/notify.h ../notify/notifypool.h
mountparser.o: ../templates/misc.h ../templates/localefilter.h
mountparser.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -178,33 +181,34 @@ mountparser.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
mountparser.o: 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 ../db/dbitemquery.h
mounts.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
mounts.o: ../core/dircontainer.h ../core/ugcontainer.h log.h textstream.h
mounts.o: logmanipulators.h slog.h cur.h request.h requesttypes.h config.h
mounts.o: confparser.h htmlfilter.h ../templates/htmltextstream.h session.h
mounts.o: user.h plugindata.h rebus.h ../templates/locale.h
mounts.o: ../core/confparser.h ../notify/notify.h ../notify/notifypool.h
mounts.o: ../templates/misc.h ../templates/localefilter.h
mounts.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.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/htmltextstream.h
mounts.o: ../notify/notifythread.h ../core/basethread.h synchro.h
mounts.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
mounts.o: ugcontainer.h lastcontainer.h mountparser.h plugin.h pluginmsg.h
mounts.o: system.h crypt.h run.h users.h groups.h group.h loadavg.h thumb.h
mounts.o: basethread.h sessionmanager.h sessioncontainer.h
mounts.o: ../functions/functions.h ../functions/functionbase.h
mounts.o: ../core/request.h ../core/system.h ../core/synchro.h
mounts.o: ../functions/functionparser.h ../core/cur.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: ../functions/default.h ../functions/download.h ../functions/emacs.h
mounts.o: ../functions/last.h ../functions/login.h ../functions/logout.h
mounts.o: ../functions/ln.h ../functions/ls.h ../functions/mkdir.h
mounts.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
mounts.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
mounts.o: ../core/textstream.h misc.h requesttypes.h ../core/error.h
mounts.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
mounts.o: ../core/user.h ../core/group.h ../core/dircontainer.h
mounts.o: ../core/ugcontainer.h log.h textstream.h logmanipulators.h slog.h
mounts.o: cur.h request.h config.h confparser.h htmlfilter.h
mounts.o: ../templates/htmltextstream.h session.h user.h plugindata.h rebus.h
mounts.o: ../templates/locale.h ../core/confparser.h ../notify/notify.h
mounts.o: ../notify/notifypool.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 ../notify/notifythread.h
mounts.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
mounts.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
mounts.o: mountparser.h plugin.h pluginmsg.h system.h crypt.h run.h users.h
mounts.o: groups.h group.h loadavg.h thumb.h basethread.h sessionmanager.h
mounts.o: sessioncontainer.h ../functions/functions.h
mounts.o: ../functions/functionbase.h ../core/request.h ../core/system.h
mounts.o: ../core/synchro.h ../functions/functionparser.h ../core/cur.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 ../functions/default.h
mounts.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
mounts.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
mounts.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
mounts.o: ../functions/nicedit.h ../functions/node.h ../functions/priv.h
mounts.o: ../functions/reload.h ../functions/rm.h
mounts.o: ../functions/specialdefault.h ../functions/stat.h
mounts.o: ../functions/subject.h ../functions/template.h
mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
@ -216,22 +220,22 @@ mounts.o: ../templates/indexpatterns.h ../core/sessionmanager.h
plugin.o: plugin.h pluginmsg.h log.h textstream.h logmanipulators.h slog.h
plugin.o: cur.h request.h requesttypes.h item.h error.h config.h confparser.h
plugin.o: htmlfilter.h ../templates/htmltextstream.h ../core/textstream.h
plugin.o: misc.h session.h user.h plugindata.h rebus.h ../templates/locale.h
plugin.o: ../core/confparser.h system.h dirs.h dircontainer.h ../db/db.h
plugin.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
plugin.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
plugin.o: ../core/user.h ../core/group.h ../core/dircontainer.h
plugin.o: ../core/ugcontainer.h ../notify/notify.h ../notify/notifypool.h
plugin.o: ../templates/misc.h ../templates/localefilter.h
plugin.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.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/htmltextstream.h
plugin.o: ../notify/notifythread.h ../core/basethread.h synchro.h
plugin.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
plugin.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h
plugin.o: crypt.h run.h users.h groups.h group.h loadavg.h thumb.h
plugin.o: basethread.h sessionmanager.h sessioncontainer.h
plugin.o: misc.h session.h user.h plugindata.h rebus.h mount.h
plugin.o: ../templates/locale.h ../core/confparser.h system.h dirs.h
plugin.o: dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
plugin.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
plugin.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
plugin.o: ../core/dircontainer.h ../core/ugcontainer.h ../notify/notify.h
plugin.o: ../notify/notifypool.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 ../notify/notifythread.h
plugin.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
plugin.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
plugin.o: mounts.h mountparser.h crypt.h run.h users.h groups.h group.h
plugin.o: loadavg.h thumb.h basethread.h sessionmanager.h sessioncontainer.h
plugin.o: ../functions/functions.h ../functions/functionbase.h
plugin.o: ../core/request.h ../core/system.h ../core/synchro.h
plugin.o: ../functions/functionparser.h ../core/cur.h ../functions/adduser.h
@ -254,7 +258,7 @@ plugindata.o: plugindata.h plugin.h pluginmsg.h log.h textstream.h
plugindata.o: logmanipulators.h slog.h cur.h request.h requesttypes.h item.h
plugindata.o: error.h config.h confparser.h htmlfilter.h
plugindata.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
plugindata.o: session.h user.h rebus.h ../templates/locale.h
plugindata.o: session.h user.h rebus.h mount.h ../templates/locale.h
plugindata.o: ../core/confparser.h system.h dirs.h dircontainer.h ../db/db.h
plugindata.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
plugindata.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
@ -268,12 +272,11 @@ plugindata.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugindata.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
plugindata.o: ../notify/notifythread.h ../core/basethread.h synchro.h
plugindata.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
plugindata.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h
plugindata.o: crypt.h run.h users.h groups.h group.h loadavg.h thumb.h
plugindata.o: basethread.h sessionmanager.h sessioncontainer.h
plugindata.o: ../functions/functions.h ../functions/functionbase.h
plugindata.o: ../core/request.h ../core/system.h ../core/synchro.h
plugindata.o: ../functions/functionparser.h ../core/cur.h
plugindata.o: ugcontainer.h lastcontainer.h mounts.h mountparser.h crypt.h
plugindata.o: run.h users.h groups.h group.h loadavg.h thumb.h basethread.h
plugindata.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/system.h
plugindata.o: ../core/synchro.h ../functions/functionparser.h ../core/cur.h
plugindata.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
plugindata.o: ../functions/privchanger.h ../functions/chown.h
plugindata.o: ../functions/ckeditor.h ../functions/cp.h
@ -292,37 +295,37 @@ plugindata.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
plugindata.o: ../core/httpsimpleparser.h ../core/log.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: logmanipulators.h slog.h cur.h request.h item.h
postmultiparser.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
postmultiparser.o: session.h user.h plugindata.h rebus.h
postmultiparser.o: confparser.h htmlfilter.h misc.h item.h log.h textstream.h
postmultiparser.o: logmanipulators.h slog.h cur.h request.h
postmultiparser.o: ../templates/htmltextstream.h ../core/textstream.h
postmultiparser.o: session.h user.h plugindata.h rebus.h mount.h
postmultiparser.o: ../templates/locale.h ../core/confparser.h
postmultiparser.o: ../../ezc/src/utf8.h
rebus.o: log.h textstream.h logmanipulators.h slog.h cur.h request.h
rebus.o: requesttypes.h item.h error.h config.h confparser.h htmlfilter.h
rebus.o: ../templates/htmltextstream.h ../core/textstream.h misc.h session.h
rebus.o: user.h plugindata.h rebus.h ../templates/locale.h
rebus.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
rebus.o: ../core/confparser.h
request.o: request.h requesttypes.h item.h error.h config.h confparser.h
request.o: htmlfilter.h textstream.h ../templates/htmltextstream.h
request.o: ../core/textstream.h misc.h log.h logmanipulators.h slog.h cur.h
request.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
request.o: ../core/confparser.h plugin.h pluginmsg.h system.h dirs.h
request.o: dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
request.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
request.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h
request.o: ../core/group.h ../core/dircontainer.h ../core/ugcontainer.h
request.o: ../notify/notify.h ../notify/notifypool.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 ../notify/notifythread.h
request.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
request.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
request.o: mounts.h mount.h mountparser.h crypt.h run.h users.h groups.h
request.o: group.h loadavg.h thumb.h basethread.h sessionmanager.h
request.o: sessioncontainer.h ../functions/functions.h
request.o: session.h user.h plugindata.h rebus.h mount.h
request.o: ../templates/locale.h ../core/confparser.h plugin.h pluginmsg.h
request.o: system.h dirs.h dircontainer.h ../db/db.h ../db/dbbase.h
request.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
request.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
request.o: ../core/user.h ../core/group.h ../core/dircontainer.h
request.o: ../core/ugcontainer.h ../notify/notify.h ../notify/notifypool.h
request.o: ../templates/misc.h ../templates/localefilter.h
request.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.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/htmltextstream.h
request.o: ../notify/notifythread.h ../core/basethread.h synchro.h
request.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
request.o: ugcontainer.h lastcontainer.h mounts.h mountparser.h crypt.h run.h
request.o: users.h groups.h group.h loadavg.h thumb.h basethread.h
request.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
request.o: ../functions/functionbase.h ../core/request.h ../core/system.h
request.o: ../core/synchro.h ../functions/functionparser.h ../core/cur.h
request.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
@ -344,35 +347,36 @@ request.o: ../templates/indexpatterns.h ../core/sessionmanager.h
run.o: run.h log.h textstream.h logmanipulators.h slog.h cur.h request.h
run.o: requesttypes.h item.h error.h config.h confparser.h htmlfilter.h
run.o: ../templates/htmltextstream.h ../core/textstream.h misc.h session.h
run.o: user.h plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
run.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
run.o: ../core/confparser.h
session.o: session.h item.h error.h user.h plugindata.h rebus.h textstream.h
session.o: misc.h
session.o: misc.h requesttypes.h
sessioncontainer.o: sessioncontainer.h session.h item.h error.h user.h
sessioncontainer.o: plugindata.h rebus.h textstream.h cur.h request.h
sessioncontainer.o: requesttypes.h config.h confparser.h htmlfilter.h
sessioncontainer.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
sessioncontainer.o: log.h logmanipulators.h slog.h ../templates/locale.h
sessioncontainer.o: ../core/confparser.h
sessioncontainer.o: mount.h log.h logmanipulators.h slog.h
sessioncontainer.o: ../templates/locale.h ../core/confparser.h
sessionmanager.o: sessionmanager.h sessioncontainer.h session.h item.h
sessionmanager.o: error.h user.h plugindata.h rebus.h textstream.h cur.h
sessionmanager.o: request.h requesttypes.h config.h confparser.h htmlfilter.h
sessionmanager.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
sessionmanager.o: lastcontainer.h system.h dirs.h dircontainer.h ../db/db.h
sessionmanager.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
sessionmanager.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
sessionmanager.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
sessionmanager.o: ../core/dircontainer.h ../core/ugcontainer.h log.h
sessionmanager.o: logmanipulators.h slog.h ../templates/locale.h
sessionmanager.o: ../core/confparser.h ../notify/notify.h
sessionmanager.o: ../notify/notifypool.h ../templates/misc.h
sessionmanager.o: ../templates/localefilter.h ../templates/locale.h
sessionmanager.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
sessionmanager.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
sessionmanager.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
sessionmanager.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
sessionmanager.o: ../notify/notifythread.h ../core/basethread.h synchro.h
sessionmanager.o: ../notify/templatesnotify.h ../core/config.h
sessionmanager.o: ../core/users.h ugcontainer.h mounts.h mount.h
sessionmanager.o: mount.h lastcontainer.h system.h dirs.h dircontainer.h
sessionmanager.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h
sessionmanager.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
sessionmanager.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h
sessionmanager.o: ../core/group.h ../core/dircontainer.h
sessionmanager.o: ../core/ugcontainer.h log.h logmanipulators.h slog.h
sessionmanager.o: ../templates/locale.h ../core/confparser.h
sessionmanager.o: ../notify/notify.h ../notify/notifypool.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 ../notify/notifythread.h
sessionmanager.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
sessionmanager.o: ../core/config.h ../core/users.h ugcontainer.h mounts.h
sessionmanager.o: mountparser.h crypt.h run.h users.h groups.h group.h
sessionmanager.o: loadavg.h thumb.h basethread.h sessionparser.h plugin.h
sessionmanager.o: pluginmsg.h ../functions/functions.h
@ -402,21 +406,21 @@ sessionparser.o: sessionparser.h session.h item.h error.h user.h plugindata.h
sessionparser.o: rebus.h textstream.h sessioncontainer.h cur.h request.h
sessionparser.o: requesttypes.h config.h confparser.h htmlfilter.h
sessionparser.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
sessionparser.o: users.h log.h logmanipulators.h slog.h ../templates/locale.h
sessionparser.o: ../core/confparser.h
sessionparser.o: mount.h users.h log.h logmanipulators.h slog.h
sessionparser.o: ../templates/locale.h ../core/confparser.h
slog.o: slog.h cur.h request.h requesttypes.h item.h error.h config.h
slog.o: confparser.h htmlfilter.h textstream.h ../templates/htmltextstream.h
slog.o: ../core/textstream.h misc.h session.h user.h plugindata.h rebus.h
slog.o: logmanipulators.h ../templates/locale.h ../core/confparser.h
slog.o: mount.h logmanipulators.h ../templates/locale.h ../core/confparser.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 ../db/dbitemquery.h ../core/item.h
system.o: requesttypes.h ../core/error.h ../db/dbitemquery.h ../core/item.h
system.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
system.o: ../core/dircontainer.h ../core/ugcontainer.h log.h textstream.h
system.o: logmanipulators.h slog.h cur.h request.h requesttypes.h error.h
system.o: config.h confparser.h htmlfilter.h ../templates/htmltextstream.h
system.o: session.h user.h plugindata.h rebus.h ../templates/locale.h
system.o: logmanipulators.h slog.h cur.h request.h error.h config.h
system.o: confparser.h htmlfilter.h ../templates/htmltextstream.h session.h
system.o: user.h plugindata.h rebus.h mount.h ../templates/locale.h
system.o: ../core/confparser.h ../notify/notify.h ../notify/notifypool.h
system.o: ../templates/misc.h ../templates/localefilter.h
system.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
@ -425,23 +429,23 @@ system.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
system.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
system.o: ../notify/notifythread.h ../core/basethread.h synchro.h
system.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
system.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h
system.o: crypt.h run.h users.h groups.h group.h loadavg.h thumb.h
system.o: basethread.h ../templates/templates.h ../templates/patterncacher.h
system.o: ugcontainer.h lastcontainer.h mounts.h mountparser.h crypt.h run.h
system.o: users.h groups.h group.h loadavg.h thumb.h basethread.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/cur.h
system.o: ../core/system.h ../core/sessionmanager.h ../core/htmlfilter.h
system.o: ../functions/functionbase.h ../core/request.h ../core/synchro.h
textstream.o: textstream.h misc.h item.h
textstream.o: textstream.h misc.h item.h requesttypes.h
thumb.o: thumb.h basethread.h textstream.h ../db/db.h ../db/dbbase.h
thumb.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h
thumb.o: item.h ../core/error.h ../db/dbitemquery.h ../core/item.h
thumb.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
thumb.o: item.h requesttypes.h ../core/error.h ../db/dbitemquery.h
thumb.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
thumb.o: ../core/dircontainer.h ../core/ugcontainer.h log.h logmanipulators.h
thumb.o: slog.h cur.h request.h requesttypes.h error.h config.h confparser.h
thumb.o: htmlfilter.h ../templates/htmltextstream.h session.h user.h
thumb.o: plugindata.h rebus.h ../templates/locale.h ../core/confparser.h
thumb.o: ../core/config.h ../../ezc/src/utf8.h system.h dirs.h dircontainer.h
thumb.o: slog.h cur.h request.h error.h config.h confparser.h htmlfilter.h
thumb.o: ../templates/htmltextstream.h session.h user.h plugindata.h rebus.h
thumb.o: mount.h ../templates/locale.h ../core/confparser.h ../core/config.h
thumb.o: ../../ezc/src/utf8.h system.h dirs.h dircontainer.h
thumb.o: ../notify/notify.h ../notify/notifypool.h ../templates/misc.h
thumb.o: ../templates/localefilter.h ../templates/locale.h
thumb.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
@ -449,6 +453,6 @@ thumb.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
thumb.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
thumb.o: ../templates/htmltextstream.h ../notify/notifythread.h
thumb.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
thumb.o: ../core/users.h ugcontainer.h lastcontainer.h mounts.h mount.h
thumb.o: mountparser.h crypt.h run.h users.h groups.h group.h loadavg.h
thumb.o: ../core/users.h ugcontainer.h lastcontainer.h mounts.h mountparser.h
thumb.o: crypt.h run.h users.h groups.h group.h loadavg.h
users.o: users.h

@ -303,7 +303,7 @@ void App::MakePage()
bool sent = false;
if( !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() )
if( cur.request->page_generated || !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() )
return;
@ -673,7 +673,7 @@ void App::FilterCompressSend(bool compressing, int compress_encoding, const std:
bool raw = cur.request->is_item && cur.request->item.content_type == Item::ct_raw && cur.request->status == WINIX_ERR_OK &&
cur.request->function && (cur.request->function == &functions.fun_cat || cur.request->function == &functions.fun_run);
if( config.html_filter && !raw )
if( config.html_filter && cur.request->use_html_filter && !raw )
{
TemplatesFunctions::html_filter.Filter(*source, clean_html);
AddDebugInfo(clean_html);

@ -113,7 +113,12 @@ void Config::AssignValues(bool stdout_is_closed)
log_post_value_size = Size(L"log_post_value_size", 80);
post_file_max = Size(L"post_file_max", 8388608); // 8 MB
upload_dir = Text(L"upload_dir");
common_dir = Text(L"common_dir");
NoLastSlash(upload_dir);
NoLastSlash(common_dir);
upload_dirs_chmod = Int(L"upload_dirs_chmod", 0750);
upload_files_chmod = Int(L"upload_files_chmod", 0640);
ListText(L"static_dirs", static_dirs);
@ -259,7 +264,7 @@ void Config::CheckPasswd()
{
switch(pass_type)
{
case WINIX_CRYPT_HASH_PLAIN:
case WINIX_CRYPT_HASH_NONE:
case WINIX_CRYPT_HASH_MD4:
case WINIX_CRYPT_HASH_MD5:
case WINIX_CRYPT_HASH_SHA1:

@ -224,6 +224,14 @@ public:
// so you can correct your mistake and then set this value to false
bool dont_use_static_dirs;
// static common directory
// this is a place where there are some common javascripts, images, css files
// winix is allowed to read some files from there
// for example ckeditor config, vim config and so on
// winix read it as a ezc template and put it into database
// default: empty
std::wstring common_dir;
// chmod of newly created directories (under upload_dir)
// default: 0750
int upload_dirs_chmod;

@ -193,7 +193,7 @@ bool Crypt::PassHash(const std::wstring & salt, UserPass & up)
bool result = true;
up.pass_hash_salted = false;
if( up.pass_type != WINIX_CRYPT_HASH_PLAIN )
if( up.pass_type != WINIX_CRYPT_HASH_NONE )
{
pass_org = up.pass;
pass_salted = up.pass;
@ -209,7 +209,7 @@ bool Crypt::PassHash(const std::wstring & salt, UserPass & up)
log << log1 << "Crypt: problem with generating a hash, the password will not be hashed" << logend;
up.pass = pass_org;
up.pass_type = WINIX_CRYPT_HASH_PLAIN;
up.pass_type = WINIX_CRYPT_HASH_NONE;
result = false;
}

@ -20,7 +20,7 @@
/*
the kind of hashes we are able to obtain in winix
*/
#define WINIX_CRYPT_HASH_PLAIN 0
#define WINIX_CRYPT_HASH_NONE 0
#define WINIX_CRYPT_HASH_MD4 1
#define WINIX_CRYPT_HASH_MD5 2
#define WINIX_CRYPT_HASH_SHA1 10

@ -71,6 +71,7 @@
typedef int Error;

@ -2,13 +2,14 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* Copyright (c) 2010-2011, Tomasz Sowa
* All rights reserved.
*
*/
#include "item.h"
#include "misc.h"
#include "crypt.h"
@ -61,10 +62,13 @@ void Item::Clear()
file_path.clear();
file_fs = -1;
file_type = WINIX_ITEM_FILETYPE_NONE;
hash.clear();
hash_type = WINIX_CRYPT_HASH_NONE;
file_size = 0;
has_thumb = false;
html_template.clear();
sort_index = 0;
SetDateToNow();
}

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2011, Tomasz Sowa
* All rights reserved.
*
*/
@ -23,66 +23,74 @@
struct Item
{
long id;
long parent_id;
long id;
long parent_id;
long user_id;
long group_id;
std::wstring guest_name; // used as a user name when user_id is equal -1
long user_id;
long group_id;
std::wstring guest_name; // used as a user name when user_id is equal -1
long modification_user_id; // who has modified the item last (not taken into account when checking permissions)
long modification_user_id; // who has modified the item last (not taken into account when checking permissions)
int privileges;
int privileges;
tm date_creation;
tm date_modification;
tm date_creation;
tm date_modification;
std::wstring subject;
std::wstring content;
std::wstring subject;
std::wstring content;
std::wstring url;
int modify_index;
std::wstring url;
int modify_index;
enum ContentType
{
ct_text = 0,
ct_formatted_text,
ct_html,
ct_bbcode,
ct_raw
};
enum ContentType
{
ct_text = 0,
ct_formatted_text,
ct_html,
ct_bbcode,
ct_raw
};
ContentType content_type;
ContentType content_type;
enum Type
{
dir = 0,
file = 1,
symlink = 2,
enum Type
{
dir = 0,
file = 1,
symlink = 2,
none = 1000
};
none = 1000
};
Type type;
Type type;
// used when type is symlink or to a directory too (function 'default')
std::wstring link_to;
int link_redirect;
// used when type is symlink or to a directory too (function 'default')
std::wstring link_to;
int link_redirect;
// static file (if exists)
std::wstring file_path; // relative file path
int file_fs; // file system type where the file was saved
int file_type; // file type (none, image, doc, etc)
bool has_thumb; // whether or not we have a thumbnail
std::wstring hash; // file hash (md4, md5, ...)
int hash_type; // hash type WINIX_CRYPT_HASH_* (see crypt.h)
size_t file_size; // size of the file
// static file (if exists)
std::wstring file_path; // relative file path
int file_fs; // file system type where the file was saved
int file_type; // file type (none, image, doc, etc)
bool has_thumb;
std::wstring html_template;
std::wstring html_template;
// sort index used when displaying a group of items
int sort_index;
// methods

@ -9,12 +9,27 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fstream>
#include "misc.h"
#include "log.h"
#include "templates/templates.h"
#include "utf8.h"
namespace misc_private
{
std::ifstream get_file_content;
std::string get_file_content_ansi;
}
int Toi(const std::string & str, int base)
{
return Toi(str.c_str(), base);
@ -805,6 +820,50 @@ bool RenameFile(const std::wstring & from, const std::wstring & to)
}
bool GetUTF8File(const char * file_path, std::wstring & content, bool clear_content)
{
using namespace misc_private;
if( clear_content )
content.clear();
get_file_content.clear();
get_file_content.open(file_path, std::ios_base::in | std::ios_base::binary);
if( !get_file_content )
return false;
Ezc::UTF8ToWide(get_file_content, content);
get_file_content.close();
return true;
}
bool GetUTF8File(const wchar_t * file_path, std::wstring & content, bool clear_content)
{
using namespace misc_private;
Ezc::WideToUTF8(file_path, get_file_content_ansi);
return GetUTF8File(get_file_content_ansi.c_str(), content, clear_content);
}
bool GetUTF8File(const std::string & file_path, std::wstring & content, bool clear_content)
{
return GetUTF8File(file_path.c_str(), content, clear_content);
}
bool GetUTF8File(const std::wstring & file_path, std::wstring & content, bool clear_content)
{
return GetUTF8File(file_path.c_str(), content, clear_content);
}
// if there is not an extension it returns a pointer to the last '\0' character
const wchar_t * GetFileExt(const wchar_t * name)
{
@ -1012,7 +1071,24 @@ void QEncode(const std::wstring & in, std::string & out, bool clear)
}
/*
deleting all post temporary files
*/
void RemovePostFileTmp(PostFileTab & post_file_tab)
{
PostFileTab::iterator i = post_file_tab.begin();
for( ; i != post_file_tab.end() ; ++i )
{
const std::wstring & tmp_filename = i->second.tmp_filename;
if( !tmp_filename.empty() && RemoveFile(tmp_filename) )
log << log3 << "Deleted tmp file: " << tmp_filename << logend;
else
if( !tmp_filename.empty() )
log << "swinka" << logend; //!!usunac
}
}

@ -16,6 +16,7 @@
#include <ctime>
#include <cstdio>
#include "item.h"
#include "requesttypes.h"
@ -567,6 +568,12 @@ bool RemoveFile(const std::wstring & file);
bool RenameFile(const wchar_t * from, const wchar_t * to);
bool RenameFile(const std::wstring & from, const std::wstring & to);
bool GetUTF8File(const char * file_path, std::wstring & content, bool clear_content = true);
bool GetUTF8File(const wchar_t * file_path, std::wstring & content, bool clear_content = true);
bool GetUTF8File(const std::string & file_path, std::wstring & content, bool clear_content = true);
bool GetUTF8File(const std::wstring & file_path, std::wstring & content, bool clear_content = true);
const wchar_t * GetFileExt(const wchar_t * name);
int SelectFileType(const wchar_t * file_name);
int SelectFileType(const std::wstring & file_name);
@ -583,5 +590,8 @@ void UrlEncode(const std::wstring & in, std::string & out, bool clear_out = true
void QEncode(const std::wstring & in, std::string & out, bool clear = true);
void RemovePostFileTmp(PostFileTab & post_file_tab);
#endif

@ -10,7 +10,7 @@
#include "postmultiparser.h"
#include "log.h"
#include "utf8.h"
#include "misc.h"
PostMultiParser::PostMultiParser()
@ -353,6 +353,15 @@ void PostMultiParser::ReadContent()
}
void PostMultiParser::ConvStr(const std::string & src, std::wstring & dst)
{
if( config->utf8 )
Ezc::UTF8ToWide(src, dst);
else
AssignString(src, dst);
}
void PostMultiParser::AddNormalPostVar()
{
if( post_tab->size() >= WINIX_POSTTABLE_MAXSIZE )
@ -362,20 +371,10 @@ void PostMultiParser::AddNormalPostVar()
return;
}
ConvStr(name, namew);
ConvStr(content, contentw);
if( config->utf8 )
{
Ezc::UTF8ToWide(name, namew);
Ezc::UTF8ToWide(content, contentw);
}
else
{
AssignString(name, namew);
AssignString(content, contentw);
}
std::pair<PostTab::iterator, bool> res = post_tab->insert( std::make_pair(namew, contentw) );
bool added = res.second;
bool added = InsertPostVar(*post_tab, namew, contentw);
log << log2 << "PMP: POST var, name: \"" << namew << "\"";
@ -395,20 +394,12 @@ void PostMultiParser::AddFilePostVar()
return;
}
if( config->utf8 )
{
Ezc::UTF8ToWide(name, namew);
Ezc::UTF8ToWide(filename, post_file_temp.filename);
}
else
{
AssignString(name, namew);
AssignString(filename, post_file_temp.filename);
}
ConvStr(name, namew);
ConvStr(filename, post_file_temp.filename);
post_file_temp.tmp_filename = tmp_filename;
std::pair<PostFileTab::iterator, bool> res = post_file_tab->insert( std::make_pair(namew, post_file_temp) );
bool added = res.second;
post_file_temp.file_size = content_len;
bool added = InsertPostVar(*post_file_tab, namew, post_file_temp);
log << log2 << "PMP: POST FILE var, name: \"" << namew << "\"";
@ -424,15 +415,10 @@ void PostMultiParser::AddPostVar()
if( name.empty() )
return;
if( filename.empty() )
{
AddNormalPostVar();
}
else
{
AddFilePostVar();
}
}
@ -569,6 +555,7 @@ Error PostMultiParser::Parse(FCGX_Stream * in_, PostTab & post_tab_, PostFileTab
in = in_;
last = 0;
err = WINIX_ERR_OK;
var_index = 1;
line_end_dos = false;
in_buffer_ind = WINIX_POSTMULTI_INPUT_BUFFER;
in_buffer_len = WINIX_POSTMULTI_INPUT_BUFFER;
@ -587,6 +574,7 @@ Error PostMultiParser::Parse(FCGX_Stream * in_, PostTab & post_tab_, PostFileTab
if( err != WINIX_ERR_OK )
{
RemovePostFileTmp(*post_file_tab);
post_tab->clear();
post_file_tab->clear();

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2011, Tomasz Sowa
* All rights reserved.
*
*/
@ -16,6 +16,7 @@
#include "error.h"
#include "requesttypes.h"
#include "config.h"
#include "misc.h"
// 2 MB
@ -53,6 +54,7 @@ private:
PostFileTab * post_file_tab;
int last; // last read character
int var_index; // used as a postfix to the same name (is auto increment)
bool line_end_dos;
std::string boundary;
@ -67,6 +69,7 @@ private:
PostFile post_file_temp;
void LogFirst(const std::string & to_log, size_t len);
void ConvStr(const std::string & src, std::wstring & dst);
bool IsWhite(int c);
void SkipWhite();
@ -94,7 +97,36 @@ private:
void ReadChar();
template<class Container, class Value>
bool InsertPostVar(Container & container, std::wstring & key, const Value & value);
};
template<class Container, class Value>
bool PostMultiParser::InsertPostVar(Container & container, std::wstring & key, const Value & value)
{
bool added;
std::pair<typename Container::iterator, bool> res;
res = container.insert( std::make_pair(key, value) );
added = res.second;
if( !added )
{
key += L"_inc";
key += Toa(var_index);
res = container.insert( std::make_pair(key, value) );
added = res.second;
var_index += 1;
}
return added;
}
#endif

@ -29,7 +29,7 @@ class PostParser : public HttpSimpleParser
std::wstring temp_name, temp_value;
bool input_as_utf8;
size_t log_value_size;
int var_index;
protected:
@ -63,21 +63,36 @@ protected:
}
virtual void Parameter(std::string & name, std::string & value)
void ConvStr(const std::string & src, std::wstring & dst)
{
if( input_as_utf8 )
{
Ezc::UTF8ToWide(name, temp_name);
Ezc::UTF8ToWide(value, temp_value);
}
Ezc::UTF8ToWide(src, dst);
else
AssignString(src, dst);
}
virtual void Parameter(std::string & name, std::string & value)
{
bool added;
std::pair<PostTab::iterator, bool> res;
ConvStr(name, temp_name);
ConvStr(value, temp_value);
res = post_tab->insert( std::make_pair(temp_name, temp_value) );
added = res.second;
if( !added )
{
AssignString(name, temp_name);
AssignString(value, temp_value);
temp_name += L"_inc";
temp_name += Toa(var_index);
res = post_tab->insert( std::make_pair(temp_name, temp_value) );
added = res.second;
var_index += 1;
}
std::pair<PostTab::iterator, bool> res = post_tab->insert( std::make_pair(temp_name, temp_value) );
CreateLog(res.second);
CreateLog(added);
}
@ -104,6 +119,7 @@ public:
{
in = in_;
post_tab = &post_tab_;
var_index = 1;
HttpSimpleParser::Parse();
}

@ -32,29 +32,13 @@ void Request::SetConfig(Config * pconfig)
void Request::ClearPostFileTmp()
{
// deleting temporary files (if exists)
while( !post_file_tab.empty() )
{
const std::wstring & tmp_filename = post_file_tab.begin()->second.tmp_filename;
if( RemoveFile(tmp_filename) )
log << log3 << "Request: deleted tmp file: " << tmp_filename << logend;
post_file_tab.erase(post_file_tab.begin());
}
}
void Request::Clear()
{
// id is never 0
if( ++id == 0 )
++id;
ClearPostFileTmp();
RemovePostFileTmp(post_file_tab);
get_tab.clear();
post_tab.clear();
@ -67,6 +51,9 @@ void Request::Clear()
headers.Clear();
page.Clear();
debug.Clear();
page_generated = false;
use_html_filter = true;
env_request_method = &char_empty;
env_request_uri = &char_empty;

@ -43,6 +43,14 @@ struct Request
TextStream<std::string> headers;
HtmlTextStream page, debug;