Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1e3f5e8695 | |||
| 08f5865c72 | |||
| ff3c141138 | |||
| fe31e0e849 | |||
| 2a26968c6c | |||
| fe8774953a |
@@ -4,9 +4,10 @@ adduser.o: content.h ../core/item.h ../templates/templates.h
|
||||
adduser.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
adduser.o: ../templates/localefilter.h ../core/locale.h
|
||||
adduser.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
adduser.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
adduser.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
adduser.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
adduser.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
adduser.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
adduser.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
adduser.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
adduser.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
adduser.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -20,13 +21,13 @@ cat.o: content.h ../core/item.h ../templates/templates.h
|
||||
cat.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
cat.o: ../templates/localefilter.h ../core/locale.h
|
||||
cat.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
cat.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
cat.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
cat.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
cat.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
cat.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
cat.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
cat.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
cat.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
cat.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
cat.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
cat.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
cat.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
|
||||
cat.o: ../core/session.h ../core/rebus.h ../core/plugindata.h
|
||||
cat.o: ../core/function.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
cat.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
cat.o: ../core/postmultiparser.h ../core/error.h ../core/data.h
|
||||
cat.o: ../core/dirs.h ../core/users.h ../core/groups.h ../core/functions.h
|
||||
@@ -36,9 +37,10 @@ content.o: content.h ../core/item.h ../templates/templates.h
|
||||
content.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
content.o: ../templates/localefilter.h ../core/locale.h
|
||||
content.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
content.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
content.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
content.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
content.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
content.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
content.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
content.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
content.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
content.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
content.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -49,11 +51,27 @@ content.o: ../core/dirs.h ../core/users.h ../core/groups.h
|
||||
content.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
content.o: ../core/mount.h ../core/loadavg.h ../core/misc.h ../core/plugin.h
|
||||
content.o: ../core/request.h ../core/data.h ../core/pluginmsg.h
|
||||
cp.o: content.h ../core/item.h ../templates/templates.h
|
||||
cp.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
cp.o: ../templates/localefilter.h ../core/locale.h ../confparser/confparser.h
|
||||
cp.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
cp.o: ../core/log.h ../templates/indexpatterns.h ../core/thread.h
|
||||
cp.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
cp.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
cp.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
cp.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
cp.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
cp.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
cp.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
cp.o: ../core/postmultiparser.h ../core/data.h ../core/dirs.h ../core/users.h
|
||||
cp.o: ../core/groups.h ../core/functions.h ../core/lastcontainer.h
|
||||
cp.o: ../core/mounts.h ../core/mount.h ../core/loadavg.h ../core/misc.h
|
||||
createthread.o: content.h ../core/item.h ../templates/templates.h
|
||||
createthread.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
createthread.o: ../templates/localefilter.h ../core/locale.h
|
||||
createthread.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
createthread.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
createthread.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
createthread.o: ../templates/indexpatterns.h ../core/thread.h
|
||||
createthread.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
createthread.o: ../core/group.h ../core/thread.h ../core/error.h
|
||||
createthread.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
@@ -70,7 +88,8 @@ createticket.o: content.h ../core/item.h ../templates/templates.h
|
||||
createticket.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
createticket.o: ../templates/localefilter.h ../core/locale.h
|
||||
createticket.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
createticket.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
createticket.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
createticket.o: ../templates/indexpatterns.h ../core/thread.h
|
||||
createticket.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
createticket.o: ../core/group.h ../core/thread.h ../core/error.h
|
||||
createticket.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
@@ -87,9 +106,10 @@ default.o: content.h ../core/item.h ../templates/templates.h
|
||||
default.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
default.o: ../templates/localefilter.h ../core/locale.h
|
||||
default.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
default.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
default.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
default.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
default.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
default.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
default.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
default.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
default.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
default.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
default.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -103,9 +123,10 @@ download.o: content.h ../core/item.h ../templates/templates.h
|
||||
download.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
download.o: ../templates/localefilter.h ../core/locale.h
|
||||
download.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
download.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
download.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
download.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
download.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
download.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
download.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
download.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
download.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
download.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
download.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -119,9 +140,10 @@ editticket.o: content.h ../core/item.h ../templates/templates.h
|
||||
editticket.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
editticket.o: ../templates/localefilter.h ../core/locale.h
|
||||
editticket.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
editticket.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
editticket.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
editticket.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
editticket.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
editticket.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
editticket.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
editticket.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
editticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
editticket.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
editticket.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -135,9 +157,10 @@ emacs.o: content.h ../core/item.h ../templates/templates.h
|
||||
emacs.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
emacs.o: ../templates/localefilter.h ../core/locale.h
|
||||
emacs.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
emacs.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
emacs.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
emacs.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
emacs.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
emacs.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
emacs.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
emacs.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
emacs.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
emacs.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
emacs.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -153,17 +176,19 @@ last.o: content.h ../core/item.h ../templates/templates.h
|
||||
last.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
last.o: ../templates/localefilter.h ../core/locale.h
|
||||
last.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
last.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
last.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
last.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
last.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
last.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
last.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
last.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
last.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
last.o: ../core/ticket.h
|
||||
login.o: content.h ../core/item.h ../templates/templates.h
|
||||
login.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
login.o: ../templates/localefilter.h ../core/locale.h
|
||||
login.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
login.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
login.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
login.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
login.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
login.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
login.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
login.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
login.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
login.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
login.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -177,9 +202,10 @@ logout.o: content.h ../core/item.h ../templates/templates.h
|
||||
logout.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
logout.o: ../templates/localefilter.h ../core/locale.h
|
||||
logout.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
logout.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
logout.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
logout.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
logout.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
logout.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
logout.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
logout.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
logout.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
logout.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
logout.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -193,21 +219,23 @@ ls.o: content.h ../core/item.h ../templates/templates.h
|
||||
ls.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
ls.o: ../templates/localefilter.h ../core/locale.h ../confparser/confparser.h
|
||||
ls.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
ls.o: ../core/log.h ../core/thread.h ../core/ticket.h ../core/db.h
|
||||
ls.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
|
||||
ls.o: ../core/error.h ../core/log.h ../core/dircontainer.h
|
||||
ls.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
|
||||
ls.o: ../core/requesttypes.h ../core/session.h ../core/rebus.h
|
||||
ls.o: ../core/plugindata.h ../core/function.h ../core/compress.h
|
||||
ls.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
ls.o: ../core/htmlfilter.h ../core/postmultiparser.h
|
||||
ls.o: ../core/log.h ../templates/indexpatterns.h ../core/thread.h
|
||||
ls.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
ls.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
ls.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
ls.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
ls.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
ls.o: ../core/postmultiparser.h
|
||||
misc_item.o: content.h ../core/item.h ../templates/templates.h
|
||||
misc_item.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
misc_item.o: ../templates/localefilter.h ../core/locale.h
|
||||
misc_item.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
misc_item.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
misc_item.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
misc_item.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
misc_item.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
misc_item.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
misc_item.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
misc_item.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
misc_item.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
misc_item.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
misc_item.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -219,7 +247,8 @@ misc_specialfile.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
misc_specialfile.o: ../templates/localefilter.h ../core/locale.h
|
||||
misc_specialfile.o: ../confparser/confparser.h
|
||||
misc_specialfile.o: ../templates/ckeditorgetparser.h
|
||||
misc_specialfile.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
misc_specialfile.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
misc_specialfile.o: ../templates/indexpatterns.h ../core/thread.h
|
||||
misc_specialfile.o: ../core/ticket.h ../core/db.h ../core/item.h
|
||||
misc_specialfile.o: ../core/user.h ../core/group.h ../core/thread.h
|
||||
misc_specialfile.o: ../core/error.h ../core/log.h ../core/dircontainer.h
|
||||
@@ -236,9 +265,10 @@ mkdir.o: content.h ../core/item.h ../templates/templates.h
|
||||
mkdir.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
mkdir.o: ../templates/localefilter.h ../core/locale.h
|
||||
mkdir.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
mkdir.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
mkdir.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
mkdir.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
mkdir.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
mkdir.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
mkdir.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
mkdir.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
mkdir.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
mkdir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
mkdir.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -254,41 +284,41 @@ mv.o: content.h ../core/item.h ../templates/templates.h
|
||||
mv.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
mv.o: ../templates/localefilter.h ../core/locale.h ../confparser/confparser.h
|
||||
mv.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
mv.o: ../core/log.h ../core/thread.h ../core/ticket.h ../core/db.h
|
||||
mv.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
|
||||
mv.o: ../core/error.h ../core/log.h ../core/dircontainer.h
|
||||
mv.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
|
||||
mv.o: ../core/requesttypes.h ../core/session.h ../core/rebus.h
|
||||
mv.o: ../core/plugindata.h ../core/function.h ../core/compress.h
|
||||
mv.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
mv.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/data.h
|
||||
mv.o: ../core/dirs.h ../core/users.h ../core/groups.h ../core/functions.h
|
||||
mv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
mv.o: ../core/loadavg.h
|
||||
mv.o: ../core/log.h ../templates/indexpatterns.h ../core/thread.h
|
||||
mv.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
mv.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
mv.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
mv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
mv.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
mv.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
mv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
mv.o: ../core/postmultiparser.h ../core/data.h ../core/dirs.h ../core/users.h
|
||||
mv.o: ../core/groups.h ../core/functions.h ../core/lastcontainer.h
|
||||
mv.o: ../core/mounts.h ../core/mount.h ../core/loadavg.h
|
||||
node.o: content.h ../core/item.h ../templates/templates.h
|
||||
node.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
node.o: ../templates/localefilter.h ../core/locale.h
|
||||
node.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
node.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
node.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
node.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
node.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
node.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
node.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
node.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
node.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
node.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
node.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
node.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
node.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
|
||||
node.o: ../core/session.h ../core/rebus.h ../core/plugindata.h
|
||||
node.o: ../core/function.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
node.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
node.o: ../core/postmultiparser.h
|
||||
priv.o: content.h ../core/item.h ../templates/templates.h
|
||||
priv.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
priv.o: ../templates/localefilter.h ../core/locale.h
|
||||
priv.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
priv.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
priv.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
priv.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
priv.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
priv.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
priv.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
priv.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
priv.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
priv.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
priv.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
priv.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
|
||||
priv.o: ../core/session.h ../core/rebus.h ../core/plugindata.h
|
||||
priv.o: ../core/function.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
priv.o: ../core/postmultiparser.h ../core/error.h ../core/data.h
|
||||
priv.o: ../core/dirs.h ../core/users.h ../core/groups.h ../core/functions.h
|
||||
@@ -298,9 +328,10 @@ reload.o: content.h ../core/item.h ../templates/templates.h
|
||||
reload.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
reload.o: ../templates/localefilter.h ../core/locale.h
|
||||
reload.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
reload.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
reload.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
reload.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
reload.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
reload.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
reload.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
reload.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
reload.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
reload.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
reload.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -313,37 +344,39 @@ rm.o: content.h ../core/item.h ../templates/templates.h
|
||||
rm.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
rm.o: ../templates/localefilter.h ../core/locale.h ../confparser/confparser.h
|
||||
rm.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
rm.o: ../core/log.h ../core/thread.h ../core/ticket.h ../core/db.h
|
||||
rm.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
|
||||
rm.o: ../core/error.h ../core/log.h ../core/dircontainer.h
|
||||
rm.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
|
||||
rm.o: ../core/requesttypes.h ../core/session.h ../core/rebus.h
|
||||
rm.o: ../core/plugindata.h ../core/function.h ../core/compress.h
|
||||
rm.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
rm.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/error.h
|
||||
rm.o: ../core/data.h ../core/dirs.h ../core/users.h ../core/groups.h
|
||||
rm.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
rm.o: ../core/mount.h ../core/loadavg.h
|
||||
rm.o: ../core/log.h ../templates/indexpatterns.h ../core/thread.h
|
||||
rm.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
rm.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
rm.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
rm.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
rm.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
rm.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
rm.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
rm.o: ../core/postmultiparser.h ../core/error.h ../core/data.h ../core/dirs.h
|
||||
rm.o: ../core/users.h ../core/groups.h ../core/functions.h
|
||||
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
rm.o: ../core/loadavg.h
|
||||
run.o: content.h ../core/item.h ../templates/templates.h
|
||||
run.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
run.o: ../templates/localefilter.h ../core/locale.h
|
||||
run.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
run.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
run.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
run.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
run.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
run.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
run.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
run.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
run.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
run.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
run.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
run.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
run.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
|
||||
run.o: ../core/session.h ../core/rebus.h ../core/plugindata.h
|
||||
run.o: ../core/function.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
run.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
run.o: ../core/postmultiparser.h ../core/error.h
|
||||
subject.o: content.h ../core/item.h ../templates/templates.h
|
||||
subject.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
subject.o: ../templates/localefilter.h ../core/locale.h
|
||||
subject.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
subject.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
subject.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
subject.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
subject.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
subject.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
subject.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
subject.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
subject.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
subject.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
subject.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -354,9 +387,10 @@ thread.o: content.h ../core/item.h ../templates/templates.h
|
||||
thread.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
thread.o: ../templates/localefilter.h ../core/locale.h
|
||||
thread.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
thread.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
thread.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
thread.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
thread.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
thread.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
thread.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
thread.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
thread.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
thread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
thread.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -370,9 +404,10 @@ ticket.o: content.h ../core/item.h ../templates/templates.h
|
||||
ticket.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
ticket.o: ../templates/localefilter.h ../core/locale.h
|
||||
ticket.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
ticket.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
ticket.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
ticket.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
ticket.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
ticket.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
ticket.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
ticket.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
ticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
ticket.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
ticket.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -386,17 +421,19 @@ uname.o: content.h ../core/item.h ../templates/templates.h
|
||||
uname.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
uname.o: ../templates/localefilter.h ../core/locale.h
|
||||
uname.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
uname.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
uname.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
uname.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
uname.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
uname.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
uname.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
uname.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
uname.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
upload.o: content.h ../core/item.h ../templates/templates.h
|
||||
upload.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
upload.o: ../templates/localefilter.h ../core/locale.h
|
||||
upload.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
upload.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
upload.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
upload.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
upload.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
upload.o: ../templates/indexpatterns.h ../core/thread.h ../core/ticket.h
|
||||
upload.o: ../core/db.h ../core/item.h ../core/user.h ../core/group.h
|
||||
upload.o: ../core/thread.h ../core/error.h ../core/log.h
|
||||
upload.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
upload.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
upload.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -410,7 +447,8 @@ who.o: content.h ../core/item.h ../templates/templates.h
|
||||
who.o: ../templates/patterncacher.h ../templates/misc.h
|
||||
who.o: ../templates/localefilter.h ../core/locale.h
|
||||
who.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
who.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
who.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
who.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
who.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
who.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
who.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
who.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
who.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
who.o: ../core/ticket.h
|
||||
|
||||
@@ -1 +1 @@
|
||||
o = adduser.o cat.o content.o createthread.o createticket.o default.o download.o editticket.o emacs.o last.o login.o logout.o ls.o misc_item.o misc_specialfile.o mkdir.o mv.o node.o priv.o reload.o rm.o run.o subject.o thread.o ticket.o uname.o upload.o who.o
|
||||
o = adduser.o cat.o content.o cp.o createthread.o createticket.o default.o download.o editticket.o emacs.o last.o login.o logout.o ls.o misc_item.o misc_specialfile.o mkdir.o mv.o node.o priv.o reload.o rm.o run.o subject.o thread.o ticket.o uname.o upload.o who.o
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
bool Content::Init()
|
||||
{
|
||||
templates.ReadIndexFileNames();
|
||||
templates.ReadTemplates();
|
||||
templates.CreateFunctions();
|
||||
|
||||
@@ -112,6 +113,62 @@ void Content::SetDefaultFunction()
|
||||
}
|
||||
|
||||
|
||||
void Content::FunNothing()
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
|
||||
|
||||
void Content::CallFunction()
|
||||
{
|
||||
static FunItem tab[] = {
|
||||
{FUN_LOGOUT, &Content::FunLogout},
|
||||
{FUN_CAT, &Content::FunCat},
|
||||
{FUN_LS, &Content::FunLs},
|
||||
{FUN_EMACS, &Content::FunEmacs},
|
||||
{FUN_MKDIR, &Content::FunMkdir},
|
||||
{FUN_DEFAULT, &Content::FunDefault},
|
||||
{FUN_PRIV, &Content::FunPriv},
|
||||
{FUN_RM, &Content::FunRm},
|
||||
{FUN_RUN, &Content::FunRun},
|
||||
{FUN_NODE, &Content::FunNode},
|
||||
{FUN_WHO, &Content::FunWho},
|
||||
{FUN_LAST, &Content::FunLast},
|
||||
{FUN_THREAD, &Content::FunThread},
|
||||
{FUN_RELOAD, &Content::FunReload},
|
||||
{FUN_UPLOAD, &Content::FunUpload},
|
||||
{FUN_TICKET, &Content::FunTicket},
|
||||
{FUN_CKEDITOR, &Content::FunEmacs},
|
||||
{FUN_TINYMCE, &Content::FunEmacs},
|
||||
{FUN_LOGIN, &Content::FunLogin},
|
||||
{FUN_MV, &Content::FunMv},
|
||||
{FUN_UNAME, &Content::FunUname},
|
||||
{FUN_CHMOD, &Content::FunPriv},
|
||||
{FUN_CHOWN, &Content::FunPriv},
|
||||
{FUN_DOWNLOAD, &Content::FunDownload},
|
||||
{FUN_ADDUSER, &Content::FunAddUser},
|
||||
{FUN_SUBJECT, &Content::FunSubject},
|
||||
{FUN_CP, &Content::FunCp},
|
||||
{FUN_UPTIME, &Content::FunNothing},
|
||||
{FUN_EDITTICKET,&Content::FunEditTicket},
|
||||
{FUN_CREATETHREAD, &Content::FunCreateThread},
|
||||
{FUN_CREATETICKET, &Content::FunCreateTicket}
|
||||
};
|
||||
|
||||
size_t len = sizeof(tab) / sizeof(FunItem);
|
||||
size_t i;
|
||||
|
||||
for(i=0 ; i<len ; ++i)
|
||||
{
|
||||
if( tab[i].code == request.pfunction->code )
|
||||
{
|
||||
(this->*tab[i].fun)();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
|
||||
|
||||
void Content::MakeStandardFunction()
|
||||
@@ -145,102 +202,52 @@ void Content::MakeStandardFunction()
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if( request.pfunction->code == FUN_LOGOUT )
|
||||
FunLogout();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CAT )
|
||||
FunCat();
|
||||
else
|
||||
if( request.pfunction->code == FUN_LS )
|
||||
FunLs();
|
||||
else
|
||||
if( request.pfunction->code == FUN_EMACS )
|
||||
FunEmacs();
|
||||
else
|
||||
if( request.pfunction->code == FUN_MKDIR )
|
||||
FunMkdir();
|
||||
else
|
||||
if( request.pfunction->code == FUN_DEFAULT )
|
||||
FunDefault();
|
||||
else
|
||||
if( request.pfunction->code == FUN_PRIV )
|
||||
FunPriv();
|
||||
else
|
||||
if( request.pfunction->code == FUN_RM )
|
||||
FunRm();
|
||||
else
|
||||
if( request.pfunction->code == FUN_RUN )
|
||||
FunRun();
|
||||
else
|
||||
if( request.pfunction->code == FUN_NODE )
|
||||
FunNode();
|
||||
else
|
||||
if( request.pfunction->code == FUN_WHO )
|
||||
FunWho();
|
||||
else
|
||||
if( request.pfunction->code == FUN_LAST )
|
||||
FunLast();
|
||||
else
|
||||
if( request.pfunction->code == FUN_THREAD )
|
||||
FunThread();
|
||||
else
|
||||
if( request.pfunction->code == FUN_RELOAD )
|
||||
FunReload();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CREATETHREAD )
|
||||
FunCreateThread();
|
||||
else
|
||||
if( request.pfunction->code == FUN_UPLOAD )
|
||||
FunUpload();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CREATETICKET )
|
||||
FunCreateTicket();
|
||||
else
|
||||
if( request.pfunction->code == FUN_EDITTICKET )
|
||||
FunEditTicket();
|
||||
else
|
||||
if( request.pfunction->code == FUN_TICKET )
|
||||
FunTicket();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CKEDITOR )
|
||||
FunEmacs();
|
||||
else
|
||||
if( request.pfunction->code == FUN_LOGIN )
|
||||
FunLogin();
|
||||
else
|
||||
if( request.pfunction->code == FUN_UPTIME )
|
||||
{ /* do nothing */ }
|
||||
else
|
||||
if( request.pfunction->code == FUN_MV )
|
||||
FunMv();
|
||||
else
|
||||
if( request.pfunction->code == FUN_UNAME )
|
||||
FunUname();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CHMOD )
|
||||
FunPriv();
|
||||
else
|
||||
if( request.pfunction->code == FUN_CHOWN )
|
||||
FunPriv();
|
||||
else
|
||||
if( request.pfunction->code == FUN_DOWNLOAD )
|
||||
FunDownload();
|
||||
else
|
||||
if( request.pfunction->code == FUN_ADDUSER )
|
||||
FunAddUser();
|
||||
else
|
||||
if( request.pfunction->code == FUN_SUBJECT )
|
||||
FunSubject();
|
||||
else
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
|
||||
|
||||
CallFunction();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Content::CallPostFunction()
|
||||
{
|
||||
static FunItem tab[] = {
|
||||
{FUN_RUN, &Content::PostFunRun},
|
||||
{FUN_EMACS, &Content::PostFunEmacs},
|
||||
{FUN_MKDIR, &Content::PostFunMkdir},
|
||||
{FUN_DEFAULT, &Content::PostFunDefault},
|
||||
{FUN_PRIV, &Content::PostFunPriv},
|
||||
{FUN_CHMOD, &Content::PostFunPriv},
|
||||
{FUN_CHOWN, &Content::PostFunPriv},
|
||||
{FUN_LOGIN, &Content::PostFunLogin},
|
||||
{FUN_UPLOAD, &Content::PostFunUpload},
|
||||
{FUN_EDITTICKET,&Content::PostFunEditTicket},
|
||||
{FUN_CKEDITOR, &Content::PostFunEmacs},
|
||||
{FUN_TINYMCE, &Content::PostFunEmacs},
|
||||
{FUN_ADDUSER, &Content::PostFunAddUser},
|
||||
{FUN_MV, &Content::PostFunMv},
|
||||
{FUN_SUBJECT, &Content::PostFunSubject},
|
||||
{FUN_CP, &Content::PostFunCp},
|
||||
{FUN_CREATETHREAD, &Content::PostFunCreateThread},
|
||||
{FUN_CREATETICKET, &Content::PostFunCreateTicket}
|
||||
};
|
||||
|
||||
size_t len = sizeof(tab) / sizeof(FunItem);
|
||||
size_t i;
|
||||
|
||||
for(i=0 ; i<len ; ++i)
|
||||
{
|
||||
if( tab[i].code == request.pfunction->code )
|
||||
{
|
||||
(this->*tab[i].fun)();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
log << log1 << "Content: unknown post function" << logend;
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
|
||||
|
||||
void Content::MakePost()
|
||||
{
|
||||
if( request.role == Request::authorizer )
|
||||
@@ -259,70 +266,7 @@ void Content::MakePost()
|
||||
return;
|
||||
}
|
||||
|
||||
switch( request.pfunction->code )
|
||||
{
|
||||
case FUN_RUN:
|
||||
PostFunRun();
|
||||
break;
|
||||
|
||||
case FUN_EMACS:
|
||||
PostFunEmacs();
|
||||
break;
|
||||
|
||||
case FUN_MKDIR:
|
||||
PostFunMkdir();
|
||||
break;
|
||||
|
||||
case FUN_DEFAULT:
|
||||
PostFunDefault();
|
||||
break;
|
||||
|
||||
case FUN_PRIV:
|
||||
case FUN_CHMOD:
|
||||
case FUN_CHOWN:
|
||||
PostFunPriv();
|
||||
break;
|
||||
|
||||
case FUN_LOGIN:
|
||||
PostFunLogin();
|
||||
break;
|
||||
|
||||
case FUN_CREATETHREAD:
|
||||
PostFunCreateThread();
|
||||
break;
|
||||
|
||||
case FUN_UPLOAD:
|
||||
PostFunUpload();
|
||||
break;
|
||||
|
||||
case FUN_CREATETICKET:
|
||||
PostFunCreateTicket();
|
||||
break;
|
||||
|
||||
case FUN_EDITTICKET:
|
||||
PostFunEditTicket();
|
||||
break;
|
||||
|
||||
case FUN_CKEDITOR:
|
||||
PostFunEmacs();
|
||||
break;
|
||||
|
||||
case FUN_ADDUSER:
|
||||
PostFunAddUser();
|
||||
break;
|
||||
|
||||
case FUN_MV:
|
||||
PostFunMv();
|
||||
break;
|
||||
|
||||
case FUN_SUBJECT:
|
||||
PostFunSubject();
|
||||
break;
|
||||
|
||||
default:
|
||||
log << log1 << "Content: unknown post function" << logend;
|
||||
break;
|
||||
}
|
||||
CallPostFunction();
|
||||
}
|
||||
|
||||
|
||||
@@ -583,6 +527,8 @@ void Content::SetUser(Item & item)
|
||||
item.user_id = -1;
|
||||
request.PostVar("guestname", item.guest_name);
|
||||
}
|
||||
|
||||
item.group_id = request.dir_table.back()->group_id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -66,6 +66,31 @@ class Content
|
||||
Db::ItemQuery mv_auth_iq;
|
||||
|
||||
|
||||
/*
|
||||
cp
|
||||
*/
|
||||
bool CpCheckAccessFrom();
|
||||
void CpAuth(Item & item);
|
||||
void CpSetNewAttributes(Item & item);
|
||||
void CpItem(Item & item, long dst_dir_id);
|
||||
void CpFilesInDir(const Item & dir, long dst_dir_id);
|
||||
void CpContentOfDir(const Item & item, long dst_dir_id);
|
||||
long CpDir(const Item & item, long dst_dir_id);
|
||||
void CpItemCheck(Item & item, bool redirect = true);
|
||||
void CpContentOfDirCheck(const Item & item, bool redirect = true);
|
||||
void CpDirCheck(const Item & item, bool redirect = true);
|
||||
void PostFunCp();
|
||||
void FunCp();
|
||||
void CpPrepare();
|
||||
Item cp_temp;
|
||||
Db::ItemQuery cp_iq;
|
||||
bool cp_remove_defaults;
|
||||
bool cp_preserve_attr;
|
||||
long cp_new_user;
|
||||
long cp_new_group;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void SetDefaultFunctionForFile();
|
||||
@@ -73,13 +98,33 @@ class Content
|
||||
void SetDefaultFunction();
|
||||
bool DirsHaveReadExecPerm();
|
||||
|
||||
|
||||
/*
|
||||
calling functions (standard, post)
|
||||
*/
|
||||
typedef void (Content::*Fun)();
|
||||
|
||||
struct FunItem
|
||||
{
|
||||
int code;
|
||||
Fun fun;
|
||||
};
|
||||
|
||||
void FunNothing();
|
||||
void CallFunction();
|
||||
void MakeStandardFunction();
|
||||
|
||||
void CallPostFunction();
|
||||
void MakePost();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void SetUser(Item & item);
|
||||
bool CheckRebus();
|
||||
|
||||
|
||||
void MakePost();
|
||||
|
||||
void FunCat();
|
||||
void FunLogout();
|
||||
@@ -145,14 +190,16 @@ class Content
|
||||
|
||||
void ReadItemContentWithType(Item & item);
|
||||
bool FunEmacsCheckAccess();
|
||||
void PostFunEmacsAdd();
|
||||
void PostFunEmacsAdd(Item & item);
|
||||
void PostFunEmacsEdit(bool with_url);
|
||||
bool PostEmacsCheckAbuse(bool adding);
|
||||
void PostFunEmacsModifyMountPoint(bool adding);
|
||||
void PostFunEmacs();
|
||||
|
||||
bool FunMkdirCheckAccess();
|
||||
void PostFunMkdir(bool add_to_dir_table = false, int privileges = 0755 );
|
||||
void PostFunMkdir(bool add_to_dir_table, int privileges);
|
||||
void PostFunMkdir();
|
||||
|
||||
void Mkdir(Item & item, bool add_to_dir_table);
|
||||
long PostFunDefaultParsePath();
|
||||
void PostFunDefault();
|
||||
|
||||
261
content/cp.cpp
Executable file
261
content/cp.cpp
Executable file
@@ -0,0 +1,261 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2008-2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include "content.h"
|
||||
#include "../core/request.h"
|
||||
#include "../core/data.h"
|
||||
#include "../core/misc.h"
|
||||
|
||||
|
||||
bool Content::CpCheckAccessFrom()
|
||||
{
|
||||
if( request.is_item )
|
||||
{
|
||||
if( !request.HasReadAccess(request.item) )
|
||||
{
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
if( !request.IsParam("r") )
|
||||
{
|
||||
// directories need 'r' parameter
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void Content::CpAuth(Item & item)
|
||||
{
|
||||
if( !request.MakePath(item, mv_new_path, true) )
|
||||
{
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
if( CopyFile(item.auth_path, mv_new_path) )
|
||||
{
|
||||
log << log1 << "Content: copied static file from: " << item.auth_path << ", to: " << mv_new_path << logend;
|
||||
item.auth_path = mv_new_path;
|
||||
request.status = db.EditAuthById(item, item.id);
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Content: can't copy a file from: " << item.auth_path << ", to: " << mv_new_path << logend;
|
||||
request.status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Content::CpSetNewAttributes(Item & item)
|
||||
{
|
||||
item.user_id = cp_new_user;
|
||||
item.group_id = cp_new_group;
|
||||
item.SetDateModifyToNow();
|
||||
}
|
||||
|
||||
|
||||
void Content::CpItem(Item & item, long dst_dir_id)
|
||||
{
|
||||
if( !request.HasReadAccess(item) )
|
||||
return; // !! w przyszlosci bedziemy dodawac komunikaty do specjalnej tablicy (narazie nie zaimplementowane)
|
||||
|
||||
item.parent_id = dst_dir_id;
|
||||
|
||||
if( !cp_preserve_attr )
|
||||
CpSetNewAttributes(item);
|
||||
|
||||
PostFunEmacsAdd(item);
|
||||
|
||||
if( request.status == WINIX_ERR_OK )
|
||||
{
|
||||
if( item.auth != Item::auth_none )
|
||||
CpAuth(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Content::CpPrepare()
|
||||
{
|
||||
cp_iq.SetAll(true, false);
|
||||
cp_iq.WhereType(Item::file);
|
||||
|
||||
cp_new_user = -1;
|
||||
cp_new_group = -1;
|
||||
|
||||
if( request.session->puser )
|
||||
cp_new_user = request.session->puser->id;
|
||||
|
||||
Item * pdir = data.dirs.GetDir(mv_dir_id);
|
||||
|
||||
if( pdir )
|
||||
cp_new_group = pdir->group_id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::CpFilesInDir(const Item & dir, long dst_dir_id)
|
||||
{
|
||||
cp_iq.WhereParentId(dir.id);
|
||||
db.GetItems(request.item_table, cp_iq);
|
||||
|
||||
for(size_t i=0 ; i<request.item_table.size() ; ++i)
|
||||
CpItem(request.item_table[i], dst_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::CpContentOfDir(const Item & item, long dst_dir_id)
|
||||
{
|
||||
DirContainer::ParentIterator i = data.dirs.FindFirstParent(item.id);
|
||||
|
||||
// go through all directories
|
||||
for( ; i != data.dirs.ParentEnd() ; i = data.dirs.NextParent(i) )
|
||||
CpDir(*(i->second), dst_dir_id);
|
||||
|
||||
CpFilesInDir(item, dst_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// we shouldn't change 'item' because we have references to our data.dirs objects
|
||||
long Content::CpDir(const Item & item, long dst_dir_id)
|
||||
{
|
||||
cp_temp = item;
|
||||
cp_temp.parent_id = dst_dir_id;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
{
|
||||
cp_temp.url = mv_file;
|
||||
mv_file.clear();
|
||||
PrepareUrl(cp_temp);
|
||||
}
|
||||
|
||||
if( !cp_preserve_attr )
|
||||
CpSetNewAttributes(cp_temp);
|
||||
|
||||
if( cp_remove_defaults )
|
||||
cp_temp.default_item = -1;
|
||||
|
||||
Mkdir(cp_temp, false);
|
||||
long new_dir_id = cp_temp.id; // remember the new dir_id
|
||||
|
||||
if( request.HasReadExecAccess(item) )
|
||||
CpContentOfDir(item, cp_temp.id);
|
||||
|
||||
return new_dir_id; // and return it
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// here 'item' can be changed in place
|
||||
void Content::CpItemCheck(Item & item, bool redirect)
|
||||
{
|
||||
if( MoveIsTheSameFile(item) )
|
||||
return;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
{
|
||||
item.url = mv_file;
|
||||
PrepareUrl(item);
|
||||
}
|
||||
|
||||
CpItem(item, mv_dir_id);
|
||||
|
||||
if( request.status==WINIX_ERR_OK && redirect )
|
||||
RedirectTo(item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::CpContentOfDirCheck(const Item & item, bool redirect)
|
||||
{
|
||||
if( !mv_file.empty() )
|
||||
{
|
||||
request.status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
if( mv_dir_id == item.id )
|
||||
return; // nothing to do
|
||||
|
||||
if( data.dirs.HasParent(mv_dir_id, item.id) )
|
||||
{
|
||||
log << log1 << "Content: cannot copy directory to inside it" << logend;
|
||||
request.status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
CpContentOfDir(item, mv_dir_id);
|
||||
|
||||
if( request.status==WINIX_ERR_OK && redirect )
|
||||
RedirectTo(mv_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::CpDirCheck(const Item & item, bool redirect)
|
||||
{
|
||||
if( mv_file.empty() && mv_dir_id == item.id )
|
||||
return; // nothing to do
|
||||
|
||||
if( mv_dir_id == item.id || data.dirs.HasParent(mv_dir_id, item.id) )
|
||||
{
|
||||
log << log1 << "Content: cannot copy directory to inside it" << logend;
|
||||
request.status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
long new_dir_id = CpDir(item, mv_dir_id);
|
||||
|
||||
if( request.status==WINIX_ERR_OK && redirect )
|
||||
RedirectTo(new_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::PostFunCp()
|
||||
{
|
||||
if( CpCheckAccessFrom() &&
|
||||
MoveParseDir(mv_dir_id, mv_dir, mv_file) &&
|
||||
MoveCheckAccessTo(mv_dir_id) )
|
||||
{
|
||||
CpPrepare();
|
||||
cp_preserve_attr = request.IsPostVar("preserveattr");
|
||||
|
||||
if( request.is_item )
|
||||
{
|
||||
CpItemCheck(request.item);
|
||||
}
|
||||
else
|
||||
{
|
||||
cp_remove_defaults = request.IsPostVar("removedefaults");
|
||||
|
||||
if( request.IsPostVar("onlycontent") )
|
||||
CpContentOfDirCheck(*request.dir_table.back());
|
||||
else
|
||||
CpDirCheck(*request.dir_table.back());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::FunCp()
|
||||
{
|
||||
CpCheckAccessFrom();
|
||||
}
|
||||
@@ -111,7 +111,7 @@ void Content::PostFunCreateThread()
|
||||
request.item.type = Item::file;
|
||||
request.item.privileges = 0644; // !! tymczasowo
|
||||
request.item.parent_id = request.dir_table.back()->id;
|
||||
PostFunEmacsAdd();
|
||||
PostFunEmacsAdd(request.item);
|
||||
|
||||
if( request.status == WINIX_ERR_OK )
|
||||
AddThread();
|
||||
|
||||
@@ -199,7 +199,7 @@ void Content::PostFunCreateTicket()
|
||||
request.item.type = Item::file;
|
||||
request.item.privileges = 0644; // !! tymczasowo
|
||||
request.item.parent_id = request.dir_table.back()->id;
|
||||
PostFunEmacsAdd();
|
||||
PostFunEmacsAdd(request.item);
|
||||
|
||||
if( request.status == WINIX_ERR_OK )
|
||||
AddTicket();
|
||||
|
||||
@@ -39,13 +39,15 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
void Content::PostFunEmacsAdd()
|
||||
void Content::PostFunEmacsAdd(Item & item)
|
||||
{
|
||||
request.status = db.AddItem(request.item);
|
||||
request.status = db.AddItem(item);
|
||||
|
||||
if( request.status == WINIX_ERR_OK )
|
||||
{
|
||||
log << log2 << "Content: added a new item" << logend;
|
||||
log << log2 << "Content: added a new item, url: " << item.url << ", id: " << item.id
|
||||
<< ", parent_id: " << item.parent_id << logend;
|
||||
|
||||
request.notify_code |= WINIX_NOTIFY_ITEM_ADD;
|
||||
}
|
||||
}
|
||||
@@ -129,7 +131,7 @@ void Content::PostFunEmacs()
|
||||
{
|
||||
request.is_item = true;
|
||||
request.item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask
|
||||
PostFunEmacsAdd();
|
||||
PostFunEmacsAdd(request.item);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -30,6 +30,7 @@ void Content::CheckSpecialFile()
|
||||
log << log3 << "Content: reloading mount points" << logend;
|
||||
|
||||
request.status = data.mounts.ReadMounts(request.item.content);
|
||||
templates.ReadNewIndexTemplates();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,10 @@ void Content::PostFunMkdir(bool add_to_dir_table, int privileges)
|
||||
}
|
||||
|
||||
|
||||
void Content::PostFunMkdir()
|
||||
{
|
||||
PostFunMkdir(false, 0755);
|
||||
}
|
||||
|
||||
|
||||
void Content::FunMkdir()
|
||||
|
||||
@@ -49,6 +49,7 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Content::MoveCheckAccessFrom()
|
||||
{
|
||||
if( request.is_item )
|
||||
@@ -125,7 +126,7 @@ return true;
|
||||
|
||||
bool Content::MoveParseDir(long & dir_id, std::string & dir, std::string & file)
|
||||
{
|
||||
std::string * move_to = request.PostVar("moveto");
|
||||
std::string * move_to = request.PostVar("to");
|
||||
|
||||
if( !move_to )
|
||||
{
|
||||
@@ -247,7 +248,7 @@ Db::ItemQuery iq;
|
||||
|
||||
void Content::MoveAuthPrepareQuery()
|
||||
{
|
||||
mv_auth_iq.SetAll(true, false);
|
||||
mv_auth_iq.SetAll(false, false);
|
||||
|
||||
mv_auth_iq.sel_parent_id = true;
|
||||
mv_auth_iq.sel_type = true;
|
||||
|
||||
@@ -112,7 +112,7 @@ void Content::UploadMulti()
|
||||
request.item.auth = SelectFileType(file_name);
|
||||
|
||||
PrepareUrl(request.item);
|
||||
PostFunEmacsAdd(); // always adding a new item
|
||||
PostFunEmacsAdd(request.item); // always adding a new item
|
||||
|
||||
if( !UploadCreatePath() )
|
||||
return;
|
||||
@@ -150,7 +150,7 @@ void Content::UploadSingle()
|
||||
PrepareUrl(request.item);
|
||||
}
|
||||
|
||||
PostFunEmacsAdd(); // always adding a new item
|
||||
PostFunEmacsAdd(request.item); // always adding a new item
|
||||
|
||||
// url can be changed by PostFunEmacsAdd()
|
||||
if( !UploadCreatePath() )
|
||||
|
||||
@@ -91,6 +91,7 @@ requestcontroller.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
requestcontroller.o: misc.h item.h ../templates/ckeditorgetparser.h
|
||||
requestcontroller.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
requestcontroller.o: ../core/locale.h ../confparser/confparser.h
|
||||
requestcontroller.o: ../templates/indexpatterns.h ../templates/localefilter.h
|
||||
requestcontroller.o: ../core/thread.h ../core/ticket.h ../core/db.h user.h
|
||||
requestcontroller.o: group.h thread.h error.h log.h dircontainer.h
|
||||
requestcontroller.o: ugcontainer.h ticket.h sessionmanager.h
|
||||
@@ -102,7 +103,7 @@ requestcontroller.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h
|
||||
requestcontroller.o: postmultiparser.h postparser.h httpsimpleparser.h
|
||||
requestcontroller.o: cookieparser.h notify.h
|
||||
requestcontroller.o: ../templatesnotify/templatesnotify.h ../core/mount.h
|
||||
requestcontroller.o: ../templates/misc.h ../templates/localefilter.h
|
||||
requestcontroller.o: ../templates/misc.h
|
||||
session.o: session.h item.h error.h log.h user.h rebus.h plugindata.h
|
||||
sessioncontainer.o: sessioncontainer.h session.h item.h error.h log.h user.h
|
||||
sessioncontainer.o: rebus.h plugindata.h data.h dirs.h dircontainer.h users.h
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
#define FUN_DOWNLOAD 28
|
||||
#define FUN_ADDUSER 29
|
||||
#define FUN_SUBJECT 30
|
||||
#define FUN_CP 31
|
||||
#define FUN_TINYMCE 32
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -72,6 +72,8 @@ void Functions::ReadFunctions()
|
||||
AddFun(FUN_DOWNLOAD, "download");
|
||||
AddFun(FUN_ADDUSER, "adduser");
|
||||
AddFun(FUN_SUBJECT, "subject");
|
||||
AddFun(FUN_CP, "cp");
|
||||
AddFun(FUN_TINYMCE, "tinymce");
|
||||
|
||||
|
||||
// functions which need more privileges
|
||||
|
||||
@@ -35,10 +35,24 @@ void HTMLFilter::Filter(const char * in, std::string & out)
|
||||
last_new_line = false;
|
||||
out_string->clear();
|
||||
|
||||
Init();
|
||||
Read();
|
||||
Deinit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::Init()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::Deinit()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::Filter(const std::string & in, std::string & out)
|
||||
{
|
||||
out.reserve(in.size() * 2 + 1);
|
||||
@@ -51,9 +65,11 @@ HTMLFilter::HTMLFilter()
|
||||
pstack = new Item[WINIX_HTMLFILTER_STACK_MAXLEN];
|
||||
buffer = new char[WINIX_HTMLFILTER_BUFFER_MAXLEN];
|
||||
|
||||
tab_size = 2;
|
||||
trim_white = false;
|
||||
break_long_lines = false;
|
||||
tab_size = 2;
|
||||
trim_white = false;
|
||||
break_after = 0;
|
||||
lang = lang_none;
|
||||
orphan_mode = orphan_nbsp;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,9 +98,12 @@ HTMLFilter::~HTMLFilter()
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::BreakLongLines(bool break_lines)
|
||||
void HTMLFilter::BreakLines(size_t break_after_)
|
||||
{
|
||||
break_long_lines = break_lines;
|
||||
break_after = break_after_;
|
||||
|
||||
if( break_after > 10000 )
|
||||
break_after = 10000;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,6 +122,15 @@ void HTMLFilter::InsertTabs(size_t tabsize)
|
||||
}
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::CheckOrphans(HTMLFilter::Lang lang_, HTMLFilter::OrphanMode mode)
|
||||
{
|
||||
lang = lang_;
|
||||
orphan_mode = mode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
HTMLFilter::Item & HTMLFilter::GetItem(size_t i)
|
||||
{
|
||||
if( i >= stack_len )
|
||||
@@ -175,7 +203,34 @@ void HTMLFilter::SkipWhiteLines()
|
||||
}
|
||||
|
||||
|
||||
bool HTMLFilter::SkipTagCheck()
|
||||
void HTMLFilter::SkipWhiteWithFirstNewLine()
|
||||
{
|
||||
SkipWhite();
|
||||
|
||||
if( *pchar == 10 )
|
||||
{
|
||||
pchar += 1;
|
||||
SkipWhite();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::CheckNewLine()
|
||||
{
|
||||
const char * start = pchar;
|
||||
|
||||
SkipWhite();
|
||||
last_new_line = (*pchar==10);
|
||||
|
||||
pchar = start;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
bool HTMLFilter::IsClosingTagForLastItem()
|
||||
{
|
||||
pchar += 1;
|
||||
SkipWhite();
|
||||
@@ -190,7 +245,7 @@ bool HTMLFilter::SkipTagCheck()
|
||||
pchar += LastItem().name_len;
|
||||
SkipWhite();
|
||||
|
||||
if( *pchar == '>' )
|
||||
if( IsClosingTagMark() )
|
||||
{
|
||||
pchar += 1;
|
||||
return true;
|
||||
@@ -202,23 +257,9 @@ return false;
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::SkipNormalText()
|
||||
{
|
||||
while( *pchar!=0 && *pchar!='<' )
|
||||
++pchar;
|
||||
}
|
||||
|
||||
void HTMLFilter::CheckNewLine()
|
||||
{
|
||||
const char * start = pchar;
|
||||
|
||||
SkipWhite();
|
||||
last_new_line = (*pchar==10);
|
||||
|
||||
pchar = start;
|
||||
}
|
||||
|
||||
|
||||
// used for such tags as: script, pre, textarea
|
||||
void HTMLFilter::PutLastTagWithClosingTag()
|
||||
{
|
||||
const char * start = pchar;
|
||||
@@ -226,9 +267,9 @@ const char * start = pchar;
|
||||
|
||||
while( *pchar != 0 )
|
||||
{
|
||||
if( *pchar == '<' )
|
||||
if( IsOpeningTagMark() )
|
||||
{
|
||||
if( SkipTagCheck() )
|
||||
if( IsClosingTagForLastItem() )
|
||||
{
|
||||
PopStack();
|
||||
CheckNewLine();
|
||||
@@ -246,29 +287,25 @@ const char * start = pchar;
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::SkipItem()
|
||||
|
||||
|
||||
const char * HTMLFilter::SkipItemCheckXmlSimple()
|
||||
{
|
||||
while( *pchar!=0 && *pchar!='>' )
|
||||
++pchar;
|
||||
|
||||
if( *pchar == '>' )
|
||||
++pchar;
|
||||
}
|
||||
const char * end = pchar;
|
||||
|
||||
|
||||
void HTMLFilter::SkipItemCheckXmlSimple()
|
||||
{
|
||||
while( *pchar!=0 )
|
||||
{
|
||||
while( *pchar!=0 && *pchar!='>' && *pchar!='/')
|
||||
while( *pchar!=0 && !IsClosingTagMark() && !IsClosingXmlSimpleTagMark())
|
||||
++pchar;
|
||||
|
||||
if( *pchar == '/' ) // closing xml tag
|
||||
if( IsClosingXmlSimpleTagMark() ) // closing xml tag: default '/'
|
||||
{
|
||||
end = pchar;
|
||||
++pchar;
|
||||
SkipWhite();
|
||||
|
||||
if( *pchar == '>' )
|
||||
if( IsClosingTagMark() )
|
||||
{
|
||||
++pchar;
|
||||
LastItem().type = Item::simple;
|
||||
@@ -276,12 +313,15 @@ void HTMLFilter::SkipItemCheckXmlSimple()
|
||||
}
|
||||
}
|
||||
else
|
||||
if( *pchar == '>' )
|
||||
if( IsClosingTagMark() )
|
||||
{
|
||||
end = pchar;
|
||||
++pchar;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return end;
|
||||
}
|
||||
|
||||
|
||||
@@ -324,37 +364,231 @@ void HTMLFilter::Put(const char * str, const char * end)
|
||||
}
|
||||
|
||||
|
||||
size_t HTMLFilter::PutTrimFillBuffer(const char * & str, const char * & end)
|
||||
|
||||
int HTMLFilter::CheckOrphan(const char * str, const char * end, const char * orphan)
|
||||
{
|
||||
size_t non_whites = 0;
|
||||
size_t i = 0;
|
||||
bool was_white;
|
||||
size_t res;
|
||||
|
||||
|
||||
for( ; str < end && i<WINIX_HTMLFILTER_BUFFER_MAXLEN-1 ; ++str )
|
||||
for( ; str<end && *orphan!=0 ; ++str, ++orphan )
|
||||
{
|
||||
was_white = false;
|
||||
res = ToLower(*(unsigned const char*)str) - ToLower(*(unsigned const char*)orphan);
|
||||
|
||||
if( res != 0 )
|
||||
return res;
|
||||
}
|
||||
|
||||
if( *str==10 || IsWhite(*str) )
|
||||
if( str < end )
|
||||
return ToLower(*(unsigned const char*)str);
|
||||
|
||||
return -ToLower(*(unsigned const char*)orphan);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// binary search in table
|
||||
// o1 - index of the first element
|
||||
// o2 - index of the last element
|
||||
bool HTMLFilter::CheckOrphanTable(const char * str, const char * end, const char ** table, size_t o1, size_t o2)
|
||||
{
|
||||
int res;
|
||||
|
||||
res = CheckOrphan(str, end, table[o1]);
|
||||
|
||||
if( res == 0 )
|
||||
return true;
|
||||
|
||||
if( res < 0 )
|
||||
return false;
|
||||
|
||||
res = CheckOrphan(str, end, table[o2]);
|
||||
|
||||
if( res == 0 )
|
||||
return true;
|
||||
|
||||
if( res > 0 )
|
||||
return false;
|
||||
|
||||
|
||||
while( o1 + 1 < o2 )
|
||||
{
|
||||
size_t o = (o1 + o2) / 2;
|
||||
res = CheckOrphan(str, end, table[o]);
|
||||
|
||||
if( res == 0 )
|
||||
return true;
|
||||
|
||||
if( res < 0 )
|
||||
o2 = o;
|
||||
else
|
||||
o1 = o;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool HTMLFilter::CheckOrphanLangPl(const char * str, const char * end)
|
||||
{
|
||||
// the table must be sorted in alphabetical order
|
||||
// polish letters coded in iso-8859-2
|
||||
static const char * orphans[] = {
|
||||
"(np.", "s.", "a", "ale", "bo", "by", "co", "czy", "do", "go", "i",
|
||||
"ich", "ja", "je", "jej", "jest", "ju¿", "j±", "ku", "li", "mi", "na",
|
||||
"nie", "np.", "nr", "o", "od", "po", "s±", "ta", "to", "tu", "t±",
|
||||
"tê", "u", "w", "we", "wy", "z", "za", "ze", "¿e", "ów"
|
||||
};
|
||||
|
||||
size_t o1 = 0;
|
||||
size_t o2 = sizeof(orphans) / sizeof(const char*) - 1;
|
||||
|
||||
return CheckOrphanTable(str, end, orphans, o1, o2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// SK i CZ
|
||||
bool HTMLFilter::CheckOrphanLangCz(const char * str, const char * end)
|
||||
{
|
||||
// the table must be sorted in alphabetical order
|
||||
static const char * orphans[] = {
|
||||
"a", "i", "k", "o", "s", "u", "v", "z"
|
||||
};
|
||||
|
||||
size_t o1 = 0;
|
||||
size_t o2 = sizeof(orphans) / sizeof(const char*) - 1;
|
||||
|
||||
return CheckOrphanTable(str, end, orphans, o1, o2);
|
||||
}
|
||||
|
||||
|
||||
bool HTMLFilter::CheckOrphan(const char * str, const char * end)
|
||||
{
|
||||
if( str == end || lang == lang_none )
|
||||
return false;
|
||||
|
||||
if( lang == lang_cz || lang == lang_sk )
|
||||
return CheckOrphanLangCz(str, end);
|
||||
|
||||
return CheckOrphanLangPl(str, end);
|
||||
}
|
||||
|
||||
|
||||
|
||||
size_t HTMLFilter::PutNormalTextFillBuffer(const char * & str, const char * & end)
|
||||
{
|
||||
const char * word = str; // pointing at the beginning of a word
|
||||
size_t i = 0;
|
||||
// some space in the buffer for non break spaces (orphans) and spaces at the beginning of a line
|
||||
size_t epsilon = WINIX_HTMLFILTER_BUFFER_MAXLEN / 10 + 1;
|
||||
bool is_white;
|
||||
bool was_white = true;
|
||||
size_t non_whites = 0;
|
||||
|
||||
|
||||
for( ; str < end && i<WINIX_HTMLFILTER_BUFFER_MAXLEN-epsilon ; ++str )
|
||||
{
|
||||
is_white = (*str==10 || IsWhite(*str));
|
||||
|
||||
if( is_white && !was_white )
|
||||
{
|
||||
// skipping the whole white string
|
||||
for( ; (*str==10 || IsWhite(*str)) && str < end ; ++str );
|
||||
if( CheckOrphan(word, str) )
|
||||
{
|
||||
i += PutNonBreakSpaceToBuffer(i);
|
||||
|
||||
was_white = true;
|
||||
non_whites = 0;
|
||||
// here we have to skip the whole white string
|
||||
for( ; (*str==10 || IsWhite(*str)) && str < end ; ++str );
|
||||
|
||||
if( str == end )
|
||||
break;
|
||||
|
||||
is_white = false;
|
||||
was_white = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// skipping the last new line character (if exists)
|
||||
|
||||
if( *str == 10 && str < end-1 )
|
||||
{
|
||||
buffer[i] = *str;
|
||||
i += 1;
|
||||
i += PutTabsToBuffer(i, stack_len);
|
||||
}
|
||||
else
|
||||
if( *str != 10 )
|
||||
{
|
||||
non_whites += 1;
|
||||
buffer[i] = *str;
|
||||
i += 1;
|
||||
}
|
||||
|
||||
if( (non_whites>60 && break_long_lines) || was_white )
|
||||
if( was_white && !is_white )
|
||||
word = str;
|
||||
|
||||
if( !is_white )
|
||||
non_whites += 1;
|
||||
else
|
||||
non_whites = 0;
|
||||
|
||||
if( break_after!=0 && non_whites>=break_after )
|
||||
{
|
||||
buffer[i] = ' ';
|
||||
i += 1;
|
||||
non_whites = 0;
|
||||
}
|
||||
|
||||
was_white = is_white;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
size_t HTMLFilter::PutNormalTextTrimFillBuffer(const char * & str, const char * & end)
|
||||
{
|
||||
const char * word = str; // pointint at the beginning of a word
|
||||
size_t non_whites = 0;
|
||||
size_t i = 0;
|
||||
bool is_white;
|
||||
// some space in the buffer for non break spaces (orphans) and spaces at the beginning of a line
|
||||
size_t epsilon = WINIX_HTMLFILTER_BUFFER_MAXLEN / 10 + 1;
|
||||
|
||||
|
||||
for( ; str < end && i<WINIX_HTMLFILTER_BUFFER_MAXLEN-epsilon ; ++str )
|
||||
{
|
||||
is_white = (*str==10 || IsWhite(*str));
|
||||
|
||||
if( is_white )
|
||||
{
|
||||
if( CheckOrphan(word, str) )
|
||||
{
|
||||
i += PutNonBreakSpaceToBuffer(i);
|
||||
is_white = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
non_whites = 0;
|
||||
}
|
||||
|
||||
// skipping the whole white string
|
||||
for( ; (*str==10 || IsWhite(*str)) && str < end ; ++str );
|
||||
|
||||
word = str;
|
||||
}
|
||||
|
||||
if( !is_white )
|
||||
non_whites += 1;
|
||||
else
|
||||
non_whites = 0;
|
||||
|
||||
if( (break_after!=0 && non_whites>break_after) || is_white )
|
||||
{
|
||||
buffer[i] = ' ';
|
||||
i += 1;
|
||||
non_whites = 1;
|
||||
}
|
||||
|
||||
if( str < end )
|
||||
{
|
||||
buffer[i] = *str;
|
||||
@@ -366,102 +600,166 @@ return i;
|
||||
}
|
||||
|
||||
|
||||
// if there are more than one white characters then they will be changed into one space
|
||||
// and putting a space between 50 characters (if there were not any other white characters between them)
|
||||
void HTMLFilter::PutTrim(const char * str, const char * end)
|
||||
|
||||
void HTMLFilter::PutNormalText(const char * str, const char * end)
|
||||
{
|
||||
size_t buf_len;
|
||||
|
||||
// this buffer must have at least 2 bytes (PutTrimFillBuffer needs it)
|
||||
if( !trim_white || WINIX_HTMLFILTER_BUFFER_MAXLEN < 2 )
|
||||
{
|
||||
Put(str, end);
|
||||
return;
|
||||
}
|
||||
|
||||
while( str < end )
|
||||
{
|
||||
buf_len = PutTrimFillBuffer(str, end);
|
||||
buf_len = PutNormalTextFillBuffer(str, end);
|
||||
Put(buffer, buffer+buf_len);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::PutOpeningTag(const char * tag)
|
||||
void HTMLFilter::PutNormalTextTrim(const char * str, const char * end)
|
||||
{
|
||||
size_t i;
|
||||
size_t buf_len;
|
||||
|
||||
if( WINIX_HTMLFILTER_BUFFER_MAXLEN < WINIX_HTMLFILTER_ITEM_MAXLEN+2 )
|
||||
return;
|
||||
while( str < end )
|
||||
{
|
||||
buf_len = PutNormalTextTrimFillBuffer(str, end);
|
||||
Put(buffer, buffer+buf_len);
|
||||
}
|
||||
}
|
||||
|
||||
buffer[0] = '<';
|
||||
|
||||
for(i=1 ; *tag ; ++i, ++tag)
|
||||
buffer[i] = *tag;
|
||||
void HTMLFilter::PutOpeningTagMark()
|
||||
{
|
||||
(*out_string) += '<';
|
||||
}
|
||||
|
||||
buffer[i] = '>';
|
||||
i += 1;
|
||||
|
||||
Put(buffer, buffer+i);
|
||||
void HTMLFilter::PutClosingTagMark()
|
||||
{
|
||||
(*out_string) += '>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::PutTagName(const char * name)
|
||||
{
|
||||
(*out_string) += name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// start, end - arguments
|
||||
void HTMLFilter::PutOpeningTag(const char * start, const char * end)
|
||||
{
|
||||
PutOpeningTagMark();
|
||||
PutTagName(LastItem().name);
|
||||
|
||||
if( start != end )
|
||||
{
|
||||
(*out_string) += ' ';
|
||||
Put(start, end);
|
||||
}
|
||||
|
||||
PutClosingTagMark();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::PutClosingTag(const char * tag)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
if( WINIX_HTMLFILTER_BUFFER_MAXLEN < WINIX_HTMLFILTER_ITEM_MAXLEN+3 )
|
||||
return;
|
||||
|
||||
buffer[0] = '<';
|
||||
buffer[1] = '/';
|
||||
|
||||
for(i=2 ; *tag ; ++i, ++tag)
|
||||
buffer[i] = *tag;
|
||||
|
||||
buffer[i] = '>';
|
||||
i += 1;
|
||||
|
||||
Put(buffer, buffer+i);
|
||||
PutOpeningTagMark();
|
||||
(*out_string) += '/';
|
||||
PutTagName(tag);
|
||||
PutClosingTagMark();
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::PutTabs(size_t len)
|
||||
|
||||
size_t HTMLFilter::PutTabsToBuffer(size_t index, size_t len)
|
||||
{
|
||||
if( len == 0 )
|
||||
return;
|
||||
return 0;
|
||||
|
||||
if( len > 20 )
|
||||
len = 20;
|
||||
|
||||
// how many spaces do you want
|
||||
size_t spaces = (len-1) * tab_size;
|
||||
size_t i;
|
||||
size_t spaces = len * tab_size;
|
||||
size_t i = 0;
|
||||
|
||||
if( spaces < WINIX_HTMLFILTER_BUFFER_MAXLEN )
|
||||
if( index+spaces < WINIX_HTMLFILTER_BUFFER_MAXLEN-1 )
|
||||
{
|
||||
for(i=0 ; i<spaces ; ++i)
|
||||
buffer[i] = ' ';
|
||||
|
||||
Put(buffer, buffer+i);
|
||||
for( ; i<spaces ; ++i )
|
||||
buffer[index+i] = ' ';
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
size_t HTMLFilter::PutNonBreakSpaceToBuffer(size_t index)
|
||||
{
|
||||
size_t i = 0;
|
||||
|
||||
if( orphan_mode == orphan_nbsp )
|
||||
{
|
||||
static const char nb[] = " ";
|
||||
size_t len = sizeof(nb) / sizeof(char) - 1; // '0' at the end
|
||||
|
||||
if( index+len < WINIX_HTMLFILTER_BUFFER_MAXLEN-1 )
|
||||
{
|
||||
for( ; i<len ; ++i )
|
||||
buffer[index+i] = nb[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( index+1 < WINIX_HTMLFILTER_BUFFER_MAXLEN-1 )
|
||||
{
|
||||
i = 1;
|
||||
buffer[index] = (char)160;
|
||||
}
|
||||
}
|
||||
|
||||
return i; // return i not len (can be zero)
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::PutTabs(size_t len)
|
||||
{
|
||||
size_t i = PutTabsToBuffer(0, len);
|
||||
Put(buffer, buffer+i);
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::PutNewLine()
|
||||
{
|
||||
if( !trim_white )
|
||||
// new line characters will be directly from the source html
|
||||
return;
|
||||
|
||||
buffer[0] = 10;
|
||||
Put(buffer, buffer+1);
|
||||
}
|
||||
|
||||
|
||||
// we assume the size of the opening mark to be one
|
||||
bool HTMLFilter::IsOpeningTagMark()
|
||||
{
|
||||
return (*pchar == '<');
|
||||
}
|
||||
|
||||
bool HTMLFilter::IsOpeningCommentaryTag()
|
||||
|
||||
// we assume the size of the closing mark to be one
|
||||
bool HTMLFilter::IsClosingTagMark()
|
||||
{
|
||||
return (*pchar == '>');
|
||||
}
|
||||
|
||||
|
||||
// the slash at the end <img src=".." /> (without '>' character)
|
||||
// we assume the size of the mark to be one
|
||||
bool HTMLFilter::IsClosingXmlSimpleTagMark()
|
||||
{
|
||||
return (*pchar == '/');
|
||||
}
|
||||
|
||||
|
||||
bool HTMLFilter::IsOpeningCommentaryTagMark()
|
||||
{
|
||||
static char comm_open[] = "<!--";
|
||||
size_t comm_open_len = sizeof(comm_open) / sizeof(char) - 1;
|
||||
@@ -470,6 +768,12 @@ size_t comm_open_len = sizeof(comm_open) / sizeof(char) - 1;
|
||||
}
|
||||
|
||||
|
||||
size_t HTMLFilter::OpeningCommentaryTagMarkSize()
|
||||
{
|
||||
return 4; // size of "<!--"
|
||||
}
|
||||
|
||||
|
||||
|
||||
// skipping the commentary tag if exists
|
||||
bool HTMLFilter::SkipCommentaryTagIfExists()
|
||||
@@ -477,10 +781,10 @@ bool HTMLFilter::SkipCommentaryTagIfExists()
|
||||
static char comm_close[] = "-->";
|
||||
size_t comm_close_len = sizeof(comm_close) / sizeof(char) - 1;
|
||||
|
||||
if( !IsOpeningCommentaryTag() )
|
||||
if( !IsOpeningCommentaryTagMark() )
|
||||
return false;
|
||||
|
||||
pchar += 4; // size of commentary opening tag
|
||||
pchar += OpeningCommentaryTagMarkSize();
|
||||
|
||||
// looking for "-->"
|
||||
while( *pchar!=0 && !IsNameEqual(pchar, comm_close, comm_close_len) )
|
||||
@@ -495,57 +799,96 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::ReadNormalTextSkipWhite(const char * & start, const char * & last_non_white)
|
||||
{
|
||||
if( trim_white )
|
||||
{
|
||||
// skipping all white chars (with new lines)
|
||||
// but with remembering the last non white character
|
||||
for( ; *pchar==10 || IsWhite(*pchar) ; ++pchar)
|
||||
if( *pchar == 10 )
|
||||
last_non_white = pchar;
|
||||
}
|
||||
else
|
||||
{
|
||||
// skipping first white chars with only one line between them
|
||||
SkipWhite();
|
||||
last_non_white = pchar;
|
||||
|
||||
if( *pchar == 10 )
|
||||
{
|
||||
++pchar;
|
||||
SkipWhite();
|
||||
}
|
||||
}
|
||||
|
||||
start = pchar;
|
||||
|
||||
// exception for the commentary tag
|
||||
if( IsOpeningCommentaryTagMark() || !IsOpeningTagMark() )
|
||||
{
|
||||
PutNewLine();
|
||||
PutTabs(stack_len);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// reading text between html tags
|
||||
void HTMLFilter::ReadNormalText()
|
||||
{
|
||||
const char * start = pchar;
|
||||
const char * last_non_white = pchar;
|
||||
|
||||
SkipWhiteLines();
|
||||
|
||||
if( *pchar!=0 && (IsOpeningCommentaryTag() || *pchar!='<') && last_new_line )
|
||||
{
|
||||
if( *pchar == '<' )
|
||||
// skipping some white characters before a opening commentary tag
|
||||
// (but only a tag in a new line)
|
||||
start = pchar;
|
||||
|
||||
PutNewLine();
|
||||
PutTabs(stack_len+1);
|
||||
last_new_line = false; // in normal text we don't allow a new line character
|
||||
}
|
||||
if( last_new_line )
|
||||
ReadNormalTextSkipWhite(start, last_non_white);
|
||||
|
||||
|
||||
while( *pchar != 0 )
|
||||
{
|
||||
if( !SkipCommentaryTagIfExists() )
|
||||
if( SkipCommentaryTagIfExists() )
|
||||
{
|
||||
if( *pchar == '<' )
|
||||
last_non_white = pchar - 1; // pointing at the last '>' from a commentary
|
||||
}
|
||||
else
|
||||
{
|
||||
if( IsOpeningTagMark() )
|
||||
break;
|
||||
|
||||
if( !IsWhite(*pchar) )
|
||||
last_non_white = pchar;
|
||||
|
||||
pchar += 1;
|
||||
}
|
||||
}
|
||||
|
||||
PutTrim(start, pchar);
|
||||
|
||||
last_new_line = (*last_non_white == 10);
|
||||
|
||||
if( trim_white )
|
||||
PutNormalTextTrim(start, pchar);
|
||||
else
|
||||
PutNormalText(start, pchar);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// start, end - parameters to a tag
|
||||
void HTMLFilter::PrintItem(const char * start, const char * end)
|
||||
{
|
||||
// closing tags will be printed later
|
||||
// (when we check the stack)
|
||||
if( LastItem().type != Item::closing )
|
||||
{
|
||||
if( last_new_line )
|
||||
{
|
||||
if( stack_len > 0 )
|
||||
PutNewLine();
|
||||
PutNewLine();
|
||||
|
||||
if( stack_len > 1 )
|
||||
PutTabs(stack_len);
|
||||
PutTabs(stack_len-1);
|
||||
}
|
||||
|
||||
// closing tags will be printed later
|
||||
// (when we check the stack)
|
||||
|
||||
Put(start, pchar);
|
||||
PutOpeningTag(start, end);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -554,13 +897,12 @@ void HTMLFilter::PrintItem(const char * start, const char * end)
|
||||
|
||||
bool HTMLFilter::ReadItem()
|
||||
{
|
||||
const char * start;
|
||||
const char * start = pchar;
|
||||
|
||||
if( *pchar == 0 )
|
||||
return false;
|
||||
|
||||
// we have '<'
|
||||
start = pchar;
|
||||
pchar += 1;
|
||||
SkipWhite();
|
||||
|
||||
@@ -574,17 +916,20 @@ const char * start;
|
||||
}
|
||||
|
||||
ReadItemName();
|
||||
SkipWhite();
|
||||
start = pchar; // arguments start here
|
||||
|
||||
if( LastItem().type != Item::closing )
|
||||
LastItem().type = (LastItem().name[0] == '!') ? Item::special : Item::opening;
|
||||
|
||||
SkipItemCheckXmlSimple();
|
||||
PrintItem(start, pchar);
|
||||
const char * end = SkipItemCheckXmlSimple();
|
||||
PrintItem(start, end);
|
||||
CheckNewLine();
|
||||
LastItem().new_line = last_new_line;
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
pchar = start;
|
||||
|
||||
return false;
|
||||
@@ -613,6 +958,7 @@ return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// len characters from both strings must be equal
|
||||
bool HTMLFilter::IsNameEqual(const char * name1, const char * name2, size_t len)
|
||||
{
|
||||
@@ -626,6 +972,8 @@ bool HTMLFilter::IsNameEqual(const char * name1, const char * name2, size_t len)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool HTMLFilter::IsLastTag(const char * name)
|
||||
{
|
||||
const char * tag = LastItem().name;
|
||||
@@ -634,6 +982,7 @@ bool HTMLFilter::IsLastTag(const char * name)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// checking exceptions for opening tags
|
||||
void HTMLFilter::CheckExceptions()
|
||||
{
|
||||
@@ -685,7 +1034,7 @@ int i;
|
||||
if( pstack[z].new_line )
|
||||
{
|
||||
PutNewLine();
|
||||
PutTabs(z+1);
|
||||
PutTabs(z);
|
||||
}
|
||||
|
||||
PutClosingTag(pstack[z].name);
|
||||
@@ -699,6 +1048,19 @@ int i;
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::CheckStackPrintRest()
|
||||
{
|
||||
while( stack_len-- > 0 )
|
||||
{
|
||||
if( stack_len==0 || pstack[stack_len-1].new_line )
|
||||
PutNewLine();
|
||||
|
||||
PutTabs(stack_len);
|
||||
PutClosingTag(pstack[stack_len].name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::CheckClosingTags()
|
||||
{
|
||||
if( stack_len == 0 )
|
||||
@@ -722,7 +1084,7 @@ void HTMLFilter::CheckClosingTags()
|
||||
if( pstack[stack_len-2].new_line )
|
||||
{
|
||||
PutNewLine();
|
||||
PutTabs(stack_len-1);
|
||||
PutTabs(stack_len-2);
|
||||
}
|
||||
|
||||
PutClosingTag(pstack[stack_len-1].name);
|
||||
@@ -736,7 +1098,7 @@ void HTMLFilter::CheckClosingTags()
|
||||
}
|
||||
|
||||
|
||||
void HTMLFilter::PrintRest()
|
||||
bool HTMLFilter::PrintRest()
|
||||
{
|
||||
const char * start = pchar;
|
||||
|
||||
@@ -744,19 +1106,26 @@ const char * start = pchar;
|
||||
++pchar;
|
||||
|
||||
if( pchar > start )
|
||||
{
|
||||
Put(start, pchar);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void HTMLFilter::Read()
|
||||
{
|
||||
// white characters at the beginning are skipped
|
||||
SkipWhiteLines();
|
||||
if( trim_white )
|
||||
SkipWhiteLines();
|
||||
|
||||
// it can be some text before the first html tag (we print it)
|
||||
// it can be some text or white lines before the first html tag (we print it)
|
||||
ReadNormalText();
|
||||
|
||||
while( *pchar && ReadItem() )
|
||||
while( ReadItem() )
|
||||
{
|
||||
if( LastItem().type == Item::opening )
|
||||
{
|
||||
@@ -770,6 +1139,7 @@ void HTMLFilter::Read()
|
||||
pstack[stack_len-2].new_line = LastItem().new_line;
|
||||
}
|
||||
else
|
||||
if( trim_white )
|
||||
{
|
||||
// one new line after a simple or special tag
|
||||
// (if the tag has level 0 in the tree - it not means that this is a first tag)
|
||||
@@ -790,7 +1160,8 @@ void HTMLFilter::Read()
|
||||
|
||||
// sometimes ReadItem() can return a false (when there is no space on the stack)
|
||||
// we print the rest html without filtering
|
||||
PrintRest();
|
||||
if( !PrintRest() )
|
||||
CheckStackPrintRest();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
// length of a buffer used for printing
|
||||
// it should be at least: WINIX_HTMLFILTER_ITEM_MAXLEN+3
|
||||
#define WINIX_HTMLFILTER_BUFFER_MAXLEN 1024
|
||||
#define WINIX_HTMLFILTER_BUFFER_MAXLEN 2048
|
||||
|
||||
|
||||
|
||||
@@ -48,6 +48,23 @@ class HTMLFilter
|
||||
{
|
||||
public:
|
||||
|
||||
// for checking orphans
|
||||
enum Lang
|
||||
{
|
||||
lang_pl,
|
||||
lang_cz,
|
||||
lang_sk,
|
||||
lang_none
|
||||
};
|
||||
|
||||
enum OrphanMode
|
||||
{
|
||||
orphan_nbsp,
|
||||
orphan_nbspace
|
||||
};
|
||||
|
||||
|
||||
|
||||
HTMLFilter();
|
||||
HTMLFilter(const HTMLFilter & f);
|
||||
HTMLFilter & operator=(const HTMLFilter & f);
|
||||
@@ -60,8 +77,8 @@ public:
|
||||
// insert a white space into long lines
|
||||
// only between html tags
|
||||
// skipped in such tags: script, pre, textarea
|
||||
// false by default
|
||||
void BreakLongLines(bool break_lines);
|
||||
// break_after - after how many characters insert a space (0 - off)
|
||||
void BreakLines(size_t break_after_);
|
||||
|
||||
// trimming white characters (with new lines)
|
||||
// at the beginning, at the end and in the middle of a string
|
||||
@@ -76,6 +93,10 @@ public:
|
||||
// set 0 to turn off
|
||||
void InsertTabs(size_t tabsize);
|
||||
|
||||
// check 'orphans' for the specicic language
|
||||
// if an orphans is detected then the non-break space ( ) will be put
|
||||
// default disable: lang_none
|
||||
void CheckOrphans(Lang lang_, OrphanMode mode = orphan_nbsp);
|
||||
|
||||
|
||||
|
||||
@@ -116,35 +137,57 @@ protected:
|
||||
bool IsNameEqual(const char * name1, const char * name2, size_t len);
|
||||
bool IsLastTag(const char * name);
|
||||
|
||||
public: // !!
|
||||
|
||||
int CheckOrphan(const char * str, const char * end, const char * orphan);
|
||||
bool CheckOrphanTable(const char * str, const char * end, const char ** table, size_t o1, size_t o2);
|
||||
bool CheckOrphanLangPl(const char * str, const char * end);
|
||||
bool CheckOrphanLangCz(const char * str, const char * end);
|
||||
bool CheckOrphan(const char * str, const char * end);
|
||||
|
||||
bool IsWhite(int c);
|
||||
void SkipWhite();
|
||||
void SkipWhiteLines();
|
||||
bool SkipTagCheck();
|
||||
void SkipNormalText();
|
||||
bool IsOpeningCommentaryTag();
|
||||
void SkipWhiteWithFirstNewLine();
|
||||
bool IsClosingTagForLastItem();
|
||||
virtual bool IsOpeningTagMark();
|
||||
virtual bool IsOpeningCommentaryTagMark();
|
||||
size_t OpeningCommentaryTagMarkSize();
|
||||
virtual bool IsClosingTagMark();
|
||||
virtual bool IsClosingXmlSimpleTagMark();
|
||||
bool SkipCommentaryTagIfExists();
|
||||
void SkipItem();
|
||||
void SkipItemCheckXmlSimple();
|
||||
const char * SkipItemCheckXmlSimple();
|
||||
|
||||
void PopStack();
|
||||
bool PushStack();
|
||||
bool IsValidCharForName(int c);
|
||||
virtual bool IsValidCharForName(int c);
|
||||
void CheckNewLine();
|
||||
void CheckExceptions();
|
||||
void CheckStackPrintRest();
|
||||
void AddForgottenTags();
|
||||
void CheckClosingTags();
|
||||
void ReadNormalTextSkipWhite(const char * & start, const char * & last_non_white);
|
||||
void ReadNormalText();
|
||||
void PrintRest();
|
||||
bool PrintRest();
|
||||
void PrintItem(const char * start, const char * end);
|
||||
void ReadItemName();
|
||||
bool ReadItem();
|
||||
virtual void Init();
|
||||
virtual void Deinit();
|
||||
void Read();
|
||||
|
||||
size_t PutTrimFillBuffer(const char * & str, const char * & end);
|
||||
void PutTrim(const char * str, const char * end);
|
||||
size_t PutNormalTextTrimFillBuffer(const char * & str, const char * & end);
|
||||
size_t PutNormalTextFillBuffer(const char * & str, const char * & end);
|
||||
void PutNormalText(const char * str, const char * end);
|
||||
void PutNormalTextTrim(const char * str, const char * end);
|
||||
void PutLastTagWithClosingTag();
|
||||
void PutOpeningTag(const char * tag);
|
||||
void PutClosingTag(const char * tag);
|
||||
virtual void PutOpeningTagMark();
|
||||
virtual void PutClosingTagMark();
|
||||
virtual void PutTagName(const char * name);
|
||||
virtual void PutOpeningTag(const char * start, const char * end);
|
||||
virtual void PutClosingTag(const char * tag);
|
||||
size_t PutTabsToBuffer(size_t index, size_t len);
|
||||
size_t PutNonBreakSpaceToBuffer(size_t index);
|
||||
void PutTabs(size_t len);
|
||||
void PutNewLine();
|
||||
|
||||
@@ -155,9 +198,11 @@ protected:
|
||||
char * buffer; // buffer used when printing
|
||||
std::string * out_string;
|
||||
bool last_new_line;
|
||||
bool break_long_lines; // insert a space into long lines
|
||||
bool trim_white; // trimming white characters
|
||||
size_t break_after; // insert a space into long lines after break_after characters
|
||||
bool trim_white; // trimming white characters
|
||||
size_t tab_size;
|
||||
Lang lang; // current language for checking orphans
|
||||
OrphanMode orphan_mode;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -653,7 +653,64 @@ bool CreateDirs(const std::string & base_dir, const std::string & dirs, int priv
|
||||
|
||||
|
||||
|
||||
bool CopyFile(FILE * in, FILE * out)
|
||||
{
|
||||
char buf[1024];
|
||||
size_t buflen = sizeof(buf)/sizeof(char);
|
||||
size_t len;
|
||||
|
||||
do
|
||||
{
|
||||
len = fread(buf, 1, buflen, in);
|
||||
|
||||
if( len > 0 )
|
||||
fwrite(buf, 1, len, out);
|
||||
|
||||
if( ferror(in) || ferror(out) )
|
||||
return false;
|
||||
}
|
||||
while( !feof(in) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool CopyFile(const char * src, const char * dst)
|
||||
{
|
||||
FILE * in, * out;
|
||||
|
||||
in = fopen(src, "rb");
|
||||
|
||||
if( !in )
|
||||
return false;
|
||||
|
||||
out = fopen(dst, "wb");
|
||||
|
||||
if( !out )
|
||||
{
|
||||
fclose(in);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool res = CopyFile(in, out);
|
||||
|
||||
fclose(in);
|
||||
fclose(out);
|
||||
|
||||
if( res && ferror(out) )
|
||||
res = false;
|
||||
|
||||
if( !res )
|
||||
remove(dst);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
bool CopyFile(const std::string & src, const std::string & dst)
|
||||
{
|
||||
return CopyFile(src.c_str(), dst.c_str());
|
||||
}
|
||||
|
||||
|
||||
// if there is not an extension it returns a pointer to the last '\0' character
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <sstream>
|
||||
#include <ctime>
|
||||
#include "item.h"
|
||||
|
||||
#include <cstdio>
|
||||
|
||||
|
||||
void ToString(std::string & s, int value);
|
||||
@@ -64,6 +64,10 @@ bool CreateDir(const std::string & dir, int priv);
|
||||
bool CreateDirs(const char * base_dir, const char * dirs, int priv);
|
||||
bool CreateDirs(const std::string & base_dir, const std::string & dirs, int priv);
|
||||
|
||||
bool CopyFile(FILE * in, FILE * out);
|
||||
bool CopyFile(const char * src, const char * dst);
|
||||
bool CopyFile(const std::string & src, const std::string & dst);
|
||||
|
||||
const char * GetFileExt(const char * name);
|
||||
Item::Auth SelectFileType(const char * file_name);
|
||||
|
||||
|
||||
@@ -101,7 +101,8 @@ Mount::ParamCode Mount::ParseParam(const char * param_name)
|
||||
{ par_only_root_remove, "only_root_remove" },
|
||||
{ par_emacs_on, "emacs_on" },
|
||||
{ par_mkdir_on, "mkdir_on" },
|
||||
{ par_app, "app" }
|
||||
{ par_app, "app" },
|
||||
{ par_html_template, "html_template" },
|
||||
};
|
||||
|
||||
size_t i, len = sizeof(par_name_tab) / sizeof(ParName);
|
||||
@@ -176,3 +177,15 @@ return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const std::string * Mount::HtmlTemplate() const
|
||||
{
|
||||
if( !param[par_html_template].defined )
|
||||
return 0;
|
||||
|
||||
if( param[par_html_template].arg.size() != 1 )
|
||||
return 0;
|
||||
|
||||
return & param[par_html_template].arg[0];
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ public:
|
||||
par_emacs_on,
|
||||
par_mkdir_on,
|
||||
par_app,
|
||||
par_html_template,
|
||||
|
||||
par_none
|
||||
};
|
||||
@@ -99,6 +100,9 @@ public:
|
||||
bool IsArg(Mount::ParamCode code, const std::string & arg);
|
||||
bool IsArg(Mount::ParamCode code, int arg);
|
||||
|
||||
// returning a name to html template (can be null if not defined)
|
||||
const std::string * HtmlTemplate() const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
Mounts::Mounts()
|
||||
{
|
||||
pmount = 0;
|
||||
@@ -23,6 +24,7 @@ Mounts::Mounts()
|
||||
|
||||
|
||||
|
||||
|
||||
// reading from 'mounts'
|
||||
Error Mounts::ReadMounts(const std::string & mounts)
|
||||
{
|
||||
@@ -146,3 +148,11 @@ Mount * Mounts::CalcMount(long dir_id)
|
||||
dir_id = pdir->parent_id;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Mounts::MountTab * Mounts::GetMountTab()
|
||||
{
|
||||
return &mount_tab;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,9 @@ class Mounts
|
||||
{
|
||||
public:
|
||||
|
||||
// dir_id, mount_point
|
||||
typedef std::map<long, Mount> MountTab;
|
||||
|
||||
Mounts();
|
||||
Error ReadMounts(const std::string & mounts);
|
||||
Error ReadMounts();
|
||||
@@ -33,13 +36,13 @@ public:
|
||||
// will not be null after calling CalcCurMount() or ReadMounts([...])
|
||||
Mount * pmount;
|
||||
|
||||
|
||||
const MountTab * GetMountTab();
|
||||
|
||||
private:
|
||||
|
||||
// dir_id, mount_point
|
||||
typedef std::map<long, Mount> MountTab;
|
||||
MountTab mount_tab;
|
||||
|
||||
|
||||
void MountCmsForRoot();
|
||||
};
|
||||
|
||||
|
||||
@@ -483,8 +483,9 @@ void Request::SendPage(bool compressing, const std::string & source_ref)
|
||||
if( data.html_filter && !raw )
|
||||
{
|
||||
html_filter.TrimWhite(true);
|
||||
html_filter.BreakLongLines(true);
|
||||
html_filter.BreakLines(60);
|
||||
html_filter.InsertTabs(2);
|
||||
html_filter.CheckOrphans(HTMLFilter::lang_pl, HTMLFilter::orphan_nbspace);
|
||||
|
||||
html_filter.Filter(*source, clean_html);
|
||||
source = &clean_html;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#define WINIX_VER_MAJOR 0
|
||||
#define WINIX_VER_MINOR 3
|
||||
#define WINIX_VER_REVISION 1
|
||||
#define WINIX_VER_REVISION 2
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
31
html/fun_cp.html
Executable file
31
html/fun_cp.html
Executable file
@@ -0,0 +1,31 @@
|
||||
<h1>{cp_header}</h1>
|
||||
|
||||
[include "error.html"]
|
||||
|
||||
<form id="additem" method="post" action="[doc_base_url][dir][if-one item_is][item_url]/[end]cp[if-no item_is]/r[end]">
|
||||
<fieldset>
|
||||
<legend>{cp_form_legend}</legend>
|
||||
|
||||
<p>
|
||||
[if-one item_is]{cp_page} "[item_url]":[else]{cp_dir} "[dir_without_slash]"[end]
|
||||
</p>
|
||||
|
||||
|
||||
<p class="withnext">{suggested_url}</p>
|
||||
<input class="edit" type="text" name="to" value="[dir_without_slash][if-one item_is]/[item_url][end]">
|
||||
|
||||
<p>
|
||||
<label><input type="checkbox" name="preserveattr">{cp_preserve_attr}</label>
|
||||
|
||||
[if-no item_is]
|
||||
<label><input type="checkbox" name="onlycontent">{cp_only_content}</label>
|
||||
<label><input type="checkbox" name="removedefaults" checked="checked">{cp_remove_defaults}</label>
|
||||
[end]
|
||||
</p>
|
||||
|
||||
<input class="submit" type="submit" value="{copy}">
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -23,20 +23,31 @@
|
||||
|
||||
[is winix_function_param_is "l"]
|
||||
|
||||
[# loading dir childs table with a parent directory]
|
||||
[dir_childs_tab "with_parent"]
|
||||
|
||||
[if-one dir_childs_tab item_tab]
|
||||
|
||||
<table class="withoutborder">
|
||||
[for dir_childs_tab]
|
||||
<tr>
|
||||
<td>d</td>
|
||||
<td>[dir_childs_tab_privileges]</td>
|
||||
<td>[dir_childs_tab_user]</td>
|
||||
<td>[dir_childs_tab_group]</td>
|
||||
<td><a href="[doc_base_url][dir][dir_childs_tab_url]">[dir_childs_tab_url]/</a></td>
|
||||
<td>
|
||||
[if-one dir_childs_is_parent]
|
||||
<a href="[doc_base_url][dir_parent_without_slash][is winix_function_param_is "dirls"]/ls/l/dirls[end]">../</a>
|
||||
[else]
|
||||
<a href="[doc_base_url][dir][dir_childs_tab_url][is winix_function_param_is "dirls"]/ls/l/dirls[end]">[dir_childs_tab_url]/</a>
|
||||
[end]
|
||||
</td>
|
||||
</tr>
|
||||
[end]
|
||||
|
||||
[for item_tab]
|
||||
<tr>
|
||||
<td>-</td>
|
||||
<td>[item_tab_privileges]</td>
|
||||
<td>[item_tab_user]</td>
|
||||
<td>[item_tab_group]</td>
|
||||
@@ -49,14 +60,23 @@
|
||||
|
||||
[else]
|
||||
|
||||
[# loading dir childs table with a parent directory]
|
||||
[dir_childs_tab "with_parent"]
|
||||
|
||||
[if-one dir_childs_tab]
|
||||
<ul>
|
||||
[for dir_childs_tab]
|
||||
<li><a href="[doc_base_url][dir][dir_childs_tab_url]">[dir_childs_tab_url]/</a></li>
|
||||
<li>
|
||||
[if-one dir_childs_is_parent]
|
||||
<a href="[doc_base_url][dir_parent_without_slash][is winix_function_param_is "dirls"]/ls/dirls[end]">../</a>
|
||||
[else]
|
||||
<a href="[doc_base_url][dir][dir_childs_tab_url][is winix_function_param_is "dirls"]/ls/dirls[end]">[dir_childs_tab_url]/</a>
|
||||
[end]
|
||||
</li>
|
||||
[end]
|
||||
</ul>
|
||||
[end]
|
||||
|
||||
|
||||
[if-one item_tab]
|
||||
<ul>
|
||||
[for item_tab]
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
<p class="withnext">{suggested_url}</p>
|
||||
<input class="edit" type="text" name="moveto" value="[dir][if-one item_is][item_url][end]">
|
||||
<input class="edit" type="text" name="to" value="[dir_without_slash][if-one item_is]/[item_url][end]">
|
||||
|
||||
|
||||
[if-no item_is]
|
||||
|
||||
49
html/fun_tinymce.html
Executable file
49
html/fun_tinymce.html
Executable file
@@ -0,0 +1,49 @@
|
||||
[if-one item_is]<h1>{edit}</h1>[else]<h1>{add}</h1>[end]
|
||||
|
||||
[include "error.html"]
|
||||
|
||||
|
||||
<form id="additem" method="post" action="[doc_base_url][dir][if-one item_is][item_url]/[end]tinymce">
|
||||
<fieldset>
|
||||
<legend>{form_emacs_legend}</legend>
|
||||
|
||||
[if-one mount_type_is_cms]
|
||||
<p class="withnext">{title}:</p>
|
||||
<input class="edit" type="text" name="subject" value="[item_subject]">
|
||||
|
||||
<p class="withnext">{suggested_url}:</p>
|
||||
<input class="edit" type="text" name="url" value="[item_url]">
|
||||
[end]
|
||||
|
||||
[if-one mount_type_is_thread]
|
||||
[is mount_thread_is "subject"]
|
||||
<p class="withnext">{title}:</p>
|
||||
<input class="edit" type="text" name="subject" value="[item_subject]">
|
||||
|
||||
<p class="withnext">{suggested_url}:</p>
|
||||
<input class="edit" type="text" name="url" value="[item_url]">
|
||||
[end]
|
||||
[end]
|
||||
|
||||
|
||||
[if-one mount_type_is_cms]<p class="withnext">{form_emacs_content_cms}</p>[end]
|
||||
[if-one mount_type_is_thread]<p class="withnext">{form_emacs_content_thread}</p>[end]
|
||||
[if-one mount_type_is_ticket]<p class="withnext">{form_emacs_content_ticket}</p>[end]
|
||||
|
||||
<textarea class="[if-one winix_content_full]multitextfull[else]multitext[end]" rows="[if-one mount_type_is_cms]30[else]10[end]" cols="60" name="itemcontent">[item_content]</textarea>
|
||||
|
||||
<input type="hidden" name="contenttype" value="2">
|
||||
|
||||
[if-no user_logged]
|
||||
<p class="withnext">{nick}:</p>
|
||||
<input class="edit" type="text" name="guestname" value="[item_guest_name]">
|
||||
|
||||
<p class="withnext">{rebus_how_is_it} [rebus_question]?</p>
|
||||
<input class="edit" type="text" name="rebus">
|
||||
[end]
|
||||
|
||||
<input class="submit" type="submit" value="[if-one item_is]{change}[else]{add}[end]">
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -1,4 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="{language}">
|
||||
|
||||
[include "index_head.html"]
|
||||
|
||||
|
||||
[is-no winix_function_param_is "fullscreen"]
|
||||
|
||||
[include "index_root.html"]
|
||||
<body>
|
||||
<div id="winix_container">
|
||||
|
||||
[include "index_header.html"]
|
||||
|
||||
|
||||
[if-no winix_show_content_in_full_window]
|
||||
<div id="winix_middle">
|
||||
[include "index_contentmenu.html"]
|
||||
|
||||
<div id="winix_contentright">
|
||||
[content]
|
||||
</div> <!-- winix_contentright -->
|
||||
</div> <!-- winix_middle -->
|
||||
[else]
|
||||
<div id="winix_contentfull">
|
||||
[content]
|
||||
</div> <!-- winix_contentfull -->
|
||||
[end] [# is-no winix_function_is "ckeditor"]
|
||||
|
||||
|
||||
[include "index_footer.html"]
|
||||
|
||||
</div> <!-- winix_container -->
|
||||
</body>
|
||||
|
||||
[else]
|
||||
|
||||
<body>
|
||||
<div id="winix_containerfull">
|
||||
[content]
|
||||
</div> <!-- winix_containerfull -->
|
||||
</body>
|
||||
|
||||
[end] [# is-no winix_function_param_is "fullscreen"]
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,9 +1,20 @@
|
||||
<head>
|
||||
<title>[doc_title]</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset={charset}">
|
||||
<meta name="description" content="">
|
||||
<meta name="keywords" content="">
|
||||
<link rel="stylesheet" href="[doc_base_url_static]/winix/winix.css" type="text/css">
|
||||
<link rel="shortcut icon" href="[doc_base_url_static]/favicon.ico">
|
||||
[is winix_function_is "ckeditor"]<script type="text/javascript" src="[doc_base_url_static_ext]/ckeditor/ckeditor.js"></script>[end]
|
||||
|
||||
<title>[doc_title]</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset={charset}">
|
||||
<meta name="description" content="">
|
||||
<meta name="keywords" content="">
|
||||
<link rel="stylesheet" href="[doc_base_url_static]/winix/winix.css" type="text/css">
|
||||
<link rel="shortcut icon" href="[doc_base_url_static]/favicon.ico">
|
||||
|
||||
[is winix_function_is "ckeditor"]
|
||||
<script type="text/javascript" src="[doc_base_url_common]/ckeditor/ckeditor.js"></script>
|
||||
[end]
|
||||
|
||||
[# in the future tinymce will be placed in doc_base_url_common]
|
||||
[is winix_function_is "tinymce"]
|
||||
<script type="text/javascript" src="[doc_base_url_static]/tiny_mce/tiny_mce.js"></script>
|
||||
<script type="text/javascript" src="[doc_base_url_static]/tinymce.js"></script>
|
||||
[end]
|
||||
|
||||
</head>
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="{language}">
|
||||
|
||||
[include "index_head.html"]
|
||||
|
||||
|
||||
[is-no winix_function_param_is "fullscreen"]
|
||||
|
||||
<body>
|
||||
<div id="winix_container">
|
||||
|
||||
[include "index_header.html"]
|
||||
|
||||
|
||||
[is-no winix_function_is "ckeditor"]
|
||||
<div id="winix_middle">
|
||||
[include "index_contentmenu.html"]
|
||||
|
||||
<div id="winix_contentright">
|
||||
[content]
|
||||
</div> <!-- winix_contentright -->
|
||||
</div> <!-- winix_middle -->
|
||||
[else]
|
||||
<div id="winix_contentfull">
|
||||
[content]
|
||||
</div> <!-- winix_contentfull -->
|
||||
[end] [# is-no winix_function_is "ckeditor"]
|
||||
|
||||
|
||||
[include "index_footer.html"]
|
||||
|
||||
</div> <!-- winix_container -->
|
||||
</body>
|
||||
|
||||
[else]
|
||||
|
||||
<body>
|
||||
<div id="winix_containerfull">
|
||||
[content]
|
||||
</div> <!-- winix_containerfull -->
|
||||
</body>
|
||||
|
||||
[end] [# is-no winix_function_param_is "fullscreen"]
|
||||
|
||||
</html>
|
||||
@@ -1,15 +1,29 @@
|
||||
[is-no winix_function_param_is "fullscreen"]
|
||||
[if-one dir_can_write item_can_write]
|
||||
<div class="itemoptions">
|
||||
|
||||
[if-any dir_can_write]
|
||||
<h2>{add_page}</h2>
|
||||
<ul class="itemmenu">
|
||||
[if-one dir_can_write]<li><a href="[doc_base_url][dir]emacs">{admin_emacs_add}</a></li>[end]
|
||||
[if-any dir_can_write user_can_use_html]<li><a href="[doc_base_url][dir]ckeditor">{admin_ckeditor_add}</a></li>[end]
|
||||
[if-any dir_can_write user_can_use_html]<li><a href="[doc_base_url][dir]tinymce">{admin_tinymce_add}</a></li>[end]
|
||||
</ul>
|
||||
[end]
|
||||
|
||||
[if-any item_is item_can_write]
|
||||
<h2>{edit_page}</h2>
|
||||
<ul class="itemmenu">
|
||||
[if-any item_is item_can_write]<li><a href="[doc_base_url][dir][item_url]/emacs">{admin_emacs_edit}</a></li>[end]
|
||||
[if-any item_is item_can_write user_can_use_html]<li><a href="[doc_base_url][dir][item_url]/ckeditor">{admin_ckeditor_edit}</a></li>[end]
|
||||
[if-any item_is item_can_write user_can_use_html]<li><a href="[doc_base_url][dir][item_url]/tinymce">{admin_tinymce_edit}</a></li>[end]
|
||||
</ul>
|
||||
[end]
|
||||
|
||||
<h2>{admin_options}:</h2>
|
||||
|
||||
<ul class="itemmenu">
|
||||
<li><a href="[doc_base_url][dir]ls">{admin_ls}</a></li>
|
||||
[if-one dir_can_write]<li><a href="[doc_base_url][dir]mkdir">{admin_mkdir}</a></li>[end]
|
||||
[if-one dir_can_write]<li><a href="[doc_base_url][dir]emacs">{admin_emacs_add}</a></li>[end]
|
||||
[if-any item_is item_can_write]<li><a href="[doc_base_url][dir][item_url]/emacs">{admin_emacs_edit}</a></li>[end]
|
||||
[if-any dir_can_write user_can_use_html]<li><a href="[doc_base_url][dir]ckeditor">{admin_ckeditor_add}</a></li>[end]
|
||||
[if-any item_is item_can_write user_can_use_html]<li><a href="[doc_base_url][dir][item_url]/ckeditor">{admin_ckeditor_edit}</a></li>[end]
|
||||
[if-one dir_can_write]<li><a href="[doc_base_url][dir]upload">{admin_upload}</a></li>[end]
|
||||
[if-any item_is item_can_remove]<li><a href="[doc_base_url][dir][item_url]/rm/confirm">{admin_rm}</a></li>[end]
|
||||
</ul>
|
||||
|
||||
26
locale/en
26
locale/en
@@ -55,6 +55,9 @@ permissions = Permissions
|
||||
yes = Yes
|
||||
no = No
|
||||
|
||||
add_page = Add page
|
||||
edit_page = Edit page
|
||||
|
||||
rebus_how_is_it = Rebus: How is it
|
||||
|
||||
edit_ticket_header = Edit ticket
|
||||
@@ -157,14 +160,16 @@ who_table_start = Start
|
||||
who_table_last_active = Last active
|
||||
who_none = There is no any sessions.
|
||||
|
||||
admin_options = Frequently used administrative options
|
||||
admin_options = Other administrative options
|
||||
admin_ls = List directory (ls)
|
||||
admin_mkdir = Add directory (mkdir)
|
||||
admin_emacs_add = Add file (emacs)
|
||||
admin_emacs_edit = Edit file (emacs)
|
||||
admin_ckeditor_add = Add file (ckeditor)
|
||||
admin_ckeditor_edit = Edit file (ckeditor)
|
||||
admin_rm = Remove file (rm)
|
||||
admin_emacs_add = Add page (emacs)
|
||||
admin_emacs_edit = Edit page (emacs)
|
||||
admin_ckeditor_add = Add page (ckeditor)
|
||||
admin_ckeditor_edit = Edit page (ckeditor)
|
||||
admin_tinymce_add = Add page (tinymce)
|
||||
admin_tinymce_edit = Edit page (tinymce)
|
||||
admin_rm = Remove page (rm)
|
||||
admin_upload = Upload an image or file (upload)
|
||||
|
||||
|
||||
@@ -195,6 +200,15 @@ mv_dir = Move directory
|
||||
mv_only_content = Move only content of the directory
|
||||
|
||||
|
||||
cp_header = Copy
|
||||
cp_form_legend = Copy form
|
||||
cp_page = Copy page
|
||||
cp_dir = Copy directory
|
||||
cp_only_content = Copy only content of the directory
|
||||
cp_remove_defaults = Remove 'default' attribute from copied directories
|
||||
cp_preserve_attr = Preserve attributes: user, group, times
|
||||
|
||||
|
||||
subject_header = Edit subject
|
||||
subject_form_legend = Edit subject form
|
||||
|
||||
|
||||
28
locale/pl
28
locale/pl
@@ -48,12 +48,17 @@ change = Zmie
|
||||
edit = Edytuj
|
||||
add = Dodaj
|
||||
move = Przenieś
|
||||
copy = Kopiuj
|
||||
user = Użytkownik
|
||||
group = Grupa
|
||||
permissions = Uprawnienia
|
||||
yes = Tak
|
||||
no = Nie
|
||||
|
||||
|
||||
add_page = Dodaj stronę
|
||||
edit_page = Edytuj stronę
|
||||
|
||||
rebus_how_is_it = Rebus: Ile to jest
|
||||
|
||||
edit_ticket_header = Edytuj zgłoszenie
|
||||
@@ -158,14 +163,16 @@ who_table_start = Start
|
||||
who_table_last_active = Ostatnio aktywny
|
||||
who_none = Nie ma żadnych dostępnych sesji.
|
||||
|
||||
admin_options = Najczęściej używane opcje administracyjne
|
||||
admin_options = Inne opcje administracyjne
|
||||
admin_ls = Pokaż zawartość katalogu (ls)
|
||||
admin_mkdir = Dodaj katalog (mkdir)
|
||||
admin_emacs_add = Dodaj pozycję (emacs)
|
||||
admin_emacs_edit = Edytuj pozycję (emacs)
|
||||
admin_ckeditor_add = Dodaj pozycję (ckeditor)
|
||||
admin_ckeditor_edit = Edytuj pozycję (ckeditor)
|
||||
admin_rm = Usuń pozycję (rm)
|
||||
admin_emacs_add = Dodaj stronę (emacs)
|
||||
admin_emacs_edit = Edytuj stronę (emacs)
|
||||
admin_ckeditor_add = Dodaj stronę (ckeditor)
|
||||
admin_ckeditor_edit = Edytuj stronę (ckeditor)
|
||||
admin_tinymce_add = Dodaj stronę (tinymce)
|
||||
admin_tinymce_edit = Edytuj stronę (tinymce)
|
||||
admin_rm = Usuń stronę (rm)
|
||||
admin_upload = Wyślij zdjęcie lub plik (upload)
|
||||
|
||||
login_header = Logowanie
|
||||
@@ -196,6 +203,15 @@ mv_dir = Przenie
|
||||
mv_only_content = Przenieś tylko zawartość katalogu
|
||||
|
||||
|
||||
cp_header = Kopiuj
|
||||
cp_form_legend = Formularz kopiowania
|
||||
cp_page = Kopiuj stronę
|
||||
cp_dir = Kopiuj katalog
|
||||
cp_only_content = Kopiuj tylko zawartość katalogu
|
||||
cp_remove_defaults = Usuń atrybut 'default' z kopiowanych katalogów
|
||||
cp_preserve_attr = Zachowaj atrybuty: użytkownik, grupa, czas
|
||||
|
||||
|
||||
subject_header = Zmień tytuł
|
||||
subject_form_legend = Formularz zmiany tytułu
|
||||
|
||||
|
||||
@@ -4,18 +4,19 @@ main.o: ../core/requestcontroller.h ../content/content.h ../core/item.h
|
||||
main.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
main.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
|
||||
main.o: ../confparser/confparser.h ../templates/ckeditorgetparser.h
|
||||
main.o: ../core/httpsimpleparser.h ../core/log.h ../core/thread.h
|
||||
main.o: ../core/ticket.h ../core/db.h ../core/item.h ../core/user.h
|
||||
main.o: ../core/group.h ../core/thread.h ../core/error.h ../core/log.h
|
||||
main.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
|
||||
main.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/session.h
|
||||
main.o: ../core/rebus.h ../core/plugindata.h ../core/functionparser.h
|
||||
main.o: ../core/requesttypes.h ../core/data.h ../core/dirs.h ../core/users.h
|
||||
main.o: ../core/groups.h ../core/functions.h ../core/function.h
|
||||
main.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
main.o: ../core/loadavg.h ../core/request.h ../core/compress.h
|
||||
main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
main.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
|
||||
main.o: ../core/notify.h ../templatesnotify/templatesnotify.h ../core/mount.h
|
||||
main.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
main.o: ../core/thread.h ../core/ticket.h ../core/db.h ../core/item.h
|
||||
main.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
|
||||
main.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
main.o: ../core/ticket.h ../core/sessionmanager.h ../core/sessioncontainer.h
|
||||
main.o: ../core/session.h ../core/rebus.h ../core/plugindata.h
|
||||
main.o: ../core/functionparser.h ../core/requesttypes.h ../core/data.h
|
||||
main.o: ../core/dirs.h ../core/users.h ../core/groups.h ../core/functions.h
|
||||
main.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
main.o: ../core/mount.h ../core/loadavg.h ../core/request.h
|
||||
main.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
main.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
main.o: ../core/postmultiparser.h ../core/config.h ../core/notify.h
|
||||
main.o: ../templatesnotify/templatesnotify.h ../core/mount.h
|
||||
main.o: ../templates/misc.h ../core/plugin.h ../core/request.h ../core/data.h
|
||||
main.o: ../core/pluginmsg.h
|
||||
|
||||
@@ -476,6 +476,13 @@ display: block;
|
||||
width: 530px;
|
||||
}
|
||||
|
||||
#additem .multitextfull {
|
||||
margin: 0.5em 0 0.5em 0;
|
||||
border: 1px solid #dedede;
|
||||
display: block;
|
||||
width: 630px;
|
||||
}
|
||||
|
||||
|
||||
#additem .submit {
|
||||
margin: 1.5em 0 0.5em 0;
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
|
||||
adduser.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
adduser.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
adduser.o: ../core/httpsimpleparser.h ../core/log.h ../core/request.h
|
||||
adduser.o: ../core/requesttypes.h ../core/session.h ../core/item.h
|
||||
adduser.o: ../core/error.h ../core/log.h ../core/user.h ../core/rebus.h
|
||||
adduser.o: ../core/plugindata.h ../core/function.h ../core/thread.h
|
||||
adduser.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
adduser.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
adduser.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
adduser.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
adduser.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
adduser.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
adduser.o: ../core/postmultiparser.h ../core/ticket.h
|
||||
dir.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
dir.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
dir.o: ../core/httpsimpleparser.h ../core/log.h ../core/request.h
|
||||
dir.o: ../core/requesttypes.h ../core/session.h ../core/item.h
|
||||
dir.o: ../core/error.h ../core/log.h ../core/user.h ../core/rebus.h
|
||||
dir.o: ../core/plugindata.h ../core/function.h ../core/thread.h
|
||||
dir.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
dir.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
dir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
dir.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
dir.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
dir.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
dir.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
dir.o: ../core/postmultiparser.h ../core/ticket.h ../core/data.h
|
||||
dir.o: ../core/dirs.h ../core/dircontainer.h ../core/users.h
|
||||
@@ -24,51 +24,62 @@ dir.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
dir.o: ../core/mount.h ../core/loadavg.h ../core/db.h ../core/misc.h
|
||||
doc.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
doc.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
doc.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h ../core/dirs.h
|
||||
doc.o: ../core/item.h ../core/dircontainer.h ../core/users.h ../core/user.h
|
||||
doc.o: ../core/ugcontainer.h ../core/log.h ../core/groups.h ../core/group.h
|
||||
doc.o: ../core/functions.h ../core/function.h ../core/lastcontainer.h
|
||||
doc.o: ../core/mounts.h ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
doc.o: ../core/loadavg.h ../core/request.h ../core/requesttypes.h
|
||||
doc.o: ../core/session.h ../core/plugindata.h ../core/thread.h
|
||||
doc.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
doc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
doc.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
doc.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
doc.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
doc.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
doc.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
doc.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
doc.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
doc.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
doc.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
doc.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
doc.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
doc.o: ../core/misc.h
|
||||
indexpatterns.o: indexpatterns.h ../core/locale.h ../confparser/confparser.h
|
||||
indexpatterns.o: localefilter.h ../core/log.h ../core/data.h ../core/dirs.h
|
||||
indexpatterns.o: ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
indexpatterns.o: ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
indexpatterns.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
indexpatterns.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
indexpatterns.o: ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
indexpatterns.o: ../core/loadavg.h
|
||||
item.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
item.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
item.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
item.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
item.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
item.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
item.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
item.o: ../core/error.h ../core/rebus.h ../core/loadavg.h ../core/request.h
|
||||
item.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
|
||||
item.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
item.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
item.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
item.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
item.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
item.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
item.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
item.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
item.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
item.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
item.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
item.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
item.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
item.o: ../core/misc.h
|
||||
last.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
last.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
last.o: ../core/httpsimpleparser.h ../core/log.h ../core/lastcontainer.h
|
||||
last.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
last.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
last.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
last.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
last.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
last.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
last.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
last.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
last.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
last.o: ../core/misc.h
|
||||
last.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
last.o: ../core/lastcontainer.h ../core/data.h ../core/dirs.h ../core/item.h
|
||||
last.o: ../core/dircontainer.h ../core/users.h ../core/user.h
|
||||
last.o: ../core/ugcontainer.h ../core/log.h ../core/groups.h ../core/group.h
|
||||
last.o: ../core/functions.h ../core/function.h ../core/lastcontainer.h
|
||||
last.o: ../core/mounts.h ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
last.o: ../core/loadavg.h ../core/request.h ../core/requesttypes.h
|
||||
last.o: ../core/session.h ../core/plugindata.h ../core/thread.h
|
||||
last.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
last.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
last.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
localefilter.o: localefilter.h ../core/locale.h ../confparser/confparser.h
|
||||
localefilter.o: ../core/misc.h ../core/item.h
|
||||
ls.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
ls.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
ls.o: ../core/httpsimpleparser.h ../core/log.h ../core/request.h
|
||||
ls.o: ../core/requesttypes.h ../core/session.h ../core/item.h ../core/error.h
|
||||
ls.o: ../core/log.h ../core/user.h ../core/rebus.h ../core/plugindata.h
|
||||
ls.o: ../core/function.h ../core/thread.h ../core/compress.h
|
||||
ls.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
ls.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
ls.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
ls.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
ls.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
ls.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
ls.o: ../core/postmultiparser.h ../core/ticket.h
|
||||
misc.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
misc.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
misc.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
@@ -78,12 +89,12 @@ misc.o: ../core/misc.h misc.h localefilter.h ../core/locale.h
|
||||
misc.o: ../confparser/confparser.h
|
||||
mount.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
mount.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
mount.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
mount.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
mount.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
mount.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
mount.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
mount.o: ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
mount.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
mount.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
mount.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
mount.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
mount.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
mount.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
patterncacher.o: patterncacher.h ../core/item.h ../core/data.h ../core/dirs.h
|
||||
patterncacher.o: ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
patterncacher.o: ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
@@ -93,16 +104,17 @@ patterncacher.o: ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
patterncacher.o: ../core/loadavg.h ../core/log.h
|
||||
priv.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
priv.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
priv.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
priv.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
priv.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
priv.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
priv.o: ../core/error.h ../core/rebus.h ../core/loadavg.h ../core/request.h
|
||||
priv.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
|
||||
priv.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
priv.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
priv.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
priv.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
priv.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
priv.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
priv.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
priv.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
priv.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
priv.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
priv.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
priv.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
priv.o: ../core/misc.h
|
||||
rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
rebus.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
rebus.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
@@ -115,38 +127,39 @@ rebus.o: ../core/functions.h ../core/lastcontainer.h ../core/mounts.h
|
||||
rebus.o: ../core/mount.h ../core/loadavg.h templates.h patterncacher.h
|
||||
rebus.o: ../core/item.h misc.h localefilter.h ../core/locale.h
|
||||
rebus.o: ../confparser/confparser.h ckeditorgetparser.h
|
||||
rebus.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
rebus.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
sys.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
sys.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
sys.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h ../core/dirs.h
|
||||
sys.o: ../core/item.h ../core/dircontainer.h ../core/users.h ../core/user.h
|
||||
sys.o: ../core/ugcontainer.h ../core/log.h ../core/groups.h ../core/group.h
|
||||
sys.o: ../core/functions.h ../core/function.h ../core/lastcontainer.h
|
||||
sys.o: ../core/mounts.h ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
sys.o: ../core/loadavg.h ../core/request.h ../core/requesttypes.h
|
||||
sys.o: ../core/session.h ../core/plugindata.h ../core/thread.h
|
||||
sys.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
sys.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
sys.o: ../core/postmultiparser.h ../core/ticket.h ../core/version.h
|
||||
sys.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
sys.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
sys.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
sys.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
sys.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
sys.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
sys.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
sys.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
sys.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
sys.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
sys.o: ../core/version.h
|
||||
templates.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
templates.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
templates.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
templates.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
templates.o: ../core/users.h ../core/user.h ../core/ugcontainer.h
|
||||
templates.o: ../core/log.h ../core/groups.h ../core/group.h
|
||||
templates.o: ../core/functions.h ../core/function.h ../core/lastcontainer.h
|
||||
templates.o: ../core/mounts.h ../core/mount.h ../core/error.h ../core/rebus.h
|
||||
templates.o: ../core/loadavg.h ../core/request.h ../core/requesttypes.h
|
||||
templates.o: ../core/session.h ../core/plugindata.h ../core/thread.h
|
||||
templates.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
templates.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
templates.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
templates.o: ../core/plugin.h ../core/request.h ../core/data.h
|
||||
templates.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
templates.o: ../core/data.h ../core/dirs.h ../core/item.h
|
||||
templates.o: ../core/dircontainer.h ../core/users.h ../core/user.h
|
||||
templates.o: ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
templates.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
templates.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
templates.o: ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
templates.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
templates.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
templates.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
templates.o: ../core/misc.h ../core/plugin.h ../core/request.h ../core/data.h
|
||||
templates.o: ../core/pluginmsg.h
|
||||
thread.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
thread.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
thread.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
thread.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
thread.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
thread.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
thread.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
thread.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
thread.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
@@ -158,8 +171,8 @@ thread.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
thread.o: ../core/misc.h
|
||||
ticket.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
ticket.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
ticket.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
ticket.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
ticket.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
ticket.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
ticket.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
ticket.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
ticket.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
@@ -171,39 +184,40 @@ ticket.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
ticket.o: ../core/misc.h
|
||||
upload.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
upload.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
upload.o: ../core/httpsimpleparser.h ../core/log.h ../core/request.h
|
||||
upload.o: ../core/requesttypes.h ../core/session.h ../core/item.h
|
||||
upload.o: ../core/error.h ../core/log.h ../core/user.h ../core/rebus.h
|
||||
upload.o: ../core/plugindata.h ../core/function.h ../core/thread.h
|
||||
upload.o: ../core/compress.h ../core/acceptencodingparser.h
|
||||
upload.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
upload.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
upload.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
|
||||
upload.o: ../core/rebus.h ../core/plugindata.h ../core/function.h
|
||||
upload.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
upload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
upload.o: ../core/postmultiparser.h ../core/ticket.h
|
||||
uptime.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
uptime.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
uptime.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
uptime.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
uptime.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
uptime.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
uptime.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
uptime.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
uptime.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
uptime.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
user.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
user.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
user.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
user.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
user.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
user.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
user.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
user.o: ../core/error.h ../core/rebus.h ../core/loadavg.h ../core/request.h
|
||||
user.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
|
||||
user.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
user.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
user.o: ../core/postmultiparser.h ../core/ticket.h ../core/misc.h
|
||||
user.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
user.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
user.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
user.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
user.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
user.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
user.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
user.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
user.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
user.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
user.o: ../core/misc.h
|
||||
who.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
who.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
who.o: ../core/httpsimpleparser.h ../core/log.h ../core/sessioncontainer.h
|
||||
who.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
|
||||
who.o: ../core/user.h ../core/rebus.h ../core/plugindata.h
|
||||
who.o: ../core/requestcontroller.h ../content/content.h
|
||||
who.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
who.o: ../core/sessioncontainer.h ../core/session.h ../core/item.h
|
||||
who.o: ../core/error.h ../core/log.h ../core/user.h ../core/rebus.h
|
||||
who.o: ../core/plugindata.h ../core/requestcontroller.h ../content/content.h
|
||||
who.o: ../templates/templates.h ../core/thread.h ../core/ticket.h
|
||||
who.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
|
||||
who.o: ../core/ugcontainer.h ../core/ticket.h ../core/sessionmanager.h
|
||||
@@ -216,13 +230,13 @@ who.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
who.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/misc.h
|
||||
winix.o: templates.h patterncacher.h ../core/item.h misc.h localefilter.h
|
||||
winix.o: ../core/locale.h ../confparser/confparser.h ckeditorgetparser.h
|
||||
winix.o: ../core/httpsimpleparser.h ../core/log.h ../core/data.h
|
||||
winix.o: ../core/dirs.h ../core/item.h ../core/dircontainer.h ../core/users.h
|
||||
winix.o: ../core/user.h ../core/ugcontainer.h ../core/log.h ../core/groups.h
|
||||
winix.o: ../core/group.h ../core/functions.h ../core/function.h
|
||||
winix.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
winix.o: ../core/error.h ../core/rebus.h ../core/loadavg.h ../core/request.h
|
||||
winix.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
|
||||
winix.o: ../core/thread.h ../core/compress.h ../core/acceptencodingparser.h
|
||||
winix.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
|
||||
winix.o: ../core/postmultiparser.h ../core/ticket.h
|
||||
winix.o: ../core/httpsimpleparser.h ../core/log.h indexpatterns.h
|
||||
winix.o: ../core/data.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
|
||||
winix.o: ../core/users.h ../core/user.h ../core/ugcontainer.h ../core/log.h
|
||||
winix.o: ../core/groups.h ../core/group.h ../core/functions.h
|
||||
winix.o: ../core/function.h ../core/lastcontainer.h ../core/mounts.h
|
||||
winix.o: ../core/mount.h ../core/error.h ../core/rebus.h ../core/loadavg.h
|
||||
winix.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
winix.o: ../core/plugindata.h ../core/thread.h ../core/compress.h
|
||||
winix.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
|
||||
winix.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/ticket.h
|
||||
|
||||
@@ -1 +1 @@
|
||||
o = adduser.o dir.o doc.o item.o last.o localefilter.o ls.o misc.o mount.o patterncacher.o priv.o rebus.o sys.o templates.o thread.o ticket.o upload.o uptime.o user.o who.o winix.o
|
||||
o = adduser.o dir.o doc.o indexpatterns.o item.o last.o localefilter.o ls.o misc.o mount.o patterncacher.o priv.o rebus.o sys.o templates.o thread.o ticket.o upload.o uptime.o user.o who.o winix.o
|
||||
|
||||
@@ -43,6 +43,34 @@ void dir_without_slash(Info & i)
|
||||
}
|
||||
|
||||
|
||||
void dir_parent(Info & i)
|
||||
{
|
||||
if( request.dir_table.empty() )
|
||||
return;
|
||||
|
||||
for(size_t a=0 ; a<request.dir_table.size()-1 ; ++a)
|
||||
{
|
||||
HtmlEscape(i.out, request.dir_table[a]->url);
|
||||
i.out << '/';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void dir_parent_without_slash(Info & i)
|
||||
{
|
||||
if( request.dir_table.empty() )
|
||||
return;
|
||||
|
||||
for(size_t a=0 ; a<request.dir_table.size()-1 ; ++a)
|
||||
{
|
||||
HtmlEscape(i.out, request.dir_table[a]->url);
|
||||
|
||||
if( request.dir_table.size()>=2 && a<request.dir_table.size()-2 )
|
||||
i.out << '/';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//!! moze wystarczy sprawdzac tylko ostatni katalog?
|
||||
// bo inaczej i tak bylo by 'access denied'
|
||||
void dir_can_read_exec(Info & i)
|
||||
@@ -113,10 +141,11 @@ void dir_can_use_mkdir(Info & i)
|
||||
|
||||
static std::vector<Item*> dir_childs_table;
|
||||
static size_t dir_childs_index;
|
||||
|
||||
// request.id is never 0 and we can start dir_childs_reqid from 0
|
||||
static size_t dir_childs_reqid = 0;
|
||||
|
||||
// is the first directory the parent ('..')
|
||||
static bool dir_childs_has_parent;
|
||||
|
||||
|
||||
void dir_childs_tab(Info & i)
|
||||
@@ -125,9 +154,19 @@ void dir_childs_tab(Info & i)
|
||||
{
|
||||
dir_childs_reqid = request.id;
|
||||
dir_childs_table.clear();
|
||||
|
||||
dir_childs_has_parent = false;
|
||||
|
||||
if( !request.dir_table.empty() )
|
||||
{
|
||||
if( request.dir_table.size() >= 2 && i.par == "with_parent")
|
||||
{
|
||||
Item * dir_up = request.dir_table[request.dir_table.size()-2];
|
||||
dir_childs_table.push_back(dir_up);
|
||||
dir_childs_has_parent = true;
|
||||
}
|
||||
|
||||
data.dirs.GetDirChilds(request.dir_table.back()->id, dir_childs_table);
|
||||
}
|
||||
}
|
||||
|
||||
dir_childs_index = i.iter;
|
||||
@@ -135,6 +174,13 @@ void dir_childs_tab(Info & i)
|
||||
}
|
||||
|
||||
|
||||
// is this child a parent ('..')
|
||||
void dir_childs_is_parent(Info & i)
|
||||
{
|
||||
i.res = (dir_childs_has_parent && dir_childs_index == 0);
|
||||
}
|
||||
|
||||
|
||||
void dir_childs_tab_url(Info & i)
|
||||
{
|
||||
if( dir_childs_index < dir_childs_table.size() )
|
||||
|
||||
117
templates/indexpatterns.cpp
Executable file
117
templates/indexpatterns.cpp
Executable file
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "indexpatterns.h"
|
||||
#include "../core/log.h"
|
||||
#include "../core/data.h"
|
||||
|
||||
|
||||
|
||||
|
||||
Ezc::Pattern * IndexPatterns::GetPattern(const std::string & file, Locale::Lang lang)
|
||||
{
|
||||
Tab::iterator i = tab.find(file);
|
||||
|
||||
if( i == tab.end() )
|
||||
return 0;
|
||||
|
||||
size_t index = static_cast<size_t>(lang);
|
||||
|
||||
if( index >= i->second.patterns.size() )
|
||||
{
|
||||
log << log1 << "IndexPatterns: there is no a pattern: " << file << ", for lang: " << index << logend;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return &i->second.patterns[index];
|
||||
}
|
||||
|
||||
|
||||
|
||||
void IndexPatterns::AddPattern(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white)
|
||||
{
|
||||
std::pair<Tab::iterator, bool> ins = tab.insert( std::make_pair(file, Template()) );
|
||||
Tab::iterator i = ins.first;
|
||||
|
||||
i->second.to_delete = false;
|
||||
ReadPattern(i, locale, locale_filter, delete_white);
|
||||
}
|
||||
|
||||
|
||||
void IndexPatterns::AddPatternIfNotExists(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white)
|
||||
{
|
||||
Tab::iterator i = tab.find(file);
|
||||
|
||||
if( i != tab.end() )
|
||||
return;
|
||||
|
||||
AddPattern(file, locale, locale_filter, delete_white);
|
||||
}
|
||||
|
||||
|
||||
void IndexPatterns::AddFileName(const std::string & file)
|
||||
{
|
||||
tab.insert( std::make_pair(file, Template()) );
|
||||
}
|
||||
|
||||
|
||||
void IndexPatterns::ReadPattern(Tab::iterator & iter, Locale & locale, LocaleFilter & locale_filter, bool delete_white)
|
||||
{
|
||||
size_t i;
|
||||
size_t len = Locale::lang_unknown;
|
||||
Template & templ = iter->second;
|
||||
|
||||
templ.patterns.resize(len);
|
||||
|
||||
for(i=0 ; i<len ; ++i)
|
||||
{
|
||||
templ.patterns[i].delete_all_white = delete_white;
|
||||
templ.patterns[i].Directory(data.templates_dir, data.templates_dir_default);
|
||||
templ.patterns[i].ParseFile(iter->first);
|
||||
|
||||
locale_filter.Filter(templ.patterns[i], locale, static_cast<Locale::Lang>(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void IndexPatterns::ReloadPatterns(Locale & locale, LocaleFilter & locale_filter, bool delete_white)
|
||||
{
|
||||
Tab::iterator i;
|
||||
|
||||
for(i=tab.begin() ; i!=tab.end() ; ++i)
|
||||
ReadPattern(i, locale, locale_filter, delete_white);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void IndexPatterns::MarkAllToDelete()
|
||||
{
|
||||
Tab::iterator i;
|
||||
|
||||
for(i=tab.begin() ; i!=tab.end() ; ++i)
|
||||
i->second.to_delete = true;
|
||||
}
|
||||
|
||||
|
||||
void IndexPatterns::DeleteMarked()
|
||||
{
|
||||
Tab::iterator i = tab.begin();
|
||||
Tab::iterator next;
|
||||
|
||||
while( i != tab.end() )
|
||||
{
|
||||
next = i;
|
||||
++next;
|
||||
|
||||
if( i->second.to_delete )
|
||||
tab.erase(i);
|
||||
|
||||
i = next;
|
||||
}
|
||||
}
|
||||
58
templates/indexpatterns.h
Executable file
58
templates/indexpatterns.h
Executable file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfilecmslutemplatesindexpatterns
|
||||
#define headerfilecmslutemplatesindexpatterns
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include "ezc.h"
|
||||
#include "../core/locale.h"
|
||||
#include "localefilter.h"
|
||||
|
||||
|
||||
|
||||
class IndexPatterns
|
||||
{
|
||||
public:
|
||||
|
||||
// can return null pointer if there is not such a pattern
|
||||
Ezc::Pattern * GetPattern(const std::string & file, Locale::Lang lang);
|
||||
void AddPattern(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
|
||||
void AddPatternIfNotExists(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
|
||||
|
||||
// adding a file name without reading the pattern
|
||||
// the pattern will be read during ReloadPatterns()
|
||||
void AddFileName(const std::string & file);
|
||||
|
||||
void ReloadPatterns(Locale & locale, LocaleFilter & locale_filter, bool delete_white);
|
||||
void MarkAllToDelete();
|
||||
void DeleteMarked();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
struct Template
|
||||
{
|
||||
bool to_delete;
|
||||
|
||||
// table[lang]
|
||||
std::vector<Ezc::Pattern> patterns;
|
||||
};
|
||||
|
||||
typedef std::map<std::string, Template> Tab;
|
||||
Tab tab;
|
||||
|
||||
void ReadPattern(Tab::iterator & i, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -76,7 +76,7 @@ void LocaleFilter::Parse(std::string & str)
|
||||
{
|
||||
++pchar;
|
||||
ReadKey();
|
||||
res += FilterValue(plocale->Get(key));
|
||||
res += FilterValue(plocale->Get(key, lang));
|
||||
}
|
||||
else
|
||||
if( *pchar == '\\' && (*(pchar+1) == open_mark || *(pchar+1) == closing_mark || *(pchar+1) == '\\') )
|
||||
@@ -110,8 +110,10 @@ void LocaleFilter::FilterText(Ezc::Pattern::Item & item)
|
||||
|
||||
|
||||
|
||||
void LocaleFilter::Filter(Ezc::Pattern & pattern, const Locale & locale)
|
||||
void LocaleFilter::Filter(Ezc::Pattern & pattern, const Locale & locale, Locale::Lang lang_)
|
||||
{
|
||||
plocale = &locale;
|
||||
lang = lang_;
|
||||
|
||||
FilterText( pattern.item_root );
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ class LocaleFilter
|
||||
public:
|
||||
|
||||
LocaleFilter();
|
||||
void Filter(Ezc::Pattern & pattern, const Locale & locale);
|
||||
void Filter(Ezc::Pattern & pattern, const Locale & locale, Locale::Lang lang_);
|
||||
|
||||
private:
|
||||
void ReadKey();
|
||||
@@ -33,6 +33,7 @@ private:
|
||||
char closing_mark; // default '}'
|
||||
|
||||
const Locale * plocale;
|
||||
Locale::Lang lang;
|
||||
std::string res;
|
||||
std::string key;
|
||||
std::string value;
|
||||
|
||||
@@ -33,7 +33,6 @@ void print_date_nice(Ezc::Info & i, tm * ptm)
|
||||
|
||||
|
||||
|
||||
|
||||
// those functions from here are used in the second thread too
|
||||
|
||||
|
||||
@@ -43,8 +42,6 @@ void Read(Patterns & patterns, size_t pat, Locale & locale, LocaleFilter & local
|
||||
{
|
||||
size_t i;
|
||||
size_t len = patterns.size();
|
||||
Locale::Lang old_lang = locale.GetLang();
|
||||
|
||||
|
||||
for(i=0 ; i<len ; ++i)
|
||||
{
|
||||
@@ -54,24 +51,9 @@ void Read(Patterns & patterns, size_t pat, Locale & locale, LocaleFilter & local
|
||||
patterns[i][pat].Directory(data.templates_dir, data.templates_dir_default);
|
||||
patterns[i][pat].ParseFile(file);
|
||||
|
||||
Locale::Lang new_lang = static_cast<Locale::Lang>(i);
|
||||
locale.SetLang(new_lang);
|
||||
|
||||
locale_filter.Filter(patterns[i][pat], locale);
|
||||
locale_filter.Filter(patterns[i][pat], locale, static_cast<Locale::Lang>(i));
|
||||
}
|
||||
}
|
||||
|
||||
locale.SetLang(old_lang);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,16 +8,19 @@
|
||||
*/
|
||||
|
||||
#include "templates.h"
|
||||
#include "localefilter.h"
|
||||
#include "../core/data.h"
|
||||
#include "../core/request.h"
|
||||
#include "../core/misc.h"
|
||||
#include "../core/plugin.h"
|
||||
#include "localefilter.h"
|
||||
|
||||
|
||||
|
||||
|
||||
namespace TemplatesFunctions
|
||||
{
|
||||
|
||||
IndexPatterns index_patterns;
|
||||
TemplatesMisc::Patterns patterns;
|
||||
Ezc::Functions functions;
|
||||
PatternCacher pattern_cacher;
|
||||
@@ -67,7 +70,9 @@ Ezc::Pattern * p = 0;
|
||||
{FUN_UNAME, pat_fun_uname},
|
||||
{FUN_CKEDITOR, pat_fun_ckeditor},
|
||||
{FUN_SUBJECT, pat_fun_subject},
|
||||
{FUN_ADDUSER, pat_fun_adduser}
|
||||
{FUN_ADDUSER, pat_fun_adduser},
|
||||
{FUN_CP, pat_fun_cp},
|
||||
{FUN_TINYMCE, pat_fun_tinymce},
|
||||
};
|
||||
|
||||
size_t i, len = sizeof(pat_name_tab)/sizeof(PatName);
|
||||
@@ -248,6 +253,8 @@ void Templates::CreateFunctions()
|
||||
*/
|
||||
functions.Insert("dir", dir);
|
||||
functions.Insert("dir_without_slash", dir_without_slash);
|
||||
functions.Insert("dir_parent", dir_parent);
|
||||
functions.Insert("dir_parent_without_slash", dir_parent_without_slash);
|
||||
functions.Insert("dir_can_read_exec", dir_can_read_exec);
|
||||
functions.Insert("dir_can_write", dir_can_write);
|
||||
functions.Insert("dir_can_remove", dir_can_remove);
|
||||
@@ -255,6 +262,7 @@ void Templates::CreateFunctions()
|
||||
functions.Insert("dir_can_use_mkdir", dir_can_use_mkdir);
|
||||
|
||||
functions.Insert("dir_childs_tab", dir_childs_tab);
|
||||
functions.Insert("dir_childs_is_parent", dir_childs_is_parent);
|
||||
functions.Insert("dir_childs_tab_url", dir_childs_tab_url);
|
||||
functions.Insert("dir_childs_tab_privileges", dir_childs_tab_privileges);
|
||||
functions.Insert("dir_childs_tab_user", dir_childs_tab_user);
|
||||
@@ -459,7 +467,7 @@ void Templates::CreateFunctions()
|
||||
functions.Insert("winix_err_code", winix_err_code);
|
||||
functions.Insert("winix_is_err_in_locales", winix_is_err_in_locales);
|
||||
functions.Insert("winix_err_msg_from_locales",winix_err_msg_from_locales);
|
||||
|
||||
functions.Insert("winix_show_content_in_full_window", winix_show_content_in_full_window);
|
||||
|
||||
plugin.Call(WINIX_TEMPLATES_CREATEFUNCTIONS, &functions);
|
||||
}
|
||||
@@ -519,10 +527,56 @@ using namespace TemplatesFunctions;
|
||||
ReadFile(pat_fun_ckeditor, "fun_ckeditor.html");
|
||||
ReadFile(pat_fun_adduser, "fun_adduser.html");
|
||||
ReadFile(pat_fun_subject, "fun_subject.html");
|
||||
ReadFile(pat_fun_cp, "fun_cp.html");
|
||||
ReadFile(pat_fun_tinymce, "fun_tinymce.html");
|
||||
|
||||
index_patterns.ReloadPatterns(locale, locale_filter, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// reading only new index templates (with parsing)
|
||||
// those which are exists are not touched
|
||||
// the rest are deleted
|
||||
void Templates::ReadNewIndexTemplates()
|
||||
{
|
||||
Mounts::MountTab::const_iterator i;
|
||||
|
||||
using namespace TemplatesFunctions;
|
||||
|
||||
index_patterns.MarkAllToDelete();
|
||||
const Mounts::MountTab * pmount_tab = data.mounts.GetMountTab();
|
||||
|
||||
for(i=pmount_tab->begin() ; i!=pmount_tab->end() ; ++i)
|
||||
{
|
||||
const std::string * file = i->second.HtmlTemplate();
|
||||
|
||||
if( file )
|
||||
index_patterns.AddPatternIfNotExists(*file, locale, locale_filter, false); // file pattern will be unmarked
|
||||
}
|
||||
|
||||
index_patterns.DeleteMarked();
|
||||
}
|
||||
|
||||
|
||||
// reading only index file names (without parsing the files)
|
||||
void Templates::ReadIndexFileNames()
|
||||
{
|
||||
using namespace TemplatesFunctions;
|
||||
|
||||
Mounts::MountTab::const_iterator i;
|
||||
const Mounts::MountTab * pmount_tab = data.mounts.GetMountTab();
|
||||
|
||||
for(i=pmount_tab->begin() ; i!=pmount_tab->end() ; ++i)
|
||||
{
|
||||
const std::string * file = i->second.HtmlTemplate();
|
||||
|
||||
if( file )
|
||||
index_patterns.AddFileName(*file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Templates::ClearPatterns()
|
||||
{
|
||||
@@ -540,7 +594,16 @@ using namespace TemplatesFunctions;
|
||||
if( static_cast<size_t>(locale.GetLang()) >= patterns.size() )
|
||||
return;
|
||||
|
||||
Ezc::Generator generator(request.page, patterns[locale.GetLang()][pat_index], functions);
|
||||
Ezc::Pattern * index = 0;
|
||||
const std::string * index_file_local = data.mounts.pmount->HtmlTemplate();
|
||||
|
||||
if( index_file_local )
|
||||
index = index_patterns.GetPattern(*index_file_local, locale.GetLang());
|
||||
|
||||
if( !index )
|
||||
index = &patterns[locale.GetLang()][pat_index];
|
||||
|
||||
Ezc::Generator generator(request.page, *index, functions);
|
||||
generator.Generate();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
#include "misc.h"
|
||||
#include "ckeditorgetparser.h"
|
||||
#include "../core/locale.h"
|
||||
#include "indexpatterns.h"
|
||||
|
||||
|
||||
|
||||
namespace TemplatesFunctions
|
||||
@@ -53,6 +55,8 @@ namespace TemplatesFunctions
|
||||
pat_item_tab_info,
|
||||
pat_dir_last_info,
|
||||
pat_fun_subject,
|
||||
pat_fun_cp,
|
||||
pat_fun_tinymce,
|
||||
|
||||
pat_last // should be last
|
||||
};
|
||||
@@ -64,7 +68,7 @@ namespace TemplatesFunctions
|
||||
};
|
||||
|
||||
|
||||
|
||||
extern IndexPatterns index_patterns;
|
||||
extern TemplatesMisc::Patterns patterns;
|
||||
extern PatternCacher pattern_cacher;
|
||||
extern Locale locale;
|
||||
@@ -160,6 +164,8 @@ namespace TemplatesFunctions
|
||||
*/
|
||||
void dir(Info & i);
|
||||
void dir_without_slash(Info & i);
|
||||
void dir_parent(Info & i);
|
||||
void dir_parent_without_slash(Info & i);
|
||||
void dir_can_read_exec(Info & i);
|
||||
void dir_can_write(Info & i);
|
||||
void dir_can_remove(Info & i);
|
||||
@@ -167,6 +173,7 @@ namespace TemplatesFunctions
|
||||
void dir_can_use_mkdir(Info & i);
|
||||
|
||||
void dir_childs_tab(Info & i);
|
||||
void dir_childs_is_parent(Info & i);
|
||||
void dir_childs_tab_url(Info & i);
|
||||
void dir_childs_tab_privileges(Info & i);
|
||||
void dir_childs_tab_user(Info & i);
|
||||
@@ -364,6 +371,7 @@ namespace TemplatesFunctions
|
||||
void winix_err_code(Info & i);
|
||||
void winix_is_err_in_locales(Info & i);
|
||||
void winix_err_msg_from_locales(Info & i);
|
||||
void winix_show_content_in_full_window(Info & i);
|
||||
|
||||
} // namespace TemplatesFunctions
|
||||
|
||||
@@ -378,6 +386,8 @@ public:
|
||||
|
||||
void ClearPatterns();
|
||||
void ReadTemplates();
|
||||
void ReadNewIndexTemplates();
|
||||
void ReadIndexFileNames();
|
||||
void CreateFunctions();
|
||||
void Generate();
|
||||
void GenerateRunRaw();
|
||||
|
||||
@@ -170,6 +170,12 @@ char buff[40];
|
||||
}
|
||||
|
||||
|
||||
void winix_show_content_in_full_window(Info & i)
|
||||
{
|
||||
if( request.pfunction )
|
||||
i.res = (request.pfunction->code == FUN_CKEDITOR || request.pfunction->code == FUN_TINYMCE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user