diff --git a/content/Makefile.dep b/content/Makefile.dep index 5af0b66..e01dc37 100755 --- a/content/Makefile.dep +++ b/content/Makefile.dep @@ -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 diff --git a/content/content.cpp b/content/content.cpp index b4a4852..c7b5453 100755 --- a/content/content.cpp +++ b/content/content.cpp @@ -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); + } +} + diff --git a/content/content.h b/content/content.h index 0354643..ecb3b31 100755 --- a/content/content.h +++ b/content/content.h @@ -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(); diff --git a/content/createthread.cpp b/content/createthread.cpp index e8a5040..c9376df 100755 --- a/content/createthread.cpp +++ b/content/createthread.cpp @@ -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(); } diff --git a/content/thread.cpp b/content/thread.cpp index 4875381..6b2a840 100755 --- a/content/thread.cpp +++ b/content/thread.cpp @@ -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); } diff --git a/core/Makefile b/core/Makefile index a1fbe07..47b7812 100755 --- a/core/Makefile +++ b/core/Makefile @@ -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 diff --git a/core/Makefile.dep b/core/Makefile.dep index c31bc04..ad77777 100755 --- a/core/Makefile.dep +++ b/core/Makefile.dep @@ -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 diff --git a/core/db.cpp b/core/db.cpp index 4def5ac..d1b7b01 100755 --- a/core/db.cpp +++ b/core/db.cpp @@ -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_table, Item & item_ref) +void Db::GetItems(std::vector & item_table, Item & item_ref, bool asc) { item_table.clear(); PGresult * r = 0; @@ -772,7 +780,7 @@ void Db::GetItems(std::vector & 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; +} + + diff --git a/core/db.h b/core/db.h index 17f6a98..56b8088 100755 --- a/core/db.h +++ b/core/db.h @@ -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_table, Item & item_ref); + void GetItems(std::vector & item_table, Item & item_ref, bool asc = true); void GetItem(std::vector & 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); diff --git a/core/error.h b/core/error.h index 67525c4..48c63e8 100755 --- a/core/error.h +++ b/core/error.h @@ -47,6 +47,10 @@ public: mount_unknown, no_mountpoint, + mount_no_param, + + no_thread, + unknown = 1000 diff --git a/core/mount.cpp b/core/mount.cpp new file mode 100755 index 0000000..ea62c85 --- /dev/null +++ b/core/mount.cpp @@ -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::iterator i = param_table.find(p); + + if( i == param_table.end() ) + return false; + +return true; +} diff --git a/core/mount.h b/core/mount.h index 12d6302..0229a21 100755 --- a/core/mount.h +++ b/core/mount.h @@ -11,8 +11,8 @@ #ifndef headerfilecoremount #define headerfilecoremount - - +#include +#include 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_table; - - }; diff --git a/core/mountparser.cpp b/core/mountparser.cpp index b277570..e1d550a 100755 --- a/core/mountparser.cpp +++ b/core/mountparser.cpp @@ -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 & output) { ReadMountType(); @@ -106,15 +143,14 @@ void MountParser::ReadRow(std::map & 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(); } diff --git a/core/mountparser.h b/core/mountparser.h index 8372ebf..0654521 100755 --- a/core/mountparser.h +++ b/core/mountparser.h @@ -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 & output); const char * pinput; std::string temp; - Mount::Type mount_type; + + Mount mount; + Item * pdir; Error err; }; diff --git a/core/mounts.cpp b/core/mounts.cpp index dca009d..040c437 100755 --- a/core/mounts.cpp +++ b/core/mounts.cpp @@ -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); diff --git a/core/request.cpp b/core/request.cpp index e0f70f7..77cbf5c 100755 --- a/core/request.cpp +++ b/core/request.cpp @@ -61,6 +61,8 @@ void Request::Clear() param_table.clear(); status = Error::ok; + + thread.Clear(); } diff --git a/core/request.h b/core/request.h index dc1aeb4..728b392 100755 --- a/core/request.h +++ b/core/request.h @@ -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 dir_table2; + // current thread (if exists) + Thread thread; // this string is used for many purposes such as redirecting std::string str; diff --git a/core/requestcontroller.cpp b/core/requestcontroller.cpp index 828791a..d3bb5cc 100755 --- a/core/requestcontroller.cpp +++ b/core/requestcontroller.cpp @@ -153,6 +153,7 @@ void RequestController::Loop() function_parser.Parse(); data.mounts.CalculateCurrentMountType(); + content.ReadAdditionalInfo(); content.Make(); } diff --git a/core/thread.h b/core/thread.h new file mode 100755 index 0000000..9f3e45c --- /dev/null +++ b/core/thread.h @@ -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 + + +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 diff --git a/templates/Makefile.dep b/templates/Makefile.dep index cbc3cdd..cc0578a 100755 --- a/templates/Makefile.dep +++ b/templates/Makefile.dep @@ -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 diff --git a/templates/item.cpp b/templates/item.cpp index 839049d..a7d5903 100755 --- a/templates/item.cpp +++ b/templates/item.cpp @@ -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 << ""; + return; + } + + Ezc::Pattern * p = pattern_cacher.GetPattern(request.item_table[item_index]); + Ezc::Generator gen(i.out, *p, functions); + gen.Generate(); + } +} + + + + } // namespace TemplatesFunctions diff --git a/templates/templates.cpp b/templates/templates.cpp index 4166831..6b335c1 100755 --- a/templates/templates.cpp +++ b/templates/templates.cpp @@ -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"); diff --git a/templates/templates.h b/templates/templates.h index 83a498a..e78c7b6 100755 --- a/templates/templates.h +++ b/templates/templates.h @@ -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); /* diff --git a/templates/thread.cpp b/templates/thread.cpp index d74ea33..3ff8b4a 100755 --- a/templates/thread.cpp +++ b/templates/thread.cpp @@ -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); }