added: mount points have parameters now

added: to the database: table 'thread'



git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@499 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2009-04-20 23:49:28 +00:00
parent e94ccc86f8
commit f46677dfc0
24 changed files with 787 additions and 366 deletions

View File

@ -3,26 +3,27 @@
cat.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
cat.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
cat.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
cat.o: ../core/group.h ../core/ugcontainer.h ../core/users.h ../core/groups.h
cat.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
cat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
cat.o: ../core/request.h ../core/requesttypes.h ../core/session.h
cat.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
cat.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
cat.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
cat.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
cat.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
cat.o: ../core/misc.h ../core/function.h ../core/functionparser.h
cat.o: ../core/data.h ../app/content.h
cat.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
cat.o: ../core/groups.h ../core/functions.h ../core/function.h
cat.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
cat.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
cat.o: ../core/session.h ../core/done.h ../core/getparser.h
cat.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
cat.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
cat.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
cat.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
cat.o: ../app/templates.h ../core/misc.h ../core/function.h
cat.o: ../core/functionparser.h ../core/data.h ../app/content.h
content.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
content.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
content.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
content.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
content.o: ../core/users.h ../core/groups.h ../core/functions.h
content.o: ../core/function.h ../core/functioncodeparser.h
content.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
content.o: ../core/request.h ../core/requesttypes.h ../core/session.h
content.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
content.o: ../core/thread.h ../core/users.h ../core/groups.h
content.o: ../core/functions.h ../core/function.h
content.o: ../core/functioncodeparser.h ../core/lastcontainer.h
content.o: ../core/mounts.h ../core/mount.h ../core/request.h
content.o: ../core/requesttypes.h ../core/session.h ../core/done.h
content.o: ../core/getparser.h ../core/httpsimpleparser.h
content.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
content.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
content.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
@ -33,8 +34,8 @@ createthread.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
createthread.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
createthread.o: ../core/error.h ../core/dirs.h ../core/db.h
createthread.o: ../core/dircontainer.h ../core/user.h ../core/group.h
createthread.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
createthread.o: ../core/functions.h ../core/function.h
createthread.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
createthread.o: ../core/groups.h ../core/functions.h ../core/function.h
createthread.o: ../core/functioncodeparser.h ../core/lastcontainer.h
createthread.o: ../core/mounts.h ../core/mount.h ../core/request.h
createthread.o: ../core/requesttypes.h ../core/session.h ../core/done.h
@ -50,11 +51,12 @@ default.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
default.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
default.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
default.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
default.o: ../core/users.h ../core/groups.h ../core/functions.h
default.o: ../core/function.h ../core/functioncodeparser.h
default.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
default.o: ../core/request.h ../core/requesttypes.h ../core/session.h
default.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
default.o: ../core/thread.h ../core/users.h ../core/groups.h
default.o: ../core/functions.h ../core/function.h
default.o: ../core/functioncodeparser.h ../core/lastcontainer.h
default.o: ../core/mounts.h ../core/mount.h ../core/request.h
default.o: ../core/requesttypes.h ../core/session.h ../core/done.h
default.o: ../core/getparser.h ../core/httpsimpleparser.h
default.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
default.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
default.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
@ -64,54 +66,54 @@ default.o: ../core/data.h ../app/content.h
emacs.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
emacs.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
emacs.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
emacs.o: ../core/user.h ../core/group.h ../core/ugcontainer.h ../core/users.h
emacs.o: ../core/groups.h ../core/functions.h ../core/function.h
emacs.o: ../core/functioncodeparser.h ../core/lastcontainer.h
emacs.o: ../core/mounts.h ../core/mount.h ../core/request.h
emacs.o: ../core/requesttypes.h ../core/session.h ../core/done.h
emacs.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h
emacs.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
emacs.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
emacs.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
emacs.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
emacs.o: ../core/function.h ../core/functionparser.h ../core/data.h
emacs.o: ../app/content.h
emacs.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
emacs.o: ../core/thread.h ../core/users.h ../core/groups.h
emacs.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
emacs.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
emacs.o: ../core/request.h ../core/requesttypes.h ../core/session.h
emacs.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
emacs.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
emacs.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
emacs.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
emacs.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
emacs.o: ../core/misc.h ../core/function.h ../core/functionparser.h
emacs.o: ../core/data.h ../app/content.h
last.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
last.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
last.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
last.o: ../core/group.h ../core/ugcontainer.h ../core/users.h
last.o: ../core/groups.h ../core/functions.h ../core/function.h
last.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
last.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
last.o: ../core/session.h ../core/done.h ../core/getparser.h
last.o: ../core/httpsimpleparser.h ../core/postparser.h
last.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
last.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
last.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
last.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
last.o: ../core/function.h ../core/functionparser.h ../core/data.h
last.o: ../app/content.h
last.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h
last.o: ../core/users.h ../core/groups.h ../core/functions.h
last.o: ../core/function.h ../core/functioncodeparser.h
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
last.o: ../core/request.h ../core/requesttypes.h ../core/session.h
last.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
last.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
last.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
last.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
last.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
last.o: ../core/misc.h ../core/function.h ../core/functionparser.h
last.o: ../core/data.h ../app/content.h
login.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
login.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
login.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
login.o: ../core/user.h ../core/group.h ../core/ugcontainer.h ../core/users.h
login.o: ../core/groups.h ../core/functions.h ../core/function.h
login.o: ../core/functioncodeparser.h ../core/lastcontainer.h
login.o: ../core/mounts.h ../core/mount.h ../core/request.h
login.o: ../core/requesttypes.h ../core/session.h ../core/done.h
login.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h
login.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
login.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
login.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
login.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
login.o: ../core/function.h ../core/functionparser.h ../core/data.h
login.o: ../app/content.h
login.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
login.o: ../core/thread.h ../core/users.h ../core/groups.h
login.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
login.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
login.o: ../core/request.h ../core/requesttypes.h ../core/session.h
login.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
login.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
login.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
login.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
login.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
login.o: ../core/misc.h ../core/function.h ../core/functionparser.h
login.o: ../core/data.h ../app/content.h
logout.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
logout.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
logout.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
logout.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
logout.o: ../core/users.h ../core/groups.h ../core/functions.h
logout.o: ../core/function.h ../core/functioncodeparser.h
logout.o: ../core/thread.h ../core/users.h ../core/groups.h
logout.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
logout.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
logout.o: ../core/request.h ../core/requesttypes.h ../core/session.h
logout.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
@ -124,96 +126,96 @@ logout.o: ../core/data.h ../app/content.h
ls.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
ls.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
ls.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
ls.o: ../core/group.h ../core/ugcontainer.h ../core/users.h ../core/groups.h
ls.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h
ls.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
ls.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
ls.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
ls.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
ls.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
ls.o: ../core/misc.h ../core/function.h ../core/functionparser.h
ls.o: ../core/data.h ../app/content.h
ls.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
ls.o: ../core/groups.h ../core/functions.h ../core/function.h
ls.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
ls.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
ls.o: ../core/session.h ../core/done.h ../core/getparser.h
ls.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
ls.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
ls.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
ls.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
ls.o: ../app/templates.h ../core/misc.h ../core/function.h
ls.o: ../core/functionparser.h ../core/data.h ../app/content.h
mkdir.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
mkdir.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
mkdir.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
mkdir.o: ../core/user.h ../core/group.h ../core/ugcontainer.h ../core/users.h
mkdir.o: ../core/groups.h ../core/functions.h ../core/function.h
mkdir.o: ../core/functioncodeparser.h ../core/lastcontainer.h
mkdir.o: ../core/mounts.h ../core/mount.h ../core/request.h
mkdir.o: ../core/requesttypes.h ../core/session.h ../core/done.h
mkdir.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h
mkdir.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
mkdir.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
mkdir.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
mkdir.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
mkdir.o: ../core/function.h ../core/functionparser.h ../core/data.h
mkdir.o: ../app/content.h
mkdir.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
mkdir.o: ../core/thread.h ../core/users.h ../core/groups.h
mkdir.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
mkdir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
mkdir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
mkdir.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
mkdir.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
mkdir.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
mkdir.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
mkdir.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
mkdir.o: ../core/misc.h ../core/function.h ../core/functionparser.h
mkdir.o: ../core/data.h ../app/content.h
node.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
node.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
node.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
node.o: ../core/group.h ../core/ugcontainer.h ../core/users.h
node.o: ../core/groups.h ../core/functions.h ../core/function.h
node.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
node.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
node.o: ../core/session.h ../core/done.h ../core/getparser.h
node.o: ../core/httpsimpleparser.h ../core/postparser.h
node.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
node.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
node.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
node.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
node.o: ../core/function.h ../core/functionparser.h ../core/data.h
node.o: ../app/content.h
node.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h
node.o: ../core/users.h ../core/groups.h ../core/functions.h
node.o: ../core/function.h ../core/functioncodeparser.h
node.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
node.o: ../core/request.h ../core/requesttypes.h ../core/session.h
node.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
node.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
node.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
node.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
node.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
node.o: ../core/misc.h ../core/function.h ../core/functionparser.h
node.o: ../core/data.h ../app/content.h
priv.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
priv.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
priv.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
priv.o: ../core/group.h ../core/ugcontainer.h ../core/users.h
priv.o: ../core/groups.h ../core/functions.h ../core/function.h
priv.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
priv.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
priv.o: ../core/session.h ../core/done.h ../core/getparser.h
priv.o: ../core/httpsimpleparser.h ../core/postparser.h
priv.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
priv.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
priv.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
priv.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h
priv.o: ../core/function.h ../core/functionparser.h ../core/data.h
priv.o: ../app/content.h
priv.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h
priv.o: ../core/users.h ../core/groups.h ../core/functions.h
priv.o: ../core/function.h ../core/functioncodeparser.h
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
priv.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
priv.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
priv.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
priv.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
priv.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
priv.o: ../core/misc.h ../core/function.h ../core/functionparser.h
priv.o: ../core/data.h ../app/content.h
rm.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
rm.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
rm.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
rm.o: ../core/group.h ../core/ugcontainer.h ../core/users.h ../core/groups.h
rm.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
rm.o: ../core/request.h ../core/requesttypes.h ../core/session.h
rm.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
rm.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
rm.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
rm.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
rm.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
rm.o: ../core/misc.h ../core/function.h ../core/functionparser.h
rm.o: ../core/data.h ../app/content.h
rm.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
rm.o: ../core/groups.h ../core/functions.h ../core/function.h
rm.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
rm.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
rm.o: ../core/session.h ../core/done.h ../core/getparser.h
rm.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
rm.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
rm.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
rm.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
rm.o: ../app/templates.h ../core/misc.h ../core/function.h
rm.o: ../core/functionparser.h ../core/data.h ../app/content.h
run.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
run.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
run.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
run.o: ../core/group.h ../core/ugcontainer.h ../core/users.h ../core/groups.h
run.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
run.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
run.o: ../core/request.h ../core/requesttypes.h ../core/session.h
run.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
run.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
run.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
run.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
run.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
run.o: ../core/misc.h ../core/function.h ../core/functionparser.h
run.o: ../core/data.h ../app/content.h
run.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
run.o: ../core/groups.h ../core/functions.h ../core/function.h
run.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
run.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
run.o: ../core/session.h ../core/done.h ../core/getparser.h
run.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
run.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
run.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
run.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
run.o: ../app/templates.h ../core/misc.h ../core/function.h
run.o: ../core/functionparser.h ../core/data.h ../app/content.h
thread.o: content.h ../templates/templates.h ../../ezc/src/ezc.h
thread.o: ../core/data.h ../core/misc.h ../core/log.h ../core/item.h
thread.o: ../core/error.h ../core/dirs.h ../core/db.h ../core/dircontainer.h
thread.o: ../core/user.h ../core/group.h ../core/ugcontainer.h
thread.o: ../core/users.h ../core/groups.h ../core/functions.h
thread.o: ../core/function.h ../core/functioncodeparser.h
thread.o: ../core/thread.h ../core/users.h ../core/groups.h
thread.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
thread.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
thread.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
@ -226,14 +228,14 @@ thread.o: ../core/data.h ../app/content.h
who.o: content.h ../templates/templates.h ../../ezc/src/ezc.h ../core/data.h
who.o: ../core/misc.h ../core/log.h ../core/item.h ../core/error.h
who.o: ../core/dirs.h ../core/db.h ../core/dircontainer.h ../core/user.h
who.o: ../core/group.h ../core/ugcontainer.h ../core/users.h ../core/groups.h
who.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
who.o: ../core/request.h ../core/requesttypes.h ../core/session.h
who.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
who.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
who.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
who.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
who.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
who.o: ../core/misc.h ../core/function.h ../core/functionparser.h
who.o: ../core/data.h ../app/content.h
who.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
who.o: ../core/groups.h ../core/functions.h ../core/function.h
who.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
who.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
who.o: ../core/session.h ../core/done.h ../core/getparser.h
who.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
who.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
who.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
who.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
who.o: ../app/templates.h ../core/misc.h ../core/function.h
who.o: ../core/functionparser.h ../core/data.h ../app/content.h

