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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
cat.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h cat.o: ../core/groups.h ../core/functions.h ../core/function.h
cat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h cat.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
cat.o: ../core/request.h ../core/requesttypes.h ../core/session.h cat.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
cat.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h cat.o: ../core/session.h ../core/done.h ../core/getparser.h
cat.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h cat.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
cat.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h cat.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
cat.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h cat.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
cat.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h cat.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
cat.o: ../core/misc.h ../core/function.h ../core/functionparser.h cat.o: ../app/templates.h ../core/misc.h ../core/function.h
cat.o: ../core/data.h ../app/content.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: 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/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/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/user.h ../core/group.h ../core/ugcontainer.h
content.o: ../core/users.h ../core/groups.h ../core/functions.h content.o: ../core/thread.h ../core/users.h ../core/groups.h
content.o: ../core/function.h ../core/functioncodeparser.h content.o: ../core/functions.h ../core/function.h
content.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h content.o: ../core/functioncodeparser.h ../core/lastcontainer.h
content.o: ../core/request.h ../core/requesttypes.h ../core/session.h content.o: ../core/mounts.h ../core/mount.h ../core/request.h
content.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.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/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/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 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/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/error.h ../core/dirs.h ../core/db.h
createthread.o: ../core/dircontainer.h ../core/user.h ../core/group.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/ugcontainer.h ../core/thread.h ../core/users.h
createthread.o: ../core/functions.h ../core/function.h createthread.o: ../core/groups.h ../core/functions.h ../core/function.h
createthread.o: ../core/functioncodeparser.h ../core/lastcontainer.h createthread.o: ../core/functioncodeparser.h ../core/lastcontainer.h
createthread.o: ../core/mounts.h ../core/mount.h ../core/request.h createthread.o: ../core/mounts.h ../core/mount.h ../core/request.h
createthread.o: ../core/requesttypes.h ../core/session.h ../core/done.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/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/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/user.h ../core/group.h ../core/ugcontainer.h
default.o: ../core/users.h ../core/groups.h ../core/functions.h default.o: ../core/thread.h ../core/users.h ../core/groups.h
default.o: ../core/function.h ../core/functioncodeparser.h default.o: ../core/functions.h ../core/function.h
default.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h default.o: ../core/functioncodeparser.h ../core/lastcontainer.h
default.o: ../core/request.h ../core/requesttypes.h ../core/session.h default.o: ../core/mounts.h ../core/mount.h ../core/request.h
default.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.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/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/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 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: 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/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/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/user.h ../core/group.h ../core/ugcontainer.h
emacs.o: ../core/groups.h ../core/functions.h ../core/function.h emacs.o: ../core/thread.h ../core/users.h ../core/groups.h
emacs.o: ../core/functioncodeparser.h ../core/lastcontainer.h emacs.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
emacs.o: ../core/mounts.h ../core/mount.h ../core/request.h emacs.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
emacs.o: ../core/requesttypes.h ../core/session.h ../core/done.h emacs.o: ../core/request.h ../core/requesttypes.h ../core/session.h
emacs.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h emacs.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
emacs.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h emacs.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
emacs.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h emacs.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
emacs.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h emacs.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
emacs.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h emacs.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
emacs.o: ../core/function.h ../core/functionparser.h ../core/data.h emacs.o: ../core/misc.h ../core/function.h ../core/functionparser.h
emacs.o: ../app/content.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h
last.o: ../core/groups.h ../core/functions.h ../core/function.h last.o: ../core/users.h ../core/groups.h ../core/functions.h
last.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h last.o: ../core/function.h ../core/functioncodeparser.h
last.o: ../core/mount.h ../core/request.h ../core/requesttypes.h last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
last.o: ../core/session.h ../core/done.h ../core/getparser.h last.o: ../core/request.h ../core/requesttypes.h ../core/session.h
last.o: ../core/httpsimpleparser.h ../core/postparser.h last.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
last.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h last.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
last.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h last.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
last.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h last.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
last.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h last.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
last.o: ../core/function.h ../core/functionparser.h ../core/data.h last.o: ../core/misc.h ../core/function.h ../core/functionparser.h
last.o: ../app/content.h last.o: ../core/data.h ../app/content.h
login.o: content.h ../templates/templates.h ../../ezc/src/ezc.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/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/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/user.h ../core/group.h ../core/ugcontainer.h
login.o: ../core/groups.h ../core/functions.h ../core/function.h login.o: ../core/thread.h ../core/users.h ../core/groups.h
login.o: ../core/functioncodeparser.h ../core/lastcontainer.h login.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
login.o: ../core/mounts.h ../core/mount.h ../core/request.h login.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
login.o: ../core/requesttypes.h ../core/session.h ../core/done.h login.o: ../core/request.h ../core/requesttypes.h ../core/session.h
login.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h login.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
login.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h login.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
login.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h login.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
login.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h login.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
login.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h login.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
login.o: ../core/function.h ../core/functionparser.h ../core/data.h login.o: ../core/misc.h ../core/function.h ../core/functionparser.h
login.o: ../app/content.h login.o: ../core/data.h ../app/content.h
logout.o: content.h ../templates/templates.h ../../ezc/src/ezc.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/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/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/user.h ../core/group.h ../core/ugcontainer.h
logout.o: ../core/users.h ../core/groups.h ../core/functions.h logout.o: ../core/thread.h ../core/users.h ../core/groups.h
logout.o: ../core/function.h ../core/functioncodeparser.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/lastcontainer.h ../core/mounts.h ../core/mount.h
logout.o: ../core/request.h ../core/requesttypes.h ../core/session.h logout.o: ../core/request.h ../core/requesttypes.h ../core/session.h
logout.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
ls.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h ls.o: ../core/groups.h ../core/functions.h ../core/function.h
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h ls.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h ls.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
ls.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h ls.o: ../core/session.h ../core/done.h ../core/getparser.h
ls.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h ls.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
ls.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h ls.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
ls.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h ls.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
ls.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h ls.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
ls.o: ../core/misc.h ../core/function.h ../core/functionparser.h ls.o: ../app/templates.h ../core/misc.h ../core/function.h
ls.o: ../core/data.h ../app/content.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: 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/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/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/user.h ../core/group.h ../core/ugcontainer.h
mkdir.o: ../core/groups.h ../core/functions.h ../core/function.h mkdir.o: ../core/thread.h ../core/users.h ../core/groups.h
mkdir.o: ../core/functioncodeparser.h ../core/lastcontainer.h mkdir.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h
mkdir.o: ../core/mounts.h ../core/mount.h ../core/request.h mkdir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
mkdir.o: ../core/requesttypes.h ../core/session.h ../core/done.h mkdir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
mkdir.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h mkdir.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
mkdir.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h mkdir.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
mkdir.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h mkdir.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
mkdir.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h mkdir.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
mkdir.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h mkdir.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
mkdir.o: ../core/function.h ../core/functionparser.h ../core/data.h mkdir.o: ../core/misc.h ../core/function.h ../core/functionparser.h
mkdir.o: ../app/content.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h
node.o: ../core/groups.h ../core/functions.h ../core/function.h node.o: ../core/users.h ../core/groups.h ../core/functions.h
node.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h node.o: ../core/function.h ../core/functioncodeparser.h
node.o: ../core/mount.h ../core/request.h ../core/requesttypes.h node.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
node.o: ../core/session.h ../core/done.h ../core/getparser.h node.o: ../core/request.h ../core/requesttypes.h ../core/session.h
node.o: ../core/httpsimpleparser.h ../core/postparser.h node.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
node.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h node.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
node.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h node.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
node.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h node.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
node.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h node.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
node.o: ../core/function.h ../core/functionparser.h ../core/data.h node.o: ../core/misc.h ../core/function.h ../core/functionparser.h
node.o: ../app/content.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h
priv.o: ../core/groups.h ../core/functions.h ../core/function.h priv.o: ../core/users.h ../core/groups.h ../core/functions.h
priv.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h priv.o: ../core/function.h ../core/functioncodeparser.h
priv.o: ../core/mount.h ../core/request.h ../core/requesttypes.h priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
priv.o: ../core/session.h ../core/done.h ../core/getparser.h priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
priv.o: ../core/httpsimpleparser.h ../core/postparser.h priv.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
priv.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h priv.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h
priv.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h priv.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h
priv.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h priv.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h
priv.o: ../templates/patterncacher.h ../app/templates.h ../core/misc.h priv.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h
priv.o: ../core/function.h ../core/functionparser.h ../core/data.h priv.o: ../core/misc.h ../core/function.h ../core/functionparser.h
priv.o: ../app/content.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
rm.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h rm.o: ../core/groups.h ../core/functions.h ../core/function.h
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h rm.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
rm.o: ../core/request.h ../core/requesttypes.h ../core/session.h rm.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
rm.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h rm.o: ../core/session.h ../core/done.h ../core/getparser.h
rm.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h rm.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
rm.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h rm.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
rm.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h rm.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
rm.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h rm.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
rm.o: ../core/misc.h ../core/function.h ../core/functionparser.h rm.o: ../app/templates.h ../core/misc.h ../core/function.h
rm.o: ../core/data.h ../app/content.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
run.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h run.o: ../core/groups.h ../core/functions.h ../core/function.h
run.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h run.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
run.o: ../core/request.h ../core/requesttypes.h ../core/session.h run.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
run.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h run.o: ../core/session.h ../core/done.h ../core/getparser.h
run.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h run.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
run.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h run.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
run.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h run.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
run.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h run.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
run.o: ../core/misc.h ../core/function.h ../core/functionparser.h run.o: ../app/templates.h ../core/misc.h ../core/function.h
run.o: ../core/data.h ../app/content.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: 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/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/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/user.h ../core/group.h ../core/ugcontainer.h
thread.o: ../core/users.h ../core/groups.h ../core/functions.h thread.o: ../core/thread.h ../core/users.h ../core/groups.h
thread.o: ../core/function.h ../core/functioncodeparser.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/lastcontainer.h ../core/mounts.h ../core/mount.h
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
thread.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.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: 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/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/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/group.h ../core/ugcontainer.h ../core/thread.h ../core/users.h
who.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h who.o: ../core/groups.h ../core/functions.h ../core/function.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h who.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
who.o: ../core/request.h ../core/requesttypes.h ../core/session.h who.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
who.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h who.o: ../core/session.h ../core/done.h ../core/getparser.h
who.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h who.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
who.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h who.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
who.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h who.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
who.o: ../core/log.h ../templates/patterncacher.h ../app/templates.h who.o: ../core/groups.h ../core/log.h ../templates/patterncacher.h
who.o: ../core/misc.h ../core/function.h ../core/functionparser.h who.o: ../app/templates.h ../core/misc.h ../core/function.h
who.o: ../core/data.h ../app/content.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(); long PostFunDefaultParsePath();
void PostFunDefault(); void PostFunDefault();
void PostFunPriv(); void PostFunPriv();
bool FunCreateThreadCheckAccess();
void PostFunCreateThread(); void PostFunCreateThread();
void RedirectTo(const Item & item); void RedirectTo(const Item & item);
@ -82,6 +84,7 @@ public:
bool Init(); bool Init();
void ReadAdditionalInfo();
void Make(); 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 ) if( !request.HasWriteAccess(*request.dir_table.back()) || request.is_item )
{ {
request.status = Error::permision_denied; request.status = Error::permision_denied;
return; return false;
} }
return true;
}
void Content::PostFunCreateThread()
{
if( !FunCreateThreadCheckAccess() )
return;
PostFunMkdir(true); PostFunMkdir(true);
if( request.session->done_status == Error::ok ) 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 ) if( request.session->done_status == Error::ok )
{ {
request.session->done = Done::added_thread; PostFunEmacs();
RedirectTo(*request.dir_table.back());
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() void Content::FunCreateThread()
{ {
if( !request.HasWriteAccess(*request.dir_table.back()) ) FunCreateThreadCheckAccess();
{
request.status = Error::permision_denied;
return;
}
} }

View File

@ -22,7 +22,13 @@ void Content::FunThread()
item_ref.parent_id = request.dir_table.back()->id; 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) // !! 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: 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: 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: thread.h users.h groups.h functions.h function.h
config.o: lastcontainer.h mounts.h mount.h request.h requesttypes.h session.h config.o: functioncodeparser.h lastcontainer.h mounts.h mount.h request.h
config.o: done.h getparser.h httpsimpleparser.h postparser.h cookieparser.h config.o: requesttypes.h session.h done.h getparser.h httpsimpleparser.h
config.o: mountparser.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: 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: group.h ugcontainer.h thread.h users.h groups.h functions.h
data.o: functioncodeparser.h lastcontainer.h mounts.h mount.h request.h data.o: function.h functioncodeparser.h lastcontainer.h mounts.h mount.h
data.o: requesttypes.h session.h done.h getparser.h httpsimpleparser.h data.o: request.h requesttypes.h session.h done.h getparser.h
data.o: postparser.h cookieparser.h mountparser.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: 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: 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 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: 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 done.o: done.h
error.o: error.h log.h error.o: error.h log.h
function.o: function.h log.h item.h function.o: function.h log.h item.h
functioncodeparser.o: functioncodeparser.h 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: 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: 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: postparser.h cookieparser.h function.h thread.h data.h
functionparser.o: db.h dircontainer.h group.h ugcontainer.h users.h groups.h functionparser.o: misc.h dirs.h db.h dircontainer.h group.h ugcontainer.h
functionparser.o: functions.h functioncodeparser.h lastcontainer.h mounts.h functionparser.o: users.h groups.h functions.h functioncodeparser.h
functionparser.o: mount.h mountparser.h ../app/content.h ../core/log.h functionparser.o: lastcontainer.h mounts.h mount.h mountparser.h
functionparser.o: ../core/data.h ../core/function.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 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: 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 httpsimpleparser.o: httpsimpleparser.h
lastcontainer.o: lastcontainer.h log.h lastcontainer.o: lastcontainer.h log.h
log.o: 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: 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: 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: mount.h request.h requesttypes.h session.h done.h getparser.h
main.o: httpsimpleparser.h postparser.h cookieparser.h mountparser.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: ../core/functionparser.h ../app/content.h sessionmanager.h
main.o: sessioncontainer.h config.h ../confparser/confparser.h main.o: sessioncontainer.h config.h ../confparser/confparser.h
misc.o: misc.h log.h item.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: 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: 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: 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: 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: 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: 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: functioncodeparser.h lastcontainer.h mounts.h mount.h
requestcontroller.o: request.h requesttypes.h session.h done.h getparser.h requestcontroller.o: request.h requesttypes.h session.h done.h getparser.h
requestcontroller.o: httpsimpleparser.h postparser.h cookieparser.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 requestcontroller.o: sessionmanager.h sessioncontainer.h
session.o: session.h requesttypes.h error.h log.h item.h done.h user.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: 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: 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: 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: postparser.h cookieparser.h function.h thread.h data.h
sessionmanager.o: db.h dircontainer.h group.h ugcontainer.h users.h groups.h sessionmanager.o: misc.h dirs.h db.h dircontainer.h group.h ugcontainer.h
sessionmanager.o: functions.h functioncodeparser.h lastcontainer.h mounts.h sessionmanager.o: users.h groups.h functions.h functioncodeparser.h
sessionmanager.o: mount.h mountparser.h sessioncontainer.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: 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; 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 << "'"; 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() ) if( !item_ref.url.empty() )
query << " and url='" << Escape(item_ref.url) << "'"; query << " and url='" << Escape(item_ref.url) << "'";
query << " order by item.date_modification";
if( asc )
query << " asc";
else
query << " desc";
query << ';'; query << ';';
return AssertQuery(query.str()); 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(); item_table.clear();
PGresult * r = 0; PGresult * r = 0;
@ -772,7 +780,7 @@ void Db::GetItems(std::vector<Item> & item_table, Item & item_ref)
{ {
AssertConnection(); AssertConnection();
r = GetItemsQuery(item_ref); r = GetItemsQuery(item_ref, asc);
AssertResultStatus(r, PGRES_TUPLES_OK); AssertResultStatus(r, PGRES_TUPLES_OK);
Item item; 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 "user.h"
#include "group.h" #include "group.h"
#include "ugcontainer.h" #include "ugcontainer.h"
#include "thread.h"
class Db class Db
@ -48,7 +50,7 @@ public:
Error EditItemById(Item & item, bool with_subject = true); Error EditItemById(Item & item, bool with_subject = true);
Error EditItemByUrl(Item & item, bool with_subject = true); Error EditItemByUrl(Item & item, bool with_subject = true);
void CheckAllUrlSubject(); 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); void GetItem(std::vector<Item> & item_table, long id);
bool GetPriv(Item & item, long id); bool GetPriv(Item & item, long id);
Error EditPrivById(Item & item, long id); Error EditPrivById(Item & item, long id);
@ -75,6 +77,10 @@ public:
virtual void Connect(); virtual void Connect();
Error AddThread(Thread & thread);
Error GetThreadByDirId(long dir_id, Thread & thread);
protected: protected:
PGconn * pg_conn; PGconn * pg_conn;
@ -106,7 +112,7 @@ protected:
void CheckAllUrlSubjectModifyItem(Item & item); void CheckAllUrlSubjectModifyItem(Item & item);
PGresult * GetItemsQuery(Item & item_ref); PGresult * GetItemsQuery(Item & item_ref, bool asc = true);
bool DelItemDelItem(const Item & item); bool DelItemDelItem(const Item & item);
void DelItemDelContent(const Item & item); void DelItemDelContent(const Item & item);

View File

@ -47,6 +47,10 @@ public:
mount_unknown, mount_unknown,
no_mountpoint, no_mountpoint,
mount_no_param,
no_thread,
unknown = 1000 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 #ifndef headerfilecoremount
#define headerfilecoremount #define headerfilecoremount
#include <set>
#include <string>
class Mount class Mount
@ -27,36 +27,25 @@ public:
}; };
enum Param
{
none = 0,
asc,
desc
};
long dir_id; long dir_id;
Type type; 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 private:
std::set<Param> param_table;
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;
}
}; };

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() void MountParser::ReadMountType()
{ {
@ -59,13 +74,13 @@ void MountParser::ReadMountType()
if( temp == "cms" ) if( temp == "cms" )
{ {
mount_type = Mount::cms; mount.type = Mount::cms;
log << log3 << "MP: mount type: cms" << logend; log << log3 << "MP: mount type: cms" << logend;
} }
else else
if( temp == "thread" ) if( temp == "thread" )
{ {
mount_type = Mount::thread; mount.type = Mount::thread;
log << log3 << "MP: mount type: thread" << logend; log << log3 << "MP: mount type: thread" << logend;
} }
else else
@ -88,6 +103,7 @@ void MountParser::ReadMountPoint()
if( pdir ) if( pdir )
{ {
mount.dir_id = pdir->id;
log << log3 << "MP: mount point: " << temp << logend; log << log3 << "MP: mount point: " << temp << logend;
} }
else 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) void MountParser::ReadRow(std::map<long, Mount> & output)
{ {
ReadMountType(); ReadMountType();
@ -106,15 +143,14 @@ void MountParser::ReadRow(std::map<long, Mount> & output)
if( err == Error::ok ) if( err == Error::ok )
ReadMountPoint(); ReadMountPoint();
if( err == Error::ok )
ReadMountParams();
if( err == Error::ok ) if( err == Error::ok )
{ {
Mount m; output.insert( std::make_pair(mount.dir_id, mount) );
m.dir_id = pdir->id;
m.type = mount_type;
output.insert( std::make_pair(pdir->id, m) );
} }
SkipLine(); SkipLine();
} }

View File

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

View File

@ -16,7 +16,7 @@ void Mounts::ReadMounts()
MountParser mp; MountParser mp;
// !! tymczasowo - bedzie odczyt z bazy z /etc/fstab // !! 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); Error err = mp.Parse(temp, mount_table);

View File

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

View File

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

View File

@ -153,6 +153,7 @@ void RequestController::Loop()
function_parser.Parse(); function_parser.Parse();
data.mounts.CalculateCurrentMountType(); data.mounts.CalculateCurrentMountType();
content.ReadAdditionalInfo();
content.Make(); 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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
dir.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h dir.o: ../core/groups.h ../core/functions.h ../core/function.h
dir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h dir.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
dir.o: ../core/request.h ../core/requesttypes.h ../core/session.h dir.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
dir.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h dir.o: ../core/session.h ../core/done.h ../core/getparser.h
dir.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h dir.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
dir.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h dir.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
dir.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h dir.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
dir.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
doc.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h doc.o: ../core/groups.h ../core/functions.h ../core/function.h
doc.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h doc.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
doc.o: ../core/request.h ../core/requesttypes.h ../core/session.h doc.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
doc.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h doc.o: ../core/session.h ../core/done.h ../core/getparser.h
doc.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h doc.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
doc.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h doc.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
doc.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h doc.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
doc.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
done.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h done.o: ../core/groups.h ../core/functions.h ../core/function.h
done.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h done.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
done.o: ../core/request.h ../core/requesttypes.h ../core/session.h done.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
done.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h done.o: ../core/session.h ../core/done.h ../core/getparser.h
done.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h done.o: ../core/httpsimpleparser.h ../core/postparser.h
done.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h done.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
done.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h done.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
done.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
item.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h item.o: ../core/groups.h ../core/functions.h ../core/function.h
item.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h item.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
item.o: ../core/request.h ../core/requesttypes.h ../core/session.h item.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
item.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h item.o: ../core/session.h ../core/done.h ../core/getparser.h
item.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h item.o: ../core/httpsimpleparser.h ../core/postparser.h
item.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h item.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
item.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h item.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
item.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
last.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h last.o: ../core/groups.h ../core/functions.h ../core/function.h
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h last.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
last.o: ../core/request.h ../core/requesttypes.h ../core/session.h last.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
last.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h last.o: ../core/session.h ../core/done.h ../core/getparser.h
last.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h last.o: ../core/httpsimpleparser.h ../core/postparser.h
last.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h last.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
last.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h last.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
last.o: ../core/log.h patterncacher.h ../app/templates.h last.o: ../core/group.h ../core/users.h ../core/groups.h ../core/log.h
last.o: ../core/lastcontainer.h ../core/misc.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: patterncacher.h ../core/item.h ../../ezc/src/ezc.h
patterncacher.o: ../core/log.h patterncacher.o: ../core/log.h
priv.o: templates.h ../../ezc/src/ezc.h ../core/data.h ../core/misc.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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
priv.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h priv.o: ../core/groups.h ../core/functions.h ../core/function.h
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h priv.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h priv.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
priv.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h priv.o: ../core/session.h ../core/done.h ../core/getparser.h
priv.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h priv.o: ../core/httpsimpleparser.h ../core/postparser.h
priv.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h priv.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
priv.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h priv.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
priv.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
sys.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h sys.o: ../core/groups.h ../core/functions.h ../core/function.h
sys.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h sys.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
sys.o: ../core/request.h ../core/requesttypes.h ../core/session.h sys.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
sys.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h sys.o: ../core/session.h ../core/done.h ../core/getparser.h
sys.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h sys.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
sys.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h sys.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
sys.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h sys.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
sys.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/db.h ../core/dircontainer.h ../core/user.h
templates.o: ../core/group.h ../core/ugcontainer.h ../core/users.h templates.o: ../core/group.h ../core/ugcontainer.h ../core/thread.h
templates.o: ../core/groups.h ../core/functions.h ../core/function.h templates.o: ../core/users.h ../core/groups.h ../core/functions.h
templates.o: ../core/functioncodeparser.h ../core/lastcontainer.h templates.o: ../core/function.h ../core/functioncodeparser.h
templates.o: ../core/mounts.h ../core/mount.h ../core/request.h templates.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
templates.o: ../core/requesttypes.h ../core/session.h ../core/done.h templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
templates.o: ../core/getparser.h ../core/httpsimpleparser.h templates.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h
templates.o: ../core/postparser.h ../core/cookieparser.h templates.o: ../core/postparser.h ../core/cookieparser.h
templates.o: ../core/mountparser.h ../core/request.h ../core/item.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 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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
thread.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h thread.o: ../core/groups.h ../core/functions.h ../core/function.h
thread.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h thread.o: ../core/functioncodeparser.h ../core/lastcontainer.h
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h thread.o: ../core/mounts.h ../core/mount.h ../core/request.h
thread.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h thread.o: ../core/requesttypes.h ../core/session.h ../core/done.h
thread.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h thread.o: ../core/getparser.h ../core/httpsimpleparser.h ../core/postparser.h
thread.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h thread.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
thread.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h thread.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
thread.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
user.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h user.o: ../core/groups.h ../core/functions.h ../core/function.h
user.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h user.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
user.o: ../core/request.h ../core/requesttypes.h ../core/session.h user.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
user.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h user.o: ../core/session.h ../core/done.h ../core/getparser.h
user.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h user.o: ../core/httpsimpleparser.h ../core/postparser.h
user.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h user.o: ../core/cookieparser.h ../core/mountparser.h ../core/request.h
user.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h user.o: ../core/item.h ../core/db.h ../core/error.h ../core/user.h
user.o: ../core/log.h patterncacher.h ../app/templates.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: 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/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/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/ugcontainer.h ../core/thread.h ../core/users.h
who.o: ../core/functions.h ../core/function.h ../core/functioncodeparser.h who.o: ../core/groups.h ../core/functions.h ../core/function.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h who.o: ../core/functioncodeparser.h ../core/lastcontainer.h ../core/mounts.h
who.o: ../core/request.h ../core/requesttypes.h ../core/session.h who.o: ../core/mount.h ../core/request.h ../core/requesttypes.h
who.o: ../core/done.h ../core/getparser.h ../core/httpsimpleparser.h who.o: ../core/session.h ../core/done.h ../core/getparser.h
who.o: ../core/postparser.h ../core/cookieparser.h ../core/mountparser.h who.o: ../core/httpsimpleparser.h ../core/postparser.h ../core/cookieparser.h
who.o: ../core/request.h ../core/item.h ../core/db.h ../core/error.h who.o: ../core/mountparser.h ../core/request.h ../core/item.h ../core/db.h
who.o: ../core/user.h ../core/group.h ../core/users.h ../core/groups.h who.o: ../core/error.h ../core/user.h ../core/group.h ../core/users.h
who.o: ../core/log.h patterncacher.h ../app/templates.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: ../core/sessioncontainer.h ../core/requestcontroller.h ../core/data.h
who.o: ../content/content.h ../templates/templates.h ../core/misc.h who.o: ../content/content.h ../templates/templates.h ../core/misc.h
who.o: ../core/function.h ../core/functionparser.h ../app/content.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 } // namespace TemplatesFunctions

View File

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

View File

@ -41,6 +41,7 @@ namespace TemplatesFunctions
extern PatternCacher pattern_cacher; extern PatternCacher pattern_cacher;
extern Ezc::Functions functions; extern Ezc::Functions functions;
extern Ezc::Pattern pat_item_info; extern Ezc::Pattern pat_item_info;
extern Ezc::Pattern pat_item_tab_info;
/* /*
sys sys
@ -104,6 +105,13 @@ namespace TemplatesFunctions
void item_tab_dir(Info & i); void item_tab_dir(Info & i);
void item_tab_url(Info & i); void item_tab_url(Info & i);
void item_tab_link(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) void thread_subject(Info & i)
{ {
// !! jesli bedzie podzial na strony (np page:2) to bedzie trzeba w inny sposob ustalac tytul dla calego watku HtmlEscape(i.out, request.thread.subject);
if( !request.item_table.empty() )
HtmlEscape(i.out, request.item_table[0].subject);
} }