we can create links (hard links, symbolic links) now
added winix functions: ln winix function 'default' can be used without redirecting now added new tickets types: TypeProgress, TypeString, TypeMultistring, TypeImages, TypeFiles now tickets are combined with files added winix functions: showtickets fixed mountpoints: when the default root mount was created its parameter table was empty and it caused accessing to a non-existing objects fixed logger: modifiers (log1, log2, log3) were incorrectly treated added modifier: log4 (debug info) now we are moving threads to a new plugin 'thread' created directory: plugins/thread (not finished yet) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@704 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -16,18 +16,18 @@ adduser.o: ../core/confparser.h ../templates/misc.h
|
||||
adduser.o: ../templates/localefilter.h ../templates/locale.h
|
||||
adduser.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
adduser.o: ../../ezc/src/pattern.h functions.h functionparser.h cat.h chmod.h
|
||||
adduser.o: privchanger.h chown.h ckeditor.h cp.h createthread.h default.h
|
||||
adduser.o: download.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h
|
||||
adduser.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
adduser.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
adduser.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
adduser.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
adduser.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
adduser.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
adduser.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
adduser.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
adduser.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
adduser.o: ../core/basethread.h ../core/synchro.h
|
||||
adduser.o: privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
adduser.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
adduser.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
adduser.o: rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
adduser.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
adduser.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
adduser.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
adduser.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
adduser.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
adduser.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
adduser.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
adduser.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
cat.o: cat.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
cat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
cat.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -43,17 +43,17 @@ cat.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
cat.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
cat.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
cat.o: functions.h functionparser.h adduser.h chmod.h privchanger.h chown.h
|
||||
cat.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
cat.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
cat.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
cat.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
cat.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
cat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
cat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
cat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
cat.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
cat.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
cat.o: ../core/synchro.h
|
||||
cat.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
cat.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
cat.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
cat.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
cat.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
cat.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
cat.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
cat.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
cat.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
cat.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
cat.o: ../core/basethread.h ../core/synchro.h
|
||||
chmod.o: chmod.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
chmod.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
chmod.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -70,17 +70,17 @@ chmod.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
chmod.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
chmod.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
chmod.o: functionparser.h adduser.h cat.h chown.h privchanger.h ckeditor.h
|
||||
chmod.o: cp.h createthread.h default.h download.h emacs.h last.h login.h
|
||||
chmod.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
chmod.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
chmod.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
chmod.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
chmod.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
chmod.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
chmod.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
chmod.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
chmod.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
chmod.o: ../core/basethread.h ../core/synchro.h
|
||||
chmod.o: cp.h createthread.h ../functions/functionbase.h default.h download.h
|
||||
chmod.o: emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h
|
||||
chmod.o: reload.h rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
chmod.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
chmod.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
chmod.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
chmod.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
chmod.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
chmod.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
chmod.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
chmod.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
chown.o: chown.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
chown.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
chown.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -97,17 +97,17 @@ chown.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
chown.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
chown.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
chown.o: functionparser.h adduser.h cat.h chmod.h privchanger.h ckeditor.h
|
||||
chown.o: cp.h createthread.h default.h download.h emacs.h last.h login.h
|
||||
chown.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
chown.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
chown.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
chown.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
chown.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
chown.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
chown.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
chown.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
chown.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
chown.o: ../core/basethread.h ../core/synchro.h
|
||||
chown.o: cp.h createthread.h ../functions/functionbase.h default.h download.h
|
||||
chown.o: emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h
|
||||
chown.o: reload.h rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
chown.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
chown.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
chown.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
chown.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
chown.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
chown.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
chown.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
chown.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
ckeditor.o: ckeditor.h functionbase.h ../core/item.h ../db/db.h
|
||||
ckeditor.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
ckeditor.o: ../core/textstream.h ../core/misc.h ../core/item.h
|
||||
@@ -126,13 +126,13 @@ ckeditor.o: ../templates/localefilter.h ../templates/locale.h
|
||||
ckeditor.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
ckeditor.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
ckeditor.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
ckeditor.o: cp.h createthread.h default.h download.h emacs.h last.h login.h
|
||||
ckeditor.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
ckeditor.o: specialdefault.h stat.h subject.h funthread.h template.h
|
||||
ckeditor.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
ckeditor.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
ckeditor.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
ckeditor.o: ../core/basethread.h ../core/synchro.h
|
||||
ckeditor.o: cp.h createthread.h ../functions/functionbase.h default.h
|
||||
ckeditor.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
ckeditor.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
ckeditor.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
ckeditor.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
ckeditor.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
ckeditor.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
ckeditor.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
ckeditor.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
ckeditor.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
@@ -153,49 +153,48 @@ cp.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
cp.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
cp.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
cp.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
cp.o: chown.h ckeditor.h createthread.h default.h download.h emacs.h last.h
|
||||
cp.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
cp.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
cp.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
cp.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
cp.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
cp.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
cp.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
cp.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
cp.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
cp.o: ../core/synchro.h ../core/misc.h
|
||||
createthread.o: createthread.h functionbase.h ../core/item.h ../db/db.h
|
||||
createthread.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
createthread.o: ../core/textstream.h ../core/misc.h ../core/item.h
|
||||
createthread.o: ../core/error.h ../core/log.h ../core/textstream.h
|
||||
createthread.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/user.h
|
||||
createthread.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
|
||||
createthread.o: ../core/ugcontainer.h ../core/request.h
|
||||
createthread.o: ../core/requesttypes.h ../core/session.h ../core/error.h
|
||||
createthread.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
|
||||
createthread.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
|
||||
createthread.o: ../templates/htmltextstream.h ../core/config.h
|
||||
createthread.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
|
||||
createthread.o: ../core/request.h ../notify/notify.h ../notify/notifypool.h
|
||||
createthread.o: ../templates/locale.h ../core/confparser.h
|
||||
createthread.o: ../templates/misc.h ../templates/localefilter.h
|
||||
createthread.o: ../templates/locale.h ../../ezc/src/ezc.h
|
||||
createthread.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
createthread.o: ../../ezc/src/pattern.h functions.h functionparser.h
|
||||
createthread.o: adduser.h cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h
|
||||
createthread.o: default.h download.h emacs.h last.h login.h logout.h ls.h
|
||||
createthread.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
createthread.o: specialdefault.h stat.h subject.h funthread.h template.h
|
||||
createthread.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
createthread.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
createthread.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
createthread.o: ../core/basethread.h ../core/synchro.h
|
||||
createthread.o: ../notify/templatesnotify.h ../core/users.h
|
||||
cp.o: chown.h ckeditor.h createthread.h ../functions/functionbase.h default.h
|
||||
cp.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
cp.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
cp.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
cp.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
cp.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
cp.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
cp.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
cp.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
cp.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
cp.o: ../core/basethread.h ../core/synchro.h ../core/misc.h
|
||||
createthread.o: createthread.h ../functions/functionbase.h functions.h
|
||||
createthread.o: functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
createthread.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
createthread.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
createthread.o: ../core/textstream.h ../db/dbitemquery.h
|
||||
createthread.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
|
||||
createthread.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
|
||||
createthread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
createthread.o: ../core/error.h ../core/user.h ../core/plugindata.h
|
||||
createthread.o: ../core/rebus.h ../core/config.h ../core/confparser.h
|
||||
createthread.o: ../core/htmlfilter.h ../templates/htmltextstream.h
|
||||
createthread.o: ../core/config.h ../core/system.h ../core/dirs.h
|
||||
createthread.o: ../core/dircontainer.h ../core/request.h ../notify/notify.h
|
||||
createthread.o: ../notify/notifypool.h ../templates/locale.h
|
||||
createthread.o: ../core/confparser.h ../templates/misc.h
|
||||
createthread.o: ../templates/localefilter.h ../templates/locale.h
|
||||
createthread.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
createthread.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
createthread.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
createthread.o: ../notify/notifythread.h ../core/basethread.h
|
||||
createthread.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
|
||||
createthread.o: ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
createthread.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
createthread.o: ../core/users.h ../core/groups.h ../core/group.h
|
||||
createthread.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
createthread.o: ../core/synchro.h
|
||||
createthread.o: ../core/synchro.h functionparser.h adduser.h cat.h chmod.h
|
||||
createthread.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h
|
||||
createthread.o: emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h
|
||||
createthread.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
createthread.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h
|
||||
createthread.o: who.h vim.h ../core/htmlfilter.h
|
||||
default.o: default.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
default.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
default.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -213,10 +212,10 @@ default.o: ../templates/localefilter.h ../templates/locale.h
|
||||
default.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
default.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
default.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
default.o: download.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h
|
||||
default.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
default.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
default.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
default.o: ../functions/functionbase.h download.h emacs.h last.h login.h
|
||||
default.o: logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
default.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
default.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
default.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
default.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
default.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
@@ -242,13 +241,13 @@ download.o: ../templates/localefilter.h ../templates/locale.h
|
||||
download.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
download.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
download.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
download.o: ckeditor.h cp.h createthread.h default.h emacs.h last.h login.h
|
||||
download.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
download.o: specialdefault.h stat.h subject.h funthread.h template.h
|
||||
download.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
download.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
download.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
download.o: ../core/basethread.h ../core/synchro.h
|
||||
download.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
download.o: default.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
download.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
download.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
download.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
download.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
download.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
download.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
download.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
download.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
@@ -270,20 +269,20 @@ emacs.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
emacs.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
emacs.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
emacs.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
emacs.o: ckeditor.h cp.h createthread.h default.h download.h last.h login.h
|
||||
emacs.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
emacs.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
emacs.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
emacs.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
emacs.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
emacs.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
emacs.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
emacs.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
emacs.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
emacs.o: ../core/basethread.h ../core/synchro.h ../templates/templates.h
|
||||
emacs.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
|
||||
emacs.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
emacs.o: ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
emacs.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
emacs.o: download.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h
|
||||
emacs.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
emacs.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
emacs.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
emacs.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
emacs.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
emacs.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
emacs.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
emacs.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
emacs.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
emacs.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
emacs.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
emacs.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
emacs.o: ../core/sessioncontainer.h ../core/system.h
|
||||
functionbase.o: functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
functionbase.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
@@ -303,9 +302,10 @@ functionbase.o: ../templates/localefilter.h ../templates/locale.h
|
||||
functionbase.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
functionbase.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
functionbase.o: functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
functionbase.o: chown.h ckeditor.h cp.h createthread.h default.h download.h
|
||||
functionbase.o: emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h
|
||||
functionbase.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
functionbase.o: chown.h ckeditor.h cp.h createthread.h
|
||||
functionbase.o: ../functions/functionbase.h default.h download.h emacs.h
|
||||
functionbase.o: last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h
|
||||
functionbase.o: reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
functionbase.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h
|
||||
functionbase.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
functionbase.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
@@ -335,8 +335,9 @@ functionparser.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
functionparser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
functionparser.o: functions.h functionbase.h ../core/config.h
|
||||
functionparser.o: ../core/synchro.h adduser.h cat.h chmod.h privchanger.h
|
||||
functionparser.o: chown.h ckeditor.h cp.h createthread.h default.h download.h
|
||||
functionparser.o: emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h
|
||||
functionparser.o: chown.h ckeditor.h cp.h createthread.h
|
||||
functionparser.o: ../functions/functionbase.h default.h download.h emacs.h
|
||||
functionparser.o: last.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h
|
||||
functionparser.o: priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
functionparser.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
functionparser.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
@@ -373,47 +374,20 @@ functions.o: ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
functions.o: ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
functions.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
functions.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
functions.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
functions.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
functions.o: rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
functions.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
functions.o: ../core/htmlfilter.h ../core/log.h ../core/misc.h
|
||||
functions.o: ../core/plugin.h ../core/pluginmsg.h ../core/system.h
|
||||
functions.o: ../core/sessionmanager.h ../core/sessioncontainer.h
|
||||
functions.o: ../functions/functions.h ../templates/templates.h
|
||||
functions.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
|
||||
functions.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
functions.o: ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
funthread.o: ../core/misc.h funthread.h functionbase.h ../core/item.h
|
||||
funthread.o: ../db/db.h ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
funthread.o: ../core/textstream.h ../core/misc.h ../core/item.h
|
||||
funthread.o: ../core/error.h ../core/log.h ../core/textstream.h
|
||||
funthread.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/user.h
|
||||
funthread.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
|
||||
funthread.o: ../core/ugcontainer.h ../core/request.h ../core/requesttypes.h
|
||||
funthread.o: ../core/session.h ../core/error.h ../core/user.h
|
||||
funthread.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
|
||||
funthread.o: ../core/confparser.h ../core/htmlfilter.h
|
||||
funthread.o: ../templates/htmltextstream.h ../core/config.h ../core/system.h
|
||||
funthread.o: ../core/dirs.h ../core/dircontainer.h ../core/request.h
|
||||
funthread.o: ../notify/notify.h ../notify/notifypool.h ../templates/locale.h
|
||||
funthread.o: ../core/confparser.h ../templates/misc.h
|
||||
funthread.o: ../templates/localefilter.h ../templates/locale.h
|
||||
funthread.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
funthread.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
funthread.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
funthread.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
funthread.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
funthread.o: rm.h run.h specialdefault.h stat.h subject.h template.h
|
||||
funthread.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
funthread.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
funthread.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
funthread.o: ../core/basethread.h ../core/synchro.h
|
||||
funthread.o: ../notify/templatesnotify.h ../core/users.h
|
||||
funthread.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
|
||||
funthread.o: ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
funthread.o: ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
funthread.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
functions.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
functions.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h
|
||||
functions.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h specialdefault.h
|
||||
functions.o: stat.h subject.h funthread.h template.h tinymce.h uname.h
|
||||
functions.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h ../core/log.h
|
||||
functions.o: ../core/misc.h ../core/plugin.h ../core/pluginmsg.h
|
||||
functions.o: ../core/system.h ../core/sessionmanager.h
|
||||
functions.o: ../core/sessioncontainer.h ../functions/functions.h
|
||||
functions.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
functions.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
functions.o: ../core/log.h ../templates/indexpatterns.h
|
||||
functions.o: ../core/sessionmanager.h
|
||||
funthread.o: ../core/misc.h funthread.h ../functions/functionbase.h
|
||||
funthread.o: ../core/thread.h
|
||||
last.o: last.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
last.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
last.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -430,17 +404,44 @@ last.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
last.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
last.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
last.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
last.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h login.h
|
||||
last.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
last.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
last.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
last.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
last.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
last.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
last.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
last.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
last.o: ../core/basethread.h ../core/synchro.h
|
||||
last.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
last.o: download.h emacs.h login.h logout.h ln.h ls.h mkdir.h mv.h node.h
|
||||
last.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
last.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
last.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
last.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
last.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
last.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
last.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
last.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
last.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
ln.o: ln.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
ln.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
|
||||
ln.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
|
||||
ln.o: ../db/dbitemquery.h ../db/dbitemcolumns.h ../core/user.h
|
||||
ln.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
|
||||
ln.o: ../core/ugcontainer.h ../core/request.h ../core/requesttypes.h
|
||||
ln.o: ../core/session.h ../core/error.h ../core/user.h ../core/plugindata.h
|
||||
ln.o: ../core/rebus.h ../core/config.h ../core/confparser.h
|
||||
ln.o: ../core/htmlfilter.h ../templates/htmltextstream.h ../core/config.h
|
||||
ln.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
|
||||
ln.o: ../core/request.h ../notify/notify.h ../notify/notifypool.h
|
||||
ln.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
ln.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
ln.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
ln.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
ln.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
ln.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h
|
||||
ln.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
ln.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
ln.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
ln.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
ln.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
ln.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
ln.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
ln.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
ln.o: ../core/basethread.h ../core/synchro.h ../core/misc.h
|
||||
ln.o: ../functions/functions.h
|
||||
login.o: login.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
login.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
login.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -457,17 +458,17 @@ login.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
login.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
login.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
login.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
login.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
login.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
login.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
login.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
login.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
login.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
login.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
login.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
login.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
login.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
login.o: ../core/basethread.h ../core/synchro.h
|
||||
login.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
login.o: download.h emacs.h last.h logout.h ln.h ls.h mkdir.h mv.h node.h
|
||||
login.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
login.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
login.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
login.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
login.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
login.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
login.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
login.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
login.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
logout.o: logout.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
logout.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
logout.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -485,16 +486,17 @@ logout.o: ../templates/localefilter.h ../templates/locale.h
|
||||
logout.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
logout.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
logout.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
logout.o: default.h download.h emacs.h last.h login.h ls.h mkdir.h mv.h
|
||||
logout.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
logout.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
logout.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
logout.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
logout.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
logout.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
logout.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
logout.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
logout.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
logout.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
logout.o: login.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
logout.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
logout.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
logout.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
logout.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
logout.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
logout.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
logout.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
logout.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
logout.o: ../core/basethread.h ../core/synchro.h
|
||||
ls.o: ls.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
ls.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
|
||||
ls.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
|
||||
@@ -510,17 +512,17 @@ ls.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
ls.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
ls.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
ls.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
ls.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
ls.o: last.h login.h logout.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
ls.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
ls.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
ls.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
ls.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
ls.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
ls.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
ls.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
ls.o: ../core/synchro.h
|
||||
ls.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
ls.o: default.h download.h emacs.h last.h login.h logout.h ln.h mkdir.h mv.h
|
||||
ls.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
ls.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
ls.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
ls.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
ls.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
ls.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
ls.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
ls.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
ls.o: ../core/basethread.h ../core/synchro.h
|
||||
mkdir.o: mkdir.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
mkdir.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
mkdir.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -537,17 +539,17 @@ mkdir.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
mkdir.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
mkdir.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
mkdir.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
mkdir.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
mkdir.o: login.h logout.h ls.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
mkdir.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
mkdir.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
mkdir.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
mkdir.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
mkdir.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
mkdir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
mkdir.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
mkdir.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
mkdir.o: ../core/basethread.h ../core/synchro.h
|
||||
mkdir.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
mkdir.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mv.h node.h
|
||||
mkdir.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
mkdir.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
mkdir.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
mkdir.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
mkdir.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
mkdir.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
mkdir.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
mkdir.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
mkdir.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
mv.o: mv.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
mv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
|
||||
mv.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
|
||||
@@ -563,17 +565,17 @@ mv.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
mv.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
mv.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
mv.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
mv.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
mv.o: last.h login.h logout.h ls.h mkdir.h node.h priv.h reload.h rm.h run.h
|
||||
mv.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
mv.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
mv.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
mv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
mv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
mv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
mv.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
mv.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
mv.o: ../core/synchro.h
|
||||
mv.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
mv.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
mv.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
mv.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
mv.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
mv.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
mv.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
mv.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
mv.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
mv.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
mv.o: ../core/basethread.h ../core/synchro.h
|
||||
node.o: node.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
node.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
node.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -590,17 +592,17 @@ node.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
node.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
node.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
node.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
node.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
node.o: login.h logout.h ls.h mkdir.h mv.h priv.h reload.h rm.h run.h
|
||||
node.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
node.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
node.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
node.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
node.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
node.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
node.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
node.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
node.o: ../core/basethread.h ../core/synchro.h
|
||||
node.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
node.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
node.o: priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
node.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
node.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
node.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
node.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
node.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
node.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
node.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
node.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
priv.o: priv.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
priv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
priv.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -617,17 +619,17 @@ priv.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
priv.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
priv.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
priv.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
priv.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
priv.o: login.h logout.h ls.h mkdir.h mv.h node.h reload.h rm.h run.h
|
||||
priv.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
priv.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
priv.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
priv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
priv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
priv.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
priv.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
priv.o: ../core/basethread.h ../core/synchro.h
|
||||
priv.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
priv.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
priv.o: node.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
priv.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
priv.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
priv.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
priv.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
priv.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
priv.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
priv.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
priv.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
privchanger.o: privchanger.h ../core/request.h ../core/requesttypes.h
|
||||
privchanger.o: ../core/session.h ../core/item.h ../core/error.h
|
||||
privchanger.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
|
||||
@@ -647,14 +649,14 @@ privchanger.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
privchanger.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
privchanger.o: functionbase.h ../core/config.h ../core/synchro.h
|
||||
privchanger.o: functionparser.h adduser.h cat.h chmod.h chown.h ckeditor.h
|
||||
privchanger.o: cp.h createthread.h default.h download.h emacs.h last.h
|
||||
privchanger.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
privchanger.o: run.h specialdefault.h stat.h subject.h funthread.h template.h
|
||||
privchanger.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
privchanger.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
privchanger.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
privchanger.o: ../core/basethread.h ../core/synchro.h
|
||||
privchanger.o: ../notify/templatesnotify.h ../core/users.h
|
||||
privchanger.o: cp.h createthread.h ../functions/functionbase.h default.h
|
||||
privchanger.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
privchanger.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
privchanger.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
privchanger.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
privchanger.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
privchanger.o: ../notify/notifythread.h ../core/basethread.h
|
||||
privchanger.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
|
||||
privchanger.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
|
||||
privchanger.o: ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
privchanger.o: ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
@@ -676,19 +678,20 @@ reload.o: ../templates/localefilter.h ../templates/locale.h
|
||||
reload.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
reload.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
reload.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
reload.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h
|
||||
reload.o: mv.h node.h priv.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
reload.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
reload.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
reload.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
reload.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
reload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
reload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
reload.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
reload.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
reload.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
reload.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
reload.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
reload.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
reload.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h rm.h run.h
|
||||
reload.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
reload.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
reload.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
reload.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
reload.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
reload.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
reload.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
reload.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
reload.o: ../core/basethread.h ../core/synchro.h ../templates/templates.h
|
||||
reload.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
|
||||
reload.o: ../core/httpsimpleparser.h ../core/log.h
|
||||
reload.o: ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
reload.o: ../core/sessioncontainer.h ../core/system.h
|
||||
rm.o: rm.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
rm.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
|
||||
@@ -705,22 +708,23 @@ rm.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
rm.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
rm.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
rm.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
rm.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
rm.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h run.h
|
||||
rm.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
rm.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
rm.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
rm.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
rm.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
rm.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
rm.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
rm.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h ../core/system.h
|
||||
rm.o: ../core/sessionmanager.h ../core/sessioncontainer.h
|
||||
rm.o: ../functions/functions.h ../templates/templates.h
|
||||
rm.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
|
||||
rm.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
|
||||
rm.o: ../core/sessionmanager.h ../core/misc.h
|
||||
rm.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
rm.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
rm.o: mv.h node.h priv.h reload.h run.h specialdefault.h stat.h subject.h
|
||||
rm.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
rm.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
rm.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
rm.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
rm.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
rm.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
rm.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
rm.o: ../core/basethread.h ../core/synchro.h ../core/plugin.h
|
||||
rm.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
|
||||
rm.o: ../core/sessioncontainer.h ../functions/functions.h
|
||||
rm.o: ../templates/templates.h ../templates/patterncacher.h
|
||||
rm.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
|
||||
rm.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
|
||||
rm.o: ../core/misc.h
|
||||
run.o: run.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
run.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
run.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -736,17 +740,17 @@ run.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
run.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
run.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
run.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
run.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
run.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
run.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
run.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
run.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
run.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
run.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
run.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
run.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
run.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
run.o: ../core/synchro.h
|
||||
run.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
run.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
run.o: mv.h node.h priv.h reload.h rm.h specialdefault.h stat.h subject.h
|
||||
run.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
run.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
run.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
run.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
run.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
run.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
run.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
run.o: ../core/basethread.h ../core/synchro.h
|
||||
specialdefault.o: specialdefault.h functionbase.h ../core/item.h ../db/db.h
|
||||
specialdefault.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
specialdefault.o: ../core/textstream.h ../core/misc.h ../core/item.h
|
||||
@@ -766,19 +770,19 @@ specialdefault.o: ../templates/locale.h ../../ezc/src/ezc.h
|
||||
specialdefault.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
specialdefault.o: ../../ezc/src/pattern.h functions.h functionparser.h
|
||||
specialdefault.o: adduser.h cat.h chmod.h privchanger.h chown.h ckeditor.h
|
||||
specialdefault.o: cp.h createthread.h default.h download.h emacs.h last.h
|
||||
specialdefault.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
specialdefault.o: rm.h run.h stat.h subject.h funthread.h template.h
|
||||
specialdefault.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
specialdefault.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
specialdefault.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
specialdefault.o: cp.h createthread.h ../functions/functionbase.h default.h
|
||||
specialdefault.o: download.h emacs.h last.h login.h logout.h ln.h ls.h
|
||||
specialdefault.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h stat.h
|
||||
specialdefault.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
specialdefault.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
specialdefault.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
specialdefault.o: ../notify/notifythread.h ../core/basethread.h
|
||||
specialdefault.o: ../core/synchro.h ../notify/templatesnotify.h
|
||||
specialdefault.o: ../core/users.h ../core/ugcontainer.h
|
||||
specialdefault.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
specialdefault.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
specialdefault.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
specialdefault.o: ../core/basethread.h ../core/synchro.h
|
||||
specialdefault.o: ../notify/templatesnotify.h ../core/users.h
|
||||
specialdefault.o: ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
specialdefault.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
specialdefault.o: ../core/users.h ../core/groups.h ../core/group.h
|
||||
specialdefault.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
specialdefault.o: ../core/synchro.h
|
||||
stat.o: stat.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
stat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
stat.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -795,17 +799,17 @@ stat.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
stat.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
stat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
stat.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
stat.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
stat.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
stat.o: specialdefault.h subject.h funthread.h template.h tinymce.h uname.h
|
||||
stat.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
stat.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
stat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
stat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
stat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
stat.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
stat.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
stat.o: ../core/basethread.h ../core/synchro.h
|
||||
stat.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
stat.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
stat.o: node.h priv.h reload.h rm.h run.h specialdefault.h subject.h
|
||||
stat.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
stat.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
stat.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
stat.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
stat.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
stat.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
stat.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
stat.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
subject.o: subject.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
subject.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
subject.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -823,10 +827,11 @@ subject.o: ../templates/localefilter.h ../templates/locale.h
|
||||
subject.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
subject.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
subject.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
subject.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h
|
||||
subject.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
subject.o: funthread.h template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
subject.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
subject.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
subject.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
subject.o: rm.h run.h specialdefault.h stat.h funthread.h template.h
|
||||
subject.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
subject.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
subject.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
subject.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
subject.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
@@ -851,11 +856,11 @@ template.o: ../templates/localefilter.h ../templates/locale.h
|
||||
template.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
template.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
template.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
template.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
template.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
template.o: rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
template.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
template.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
template.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
template.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h
|
||||
template.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h specialdefault.h
|
||||
template.o: stat.h subject.h funthread.h tinymce.h uname.h upload.h uptime.h
|
||||
template.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
template.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
template.o: ../core/basethread.h ../core/synchro.h
|
||||
template.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
@@ -880,10 +885,11 @@ tinymce.o: ../templates/localefilter.h ../templates/locale.h
|
||||
tinymce.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
tinymce.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
tinymce.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
tinymce.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h
|
||||
tinymce.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
tinymce.o: subject.h funthread.h template.h uname.h upload.h uptime.h who.h
|
||||
tinymce.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
tinymce.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
tinymce.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
tinymce.o: rm.h run.h specialdefault.h stat.h subject.h funthread.h
|
||||
tinymce.o: template.h uname.h upload.h uptime.h who.h vim.h
|
||||
tinymce.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
tinymce.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
tinymce.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
tinymce.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
@@ -906,17 +912,17 @@ uname.o: ../core/confparser.h ../templates/misc.h ../templates/localefilter.h
|
||||
uname.o: ../templates/locale.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
|
||||
uname.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
|
||||
uname.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
uname.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h last.h
|
||||
uname.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
uname.o: specialdefault.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
uname.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
uname.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
uname.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
uname.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
uname.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
uname.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
uname.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
uname.o: ../core/basethread.h ../core/synchro.h
|
||||
uname.o: ckeditor.h cp.h createthread.h ../functions/functionbase.h default.h
|
||||
uname.o: download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h mv.h
|
||||
uname.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h subject.h
|
||||
uname.o: funthread.h template.h tinymce.h upload.h uptime.h who.h vim.h
|
||||
uname.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
uname.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
uname.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
uname.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
uname.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
uname.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
uname.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
upload.o: upload.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
upload.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
upload.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -934,17 +940,18 @@ upload.o: ../templates/localefilter.h ../templates/locale.h
|
||||
upload.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
upload.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
upload.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
upload.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h
|
||||
upload.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
upload.o: subject.h funthread.h template.h tinymce.h uname.h uptime.h who.h
|
||||
upload.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
upload.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
upload.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
upload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
upload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
upload.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
upload.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
upload.o: ../core/misc.h ../functions/functions.h
|
||||
upload.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
upload.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
upload.o: run.h specialdefault.h stat.h subject.h funthread.h template.h
|
||||
upload.o: tinymce.h uname.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
upload.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
upload.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
upload.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
upload.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
upload.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
upload.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
upload.o: ../core/basethread.h ../core/synchro.h ../core/misc.h
|
||||
upload.o: ../functions/functions.h
|
||||
uptime.o: uptime.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
uptime.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
uptime.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -962,16 +969,17 @@ uptime.o: ../templates/localefilter.h ../templates/locale.h
|
||||
uptime.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
|
||||
uptime.o: ../../ezc/src/pattern.h functions.h functionparser.h adduser.h
|
||||
uptime.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
uptime.o: default.h download.h emacs.h last.h login.h logout.h ls.h mkdir.h
|
||||
uptime.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
uptime.o: subject.h funthread.h template.h tinymce.h uname.h upload.h who.h
|
||||
uptime.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
uptime.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
uptime.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
uptime.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
uptime.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
|
||||
uptime.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
|
||||
uptime.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
|
||||
uptime.o: ../functions/functionbase.h default.h download.h emacs.h last.h
|
||||
uptime.o: login.h logout.h ln.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
uptime.o: run.h specialdefault.h stat.h subject.h funthread.h template.h
|
||||
uptime.o: tinymce.h uname.h upload.h who.h vim.h ../core/htmlfilter.h
|
||||
uptime.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
uptime.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
uptime.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
uptime.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
uptime.o: ../core/mountparser.h ../core/users.h ../core/groups.h
|
||||
uptime.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
uptime.o: ../core/basethread.h ../core/synchro.h
|
||||
vim.o: vim.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
vim.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
vim.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -987,17 +995,17 @@ vim.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
vim.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
vim.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
vim.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
vim.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
vim.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
vim.o: run.h specialdefault.h stat.h subject.h funthread.h template.h
|
||||
vim.o: tinymce.h uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
vim.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
vim.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
vim.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
vim.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
vim.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
vim.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
vim.o: ../core/synchro.h
|
||||
vim.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
vim.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
vim.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
vim.o: subject.h funthread.h template.h tinymce.h uname.h upload.h uptime.h
|
||||
vim.o: who.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
vim.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
vim.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
vim.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
vim.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
vim.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
vim.o: ../core/basethread.h ../core/synchro.h
|
||||
who.o: who.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
who.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
who.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
|
||||
@@ -1013,14 +1021,14 @@ who.o: ../templates/locale.h ../core/confparser.h ../templates/misc.h
|
||||
who.o: ../templates/localefilter.h ../templates/locale.h ../../ezc/src/ezc.h
|
||||
who.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
|
||||
who.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
who.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
who.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
who.o: run.h specialdefault.h stat.h subject.h funthread.h template.h
|
||||
who.o: tinymce.h uname.h upload.h uptime.h vim.h ../core/htmlfilter.h
|
||||
who.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
|
||||
who.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
|
||||
who.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
|
||||
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
|
||||
who.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
|
||||
who.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
|
||||
who.o: ../core/synchro.h
|
||||
who.o: chown.h ckeditor.h cp.h createthread.h ../functions/functionbase.h
|
||||
who.o: default.h download.h emacs.h last.h login.h logout.h ln.h ls.h mkdir.h
|
||||
who.o: mv.h node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
|
||||
who.o: subject.h funthread.h template.h tinymce.h uname.h upload.h uptime.h
|
||||
who.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
|
||||
who.o: ../templates/htmltextstream.h ../notify/notifythread.h
|
||||
who.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
|
||||
who.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
|
||||
who.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
who.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
|
||||
who.o: ../core/basethread.h ../core/synchro.h
|
||||
|
||||
@@ -1 +1 @@
|
||||
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o createthread.o default.o download.o emacs.o functionbase.o functionparser.o functions.o funthread.o last.o login.o logout.o ls.o mkdir.o mv.o node.o priv.o privchanger.o reload.o rm.o run.o specialdefault.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o vim.o who.o
|
||||
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o createthread.o default.o download.o emacs.o functionbase.o functionparser.o functions.o funthread.o last.o ln.o login.o logout.o ls.o mkdir.o mv.o node.o priv.o privchanger.o reload.o rm.o run.o specialdefault.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o vim.o who.o
|
||||
|
||||
344
functions/cp.cpp
344
functions/cp.cpp
@@ -7,7 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include "cp.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions.h"
|
||||
@@ -22,11 +21,17 @@ Cp::Cp()
|
||||
}
|
||||
|
||||
|
||||
bool Cp::CpCheckAccessFrom()
|
||||
bool Cp::HasAccess()
|
||||
{
|
||||
return CheckAccessFrom();
|
||||
}
|
||||
|
||||
|
||||
bool Cp::CheckAccessFrom()
|
||||
{
|
||||
if( request->is_item )
|
||||
{
|
||||
if( !system->HasReadAccess(request->item) )
|
||||
if( !system->HasReadAccess(request->item) || request->item.type == Item::symlink )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
@@ -39,22 +44,15 @@ bool Cp::CpCheckAccessFrom()
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Cp::CheckAccessTo(long dir_id)
|
||||
bool Cp::CheckAccessTo()
|
||||
{
|
||||
Item * pdir = system->dirs.GetDir(dir_id);
|
||||
|
||||
if( !pdir )
|
||||
{
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !system->HasReadExecAccessToPath(dir_id) || !system->HasWriteAccess(*pdir) )
|
||||
if( dir_tab.empty() ||
|
||||
!system->HasReadExecAccessToPath(dir_tab) ||
|
||||
!system->HasWriteAccess(*dir_tab.back()) )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
@@ -65,157 +63,230 @@ return true;
|
||||
|
||||
|
||||
|
||||
bool Cp::ParseDir(long & dir_id, std::wstring & dir, std::wstring & file)
|
||||
bool Cp::ParseDir()
|
||||
{
|
||||
int res = system->dirs.AnalyzePath(request->PostVar(L"to"), dir_id, dir, file);
|
||||
const std::wstring & new_dir = request->PostVar(L"to");
|
||||
int res = system->dirs.FollowLink(request->dir_tab, new_dir, dir_tab, file);
|
||||
|
||||
if( res == 1 )
|
||||
if( res == 3 )
|
||||
request->status = WINIX_ERR_NO_ROOT_DIR;
|
||||
else
|
||||
if( res != 0 )
|
||||
if( res != 0 && res != 1 )
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
|
||||
return res == 0;
|
||||
return res == 0 || res == 1;
|
||||
}
|
||||
|
||||
|
||||
void Cp::CpStaticFile(Item & item)
|
||||
bool Cp::CopyStaticFile(const std::wstring & from, const std::wstring & to)
|
||||
{
|
||||
bool res1 = system->MakeFilePath(item, old_path);
|
||||
bool res2 = system->CreateNewFile(item);
|
||||
bool res3 = system->MakeFilePath(item, mv_new_path, false, true, config->upload_dirs_chmod);
|
||||
if( from == to )
|
||||
{
|
||||
log << log3 << "Cp: the same path to a static file: " << to << logend;
|
||||
return true;
|
||||
}
|
||||
|
||||
if( !res1 || !res2 || !res3 )
|
||||
if( ::CopyFile(from, to) )
|
||||
{
|
||||
log << log2 << "Cp: copied a static file from: " << from << ", to: " << to << logend;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Cp: can't copy a file from: " << from << ", to: " << to << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::CopyStaticFile(Item & item)
|
||||
{
|
||||
bool res1, res2, res3, res4, res5;
|
||||
|
||||
res1 = system->MakeFilePath(item, old_path, false);
|
||||
res2 = !item.has_thumb || system->MakeFilePath(item, old_path_thumb, true);
|
||||
res3 = system->CreateNewFile(item);
|
||||
res4 = system->MakeFilePath(item, new_path, false, true, config->upload_dirs_chmod);
|
||||
res5 = !item.has_thumb || system->MakeFilePath(item, new_path_thumb, true, true, config->upload_dirs_chmod);
|
||||
|
||||
if( !res1 || !res2 || !res3 || !res4 || !res5 )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
if( CopyFile(old_path, mv_new_path) )
|
||||
{
|
||||
log << log1 << "Cp: copied static file from: " << old_path << ", to: " << mv_new_path << logend;
|
||||
request->status = db->EditFileById(item, item.id);
|
||||
}
|
||||
else
|
||||
if( CopyStaticFile(old_path, new_path) )
|
||||
{
|
||||
log << log1 << "Cp: can't copy a file from: " << old_path << ", to: " << mv_new_path << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
request->status = db->EditFileById(item, item.id);
|
||||
|
||||
if( item.has_thumb )
|
||||
CopyStaticFile(old_path_thumb, new_path_thumb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Cp::CpSetNewAttributes(Item & item)
|
||||
|
||||
void Cp::SetNewAttributes(Item & item)
|
||||
{
|
||||
item.user_id = cp_new_user;
|
||||
item.group_id = cp_new_group;
|
||||
item.user_id = new_user;
|
||||
item.group_id = new_group;
|
||||
item.SetDateModifyToNow();
|
||||
}
|
||||
|
||||
|
||||
void Cp::CpItem(Item & item, long dst_dir_id)
|
||||
void Cp::CopyFile(Item & item, long dst_dir_id)
|
||||
{
|
||||
if( !system->HasReadAccess(item) )
|
||||
return; // !! w przyszlosci bedziemy dodawac komunikaty do specjalnej tablicy (narazie nie zaimplementowane)
|
||||
if( !preserve_attr )
|
||||
SetNewAttributes(item);
|
||||
|
||||
item.parent_id = dst_dir_id;
|
||||
|
||||
if( !cp_preserve_attr )
|
||||
CpSetNewAttributes(item);
|
||||
|
||||
request->status = system->AddFile(item);
|
||||
item.parent_id = dst_dir_id;
|
||||
request->status = db->AddItem(item);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
if( item.file_type != WINIX_ITEM_FILETYPE_NONE )
|
||||
CpStaticFile(item);
|
||||
CopyStaticFile(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Cp::CopyFileOrSymlink(Item & item, long dst_dir_id)
|
||||
{
|
||||
if( !system->HasReadAccess(item) )
|
||||
return; // !! w przyszlosci bedziemy dodawac komunikaty do specjalnej tablicy (narazie nie zaimplementowane)
|
||||
|
||||
if( item.type == Item::symlink && follow_symlinks )
|
||||
{
|
||||
if( system->dirs.CreateDirTab(item.parent_id, symlink_dir_tab) )
|
||||
{
|
||||
int res = system->FollowAllLinks(symlink_dir_tab, item.link_to, symlink_dir_tab, item);
|
||||
|
||||
if( res == 0 )
|
||||
CopyDirTree(*symlink_dir_tab.back(), dst_dir_id);
|
||||
else
|
||||
if( res == 1 )
|
||||
CopyFile(item, dst_dir_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CopyFile(item, dst_dir_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Cp::CpPrepare()
|
||||
void Cp::Prepare()
|
||||
{
|
||||
cp_iq.SetAll(true, false);
|
||||
cp_iq.WhereType(Item::file);
|
||||
iq.SetAll(true, false);
|
||||
iq.WhereType(Item::dir, false);
|
||||
|
||||
cp_new_user = -1;
|
||||
cp_new_group = -1;
|
||||
new_user = -1;
|
||||
new_group = dir_tab.back()->group_id;
|
||||
|
||||
if( request->session->puser )
|
||||
cp_new_user = request->session->puser->id;
|
||||
new_user = request->session->puser->id;
|
||||
|
||||
Item * pdir = system->dirs.GetDir(mv_dir_id);
|
||||
|
||||
if( pdir )
|
||||
cp_new_group = pdir->group_id;
|
||||
loop_checker.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::CpFilesInDir(const Item & dir, long dst_dir_id)
|
||||
{
|
||||
cp_iq.WhereParentId(dir.id);
|
||||
db->GetItems(request->item_tab, cp_iq);
|
||||
|
||||
for(size_t i=0 ; i<request->item_tab.size() ; ++i)
|
||||
CpItem(request->item_tab[i], dst_dir_id);
|
||||
void Cp::CopyFilesInDir(const Item & dir, long dst_dir_id)
|
||||
{
|
||||
iq.WhereParentId(dir.id);
|
||||
db->GetItems(item_tab, iq);
|
||||
|
||||
for(size_t i=0 ; i<item_tab.size() ; ++i)
|
||||
CopyFileOrSymlink(item_tab[i], dst_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::CpContentOfDir(const Item & item, long dst_dir_id)
|
||||
void Cp::CopyDirContentTree(const Item & dir, long dst_dir_id)
|
||||
{
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstParent(item.id);
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstChild(dir.id);
|
||||
|
||||
// go through all directories
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextParent(i) )
|
||||
CpDir(*(i->second), dst_dir_id);
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextChild(i) )
|
||||
CopyDirTree(*(i->second), dst_dir_id);
|
||||
|
||||
CpFilesInDir(item, dst_dir_id);
|
||||
CopyFilesInDir(dir, dst_dir_id);
|
||||
}
|
||||
|
||||
|
||||
bool Cp::WasThisDir(const Item & dir)
|
||||
{
|
||||
for(size_t i=0 ; i<loop_checker.size() ; ++i)
|
||||
if( loop_checker[i] == dir.id )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// we shouldn't change 'item' because we have references to our app.dirs objects
|
||||
long Cp::CpDir(const Item & item, long dst_dir_id)
|
||||
long Cp::CopyDirTree(const Item & dir, long dst_dir_id)
|
||||
{
|
||||
cp_temp = item;
|
||||
cp_temp.parent_id = dst_dir_id;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
if( WasThisDir(dir) )
|
||||
{
|
||||
cp_temp.url = mv_file;
|
||||
mv_file.clear();
|
||||
functions->PrepareUrl(cp_temp);
|
||||
log << log1 << "Cp: a loop between directories found (created by a symlink), "
|
||||
<< "dir_id: " << dir.id << ", dir_url: " << dir.url << logend;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( !cp_preserve_attr )
|
||||
CpSetNewAttributes(cp_temp);
|
||||
loop_checker.push_back(dir.id);
|
||||
temp = dir;
|
||||
temp.parent_id = dst_dir_id;
|
||||
|
||||
if( cp_remove_defaults )
|
||||
cp_temp.default_item = -1;
|
||||
if( !file.empty() )
|
||||
{
|
||||
temp.url = file;
|
||||
functions->PrepareUrl(temp);
|
||||
file.clear();
|
||||
}
|
||||
|
||||
request->status = system->dirs.AddDirectory(cp_temp);
|
||||
long new_dir_id = cp_temp.id; // remember the new dir_id
|
||||
if( !preserve_attr )
|
||||
SetNewAttributes(temp);
|
||||
|
||||
if( system->HasReadExecAccess(item) )
|
||||
CpContentOfDir(item, cp_temp.id);
|
||||
if( remove_defaults )
|
||||
{
|
||||
temp.link_to.clear();
|
||||
temp.link_redirect = 0;
|
||||
}
|
||||
|
||||
request->status = system->dirs.AddDirectory(temp);
|
||||
loop_checker.push_back(temp.id);
|
||||
|
||||
// remember the new dir_id because temp can be changed
|
||||
// this method is called in recurrences
|
||||
long new_dir_id = temp.id;
|
||||
|
||||
if( system->HasReadExecAccess(dir) )
|
||||
CopyDirContentTree(dir, temp.id);
|
||||
|
||||
return new_dir_id; // and return it
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
bool Cp::IsTheSameFile(const Item & item)
|
||||
{
|
||||
if( mv_file.empty() )
|
||||
if( file.empty() )
|
||||
{
|
||||
if( item.parent_id == mv_dir_id )
|
||||
if( item.parent_id == dir_tab.back()->id )
|
||||
return true; // nothing to do
|
||||
}
|
||||
else
|
||||
{
|
||||
if( item.parent_id == mv_dir_id && item.url == mv_file )
|
||||
if( item.parent_id == dir_tab.back()->id && item.url == file )
|
||||
return true; // nothing to do
|
||||
}
|
||||
|
||||
@@ -226,101 +297,94 @@ return false;
|
||||
|
||||
|
||||
// here 'item' can be changed in place
|
||||
void Cp::CpItemCheck(Item & item, bool redirect)
|
||||
void Cp::PostCopyFile(Item & item, bool redirect)
|
||||
{
|
||||
if( IsTheSameFile(item) )
|
||||
return;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
if( !file.empty() )
|
||||
{
|
||||
item.url = mv_file;
|
||||
item.url = file;
|
||||
functions->PrepareUrl(item);
|
||||
file.clear();
|
||||
}
|
||||
|
||||
CpItem(item, mv_dir_id);
|
||||
CopyFileOrSymlink(item, dir_tab.back()->id);
|
||||
|
||||
if( request->status==WINIX_ERR_OK && redirect )
|
||||
if( request->status == WINIX_ERR_OK && redirect )
|
||||
system->RedirectTo(item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::CpContentOfDirCheck(const Item & item, bool redirect)
|
||||
|
||||
|
||||
void Cp::PostCopyDirContent(const Item & dir, bool redirect)
|
||||
{
|
||||
if( !mv_file.empty() )
|
||||
if( !file.empty() )
|
||||
{
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
if( mv_dir_id == item.id )
|
||||
if( dir_tab.back()->id == dir.id )
|
||||
return; // nothing to do
|
||||
|
||||
if( system->dirs.HasParent(mv_dir_id, item.id) )
|
||||
{
|
||||
log << log1 << "Content: cannot copy directory to inside it" << logend;
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
CopyDirContentTree(dir, dir_tab.back()->id);
|
||||
|
||||
CpContentOfDir(item, mv_dir_id);
|
||||
|
||||
if( request->status==WINIX_ERR_OK && redirect )
|
||||
system->RedirectTo(mv_dir_id);
|
||||
if( request->status == WINIX_ERR_OK && redirect )
|
||||
system->RedirectTo(dir_tab.back()->id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::CpDirCheck(const Item & item, bool redirect)
|
||||
void Cp::PostCopyDir(const Item & dir, bool redirect)
|
||||
{
|
||||
if( mv_file.empty() && mv_dir_id == item.id )
|
||||
long dir_id = dir_tab.back()->id;
|
||||
|
||||
if( file.empty() && dir_id == dir.id )
|
||||
return; // nothing to do
|
||||
|
||||
if( mv_dir_id == item.id || system->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 = CopyDirTree(dir, dir_id);
|
||||
|
||||
long new_dir_id = CpDir(item, mv_dir_id);
|
||||
|
||||
if( request->status==WINIX_ERR_OK && redirect )
|
||||
if( new_dir_id != -1 && request->status == WINIX_ERR_OK && redirect )
|
||||
system->RedirectTo(new_dir_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::MakePost()
|
||||
void Cp::Clear()
|
||||
{
|
||||
if( CpCheckAccessFrom() &&
|
||||
ParseDir(mv_dir_id, mv_dir, mv_file) &&
|
||||
CheckAccessTo(mv_dir_id) )
|
||||
{
|
||||
CpPrepare();
|
||||
cp_preserve_attr = request->IsPostVar(L"preserveattr");
|
||||
|
||||
if( request->is_item )
|
||||
{
|
||||
CpItemCheck(request->item);
|
||||
}
|
||||
else
|
||||
{
|
||||
cp_remove_defaults = request->IsPostVar(L"removedefaults");
|
||||
|
||||
if( request->IsPostVar(L"onlycontent") )
|
||||
CpContentOfDirCheck(*request->dir_tab.back());
|
||||
else
|
||||
CpDirCheck(*request->dir_tab.back());
|
||||
}
|
||||
}
|
||||
loop_checker.clear();
|
||||
dir_tab.clear();
|
||||
item_tab.clear();
|
||||
symlink_dir_tab.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Cp::MakeGet()
|
||||
void Cp::MakePost()
|
||||
{
|
||||
CpCheckAccessFrom();
|
||||
if( ParseDir() && CheckAccessTo() )
|
||||
{
|
||||
Prepare();
|
||||
|
||||
preserve_attr = request->IsPostVar(L"preserveattr");
|
||||
remove_defaults = request->IsPostVar(L"removedefaults");
|
||||
follow_symlinks = request->IsPostVar(L"followsymlinks");
|
||||
|
||||
if( request->is_item )
|
||||
{
|
||||
PostCopyFile(request->item);
|
||||
}
|
||||
else
|
||||
{
|
||||
if( request->IsPostVar(L"onlycontent") )
|
||||
PostCopyDirContent(*request->dir_tab.back());
|
||||
else
|
||||
PostCopyDir(*request->dir_tab.back());
|
||||
}
|
||||
|
||||
Clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -18,45 +18,58 @@ namespace Fun
|
||||
{
|
||||
|
||||
|
||||
|
||||
class Cp : public FunctionBase
|
||||
{
|
||||
public:
|
||||
|
||||
Cp();
|
||||
bool HasAccess();
|
||||
void MakePost();
|
||||
|
||||
private:
|
||||
|
||||
// !! wywalic przedrostki cp_ Cp
|
||||
Item temp;
|
||||
DbItemQuery iq;
|
||||
bool remove_defaults;
|
||||
bool preserve_attr;
|
||||
bool follow_symlinks;
|
||||
long new_user;
|
||||
long new_group;
|
||||
|
||||
Item cp_temp;
|
||||
DbItemQuery cp_iq;
|
||||
bool cp_remove_defaults;
|
||||
bool cp_preserve_attr;
|
||||
long cp_new_user;
|
||||
long cp_new_group;
|
||||
// destination dir (will not be empty)
|
||||
std::vector<Item*> dir_tab, symlink_dir_tab;
|
||||
|
||||
std::wstring mv_dir;
|
||||
std::wstring mv_file;
|
||||
std::wstring mv_new_path;
|
||||
std::wstring old_path;
|
||||
long mv_dir_id;
|
||||
// for testing loops in directories (between symlinks)
|
||||
std::vector<long> loop_checker;
|
||||
|
||||
bool CpCheckAccessFrom();
|
||||
bool CheckAccessTo(long dir_id);
|
||||
bool ParseDir(long & dir_id, std::wstring & dir, std::wstring & file);
|
||||
void CpStaticFile(Item & item);
|
||||
void CpSetNewAttributes(Item & item);
|
||||
void CpItem(Item & item, long dst_dir_id);
|
||||
void CpPrepare();
|
||||
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);
|
||||
// destination file (if exists)
|
||||
std::wstring file;
|
||||
|
||||
// for copying static files
|
||||
std::wstring new_path, new_path_thumb;
|
||||
std::wstring old_path, old_path_thumb;
|
||||
|
||||
std::vector<Item> item_tab;
|
||||
|
||||
bool WasThisDir(const Item & dir);
|
||||
bool CheckAccessFrom();
|
||||
bool CheckAccessTo();
|
||||
bool ParseDir();
|
||||
bool CopyStaticFile(const std::wstring & from, const std::wstring & to);
|
||||
void CopyStaticFile(Item & item);
|
||||
void SetNewAttributes(Item & item);
|
||||
void CopyFile(Item & item, long dst_dir_id);
|
||||
void CopyFileOrSymlink(Item & item, long dst_dir_id);
|
||||
void Prepare();
|
||||
void CopyFilesInDir(const Item & dir, long dst_dir_id);
|
||||
void CopyDirContentTree(const Item & item, long dst_dir_id);
|
||||
long CopyDirTree(const Item & item, long dst_dir_id);
|
||||
bool IsTheSameFile(const Item & item);
|
||||
void CpItemCheck(Item & item, bool redirect = true);
|
||||
void CpContentOfDirCheck(const Item & item, bool redirect = true);
|
||||
void CpDirCheck(const Item & item, bool redirect = true);
|
||||
void MakePost();
|
||||
void MakeGet();
|
||||
void Clear();
|
||||
void PostCopyFile(Item & item, bool redirect = true);
|
||||
void PostCopyDirContent(const Item & dir, bool redirect = true);
|
||||
void PostCopyDir(const Item & dir, bool redirect = true);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "functions.h"
|
||||
|
||||
|
||||
namespace Fun
|
||||
namespace Thread
|
||||
{
|
||||
|
||||
CreateThread::CreateThread()
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfilecmslucontentcreatethread
|
||||
#define headerfilecmslucontentcreatethread
|
||||
#ifndef headerfile_winix_plugins_thread_createthread
|
||||
#define headerfile_winix_plugins_thread_createthread
|
||||
|
||||
#include "functionbase.h"
|
||||
#include "functions/functionbase.h"
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
namespace Thread
|
||||
{
|
||||
|
||||
|
||||
|
||||
@@ -20,103 +20,33 @@ Default::Default()
|
||||
}
|
||||
|
||||
|
||||
long Default::PostFunDefaultParsePath()
|
||||
bool Default::HasAccess()
|
||||
{
|
||||
Item * pdir, * pdir2;
|
||||
long defaultid = -1;
|
||||
|
||||
const std::wstring & path = request->PostVar(L"defaultitem");
|
||||
|
||||
|
||||
if( !path.empty() )
|
||||
{
|
||||
std::wstring dir, file;
|
||||
Dirs::SplitPath(path, dir, file);
|
||||
|
||||
pdir = system->dirs.GetDir(dir);
|
||||
|
||||
if( !pdir )
|
||||
throw Error(WINIX_ERR_INCORRECT_DIR);
|
||||
|
||||
if( file.empty() )
|
||||
{
|
||||
defaultid = pdir->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
// checking whether the file is a directory too (the method SplitPath does not check it)
|
||||
pdir2 = system->dirs.GetDir(file, pdir->id);
|
||||
|
||||
if( !pdir2 )
|
||||
{
|
||||
defaultid = db->GetFileId(pdir->id, file);
|
||||
|
||||
if( defaultid == -1 )
|
||||
throw Error(WINIX_ERR_NO_ITEM);
|
||||
}
|
||||
else
|
||||
{
|
||||
// file is a directory
|
||||
defaultid = pdir2->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return defaultid;
|
||||
return !request->is_item && system->HasWriteAccess(*request->dir_tab.back());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Default::MakePost()
|
||||
{
|
||||
if( !system->HasWriteAccess(*request->dir_tab.back()) )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
Item & dir = *request->dir_tab.back();
|
||||
|
||||
try
|
||||
{
|
||||
long defaultid = PostFunDefaultParsePath();
|
||||
dir.link_to = request->PostVar(L"linkto");
|
||||
dir.link_redirect = request->IsPostVar(L"makeredirect") ? 1 : 0;
|
||||
TrimWhite(dir.link_to);
|
||||
|
||||
if( defaultid != request->dir_tab.back()->id )
|
||||
{
|
||||
request->status = db->EditDefaultItem(request->dir_tab.back()->id, defaultid);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
request->dir_tab.back()->default_item = defaultid;
|
||||
}
|
||||
else
|
||||
{
|
||||
log << "Default: skipping the same directory" << logend;
|
||||
}
|
||||
}
|
||||
catch(const Error & e)
|
||||
{
|
||||
request->status = e;
|
||||
}
|
||||
// !! dodac sprawdzenie czy link_to jest pusty teraz
|
||||
|
||||
request->status = db->EditLinkItem(dir.id, dir.link_to, dir.link_redirect);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
system->RedirectTo(*request->dir_tab.back());
|
||||
else
|
||||
log << log1 << "Content: PostFunDefaultItem: Error: " << request->status << logend;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Default::MakeGet()
|
||||
{
|
||||
if( !system->HasWriteAccess(*request->dir_tab.back()) )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
log << log2 << "Default: changed link_to: " << dir.link_to << ", for dir_id: " << dir.id << logend;
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -23,12 +23,8 @@ class Default : public FunctionBase
|
||||
public:
|
||||
|
||||
Default();
|
||||
bool HasAccess();
|
||||
void MakePost();
|
||||
void MakeGet();
|
||||
|
||||
private:
|
||||
|
||||
long PostFunDefaultParsePath();
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -127,7 +127,6 @@ void Emacs::MakePost()
|
||||
if( !PostEmacsCheckAbuse(adding) )
|
||||
return;
|
||||
|
||||
|
||||
if( adding )
|
||||
{
|
||||
request->is_item = true; // !! moze lepiej nie ustawiac is_item? (bo jak wystapi blad np dodania do bazy danych
|
||||
@@ -140,7 +139,6 @@ void Emacs::MakePost()
|
||||
request->status = system->EditFile(request->item, request->item.url != old_url, NotifyCodeEdit());
|
||||
}
|
||||
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
PostFunEmacsModifyMountPoint(adding);
|
||||
@@ -148,8 +146,7 @@ void Emacs::MakePost()
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Emacs: error: "
|
||||
<< request->status << logend;
|
||||
log << log1 << "Emacs: error: " << request->status << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
FunctionBase::FunctionBase()
|
||||
{
|
||||
id = -1;
|
||||
follow_symlinks = true;
|
||||
|
||||
fun.user_id = -1;
|
||||
fun.group_id = -1;
|
||||
@@ -82,12 +83,6 @@ bool FunctionBase::HasAccess()
|
||||
}
|
||||
|
||||
|
||||
void FunctionBase::Clear()
|
||||
{
|
||||
// this method is called at the end of a request
|
||||
// you can clear your variables
|
||||
}
|
||||
|
||||
|
||||
void FunctionBase::MakePost()
|
||||
{
|
||||
|
||||
@@ -27,6 +27,7 @@ class Templates;
|
||||
|
||||
|
||||
|
||||
|
||||
class FunctionBase
|
||||
{
|
||||
public:
|
||||
@@ -41,9 +42,11 @@ public:
|
||||
// user, group, permissions, url (function name)
|
||||
Item fun;
|
||||
|
||||
// auto follow sym links, default: true
|
||||
bool follow_symlinks;
|
||||
|
||||
virtual void Init();
|
||||
virtual bool HasAccess();
|
||||
virtual void Clear();
|
||||
virtual void MakePost();
|
||||
virtual void MakeGet();
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void FunctionParser::ParseItem()
|
||||
return;
|
||||
|
||||
// request->dir_tab has at least one element
|
||||
long parent_id = request->dir_tab.back()->id;
|
||||
long parent_id = request->dir_tab.back()->id;
|
||||
const std::wstring & url = request->get_tab[get_index];
|
||||
|
||||
request->status = db->GetItem(parent_id, url, request->item);
|
||||
@@ -171,7 +171,6 @@ void FunctionParser::ParseParams()
|
||||
|
||||
|
||||
|
||||
|
||||
void FunctionParser::Parse(Request * prequest, Db * pdb, Functions * pfunctions, System * psystem)
|
||||
{
|
||||
request = prequest;
|
||||
@@ -198,7 +197,7 @@ void FunctionParser::Parse(Request * prequest, Db * pdb, Functions * pfunctions,
|
||||
|
||||
if( request->status != WINIX_ERR_OK )
|
||||
return;
|
||||
|
||||
|
||||
ParseFunction();
|
||||
|
||||
if( !request->function && get_index != get_tab_len )
|
||||
|
||||
@@ -123,7 +123,7 @@ Error Functions::CheckSpecialFile(const Item & item)
|
||||
|
||||
Error status = system->mounts.ReadMounts(item.content);
|
||||
templates->ReadNewIndexTemplates();
|
||||
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -183,6 +183,7 @@ void Functions::CreateFunctions()
|
||||
Add(fun_last);
|
||||
Add(fun_login);
|
||||
Add(fun_logout);
|
||||
Add(fun_ln);
|
||||
Add(fun_ls);
|
||||
Add(fun_mkdir);
|
||||
Add(fun_mv);
|
||||
@@ -248,33 +249,26 @@ void Functions::SetDefaultFunctionForFile()
|
||||
|
||||
void Functions::SetDefaultFunctionForDir()
|
||||
{
|
||||
long default_item = request->dir_tab.back()->default_item;
|
||||
|
||||
if( default_item != -1 )
|
||||
{
|
||||
log << log3 << "Functions: Default item: id: " << default_item << logend;
|
||||
system->RedirectTo(default_item);
|
||||
}
|
||||
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
|
||||
request->function = &fun_thread;
|
||||
else
|
||||
{
|
||||
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
|
||||
request->function = &fun_thread;
|
||||
else
|
||||
request->function = &fun_ls;
|
||||
request->function = &fun_ls;
|
||||
|
||||
log << log3 << "Functions: default function: " << request->function->fun.url << logend;
|
||||
}
|
||||
log << log3 << "Functions: default function: " << request->function->fun.url << logend;
|
||||
}
|
||||
|
||||
|
||||
void Functions::SetDefaultFunction()
|
||||
{
|
||||
request->function = 0;
|
||||
|
||||
plugin.Call(WINIX_SELECT_DEFAULT_FUNCTION);
|
||||
|
||||
if( request->function )
|
||||
{
|
||||
log << log3 << "Functions: default function: " << request->function->fun.url << logend;
|
||||
log << log3 << "Functions: default function: " << request->function->fun.url
|
||||
<< " (set by a plugin)" << logend;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -287,75 +281,120 @@ void Functions::SetDefaultFunction()
|
||||
|
||||
|
||||
|
||||
void Functions::MakeGet()
|
||||
|
||||
void Functions::CheckFunctionFollowDir(bool was_default_function)
|
||||
{
|
||||
if( request->role == Request::authorizer )
|
||||
// directory with 'default' flag
|
||||
|
||||
if( was_default_function )
|
||||
{
|
||||
// in authorizer mode only cat function is available
|
||||
// (and must be default)
|
||||
|
||||
if( request->function )
|
||||
if( request->dir_tab.back()->link_redirect == 1 )
|
||||
{
|
||||
request->status = WINIX_ERR_NO_ITEM;
|
||||
log << log1 << "Functions: in authorizer mode only 'cat' funtion is available and must "
|
||||
"be default (not in the url)" << logend;
|
||||
return;
|
||||
system->RedirectTo(request->dir_tab.back()->link_to);
|
||||
}
|
||||
else
|
||||
{
|
||||
if( system->FollowAllLinks(request->dir_tab.back()->link_to, true, true) )
|
||||
SetDefaultFunction();
|
||||
}
|
||||
|
||||
request->function = &fun_cat;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Functions::CheckFunctionFollowSymlink(bool was_default_function)
|
||||
{
|
||||
if( request->item.link_redirect == 1 )
|
||||
{
|
||||
if( was_default_function )
|
||||
system->RedirectTo(request->item.link_to);
|
||||
else
|
||||
system->RedirectWithFunctionAndParamsTo(request->item.link_to);
|
||||
}
|
||||
else
|
||||
if( system->FollowAllLinks(request->item.link_to, true, true) )
|
||||
{
|
||||
if( was_default_function )
|
||||
SetDefaultFunction();
|
||||
|
||||
if( request->status == WINIX_ERR_OK && !request->redirect_to.empty() && !was_default_function && request->function )
|
||||
{
|
||||
// !! nie jestem pewny dodania tej nowej funkcji do redirecta... (sprawdzic to)
|
||||
request->redirect_to += '/';
|
||||
request->redirect_to += request->function->fun.url;
|
||||
system->AddParams(request->param_tab, request->redirect_to, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// making a proper redirection from a directory with 'default' flag
|
||||
// or from a symlink (or just loading it if there is no redirection flag set)
|
||||
void Functions::CheckFunctionAndSymlink()
|
||||
{
|
||||
bool was_default_function = false;
|
||||
|
||||
if( !request->function || request->function == &fun_special_default )
|
||||
{
|
||||
was_default_function = true;
|
||||
SetDefaultFunction();
|
||||
}
|
||||
|
||||
if( !request->redirect_to.empty() )
|
||||
if( request->status != WINIX_ERR_OK || !request->redirect_to.empty() )
|
||||
return;
|
||||
|
||||
if( !request->function )
|
||||
if( !request->is_item && !request->dir_tab.back()->link_to.empty() )
|
||||
CheckFunctionFollowDir(was_default_function);
|
||||
else
|
||||
if( request->is_item && request->item.type == Item::symlink && request->function && request->function->follow_symlinks )
|
||||
CheckFunctionFollowSymlink(was_default_function);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Functions::MakeFunction()
|
||||
{
|
||||
if( !request->function )
|
||||
{
|
||||
request->status = WINIX_ERR_NO_FUNCTION;
|
||||
log << log1 << "Functions: no function (neither cat nor ls)" << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->HasReadExecAccess(request->function->fun) || !request->function->HasAccess() )
|
||||
if( !system->DirsHaveReadExecPerm() ||
|
||||
!system->HasReadExecAccess(request->function->fun) ||
|
||||
!request->function->HasAccess() )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
request->function->MakeGet();
|
||||
if( request->method == Request::get )
|
||||
{
|
||||
if( request->redirect_to.empty() )
|
||||
request->function->MakeGet();
|
||||
}
|
||||
else
|
||||
if( request->method == Request::post )
|
||||
{
|
||||
// we don't use post with redirecting (the post variables would be lost)
|
||||
|
||||
if( request->redirect_to.empty() )
|
||||
request->function->MakePost();
|
||||
else
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
else
|
||||
if( request->method == Request::head )
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
else
|
||||
log << log1 << "Functions: unknown request method (skipping)" << logend;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Functions::MakePost()
|
||||
{
|
||||
if( request->role == Request::authorizer )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !request->function || request->function == &fun_special_default )
|
||||
SetDefaultFunction();
|
||||
|
||||
if( !request->function )
|
||||
{
|
||||
request->status = WINIX_ERR_NO_FUNCTION;
|
||||
log << log1 << "Functions: MakePost: no function" << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->HasReadExecAccess(request->function->fun) || !request->function->HasAccess() )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
request->function->MakePost();
|
||||
}
|
||||
|
||||
|
||||
void Functions::CheckGetPostTimes(time_t difference)
|
||||
@@ -505,6 +544,7 @@ void Functions::ReadItemContentWithType(Item & item)
|
||||
// item_type - the type of an item you are expecting to read
|
||||
// returns true if the url has to be changed
|
||||
// at the moment this is only checked for Item::file - for Item::dir it returns always true
|
||||
// !! zmienic nazwe na ReadUrlSubjectContent
|
||||
void Functions::ReadItem(Item & item, Item::Type item_type)
|
||||
{
|
||||
if( item_type == Item::none )
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "last.h"
|
||||
#include "login.h"
|
||||
#include "logout.h"
|
||||
#include "ln.h"
|
||||
#include "ls.h"
|
||||
#include "mkdir.h"
|
||||
#include "mv.h"
|
||||
@@ -69,6 +70,7 @@ public:
|
||||
Fun::Last fun_last;
|
||||
Fun::Login fun_login;
|
||||
Fun::Logout fun_logout;
|
||||
Fun::Ln fun_ln;
|
||||
Fun::Ls fun_ls;
|
||||
Fun::Mkdir fun_mkdir;
|
||||
Fun::Mv fun_mv;
|
||||
@@ -99,8 +101,9 @@ public:
|
||||
Iterator Begin();
|
||||
Iterator End();
|
||||
|
||||
void MakeGet();
|
||||
void MakePost();
|
||||
void CheckFunctionAndSymlink();
|
||||
void MakeFunction();
|
||||
|
||||
|
||||
void SetConfig(Config * pconfig);
|
||||
void SetRequest(Request * prequest);
|
||||
@@ -145,6 +148,7 @@ private:
|
||||
|
||||
std::wstring temp;
|
||||
HTMLFilter html_filter;
|
||||
std::wstring link_to_temp;
|
||||
|
||||
void CreateFunctions();
|
||||
void InitFunctions();
|
||||
@@ -158,6 +162,11 @@ private:
|
||||
Table table;
|
||||
|
||||
FunctionParser function_parser;
|
||||
|
||||
void CheckFunctionFollowDir(bool was_default_function);
|
||||
void CheckFunctionFollowSymlink(bool was_default_function);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "funthread.h"
|
||||
|
||||
|
||||
namespace Fun
|
||||
namespace Thread
|
||||
{
|
||||
|
||||
FunThread::FunThread()
|
||||
@@ -31,7 +31,6 @@ bool FunThread::HasAccess()
|
||||
|
||||
void FunThread::Clear()
|
||||
{
|
||||
is_thread = false;
|
||||
thread.Clear();
|
||||
thread_tab.clear();
|
||||
}
|
||||
@@ -80,6 +79,8 @@ void FunThread::MakeGet()
|
||||
|
||||
CreateSortIndexByDate();
|
||||
std::sort(thread_tab.begin(), thread_tab.end(), FunThreadSort);
|
||||
|
||||
Clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfilecmslucontentthread
|
||||
#define headerfilecmslucontentthread
|
||||
#ifndef headerfile_winix_plugins_thread_funthread
|
||||
#define headerfile_winix_plugins_thread_funthread
|
||||
|
||||
#include "functionbase.h"
|
||||
#include "functions/functionbase.h"
|
||||
#include "core/thread.h"
|
||||
|
||||
|
||||
namespace Fun
|
||||
namespace Thread
|
||||
{
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ public:
|
||||
|
||||
FunThread();
|
||||
bool HasAccess();
|
||||
void Clear();
|
||||
void MakeGet();
|
||||
|
||||
// current thread (if exists)
|
||||
@@ -36,6 +35,7 @@ private:
|
||||
|
||||
static bool FunThreadSort(const Thread & t1, const Thread & t2);
|
||||
void CreateSortIndexByDate();
|
||||
void Clear();
|
||||
|
||||
};
|
||||
|
||||
|
||||
111
functions/ln.cpp
Executable file
111
functions/ln.cpp
Executable file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ln.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions/functions.h"
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
{
|
||||
|
||||
Ln::Ln()
|
||||
{
|
||||
fun.url = L"ln";
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Ln::HasAccess()
|
||||
{
|
||||
return system->HasWriteAccess(*request->dir_tab.back());
|
||||
}
|
||||
|
||||
|
||||
void Ln::CreateSymbolicLink(const std::wstring & link_to)
|
||||
{
|
||||
item.Clear(); // setting the date to now
|
||||
item.type = Item::symlink;
|
||||
item.parent_id = request->dir_tab.back()->id;
|
||||
item.url = request->PostVar(L"url");
|
||||
item.link_to = link_to;
|
||||
item.link_redirect = request->IsPostVar(L"makeredirect") ? 1 : 0;
|
||||
item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask
|
||||
functions->SetUser(item);
|
||||
functions->PrepareUrl(item);
|
||||
|
||||
request->status = db->AddItem(item);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
log << log3 << "Ln: created a symbolic link to: " << link_to << logend;
|
||||
}
|
||||
|
||||
|
||||
void Ln::CreateHardLink(const std::wstring & link_to)
|
||||
{
|
||||
int res = system->FollowAllLinks(request->dir_tab, link_to, dir_tab, item, false, false);
|
||||
|
||||
if( res == 0 )
|
||||
{
|
||||
log << log2 << "Ln: " << link_to << " is a directory (can't create a hard link)" << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
else
|
||||
if( res == 1 )
|
||||
{
|
||||
item.SetDateToNow();
|
||||
item.type = Item::file;
|
||||
item.parent_id = request->dir_tab.back()->id;
|
||||
item.url = request->PostVar(L"url");
|
||||
item.privileges = 0644; // !! tymczasowo, bedzie uzyte umask
|
||||
functions->SetUser(item);
|
||||
functions->PrepareUrl(item);
|
||||
request->status = db->AddHardLink(item);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
log << log3 << "Ln: created a hard link to: " << link_to << logend;
|
||||
}
|
||||
else
|
||||
if( res == 5 || res == 6 )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
else
|
||||
{
|
||||
request->status = WINIX_ERR_NO_ITEM;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// we do not use notifications for links
|
||||
void Ln::MakePost()
|
||||
{
|
||||
link_to = request->PostVar(L"linkto");
|
||||
TrimWhite(link_to);
|
||||
|
||||
if( link_to.empty() )
|
||||
return;
|
||||
|
||||
int type = Toi(request->PostVar(L"linktype"));
|
||||
|
||||
if( type == 0 )
|
||||
CreateHardLink(link_to);
|
||||
else
|
||||
CreateSymbolicLink(link_to);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
system->RedirectTo(item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
42
functions/ln.h
Executable file
42
functions/ln.h
Executable file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfilecmslucontentln
|
||||
#define headerfilecmslucontentln
|
||||
|
||||
#include "functionbase.h"
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
{
|
||||
|
||||
|
||||
class Ln : public FunctionBase
|
||||
{
|
||||
public:
|
||||
|
||||
Ln();
|
||||
bool HasAccess();
|
||||
void CreateSymbolicLink(const std::wstring & link_to);
|
||||
void CreateHardLink(const std::wstring & link_to);
|
||||
void MakePost();
|
||||
|
||||
private:
|
||||
|
||||
Item item;
|
||||
std::wstring link_to;
|
||||
std::vector<Item*> dir_tab;
|
||||
|
||||
};
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
#endif
|
||||
@@ -30,7 +30,7 @@ void Ls::MakeGet()
|
||||
iq.sel_content = false;
|
||||
|
||||
iq.WhereParentId(request->dir_tab.back()->id);
|
||||
iq.WhereType(Item::file);
|
||||
iq.WhereType(Item::dir, false);
|
||||
|
||||
if( request->IsParam(L"ckeditor_browse") )
|
||||
{
|
||||
|
||||
425
functions/mv.cpp
425
functions/mv.cpp
@@ -18,25 +18,38 @@ namespace Fun
|
||||
Mv::Mv()
|
||||
{
|
||||
fun.url = L"mv";
|
||||
follow_symlinks = false;
|
||||
}
|
||||
|
||||
|
||||
bool Mv::MoveCheckAccessFromToDir()
|
||||
bool Mv::HasAccess()
|
||||
{
|
||||
return CheckAccessFrom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Mv::CheckAccessFromToDir()
|
||||
{
|
||||
Item * last;
|
||||
Item * last_but_one = 0;
|
||||
size_t dir_tab_size;
|
||||
|
||||
last = request->dir_tab[request->dir_tab.size()-1];
|
||||
last = request->dir_tab.back();
|
||||
dir_tab_size = request->dir_tab.size();
|
||||
|
||||
if( request->dir_tab.size() >= 2 )
|
||||
last_but_one = request->dir_tab[request->dir_tab.size()-2];
|
||||
if( dir_tab_size <= 1 )
|
||||
return false; // you cannot move the root directory
|
||||
|
||||
last_but_one = request->dir_tab[dir_tab_size - 2];
|
||||
|
||||
if( request->method != Request::post )
|
||||
{
|
||||
// used in GET or HEAD
|
||||
// we don't now whether we move the last directory or the last but one
|
||||
// it depends on the 'onlycontent' parameter
|
||||
|
||||
if( !system->HasWriteAccess(*last) &&
|
||||
(!last_but_one || !system->HasWriteAccess(*last_but_one)) )
|
||||
if( !system->HasWriteAccess(*last) && !system->HasWriteAccess(*last_but_one) )
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -46,10 +59,7 @@ Item * last_but_one = 0;
|
||||
if( request->IsPostVar(L"onlycontent") )
|
||||
return system->HasWriteAccess(*last);
|
||||
else
|
||||
if( last_but_one )
|
||||
return system->HasWriteAccess(*last_but_one);
|
||||
else
|
||||
return false; // you cannot move the root directory
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -57,7 +67,8 @@ return true;
|
||||
|
||||
|
||||
|
||||
bool Mv::MoveCheckAccessFrom()
|
||||
|
||||
bool Mv::CheckAccessFrom()
|
||||
{
|
||||
if( request->is_item )
|
||||
{
|
||||
@@ -71,7 +82,7 @@ bool Mv::MoveCheckAccessFrom()
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !MoveCheckAccessFromToDir() )
|
||||
if( !CheckAccessFromToDir() )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
@@ -82,17 +93,11 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
bool Mv::MoveCheckAccessTo(long dir_id)
|
||||
bool Mv::CheckAccessTo()
|
||||
{
|
||||
Item * pdir = system->dirs.GetDir(dir_id);
|
||||
|
||||
if( !pdir )
|
||||
{
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !system->HasReadExecAccessToPath(dir_id) || !system->HasWriteAccess(*pdir) )
|
||||
if( dir_tab.empty() ||
|
||||
!system->HasReadExecAccessToPath(dir_tab) ||
|
||||
!system->HasWriteAccess(*dir_tab.back()) )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
@@ -103,85 +108,222 @@ return true;
|
||||
|
||||
|
||||
|
||||
bool Mv::MoveCheckMountPoints(long dir_id)
|
||||
|
||||
|
||||
bool Mv::ParseDir()
|
||||
{
|
||||
/*
|
||||
Mount * new_mount = system->mounts.CalcMount(dir_id);
|
||||
|
||||
if( !new_mount )
|
||||
{
|
||||
if( system->mounts.pmount->type != system->mounts.MountTypeCms() )
|
||||
{
|
||||
request->status = WINIX_DIFFERENT_MOUNT_POINTS;
|
||||
return false;
|
||||
}
|
||||
const std::wstring & new_dir = request->PostVar(L"to");
|
||||
int res = system->dirs.FollowLink(request->dir_tab, new_dir, dir_tab, file);
|
||||
|
||||
return true;
|
||||
}
|
||||
if( res == 3 )
|
||||
request->status = WINIX_ERR_NO_ROOT_DIR;
|
||||
else
|
||||
if( res != 0 && res != 1 )
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
|
||||
if( new_mount->type != system->mounts.pmount->type )
|
||||
{
|
||||
request->status = WINIX_DIFFERENT_MOUNT_POINTS;
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
return true;
|
||||
return res == 0 || res == 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Mv::MoveParseDir(long & dir_id, std::wstring & dir, std::wstring & file)
|
||||
bool Mv::MoveStaticFile(const std::wstring & from, const std::wstring & to)
|
||||
{
|
||||
int res = system->dirs.AnalyzePath(request->PostVar(L"to"), dir_id, dir, file);
|
||||
if( from == to )
|
||||
{
|
||||
log << log3 << "Mv: the same path to a static file: " << to << " (skipped)" << logend;
|
||||
return true;
|
||||
}
|
||||
|
||||
if( res == 1 )
|
||||
request->status = WINIX_ERR_NO_ROOT_DIR;
|
||||
if( RenameFile(from, to) )
|
||||
{
|
||||
log << log2 << "Mv: moved static file from: " << from << ", to: " << to << logend;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
if( res != 0 )
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
|
||||
return res == 0;
|
||||
{
|
||||
log << log1 << "Mv: can't move a file from: " << from << ", to: " << to << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveStaticFile(Item & item)
|
||||
{
|
||||
bool res1 = system->MakeFilePath(item, old_path);
|
||||
bool res2 = system->CreateNewFile(item);
|
||||
bool res3 = system->MakeFilePath(item, mv_new_path, false, true, config->upload_dirs_chmod);
|
||||
bool res1, res2, res3, res4, res5;
|
||||
|
||||
res1 = system->MakeFilePath(item, old_path, false);
|
||||
res2 = !item.has_thumb || system->MakeFilePath(item, old_path_thumb, true);
|
||||
res3 = system->CreateNewFile(item);
|
||||
res4 = system->MakeFilePath(item, new_path, false, true, config->upload_dirs_chmod);
|
||||
res5 = !item.has_thumb || system->MakeFilePath(item, new_path_thumb, true, true, config->upload_dirs_chmod);
|
||||
|
||||
if( !res1 || !res2 || !res3 )
|
||||
if( !res1 || !res2 || !res3 || !res4 || !res5 )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
if( RenameFile(old_path, mv_new_path) )
|
||||
{
|
||||
log << log1 << "Mv: moved static file from: " << old_path << ", to: " << mv_new_path << logend;
|
||||
request->status = db->EditFileById(item, item.id);
|
||||
}
|
||||
else
|
||||
if( MoveStaticFile(old_path, new_path) )
|
||||
{
|
||||
log << log1 << "Mv: can't move a file from: " << old_path << ", to: " << mv_new_path << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
request->status = db->EditFileById(item, item.id);
|
||||
|
||||
if( item.has_thumb )
|
||||
MoveStaticFile(old_path_thumb, new_path_thumb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Mv::MoveIsTheSameFile(const Item & item)
|
||||
|
||||
void Mv::MoveFileOrSymlink(Item & item)
|
||||
{
|
||||
if( mv_file.empty() )
|
||||
old_url = item.url;
|
||||
|
||||
if( !file.empty() )
|
||||
{
|
||||
if( item.parent_id == mv_dir_id )
|
||||
item.url = file;
|
||||
functions->PrepareUrl(item);
|
||||
file.clear();
|
||||
}
|
||||
|
||||
item.parent_id = dir_tab.back()->id;
|
||||
request->status = db->EditParentUrlById(item, item.id);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
if( item.type == Item::file )
|
||||
log << log3 << "Mv: file: ";
|
||||
else
|
||||
log << log3 << "Mv: symlink: ";
|
||||
|
||||
log << old_url << " was moved to: ";
|
||||
system->dirs.LogDir(dir_tab);
|
||||
log << item.url << logend;
|
||||
|
||||
if( item.file_type != WINIX_ITEM_FILETYPE_NONE )
|
||||
MoveStaticFile(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Mv::MoveDirContent(const Item & dir)
|
||||
{
|
||||
content_dir_iq.WhereParentId(dir.id);
|
||||
db->GetItems(item_tab, content_dir_iq);
|
||||
|
||||
for(size_t i=0 ; i<item_tab.size() ; ++i)
|
||||
{
|
||||
if( item_tab[i].type == Item::dir )
|
||||
MoveDir(item_tab[i]);
|
||||
else
|
||||
MoveFileOrSymlink(item_tab[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Mv::Prepare()
|
||||
{
|
||||
content_dir_iq.SetAll(false, false);
|
||||
content_dir_iq.sel_parent_id = true;
|
||||
content_dir_iq.sel_type = true;
|
||||
content_dir_iq.sel_url = true;
|
||||
content_dir_iq.sel_file = true;
|
||||
|
||||
static_iq.SetAll(false, false);
|
||||
static_iq.sel_parent_id = true;
|
||||
static_iq.sel_type = true;
|
||||
static_iq.sel_url = true;
|
||||
static_iq.sel_file = true;
|
||||
|
||||
static_iq.WhereType(Item::file);
|
||||
static_iq.WhereFileType(WINIX_ITEM_FILETYPE_NONE, false);
|
||||
}
|
||||
|
||||
|
||||
void Mv::Clear()
|
||||
{
|
||||
dir_tab.clear();
|
||||
static_item_tab.clear();
|
||||
item_tab.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveStaticFilesTree(const Item & dir)
|
||||
{
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstChild(dir.id);
|
||||
|
||||
// go through all directories
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextChild(i) )
|
||||
MoveStaticFilesTree(*(i->second));
|
||||
|
||||
static_iq.WhereParentId(dir.id);
|
||||
db->GetItems(static_item_tab, static_iq);
|
||||
|
||||
for(size_t i=0 ; i<static_item_tab.size() ; ++i)
|
||||
MoveStaticFile(static_item_tab[i]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveDir(Item & dir)
|
||||
{
|
||||
long dst_dir_id = dir_tab.back()->id;
|
||||
old_url = dir.url;
|
||||
|
||||
if( dst_dir_id == dir.id || system->dirs.HasParent(dst_dir_id, dir.id) )
|
||||
{
|
||||
log << log1 << "Mv: cannot move directory to inside it" << logend;
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->dirs.ChangeParent(dir.id, dst_dir_id) )
|
||||
{
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
dir.parent_id = dst_dir_id;
|
||||
|
||||
if( !file.empty() )
|
||||
{
|
||||
dir.url = file;
|
||||
functions->PrepareUrl(dir);
|
||||
file.clear();
|
||||
}
|
||||
|
||||
request->status = db->EditParentUrlById(dir, dir.id);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
log << log3 << "Mv: directory: " << old_url << " was moved to: ";
|
||||
system->dirs.LogDir(dir_tab);
|
||||
log << dir.url << logend;
|
||||
|
||||
MoveStaticFilesTree(dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
bool Mv::IsTheSameFile(const Item & item)
|
||||
{
|
||||
if( file.empty() )
|
||||
{
|
||||
if( item.parent_id == dir_tab.back()->id )
|
||||
return true; // nothing to do
|
||||
}
|
||||
else
|
||||
{
|
||||
if( item.parent_id == mv_dir_id && item.url == mv_file )
|
||||
if( item.parent_id == dir_tab.back()->id && item.url == file )
|
||||
return true; // nothing to do
|
||||
}
|
||||
|
||||
@@ -190,131 +332,48 @@ return false;
|
||||
|
||||
|
||||
|
||||
void Mv::MoveFile(Item & item, bool redirect)
|
||||
void Mv::PostMoveFile()
|
||||
{
|
||||
if( MoveIsTheSameFile(item) )
|
||||
if( IsTheSameFile(request->item) )
|
||||
return;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
{
|
||||
item.url = mv_file;
|
||||
functions->PrepareUrl(item);
|
||||
}
|
||||
|
||||
item.parent_id = mv_dir_id;
|
||||
request->status = db->EditParentUrlById(item, item.id);
|
||||
MoveFileOrSymlink(request->item);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
log << log2 << "Mv: the file was moved to: " << mv_dir << item.url << logend;
|
||||
|
||||
if( item.file_type != WINIX_ITEM_FILETYPE_NONE )
|
||||
MoveStaticFile(item);
|
||||
|
||||
if( redirect )
|
||||
system->RedirectTo(item);
|
||||
}
|
||||
system->RedirectTo(request->item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveContentOfDir()
|
||||
void Mv::PostMoveDirContent()
|
||||
{
|
||||
DbItemQuery iq;
|
||||
|
||||
iq.sel_parent_id = true;
|
||||
iq.sel_type = true;
|
||||
iq.sel_url = true;
|
||||
iq.sel_file = true;
|
||||
iq.WhereParentId(request->dir_tab.back()->id);
|
||||
|
||||
db->GetItems(request->item_tab, iq);
|
||||
|
||||
for(size_t i=0 ; i<request->item_tab.size() ; ++i)
|
||||
if( !file.empty() )
|
||||
{
|
||||
if( request->item_tab[i].type == Item::dir )
|
||||
MoveDir(request->item_tab[i], false);
|
||||
else
|
||||
MoveFile(request->item_tab[i], false);
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
if( request->dir_tab.back()->id == dir_tab.back()->id )
|
||||
return; // nothing to do
|
||||
|
||||
MoveDirContent(*request->dir_tab.back());
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveAuthPrepareQuery()
|
||||
void Mv::PostMoveDir()
|
||||
{
|
||||
mv_auth_iq.SetAll(false, false);
|
||||
Item & last_dir = *request->dir_tab.back();
|
||||
Item & new_dir = *dir_tab.back();
|
||||
|
||||
mv_auth_iq.sel_parent_id = true;
|
||||
mv_auth_iq.sel_type = true;
|
||||
mv_auth_iq.sel_url = true;
|
||||
mv_auth_iq.sel_file = true;
|
||||
|
||||
mv_auth_iq.WhereType(Item::file);
|
||||
mv_auth_iq.WhereFileType(WINIX_ITEM_FILETYPE_NONE, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveAuthContentOfDir(const Item & item)
|
||||
{
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstParent(item.id);
|
||||
|
||||
// go through all directories
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextParent(i) )
|
||||
MoveAuthContentOfDir(*(i->second));
|
||||
|
||||
mv_auth_iq.WhereParentId(item.id);
|
||||
|
||||
// don't use request->item here (is used in MoveContentOfDir())
|
||||
db->GetItems(mv_auth, mv_auth_iq);
|
||||
|
||||
for(size_t i=0 ; i<mv_auth.size() ; ++i)
|
||||
MoveStaticFile(mv_auth[i]);
|
||||
|
||||
mv_auth.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MoveDir(Item & item, bool redirect)
|
||||
{
|
||||
if( mv_file.empty() && mv_dir_id == item.id )
|
||||
if( file.empty() && new_dir.id == last_dir.id )
|
||||
return; // nothing to do
|
||||
|
||||
if( mv_dir_id == item.id || system->dirs.HasParent(mv_dir_id, item.id) )
|
||||
{
|
||||
log << log1 << "Mv: cannot move directory to inside it" << logend;
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->dirs.ChangeParent(item.id, mv_dir_id) )
|
||||
{
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
return;
|
||||
}
|
||||
|
||||
item.parent_id = mv_dir_id;
|
||||
|
||||
if( !mv_file.empty() )
|
||||
{
|
||||
item.url = mv_file;
|
||||
functions->PrepareUrl(item);
|
||||
}
|
||||
|
||||
request->status = db->EditParentUrlById(item, item.id);
|
||||
MoveDir(last_dir);
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
log << log2 << "Mv: the directory was moved to: " << mv_dir << item.url << logend;
|
||||
MoveAuthContentOfDir(item);
|
||||
|
||||
if( redirect )
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
@@ -322,41 +381,29 @@ void Mv::MoveDir(Item & item, bool redirect)
|
||||
|
||||
void Mv::MakePost()
|
||||
{
|
||||
if( MoveCheckAccessFrom() &&
|
||||
MoveParseDir(mv_dir_id, mv_dir, mv_file) &&
|
||||
MoveCheckAccessTo(mv_dir_id) &&
|
||||
MoveCheckMountPoints(mv_dir_id) )
|
||||
if( CheckAccessFrom() &&
|
||||
ParseDir() &&
|
||||
CheckAccessTo() )
|
||||
{
|
||||
Prepare();
|
||||
|
||||
if( request->is_item )
|
||||
{
|
||||
MoveFile(request->item);
|
||||
PostMoveFile();
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveAuthPrepareQuery();
|
||||
|
||||
if( request->IsPostVar(L"onlycontent") )
|
||||
{
|
||||
if( mv_file.empty() )
|
||||
MoveContentOfDir();
|
||||
else
|
||||
request->status = WINIX_ERR_INCORRECT_DIR;
|
||||
}
|
||||
PostMoveDirContent();
|
||||
else
|
||||
{
|
||||
MoveDir(*request->dir_tab.back());
|
||||
}
|
||||
PostMoveDir();
|
||||
}
|
||||
|
||||
Clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mv::MakeGet()
|
||||
{
|
||||
MoveCheckAccessFrom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -14,40 +14,59 @@
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
{
|
||||
|
||||
|
||||
|
||||
class Mv : public FunctionBase
|
||||
{
|
||||
public:
|
||||
|
||||
Mv();
|
||||
bool HasAccess();
|
||||
void MakePost();
|
||||
void MakeGet();
|
||||
|
||||
private:
|
||||
|
||||
std::wstring mv_dir;
|
||||
std::wstring mv_file;
|
||||
std::wstring mv_new_path;
|
||||
std::wstring old_path;
|
||||
long mv_dir_id;
|
||||
std::vector<Item> mv_auth;
|
||||
DbItemQuery mv_auth_iq;
|
||||
// destination dir
|
||||
std::vector<Item*> dir_tab;
|
||||
|
||||
bool MoveCheckAccessFromToDir();
|
||||
bool MoveCheckAccessFrom();
|
||||
bool MoveCheckAccessTo(long dir_id);
|
||||
bool MoveCheckMountPoints(long dir_id);
|
||||
bool MoveParseDir(long & dir_id, std::wstring & dir, std::wstring & file);
|
||||
// destination file (if exists)
|
||||
std::wstring file;
|
||||
|
||||
// for copying static files
|
||||
std::wstring new_path, new_path_thumb;
|
||||
std::wstring old_path, old_path_thumb;
|
||||
|
||||
// for static files
|
||||
std::vector<Item> static_item_tab;
|
||||
DbItemQuery static_iq;
|
||||
|
||||
// for moving content of a directory
|
||||
DbItemQuery content_dir_iq;
|
||||
std::vector<Item> item_tab;
|
||||
|
||||
// for logging
|
||||
std::wstring old_url;
|
||||
|
||||
bool CheckAccessFromToDir();
|
||||
bool CheckAccessFrom();
|
||||
bool CheckAccessTo();
|
||||
bool ParseDir();
|
||||
bool MoveStaticFile(const std::wstring & from, const std::wstring & to);
|
||||
void MoveStaticFile(Item & item);
|
||||
bool MoveIsTheSameFile(const Item & item);
|
||||
void MoveFile(Item & item, bool redirect = true);
|
||||
void MoveContentOfDir();
|
||||
void MoveAuthPrepareQuery();
|
||||
void MoveAuthContentOfDir(const Item & item);
|
||||
void MoveDir(Item & item, bool redirect = true);
|
||||
void MoveFileOrSymlink(Item & item);
|
||||
void MoveDirContent(const Item & dir);
|
||||
void Prepare();
|
||||
void Clear();
|
||||
void MoveStaticFilesTree(const Item & dir);
|
||||
void MoveDir(Item & dir);
|
||||
bool IsTheSameFile(const Item & item);
|
||||
void PostMoveFile();
|
||||
void PostMoveDirContent();
|
||||
void PostMoveDir();
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ void PrivChanger::PrivFilesInDir(long parent_id)
|
||||
iq.sel_user_id = iq.sel_group_id = iq.sel_guest_name = iq.sel_privileges = true;
|
||||
|
||||
iq.WhereParentId(parent_id);
|
||||
iq.WhereType(Item::file);
|
||||
iq.WhereType(Item::dir, false);
|
||||
|
||||
db->GetItems(request->item_tab, iq);
|
||||
|
||||
@@ -194,9 +194,9 @@ void PrivChanger::PrivDir(long parent_id)
|
||||
PrivFilesInDir(parent_id);
|
||||
|
||||
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstParent(parent_id);
|
||||
DirContainer::ParentIterator i = system->dirs.FindFirstChild(parent_id);
|
||||
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextParent(i) )
|
||||
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextChild(i) )
|
||||
{
|
||||
PrivLog(L"changed dir: ", -1, i->second->url);
|
||||
ChangePriv(*(i->second), user_id_dir, group_id_dir, priv_dir);
|
||||
|
||||
272
functions/rm.cpp
272
functions/rm.cpp
@@ -22,6 +22,7 @@ namespace Fun
|
||||
Rm::Rm()
|
||||
{
|
||||
fun.url = L"rm";
|
||||
follow_symlinks = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,9 +36,10 @@ bool Rm::HasAccess(const Item & item)
|
||||
|
||||
if( item.parent_id == -1 )
|
||||
{
|
||||
// rm for the root dir
|
||||
// only the superuser can do it
|
||||
if( !request->session->puser || !request->session->puser->super_user )
|
||||
// we can only remove the content of the root directory
|
||||
// and here we check only access the the root dir
|
||||
// "onlycontent" parameter should be check in post method
|
||||
if( !system->HasWriteAccess(item) )
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -72,39 +74,110 @@ return true;
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveAuthPrepareQuery()
|
||||
void Rm::Prepare()
|
||||
{
|
||||
rm_auth_iq.SetAll(true, false);
|
||||
content_dir_iq.SetAll(false, false);
|
||||
content_dir_iq.sel_parent_id = true;
|
||||
content_dir_iq.sel_type = true;
|
||||
content_dir_iq.sel_url = true;
|
||||
content_dir_iq.sel_file = true;
|
||||
|
||||
rm_auth_iq.sel_parent_id = true;
|
||||
rm_auth_iq.sel_type = true;
|
||||
rm_auth_iq.sel_file = true;
|
||||
static_iq.SetAll(false, false);
|
||||
static_iq.sel_parent_id = true;
|
||||
static_iq.sel_type = true;
|
||||
static_iq.sel_url = true;
|
||||
static_iq.sel_file = true;
|
||||
|
||||
rm_auth_iq.WhereType(Item::file);
|
||||
rm_auth_iq.WhereFileType(WINIX_ITEM_FILETYPE_NONE, false);
|
||||
static_iq.WhereType(Item::file);
|
||||
static_iq.WhereFileType(WINIX_ITEM_FILETYPE_NONE, false);
|
||||
}
|
||||
|
||||
|
||||
bool Rm::RemoveStaticFile(const std::wstring & path)
|
||||
{
|
||||
if( ::RemoveFile(path) )
|
||||
{
|
||||
log << log2 << "Rm: removed static file: " << path << logend;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Rm: can't remove a file: " << path << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Rm::RemoveStaticFile(Item & item)
|
||||
{
|
||||
if( system->MakeFilePath(item, path, false) )
|
||||
{
|
||||
if( RemoveStaticFile(path) )
|
||||
{
|
||||
if( item.has_thumb && system->MakeFilePath(item, path, true) )
|
||||
{
|
||||
RemoveStaticFile(path);
|
||||
item.has_thumb = false;
|
||||
}
|
||||
|
||||
// we don't store it to db (it will be removed or is removed already)
|
||||
item.file_path.clear();
|
||||
item.file_type = WINIX_ITEM_FILETYPE_NONE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveAllDirs(long dir_id)
|
||||
void Rm::RemoveFileOrSymlink(Item & item)
|
||||
{
|
||||
DirContainer::ParentIterator pnext, p = system->dirs.FindFirstParent(dir_id);
|
||||
if( db->DelItem(item) == WINIX_ERR_OK )
|
||||
{
|
||||
if( item.type == Item::file )
|
||||
log << log2 << "Rm: deleted file ";
|
||||
else
|
||||
log << log2 << "Rm: deleted symlink ";
|
||||
|
||||
log << item.url << logend;
|
||||
|
||||
TemplatesFunctions::pattern_cacher.DeletePattern(item);
|
||||
plugin.Call(WINIX_FILE_REMOVED, item.id);
|
||||
db->EditThreadRemoveItem(item.parent_id);
|
||||
|
||||
if( item.file_type != WINIX_ITEM_FILETYPE_NONE )
|
||||
RemoveStaticFile(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
// request->status = WINIX_ERR_NO_ITEM;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Rm::RemoveDirTree(long dir_id)
|
||||
{
|
||||
DirContainer::ParentIterator pnext, p = system->dirs.FindFirstChild(dir_id);
|
||||
|
||||
for( ; p != system->dirs.ParentEnd() ; p = pnext )
|
||||
{
|
||||
// this iterator p will be deleted by the next DeleteDir(p->second->id)
|
||||
// (the next iterator we must calculate beforehand)
|
||||
pnext = system->dirs.NextParent(p);
|
||||
RemoveAllDirs(p->second->id);
|
||||
pnext = system->dirs.NextChild(p);
|
||||
RemoveDirTree(p->second->id);
|
||||
}
|
||||
|
||||
plugin.Call(WINIX_DIR_PREPARE_TO_REMOVE, dir_id);
|
||||
|
||||
rm_auth_iq.WhereParentId(dir_id);
|
||||
db->GetItems(request->item_tab, rm_auth_iq);
|
||||
static_iq.WhereParentId(dir_id);
|
||||
db->GetItems(static_item_tab, static_iq);
|
||||
|
||||
for(size_t i=0 ; i<request->item_tab.size() ; ++i)
|
||||
RemoveStaticFile(request->item_tab[i]);
|
||||
for(size_t i=0 ; i<static_item_tab.size() ; ++i)
|
||||
RemoveStaticFile(static_item_tab[i]);
|
||||
|
||||
if( db->DelDirById(dir_id) == WINIX_ERR_OK )
|
||||
{
|
||||
@@ -117,115 +190,96 @@ void Rm::RemoveAllDirs(long dir_id)
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveAllDirs()
|
||||
void Rm::RemoveDir(const Item & dir)
|
||||
{
|
||||
RemoveAuthPrepareQuery();
|
||||
old_url = dir.url;
|
||||
RemoveDirTree(dir.id);
|
||||
|
||||
// this method deletes recursively all directories
|
||||
RemoveAllDirs(request->dir_tab.back()->id);
|
||||
request->dir_tab.erase(--request->dir_tab.end());
|
||||
|
||||
if( request->dir_tab.empty() )
|
||||
{
|
||||
// we have deleted the root directory
|
||||
system->dirs.CheckRootDir(); // adding a new root dir
|
||||
Item * proot = system->dirs.GetRootDir();
|
||||
|
||||
if( proot )
|
||||
request->dir_tab.push_back(proot);
|
||||
else
|
||||
// there is no a root dir
|
||||
// CheckRootDir() didn't add the root dir (probably problem with the database)
|
||||
// make sure that ::Make() will check that the dir_tab is empty and returns
|
||||
return;
|
||||
}
|
||||
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
void Rm::RemoveDir()
|
||||
{
|
||||
if( request->param_tab.empty() )
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED; // use parameter "r" for removing a directory
|
||||
else
|
||||
if( request->IsParam(L"r") )
|
||||
RemoveAllDirs();
|
||||
else
|
||||
request->status = WINIX_ERR_UNKNOWN_PARAM;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveStaticFile(Item & item)
|
||||
{
|
||||
if( item.file_path.empty() )
|
||||
{
|
||||
log << log1 << "Rm: can't remove a static file: file_path is empty" << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->MakeFilePath(item, path) )
|
||||
return;
|
||||
|
||||
if( ::RemoveFile(path) )
|
||||
{
|
||||
log << log1 << "Rm: removed static file: " << path << logend;
|
||||
item.file_path.clear();
|
||||
item.file_type = WINIX_ITEM_FILETYPE_NONE;
|
||||
// we don't store it to db (will be removed or is removed already)
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Rm: can't remove a file: " << path << logend;
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
}
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
log << log3 << "Rm: removed directory " << old_url << logend;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveFile()
|
||||
{
|
||||
// for safety we check if param_tab is empty
|
||||
// a user can use "confirm" but can make a mistake when typing
|
||||
if( !request->param_tab.empty() )
|
||||
{
|
||||
request->status = WINIX_ERR_UNKNOWN_PARAM;
|
||||
return;
|
||||
}
|
||||
RemoveFileOrSymlink(request->item);
|
||||
|
||||
if( db->DelItem( request->item ) )
|
||||
{
|
||||
log << log2 << "Rm: deleted item: subject: " << request->item.subject << ", id: " << request->item.id << logend;
|
||||
TemplatesFunctions::pattern_cacher.DeletePattern(request->item);
|
||||
|
||||
plugin.Call(WINIX_FILE_REMOVED, request->item.id);
|
||||
|
||||
if( system->mounts.pmount->type == system->mounts.MountTypeThread() )
|
||||
db->EditThreadRemoveItem(request->item.parent_id);
|
||||
|
||||
if( request->item.file_type != WINIX_ITEM_FILETYPE_NONE )
|
||||
RemoveStaticFile(request->item);
|
||||
}
|
||||
else
|
||||
{
|
||||
request->status = WINIX_ERR_NO_ITEM;
|
||||
}
|
||||
|
||||
system->RedirectToLastDir();
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::MakeGet()
|
||||
void Rm::RemoveDirContent()
|
||||
{
|
||||
if( request->IsParam(L"confirm") )
|
||||
return; // show confirmation dialog
|
||||
if( !request->IsParam(L"r") )
|
||||
{
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
content_dir_iq.WhereParentId(request->dir_tab.back()->id);
|
||||
db->GetItems(item_tab, content_dir_iq);
|
||||
|
||||
for(size_t i=0 ; i<item_tab.size() ; ++i)
|
||||
{
|
||||
if( item_tab[i].type == Item::dir )
|
||||
RemoveDir(item_tab[i]);
|
||||
else
|
||||
RemoveFileOrSymlink(item_tab[i]);
|
||||
}
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::RemoveDir()
|
||||
{
|
||||
if( !request->IsParam(L"r") || request->dir_tab.size() <= 1 )
|
||||
{
|
||||
// we cannot remove the root directory (dir_tab.size()==1)
|
||||
request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
return;
|
||||
}
|
||||
|
||||
RemoveDir(*request->dir_tab.back());
|
||||
request->dir_tab.erase(--request->dir_tab.end());
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
system->RedirectToLastDir();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Rm::Clear()
|
||||
{
|
||||
static_item_tab.clear();
|
||||
item_tab.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rm::MakePost()
|
||||
{
|
||||
Prepare();
|
||||
|
||||
if( request->is_item )
|
||||
{
|
||||
RemoveFile();
|
||||
}
|
||||
else
|
||||
RemoveDir();
|
||||
{
|
||||
if( request->IsPostVar(L"onlycontent") )
|
||||
RemoveDirContent();
|
||||
else
|
||||
RemoveDir();
|
||||
}
|
||||
|
||||
Clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -24,19 +24,32 @@ public:
|
||||
|
||||
Rm();
|
||||
bool HasAccess();
|
||||
void MakeGet();
|
||||
void MakePost();
|
||||
|
||||
private:
|
||||
|
||||
DbItemQuery rm_auth_iq;
|
||||
// for static files
|
||||
DbItemQuery static_iq;
|
||||
std::vector<Item> static_item_tab;
|
||||
std::wstring path;
|
||||
|
||||
// for directory content
|
||||
DbItemQuery content_dir_iq;
|
||||
std::vector<Item> item_tab;
|
||||
|
||||
// for logging
|
||||
std::wstring old_url;
|
||||
|
||||
bool HasAccess(const Item & item);
|
||||
void RemoveAuthPrepareQuery();
|
||||
void RemoveAllDirs(long dir_id);
|
||||
void RemoveAllDirs();
|
||||
void RemoveDir();
|
||||
void Prepare();
|
||||
void Clear();
|
||||
void RemoveFileOrSymlink(Item & item);
|
||||
void RemoveDir(const Item & dir);
|
||||
bool RemoveStaticFile(const std::wstring & path);
|
||||
void RemoveStaticFile(Item & item);
|
||||
void RemoveDirTree(long dir_id);
|
||||
void RemoveDirContent();
|
||||
void RemoveDir();
|
||||
void RemoveFile();
|
||||
|
||||
};
|
||||
|
||||
@@ -66,15 +66,6 @@ return true;
|
||||
|
||||
|
||||
|
||||
void Upload::CreateThumbnail(const Item & item)
|
||||
{
|
||||
if( !system->MakeFilePath(item, path) ||
|
||||
!system->MakeFilePath(item, path_thumb, true, true, config->upload_dirs_chmod) )
|
||||
return;
|
||||
|
||||
system->thumb.CreateThumb(item.id, path, path_thumb, config->thumb_cx, config->thumb_cy, config->thumb_mode);
|
||||
}
|
||||
|
||||
|
||||
bool Upload::UploadSaveStaticFile(const Item & item, const std::wstring & tmp_filename)
|
||||
{
|
||||
@@ -112,7 +103,7 @@ void Upload::UploadFile(Item & item, const std::wstring & tmp_filename)
|
||||
request->status = db->EditFileById(item, item.id);
|
||||
|
||||
if( item.file_type == WINIX_ITEM_FILETYPE_IMAGE && config->create_thumb )
|
||||
CreateThumbnail(item);
|
||||
system->thumb.CreateThumb(item, config->thumb_cx, config->thumb_cy, config->thumb_mode);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -25,17 +25,16 @@ public:
|
||||
Upload();
|
||||
bool HasAccess();
|
||||
void MakePost();
|
||||
void UploadFile(Item & item, const std::wstring & tmp_filename);
|
||||
|
||||
private:
|
||||
|
||||
std::wstring path, path_thumb;
|
||||
std::wstring path;
|
||||
std::string patha, path_thumba;
|
||||
|
||||
bool HasAccess(const Item & item);
|
||||
void CreateThumbnail(const Item & item);
|
||||
bool UploadSaveStaticFile(const Item & item, const std::wstring & tmp_filename);
|
||||
bool FunUploadCheckAbuse();
|
||||
void UploadFile(Item & item, const std::wstring & tmp_filename);
|
||||
void UploadMulti();
|
||||
void UploadSingle();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user