View File

@ -324,6 +324,19 @@ Item * pdir;
}
void Content::ReadAdditionalInfo()
{
if( request.dir_table.empty() )
return;
Mount mount = data.mounts.GetCurrentMountPoint();
if( mount.type == Mount::thread )
{
db.GetThreadByDirId(request.dir_table.back()->id, request.thread);
}
}

View File

@ -73,6 +73,8 @@ class Content
long PostFunDefaultParsePath();
void PostFunDefault();
void PostFunPriv();
bool FunCreateThreadCheckAccess();
void PostFunCreateThread();
void RedirectTo(const Item & item);
@ -82,6 +84,7 @@ public:
bool Init();
void ReadAdditionalInfo();
void Make();

View File

@ -12,24 +12,52 @@
void Content::PostFunCreateThread()
bool Content::FunCreateThreadCheckAccess()
{
Mount mount = data.mounts.GetCurrentMountPoint();
if( mount.type != Mount::thread )
{
request.status = Error::permision_denied;
return false;
}
if( !request.HasWriteAccess(*request.dir_table.back()) || request.is_item )
{
request.status = Error::permision_denied;
return;
return false;
}
return true;
}
void Content::PostFunCreateThread()
{
if( !FunCreateThreadCheckAccess() )
return;
PostFunMkdir(true);
if( request.session->done_status == Error::ok )
{
PostFunEmacs();
request.thread.dir_id = request.dir_table.back()->id;
request.thread.subject = request.PostVar("subject");
request.thread.closed = false;
request.session->done_status = db.AddThread(request.thread);
if( request.session->done_status == Error::ok )
{
request.session->done = Done::added_thread;
RedirectTo(*request.dir_table.back());
PostFunEmacs();
if( request.session->done_status == Error::ok )
{
request.session->done = Done::added_thread;
RedirectTo(*request.dir_table.back());
}
}
}
}
@ -42,13 +70,7 @@ void Content::PostFunCreateThread()
void Content::FunCreateThread()
{
if( !request.HasWriteAccess(*request.dir_table.back()) )
{
request.status = Error::permision_denied;
return;
}
FunCreateThreadCheckAccess();
}

View File

@ -22,7 +22,13 @@ void Content::FunThread()
item_ref.parent_id = request.dir_table.back()->id;
// !! zrobic inna metode, inny interfejs (jako parametr niech bierze parent_id), i zeby nie odczytywala contentu i subjectu (a moze tylko subject? przyda sie przy ls -l)
db.GetItems(request.item_table, item_ref);
bool asc = true;
Mount mount = data.mounts.GetCurrentMountPoint();
if( mount.IsParam(Mount::desc) )
asc = false;
db.GetItems(request.item_table, item_ref, asc);
}

View File

@ -1,4 +1,4 @@
o = data.o log.o sessionmanager.o requestcontroller.o dircontainer.o session.o main.o done.o request.o misc.o httpsimpleparser.o db.o error.o db_itemcolumns.o users.o config.o dirs.o groups.o function.o functionparser.o functions.o functioncodeparser.o sessioncontainer.o lastcontainer.o mounts.o mountparser.o
o = data.o log.o sessionmanager.o requestcontroller.o dircontainer.o session.o main.o done.o request.o misc.o httpsimpleparser.o db.o error.o db_itemcolumns.o users.o config.o dirs.o groups.o function.o functionparser.o functions.o functioncodeparser.o sessioncontainer.o lastcontainer.o mounts.o mountparser.o mount.o

View File

@ -2,41 +2,42 @@
config.o: config.h ../confparser/confparser.h error.h log.h data.h misc.h
config.o: item.h dirs.h db.h dircontainer.h user.h group.h ugcontainer.h
config.o: users.h groups.h functions.h function.h functioncodeparser.h
config.o: lastcontainer.h mounts.h mount.h request.h requesttypes.h session.h
config.o: done.h getparser.h httpsimpleparser.h postparser.h cookieparser.h
config.o: mountparser.h
config.o: thread.h users.h groups.h functions.h function.h
config.o: functioncodeparser.h lastcontainer.h mounts.h mount.h request.h
config.o: requesttypes.h session.h done.h getparser.h httpsimpleparser.h
config.o: postparser.h cookieparser.h mountparser.h
data.o: data.h misc.h log.h item.h error.h dirs.h db.h dircontainer.h user.h
data.o: group.h ugcontainer.h users.h groups.h functions.h function.h
data.o: functioncodeparser.h lastcontainer.h mounts.h mount.h request.h
data.o: requesttypes.h session.h done.h getparser.h httpsimpleparser.h
data.o: postparser.h cookieparser.h mountparser.h
data.o: group.h ugcontainer.h thread.h users.h groups.h functions.h
data.o: function.h functioncodeparser.h lastcontainer.h mounts.h mount.h
data.o: request.h requesttypes.h session.h done.h getparser.h
data.o: httpsimpleparser.h postparser.h cookieparser.h mountparser.h
db.o: db.h log.h item.h misc.h error.h dircontainer.h user.h group.h
db.o: ugcontainer.h
db.o: ugcontainer.h thread.h
db_itemcolumns.o: db.h log.h item.h misc.h error.h dircontainer.h user.h
db_itemcolumns.o: group.h ugcontainer.h
db_itemcolumns.o: group.h ugcontainer.h thread.h
dircontainer.o: dircontainer.h item.h log.h
dirs.o: dirs.h item.h error.h log.h db.h misc.h dircontainer.h user.h group.h
dirs.o: ugcontainer.h
dirs.o: ugcontainer.h thread.h
done.o: done.h
error.o: error.h log.h
function.o: function.h log.h item.h
functioncodeparser.o: functioncodeparser.h function.h log.h item.h
functionparser.o: functionparser.h request.h requesttypes.h log.h session.h
functionparser.o: error.h item.h done.h user.h getparser.h httpsimpleparser.h
functionparser.o: postparser.h cookieparser.h function.h data.h misc.h dirs.h
functionparser.o: db.h dircontainer.h group.h ugcontainer.h users.h groups.h
functionparser.o: functions.h functioncodeparser.h lastcontainer.h mounts.h
functionparser.o: mount.h mountparser.h ../app/content.h ../core/log.h
functionparser.o: ../core/data.h ../core/function.h
functionparser.o: postparser.h cookieparser.h function.h thread.h data.h
functionparser.o: misc.h dirs.h db.h dircontainer.h group.h ugcontainer.h
functionparser.o: users.h groups.h functions.h functioncodeparser.h
functionparser.o: lastcontainer.h mounts.h mount.h mountparser.h
functionparser.o: ../app/content.h ../core/log.h ../core/data.h
functionparser.o: ../core/function.h
functions.o: functions.h function.h log.h item.h functioncodeparser.h
groups.o: groups.h group.h db.h log.h item.h misc.h error.h dircontainer.h
groups.o: user.h ugcontainer.h
groups.o: user.h ugcontainer.h thread.h
httpsimpleparser.o: httpsimpleparser.h
lastcontainer.o: lastcontainer.h log.h
log.o: log.h
main.o: requestcontroller.h data.h misc.h log.h item.h error.h dirs.h db.h
main.o: dircontainer.h user.h group.h ugcontainer.h users.h groups.h
main.o: dircontainer.h user.h group.h ugcontainer.h thread.h users.h groups.h
main.o: functions.h function.h functioncodeparser.h lastcontainer.h mounts.h
main.o: mount.h request.h requesttypes.h session.h done.h getparser.h
main.o: httpsimpleparser.h postparser.h cookieparser.h mountparser.h
@ -48,16 +49,24 @@ main.o: ../app/templates.h ../core/misc.h ../core/function.h
main.o: ../core/functionparser.h ../app/content.h sessionmanager.h
main.o: sessioncontainer.h config.h ../confparser/confparser.h
misc.o: misc.h log.h item.h
mountparser.o: mountparser.h log.h mount.h error.h
mount.o: mount.h
mountparser.o: mountparser.h log.h mount.h error.h item.h data.h misc.h
mountparser.o: dirs.h db.h dircontainer.h user.h group.h ugcontainer.h
mountparser.o: thread.h users.h groups.h functions.h function.h
mountparser.o: functioncodeparser.h lastcontainer.h mounts.h request.h
mountparser.o: requesttypes.h session.h done.h getparser.h httpsimpleparser.h
mountparser.o: postparser.h cookieparser.h
mounts.o: mounts.h mount.h request.h requesttypes.h log.h session.h error.h
mounts.o: item.h done.h user.h getparser.h httpsimpleparser.h postparser.h
mounts.o: cookieparser.h function.h mountparser.h
mounts.o: cookieparser.h function.h thread.h mountparser.h data.h misc.h
mounts.o: dirs.h db.h dircontainer.h group.h ugcontainer.h users.h groups.h
mounts.o: functions.h functioncodeparser.h lastcontainer.h
request.o: request.h requesttypes.h log.h session.h error.h item.h done.h
request.o: user.h getparser.h httpsimpleparser.h postparser.h cookieparser.h
request.o: function.h
request.o: function.h thread.h
requestcontroller.o: requestcontroller.h data.h misc.h log.h item.h error.h
requestcontroller.o: dirs.h db.h dircontainer.h user.h group.h ugcontainer.h
requestcontroller.o: users.h groups.h functions.h function.h
requestcontroller.o: thread.h users.h groups.h functions.h function.h
requestcontroller.o: functioncodeparser.h lastcontainer.h mounts.h mount.h
requestcontroller.o: request.h requesttypes.h session.h done.h getparser.h
requestcontroller.o: httpsimpleparser.h postparser.h cookieparser.h
@ -72,12 +81,18 @@ requestcontroller.o: ../core/functionparser.h ../app/content.h
requestcontroller.o: sessionmanager.h sessioncontainer.h
session.o: session.h requesttypes.h error.h log.h item.h done.h user.h
sessioncontainer.o: sessioncontainer.h session.h requesttypes.h error.h log.h
sessioncontainer.o: item.h done.h user.h
sessioncontainer.o: item.h done.h user.h data.h misc.h dirs.h db.h
sessioncontainer.o: dircontainer.h group.h ugcontainer.h thread.h users.h
sessioncontainer.o: groups.h functions.h function.h functioncodeparser.h
sessioncontainer.o: lastcontainer.h mounts.h mount.h request.h getparser.h
sessioncontainer.o: httpsimpleparser.h postparser.h cookieparser.h
sessioncontainer.o: mountparser.h
sessionmanager.o: sessionmanager.h request.h requesttypes.h log.h session.h
sessionmanager.o: error.h item.h done.h user.h getparser.h httpsimpleparser.h
sessionmanager.o: postparser.h cookieparser.h function.h data.h misc.h dirs.h
sessionmanager.o: db.h dircontainer.h group.h ugcontainer.h users.h groups.h
sessionmanager.o: functions.h functioncodeparser.h lastcontainer.h mounts.h
sessionmanager.o: mount.h mountparser.h sessioncontainer.h
sessionmanager.o: postparser.h cookieparser.h function.h thread.h data.h
sessionmanager.o: misc.h dirs.h db.h dircontainer.h group.h ugcontainer.h
sessionmanager.o: users.h groups.h functions.h functioncodeparser.h
sessionmanager.o: lastcontainer.h mounts.h mount.h mountparser.h
sessionmanager.o: sessioncontainer.h
users.o: users.h user.h db.h log.h item.h misc.h error.h dircontainer.h
users.o: group.h ugcontainer.h
users.o: group.h ugcontainer.h thread.h

View File

@ -745,7 +745,7 @@ return result;
PGresult * Db::GetItemsQuery(Item & item_ref)
PGresult * Db::GetItemsQuery(Item & item_ref, bool asc)
{
std::ostringstream query;
query << "select * from core.item left join core.content on item.content_id = content.id where type!='0' and parent_id='" << item_ref.parent_id << "'";
@ -756,14 +756,22 @@ PGresult * Db::GetItemsQuery(Item & item_ref)
if( !item_ref.url.empty() )
query << " and url='" << Escape(item_ref.url) << "'";
query << " order by item.date_modification";
if( asc )
query << " asc";
else
query << " desc";
query << ';';
return AssertQuery(query.str());
}
void Db::GetItems(std::vector<Item> & item_table, Item & item_ref)
void Db::GetItems(std::vector<Item> & item_table, Item & item_ref, bool asc)
{
item_table.clear();
PGresult * r = 0;
@ -772,7 +780,7 @@ void Db::GetItems(std::vector<Item> & item_table, Item & item_ref)
{
AssertConnection();
r = GetItemsQuery(item_ref);
r = GetItemsQuery(item_ref, asc);
AssertResultStatus(r, PGRES_TUPLES_OK);
Item item;
@ -1358,3 +1366,86 @@ return buffer;
Error Db::GetThreadByDirId(long dir_id, Thread & thread)
{
PGresult * r = 0;
Error status = Error::ok;
try
{
AssertConnection();
std::ostringstream query;
query << "select id, dir_id, subject, closed from core.thread where thread.dir_id = " << dir_id << ";";
r = AssertQuery( query.str() );
AssertResultStatus(r, PGRES_TUPLES_OK);
int rows = PQntuples(r);
if( rows > 1 )
log << log1 << "Db: there is more than one thread with dir_id: " << dir_id << logend;
else
if( rows == 0 )
{
log << log1 << "Db: there is no a thread with dir_id: " << dir_id << logend;
throw Error(Error::no_thread);
}
int cid = AssertColumn(r, "id");
int cdir_id = AssertColumn(r, "dir_id");
int csubject = AssertColumn(r, "subject");
int cclosed = AssertColumn(r, "closed");
thread.id = atol( AssertValue(r, 0, cid) );
thread.dir_id = atol( AssertValue(r, 0, cdir_id) );
thread.subject = AssertValue(r, 0, csubject);
thread.closed = atol( AssertValue(r, 0, cclosed) ) == 0 ? false : true;
}
catch(const Error & e)
{
status = e;
}
ClearResult(r);
return status;
}
Error Db::AddThread(Thread & thread)
{
PGresult * r = 0;
Error status = Error::ok;
try
{
AssertConnection();
std::ostringstream query;
query << "insert into core.thread (dir_id, subject, closed) values (";
query << '\'' << thread.dir_id << "', ";
query << '\'' << Escape(thread.subject) << "', ";
query << '\'' << (thread.closed ? 1 : 0 ) << "'); ";
r = AssertQuery(query.str());
AssertResultStatus(r, PGRES_COMMAND_OK);
thread.id = AssertCurrval("core.thread_id_seq");
}
catch(const Error & e)
{
status = e;
}
ClearResult(r);
return status;
}

View File

@ -28,6 +28,8 @@
#include "user.h"
#include "group.h"
#include "ugcontainer.h"
#include "thread.h"
class Db
@ -48,7 +50,7 @@ public:
Error EditItemById(Item & item, bool with_subject = true);
Error EditItemByUrl(Item & item, bool with_subject = true);
void CheckAllUrlSubject();
void GetItems(std::vector<Item> & item_table, Item & item_ref);
void GetItems(std::vector<Item> & item_table, Item & item_ref, bool asc = true);
void GetItem(std::vector<Item> & item_table, long id);
bool GetPriv(Item & item, long id);
Error EditPrivById(Item & item, long id);
@ -75,6 +77,10 @@ public:
virtual void Connect();
Error AddThread(Thread & thread);
Error GetThreadByDirId(long dir_id, Thread & thread);
protected:
PGconn * pg_conn;
@ -106,7 +112,7 @@ protected:
void CheckAllUrlSubjectModifyItem(Item & item);
PGresult * GetItemsQuery(Item & item_ref);
PGresult * GetItemsQuery(Item & item_ref, bool asc = true);
bool DelItemDelItem(const Item & item);
void DelItemDelContent(const Item & item);

View File

@ -47,6 +47,10 @@ public:
mount_unknown,
no_mountpoint,
mount_no_param,
no_thread,
unknown = 1000

75
core/mount.cpp Executable file
View File

@ -0,0 +1,75 @@
/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2009, Tomasz Sowa
* All rights reserved.
*
*/
#include "mount.h"
Mount::Mount()
{
type = cms;
dir_id = -1;
}
const char * Mount::TypeToStr()
{
static char buffer[30];
switch( type )
{
case cms:
sprintf(buffer, "cms");
break;
case thread:
sprintf(buffer, "thread");
break;
default:
sprintf(buffer, "the name is not set");
break;
}
return buffer;
}
bool Mount::ParseStrParam(const std::string & param)
{
Param p = none;
if( param == "asc" )
p = asc;
else
if( param == "desc" )
p = desc;
else
if( param == "none" )
return true;
else
return false;
param_table.insert(p);
return true;
}
bool Mount::IsParam(Param p)
{
std::set<Param>::iterator i = param_table.find(p);
if( i == param_table.end() )
return false;
return true;
}

View File

@ -11,8 +11,8 @@
#ifndef headerfilecoremount
#define headerfilecoremount
#include <set>
#include <string>
class Mount
@ -27,36 +27,25 @@ public:
};
enum Param
{
none = 0,
asc,
desc
};
long dir_id;
Type type;
Mount();
const char * TypeToStr();
bool ParseStrParam(const std::string & param);
bool IsParam(Param p);
// in the future can be more parameters to a mount point
const char * TypeToStr()
{
static char buffer[30];
switch( type )
{
case cms:
sprintf(buffer, "cms");
break;
case thread:
sprintf(buffer, "thread");
break;
default:
sprintf(buffer, "the name is not set");
break;
}
return buffer;
}
private:
std::set<Param> param_table;
};

View File

@ -51,6 +51,21 @@ void MountParser::ReadWord(std::string & res)
}
void MountParser::ReadParam(std::string & res)
{
res.clear();
while( *pinput && *pinput!=10 && *pinput!=',' && !IsWhite(*pinput) )
{
res += *pinput;
++pinput;
}
if( *pinput==',' )
++pinput;
}
void MountParser::ReadMountType()
{
@ -59,13 +74,13 @@ void MountParser::ReadMountType()
if( temp == "cms" )
{
mount_type = Mount::cms;
mount.type = Mount::cms;
log << log3 << "MP: mount type: cms" << logend;
}
else
if( temp == "thread" )
{
mount_type = Mount::thread;
mount.type = Mount::thread;
log << log3 << "MP: mount type: thread" << logend;
}
else
@ -88,6 +103,7 @@ void MountParser::ReadMountPoint()
if( pdir )
{
mount.dir_id = pdir->id;
log << log3 << "MP: mount point: " << temp << logend;
}
else
@ -99,6 +115,27 @@ void MountParser::ReadMountPoint()
void MountParser::ReadMountParams()
{
SkipWhite();
for( ReadParam(temp) ; !temp.empty() ; ReadParam(temp) )
{
if( !mount.ParseStrParam(temp) )
{
log << log1 << "MP: unknown mount param: " << temp << logend;
err = Error::mount_no_param;
return;
}
else
{
log << log3 << "MP: mount param: " << temp << logend;
}
}
}
void MountParser::ReadRow(std::map<long, Mount> & output)
{
ReadMountType();
@ -106,15 +143,14 @@ void MountParser::ReadRow(std::map<long, Mount> & output)
if( err == Error::ok )
ReadMountPoint();
if( err == Error::ok )
ReadMountParams();
if( err == Error::ok )
{
Mount m;
m.dir_id = pdir->id;
m.type = mount_type;
output.insert( std::make_pair(pdir->id, m) );
output.insert( std::make_pair(mount.dir_id, mount) );
}
SkipLine();
}

View File

@ -34,13 +34,17 @@ private:
void SkipWhite();
void SkipLine();
void ReadWord(std::string & res);
void ReadParam(std::string & res);
void ReadMountType();
void ReadMountPoint();
void ReadMountParams();
void ReadRow(std::map<long, Mount> & output);
const char * pinput;
std::string temp;
Mount::Type mount_type;
Mount mount;
Item * pdir;
Error err;
};

View File

@ -16,7 +16,7 @@ void Mounts::ReadMounts()
MountParser mp;
// !! tymczasowo - bedzie odczyt z bazy z /etc/fstab
std::string temp = "thread /news";
std::string temp = "thread /news desc";
Error err = mp.Parse(temp, mount_table);

View File

@ -61,6 +61,8 @@ void Request::Clear()
param_table.clear();
status = Error::ok;
thread.Clear();
}

View File

@ -25,6 +25,7 @@
#include "item.h"
#include "error.h"
#include "function.h"
#include "thread.h"
struct Request
@ -112,6 +113,8 @@ struct Request
// directories in the current directory
//std::vector<Item> dir_table2;
// current thread (if exists)
Thread thread;
// this string is used for many purposes such as redirecting
std::string str;

View File

@ -153,6 +153,7 @@ void RequestController::Loop()
function_parser.Parse();
data.mounts.CalculateCurrentMountType();
content.ReadAdditionalInfo();
content.Make();
}

41
core/thread.h Executable file
View File

@ -0,0 +1,41 @@
/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2009, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecorethread
#define headerfilecorethread
#include <string>
class Thread
{
public:
long id;
long dir_id;
std::string subject;
bool closed;
void Clear()
{
id = dir_id = -1;
closed = false;
subject.clear();
}
Thread()
{
Clear();
}
};
#endif

View File

@ -3,99 +3,103 @@
dir.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
dir.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
dir.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
dir.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
dir.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
dir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
dir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
dir.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
dir.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
dir.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
dir.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
dir.o: ../core/log.h patterncacher.h ../app/templates.h
dir.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
dir.o: ../core/groups.h ../core/functions.h ../core/function.h
dir.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
dir.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
dir.o: ../core/session.h ../core/done.h ../core/getparser.h
dir.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
dir.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
dir.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
dir.o: ../core/groups.h ../core/log.h patterncacher.h ../app/templates.h
doc.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
doc.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
doc.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
doc.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
doc.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
doc.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
doc.o: ../core/request.h ../core/requesttypes.h ../core/session.h
doc.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
doc.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
doc.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
doc.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
doc.o: ../core/log.h patterncacher.h ../app/templates.h
doc.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
doc.o: ../core/groups.h ../core/functions.h ../core/function.h
doc.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
doc.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
doc.o: ../core/session.h ../core/done.h ../core/getparser.h
doc.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
doc.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
doc.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
doc.o: ../core/groups.h ../core/log.h patterncacher.h ../app/templates.h
done.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
done.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
done.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
done.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
done.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
done.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
done.o: ../core/request.h ../core/requesttypes.h ../core/session.h
done.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
done.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
done.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
done.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
done.o: ../core/log.h patterncacher.h ../app/templates.h
done.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
done.o: ../core/groups.h ../core/functions.h ../core/function.h
done.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
done.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
done.o: ../core/session.h ../core/done.h ../core/getparser.h
done.o: ../core/httpsimpleparser.h ../core/postparser.h
done.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
done.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
done.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
done.o: patterncacher.h ../app/templates.h
item.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
item.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
item.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
item.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
item.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
item.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
item.o: ../core/request.h ../core/requesttypes.h ../core/session.h
item.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
item.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
item.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
item.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
item.o: ../core/log.h patterncacher.h ../app/templates.h
item.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
item.o: ../core/groups.h ../core/functions.h ../core/function.h
item.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
item.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
item.o: ../core/session.h ../core/done.h ../core/getparser.h
item.o: ../core/httpsimpleparser.h ../core/postparser.h
item.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
item.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
item.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
item.o: patterncacher.h ../app/templates.h
last.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
last.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
last.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
last.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
last.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
last.o: ../core/request.h ../core/requesttypes.h ../core/session.h
last.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
last.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
last.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
last.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
last.o: ../core/log.h patterncacher.h ../app/templates.h
last.o: ../core/lastcontainer.h ../core/misc.h
last.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
last.o: ../core/groups.h ../core/functions.h ../core/function.h
last.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
last.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
last.o: ../core/session.h ../core/done.h ../core/getparser.h
last.o: ../core/httpsimpleparser.h ../core/postparser.h
last.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
last.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
last.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
last.o: patterncacher.h ../app/templates.h ../core/lastcontainer.h
last.o: ../core/misc.h
patterncacher.o: patterncacher.h ../core/item.h ../../ezc/src/ezc.h
patterncacher.o: ../core/log.h
priv.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
priv.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
priv.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
priv.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
priv.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
priv.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
priv.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
priv.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
priv.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
priv.o: ../core/log.h patterncacher.h ../app/templates.h
priv.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
priv.o: ../core/groups.h ../core/functions.h ../core/function.h
priv.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
priv.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
priv.o: ../core/session.h ../core/done.h ../core/getparser.h
priv.o: ../core/httpsimpleparser.h ../core/postparser.h
priv.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
priv.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
priv.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
priv.o: patterncacher.h ../app/templates.h
sys.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
sys.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
sys.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
sys.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
sys.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
sys.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
sys.o: ../core/request.h ../core/requesttypes.h ../core/session.h
sys.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
sys.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
sys.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
sys.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
sys.o: ../core/log.h patterncacher.h ../app/templates.h
sys.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
sys.o: ../core/groups.h ../core/functions.h ../core/function.h
sys.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
sys.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
sys.o: ../core/session.h ../core/done.h ../core/getparser.h
sys.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
sys.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
sys.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
sys.o: ../core/groups.h ../core/log.h patterncacher.h ../app/templates.h
templates.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
templates.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
templates.o: ../core/db.h ../core/dircontainer.h ../core/user.h
templates.o: ../core/group.h ../core/ugcontainer.h ../core/users.h
templates.o: ../core/groups.h ../core/functions.h ../core/function.h
templates.o: ../core/functioncodeparser.h ../core/lastcontainer.h
templates.o: ../core/mounts.h ../core/mount.h ../core/request.h
templates.o: ../core/requesttypes.h ../core/session.h ../core/done.h
templates.o: ../core/getparser.h ../core/httpsimpleparser.h
templates.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h
templates.o: ../core/users.h ../core/groups.h ../core/functions.h
templates.o: ../core/function.h ../core/functioncodeparser.h
templates.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
templates.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
templates.o: ../core/postparser.h ../core/cookieparser.h
templates.o: ../core/mountparser.h ../core/request.h ../core/item.h
templates.o: ../core/db.h ../core/error.h ../core/user.h ../core/group.h
@ -104,39 +108,41 @@ templates.o: ../app/templates.h
thread.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
thread.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
thread.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
thread.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
thread.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
thread.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
thread.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
thread.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
thread.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
thread.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
thread.o: ../core/log.h patterncacher.h ../app/templates.h
thread.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
thread.o: ../core/groups.h ../core/functions.h ../core/function.h
thread.o: ../core/functioncodeparser.h ../core/lastcontainer.h
thread.o: ../core/mounts.h ../core/mount.h ../core/request.h
thread.o: ../core/requesttypes.h ../core/session.h ../core/done.h
thread.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h
thread.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
thread.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
thread.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
thread.o: patterncacher.h ../app/templates.h
user.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
user.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
user.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
user.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
user.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
user.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
user.o: ../core/request.h ../core/requesttypes.h ../core/session.h
user.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
user.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
user.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
user.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
user.o: ../core/log.h patterncacher.h ../app/templates.h
user.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
user.o: ../core/groups.h ../core/functions.h ../core/function.h
user.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
user.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
user.o: ../core/session.h ../core/done.h ../core/getparser.h
user.o: ../core/httpsimpleparser.h ../core/postparser.h
user.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
user.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
user.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
user.o: patterncacher.h ../app/templates.h
who.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.h
who.o: ../core/log.h ../core/item.h ../core/error.h ../core/dirs.h
who.o: ../core/db.h ../core/dircontainer.h ../core/user.h ../core/group.h
who.o: ../core/ugcontainer.h ../core/users.h ../core/groups.h
who.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
who.o: ../core/request.h ../core/requesttypes.h ../core/session.h
who.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
who.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
who.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
who.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
who.o: ../core/log.h patterncacher.h ../app/templates.h
who.o: ../core/ugcontainer.h ../core/thread.h ../core/users.h
who.o: ../core/groups.h ../core/functions.h ../core/function.h
who.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
who.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
who.o: ../core/session.h ../core/done.h ../core/getparser.h
who.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
who.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
who.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
who.o: ../core/groups.h ../core/log.h patterncacher.h ../app/templates.h
who.o: ../core/sessioncontainer.h ../core/requestcontroller.h ../core/data.h
who.o: ../content/content.h ../templates/templates.h ../core/misc.h
who.o: ../core/function.h ../core/functionparser.h ../app/content.h

View File

@ -313,6 +313,94 @@ void item_tab_link(Info & i)
}
void item_tab_can_read(Info & i)
{
if( item_index < request.item_table.size() )
{
if( request.HasReadAccess(request.item_table[item_index]) )
i.result = true;
}
}
void item_tab_info(Info & i)
{
Ezc::Generator gen(i.out, pat_item_tab_info, functions);
gen.Generate();
}
void item_tab_user(Info & i)
{
if( item_index < request.item_table.size() )
{
User * puser = data.users.GetUser(request.item_table[item_index].user_id);
if( puser )
HtmlEscape(i.out, puser->name);
else
i.out << "unknown";
}
}
void item_tab_date_creation(Info & i)
{
if( item_index < request.item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_creation;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
}
void item_tab_date_modification(Info & i)
{
if( item_index < request.item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_modification;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
}
void item_tab_dates_equal(Info & i)
{
if( item_index < request.item_table.size() )
{
tm * ptm1 = &request.item_table[item_index].date_creation;
tm * ptm2 = &request.item_table[item_index].date_modification;
i.result = ptm1->tm_year == ptm2->tm_year &&
ptm1->tm_mon == ptm2->tm_mon &&
ptm1->tm_mday == ptm2->tm_mday &&
ptm1->tm_hour == ptm2->tm_hour &&
ptm1->tm_min == ptm2->tm_min &&
ptm1->tm_sec == ptm2->tm_sec;
}
}
void item_tab_run(Info & i)
{
if( item_index < request.item_table.size() )
{
if( !request.HasReadExecAccess(request.item) )
{
i.out << "<!-- run: permission denied -->";
return;
}
Ezc::Pattern * p = pattern_cacher.GetPattern(request.item_table[item_index]);
Ezc::Generator gen(i.out, *p, functions);
gen.Generate();
}
}
} // namespace TemplatesFunctions

View File

@ -32,7 +32,7 @@ Ezc::Pattern pat_err_404;
Ezc::Pattern pat_err_per_denied;
Ezc::Pattern pat_err_others;
Ezc::Pattern pat_item_info;
Ezc::Pattern pat_item_tab_info;
Ezc::Functions functions;
@ -208,44 +208,51 @@ void Templates::CreateFunctions()
/*
item
*/
functions.Insert("item_is", item_is);
functions.Insert("item_id", item_id);
functions.Insert("item_subject", item_subject);
functions.Insert("item_subject_noescape", item_subject_noescape);
functions.Insert("item_content", item_content);
functions.Insert("item_content_noescape", item_content_noescape);
functions.Insert("item_privileges", item_privileges);
functions.Insert("item_dir", item_dir);
functions.Insert("item_url", item_url);
functions.Insert("item_link", item_link);
functions.Insert("item_can_read", item_can_read);
functions.Insert("item_info", item_info);
functions.Insert("item_user", item_user);
functions.Insert("item_date_creation", item_date_creation);
functions.Insert("item_date_modification", item_date_modification);
functions.Insert("item_dates_equal", item_dates_equal);
functions.Insert("item_run", item_run);
functions.Insert("item_is", item_is);
functions.Insert("item_id", item_id);
functions.Insert("item_subject", item_subject);
functions.Insert("item_subject_noescape", item_subject_noescape);
functions.Insert("item_content", item_content);
functions.Insert("item_content_noescape", item_content_noescape);
functions.Insert("item_privileges", item_privileges);
functions.Insert("item_dir", item_dir);
functions.Insert("item_url", item_url);
functions.Insert("item_link", item_link);
functions.Insert("item_can_read", item_can_read);
functions.Insert("item_info", item_info);
functions.Insert("item_user", item_user);
functions.Insert("item_date_creation", item_date_creation);
functions.Insert("item_date_modification", item_date_modification);
functions.Insert("item_dates_equal", item_dates_equal);
functions.Insert("item_run", item_run);
functions.Insert("item_old_id", item_old_id);
functions.Insert("item_old_subject", item_old_subject);
functions.Insert("item_old_subject_noescape", item_old_subject_noescape);
functions.Insert("item_old_content", item_old_content);
functions.Insert("item_old_content_noescape", item_old_content_noescape);
functions.Insert("item_old_privileges", item_old_privileges);
functions.Insert("item_old_dir", item_old_dir);
functions.Insert("item_old_url", item_old_url);
functions.Insert("item_old_link", item_old_link);
functions.Insert("item_old_id", item_old_id);
functions.Insert("item_old_subject", item_old_subject);
functions.Insert("item_old_subject_noescape", item_old_subject_noescape);
functions.Insert("item_old_content", item_old_content);
functions.Insert("item_old_content_noescape", item_old_content_noescape);
functions.Insert("item_old_privileges", item_old_privileges);
functions.Insert("item_old_dir", item_old_dir);
functions.Insert("item_old_url", item_old_url);
functions.Insert("item_old_link", item_old_link);
functions.Insert("item_tab", item_tab);
functions.Insert("item_tab_id", item_tab_id);
functions.Insert("item_tab_subject", item_tab_subject);
functions.Insert("item_tab_subject_noescape", item_tab_subject_noescape);
functions.Insert("item_tab_content", item_tab_content);
functions.Insert("item_tab_content_noescape", item_tab_content_noescape);
functions.Insert("item_tab_privileges", item_tab_privileges);
functions.Insert("item_tab_dir", item_tab_dir);
functions.Insert("item_tab_url", item_tab_url);
functions.Insert("item_tab_link", item_tab_link);
functions.Insert("item_tab", item_tab);
functions.Insert("item_tab_id", item_tab_id);
functions.Insert("item_tab_subject", item_tab_subject);
functions.Insert("item_tab_subject_noescape", item_tab_subject_noescape);
functions.Insert("item_tab_content", item_tab_content);
functions.Insert("item_tab_content_noescape", item_tab_content_noescape);
functions.Insert("item_tab_privileges", item_tab_privileges);
functions.Insert("item_tab_dir", item_tab_dir);
functions.Insert("item_tab_url", item_tab_url);
functions.Insert("item_tab_link", item_tab_link);
functions.Insert("item_tab_can_read", item_tab_can_read);
functions.Insert("item_tab_info", item_tab_info);
functions.Insert("item_tab_user", item_tab_user);
functions.Insert("item_tab_date_creation", item_tab_date_creation);
functions.Insert("item_tab_date_modification", item_tab_date_modification);
functions.Insert("item_tab_dates_equal", item_tab_dates_equal);
functions.Insert("item_tab_run", item_tab_run);
/*
@ -401,6 +408,9 @@ void Templates::Read()
pat_item_info.Directory(data.templates);
pat_item_info.ParseFile("item_info.html");
pat_item_tab_info.Directory(data.templates);
pat_item_tab_info.ParseFile("item_tab_info.html");
pat_fun_thread.Directory(data.templates);
pat_fun_thread.ParseFile("fun_thread.html");

View File

@ -41,6 +41,7 @@ namespace TemplatesFunctions
extern PatternCacher pattern_cacher;
extern Ezc::Functions functions;
extern Ezc::Pattern pat_item_info;
extern Ezc::Pattern pat_item_tab_info;
/*
sys
@ -104,6 +105,13 @@ namespace TemplatesFunctions
void item_tab_dir(Info & i);
void item_tab_url(Info & i);
void item_tab_link(Info & i);
void item_tab_can_read(Info & i);
void item_tab_info(Info & i);
void item_tab_user(Info & i);
void item_tab_date_creation(Info & i);
void item_tab_date_modification(Info & i);
void item_tab_dates_equal(Info & i);
void item_tab_run(Info & i);
/*

View File

@ -16,11 +16,7 @@ namespace TemplatesFunctions
void thread_subject(Info & i)
{
// !! jesli bedzie podzial na strony (np page:2) to bedzie trzeba w inny sposob ustalac tytul dla calego watku
if( !request.item_table.empty() )
HtmlEscape(i.out, request.item_table[0].subject);
HtmlEscape(i.out, request.thread.subject);
}