From 9a199cd8348b58bb9817a401121b41e5cb48b5b4 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Thu, 12 Aug 2010 19:10:12 +0000 Subject: [PATCH] part II of rewriting git-svn-id: svn://ttmath.org/publicrep/winix/trunk@635 e52654a7-88a9-db11-a3e9-0013d4bc506e --- core/Makefile.dep | 186 ++++++--------- core/app.cpp | 429 +++++++++++++++++++++++++++++++---- core/app.h | 52 ++++- core/config.cpp | 49 +++- core/config.h | 56 ++++- core/confparser.cpp | 49 ++++ core/confparser.h | 8 +- core/cookieparser.h | 16 +- core/db.cpp | 2 +- core/db.h | 2 +- core/getparser.h | 25 +- core/httpsimpleparser.h | 8 +- core/pluginmsg.h | 1 - core/postparser.h | 10 +- core/rebus.cpp | 4 +- core/request.cpp | 359 ++--------------------------- core/request.h | 75 ++---- core/system.cpp | 60 +---- core/system.h | 11 +- functions/Makefile.dep | 324 +++++++++++--------------- functions/adduser.cpp | 35 ++- functions/adduser.h | 2 +- functions/cp.cpp | 16 +- functions/default.cpp | 6 +- functions/editticket.cpp | 2 +- functions/emacs.cpp | 7 +- functions/functions.cpp | 67 +++++- functions/functions.h | 2 + functions/login.cpp | 10 +- functions/mv.cpp | 19 +- functions/privchanger.cpp | 38 +--- functions/privchanger.h | 2 +- functions/upload.cpp | 12 +- main/Makefile.dep | 21 +- plugins/stats/Makefile.dep | 48 ++-- templates/Makefile.dep | 278 ++++++++++------------- templates/adduser.cpp | 10 +- templatesnotify/Makefile.dep | 25 +- 38 files changed, 1159 insertions(+), 1167 deletions(-) diff --git a/core/Makefile.dep b/core/Makefile.dep index f845a74..cbd39a6 100755 --- a/core/Makefile.dep +++ b/core/Makefile.dep @@ -1,12 +1,11 @@ # DO NOT DELETE acceptbaseparser.o: acceptbaseparser.h -app.o: app.h config.h confparser.h system.h dirs.h item.h dircontainer.h db.h -app.o: user.h group.h thread.h error.h log.h ugcontainer.h ticket.h request.h -app.o: requesttypes.h session.h plugindata.h rebus.h compress.h -app.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h -app.o: postmultiparser.h mounts.h mount.h users.h lastcontainer.h groups.h -app.o: loadavg.h sessionmanager.h sessioncontainer.h notify.h +app.o: app.h config.h confparser.h htmlfilter.h system.h dirs.h item.h +app.o: dircontainer.h db.h user.h group.h thread.h error.h log.h +app.o: ugcontainer.h ticket.h request.h requesttypes.h session.h plugindata.h +app.o: rebus.h mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h +app.o: sessionmanager.h sessioncontainer.h notify.h app.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h app.o: ../core/mount.h ../core/locale.h ../core/config.h ../templates/misc.h app.o: ../templates/localefilter.h ../core/locale.h ../functions/functions.h @@ -28,18 +27,18 @@ app.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h app.o: ../templates/patterncacher.h ../core/item.h misc.h app.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h app.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h -app.o: plugin.h pluginmsg.h +app.o: compress.h getparser.h httpsimpleparser.h postparser.h cookieparser.h +app.o: postmultiparser.h acceptencodingparser.h acceptbaseparser.h plugin.h +app.o: pluginmsg.h bbcodeparser.o: bbcodeparser.h htmlfilter.h compress.o: compress.h log.h -config.o: config.h confparser.h log.h plugin.h pluginmsg.h plugindata.h -config.o: request.h requesttypes.h session.h item.h error.h user.h rebus.h -config.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h -config.o: postmultiparser.h system.h dirs.h dircontainer.h db.h group.h -config.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h -config.o: lastcontainer.h groups.h loadavg.h sessionmanager.h -config.o: sessioncontainer.h ../functions/functions.h -config.o: ../functions/functionbase.h ../core/item.h ../core/db.h -config.o: ../core/request.h ../core/config.h ../core/system.h +config.o: config.h confparser.h htmlfilter.h log.h plugin.h pluginmsg.h +config.o: plugindata.h request.h requesttypes.h session.h item.h error.h +config.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h thread.h +config.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h +config.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h +config.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h +config.o: ../core/db.h ../core/request.h ../core/config.h ../core/system.h config.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h config.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h config.o: ../functions/privchanger.h ../functions/chown.h @@ -67,9 +66,7 @@ db_itemcolumns.o: dircontainer.h ugcontainer.h ticket.h dircontainer.o: dircontainer.h item.h log.h dirs.o: dirs.h item.h dircontainer.h db.h user.h group.h thread.h error.h dirs.o: log.h ugcontainer.h ticket.h request.h requesttypes.h session.h -dirs.o: plugindata.h rebus.h compress.h acceptencodingparser.h -dirs.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h -dirs.o: confparser.h +dirs.o: plugindata.h rebus.h config.h confparser.h htmlfilter.h groups.o: groups.h group.h ugcontainer.h log.h db.h item.h user.h thread.h groups.o: error.h dircontainer.h ticket.h htmlfilter.o: htmlfilter.h @@ -83,30 +80,25 @@ mount.o: mount.h mountparser.o: mountparser.h mount.h item.h error.h log.h dirs.h mountparser.o: dircontainer.h db.h user.h group.h thread.h ugcontainer.h mountparser.o: ticket.h request.h requesttypes.h session.h plugindata.h -mountparser.o: rebus.h compress.h acceptencodingparser.h acceptbaseparser.h -mountparser.o: htmlfilter.h postmultiparser.h config.h confparser.h misc.h +mountparser.o: rebus.h config.h confparser.h htmlfilter.h misc.h mounts.o: mounts.h mount.h error.h log.h dirs.h item.h dircontainer.h db.h mounts.o: user.h group.h thread.h ugcontainer.h ticket.h request.h -mounts.o: requesttypes.h session.h plugindata.h rebus.h compress.h -mounts.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h -mounts.o: postmultiparser.h config.h confparser.h mountparser.h +mounts.o: requesttypes.h session.h plugindata.h rebus.h config.h confparser.h +mounts.o: htmlfilter.h mountparser.h notify.o: log.h notify.h ../templatesnotify/templatesnotify.h notify.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h confparser.h notify.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h notify.o: ../core/locale.h request.h requesttypes.h session.h item.h error.h -notify.o: user.h plugindata.h rebus.h compress.h acceptencodingparser.h -notify.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h system.h -notify.o: dirs.h dircontainer.h db.h group.h thread.h ugcontainer.h ticket.h +notify.o: user.h plugindata.h rebus.h config.h htmlfilter.h system.h dirs.h +notify.o: dircontainer.h db.h group.h thread.h ugcontainer.h ticket.h notify.o: mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h misc.h plugin.o: plugin.h pluginmsg.h log.h plugindata.h config.h confparser.h -plugin.o: request.h requesttypes.h session.h item.h error.h user.h rebus.h -plugin.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h -plugin.o: postmultiparser.h system.h dirs.h dircontainer.h db.h group.h -plugin.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h -plugin.o: lastcontainer.h groups.h loadavg.h sessionmanager.h -plugin.o: sessioncontainer.h ../functions/functions.h -plugin.o: ../functions/functionbase.h ../core/item.h ../core/db.h -plugin.o: ../core/request.h ../core/config.h ../core/system.h +plugin.o: htmlfilter.h request.h requesttypes.h session.h item.h error.h +plugin.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h thread.h +plugin.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h +plugin.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h +plugin.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h +plugin.o: ../core/db.h ../core/request.h ../core/config.h ../core/system.h plugin.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h plugin.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h plugin.o: ../functions/privchanger.h ../functions/chown.h @@ -127,11 +119,10 @@ plugin.o: ../core/log.h ../templates/indexpatterns.h plugin.o: ../templates/localefilter.h ../core/locale.h ../core/locale.h plugin.o: ../core/sessionmanager.h plugindata.o: plugindata.h plugin.h pluginmsg.h log.h config.h confparser.h -plugindata.o: request.h requesttypes.h session.h item.h error.h user.h -plugindata.o: rebus.h compress.h acceptencodingparser.h acceptbaseparser.h -plugindata.o: htmlfilter.h postmultiparser.h system.h dirs.h dircontainer.h -plugindata.o: db.h group.h thread.h ugcontainer.h ticket.h mounts.h mount.h -plugindata.o: users.h lastcontainer.h groups.h loadavg.h sessionmanager.h +plugindata.o: htmlfilter.h request.h requesttypes.h session.h item.h error.h +plugindata.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h +plugindata.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h +plugindata.o: lastcontainer.h groups.h loadavg.h sessionmanager.h plugindata.o: sessioncontainer.h ../functions/functions.h plugindata.o: ../functions/functionbase.h ../core/item.h ../core/db.h plugindata.o: ../core/request.h ../core/config.h ../core/system.h @@ -157,25 +148,20 @@ plugindata.o: ../core/httpsimpleparser.h ../core/log.h plugindata.o: ../templates/indexpatterns.h ../templates/localefilter.h plugindata.o: ../core/locale.h ../core/locale.h ../core/sessionmanager.h postmultiparser.o: postmultiparser.h error.h log.h requesttypes.h config.h -postmultiparser.o: confparser.h +postmultiparser.o: confparser.h htmlfilter.h rebus.o: log.h rebus.h misc.h item.h request.h requesttypes.h session.h -rebus.o: error.h user.h plugindata.h compress.h acceptencodingparser.h -rebus.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h -rebus.o: confparser.h +rebus.o: error.h user.h plugindata.h config.h confparser.h htmlfilter.h request.o: request.h requesttypes.h session.h item.h error.h log.h user.h -request.o: plugindata.h rebus.h compress.h acceptencodingparser.h -request.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h -request.o: confparser.h getparser.h httpsimpleparser.h postparser.h -request.o: cookieparser.h plugin.h pluginmsg.h system.h dirs.h dircontainer.h -request.o: db.h group.h thread.h ugcontainer.h ticket.h mounts.h mount.h -request.o: users.h lastcontainer.h groups.h loadavg.h sessionmanager.h -request.o: sessioncontainer.h ../functions/functions.h -request.o: ../functions/functionbase.h ../core/item.h ../core/db.h -request.o: ../core/request.h ../core/config.h ../core/system.h -request.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h -request.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h -request.o: ../functions/privchanger.h ../functions/chown.h -request.o: ../functions/ckeditor.h ../functions/cp.h +request.o: plugindata.h rebus.h config.h confparser.h htmlfilter.h plugin.h +request.o: pluginmsg.h system.h dirs.h dircontainer.h db.h group.h thread.h +request.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h +request.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h +request.o: ../functions/functions.h ../functions/functionbase.h +request.o: ../core/item.h ../core/db.h ../core/request.h ../core/config.h +request.o: ../core/system.h ../core/notify.h ../../ezc/src/ezc.h +request.o: ../functions/functionparser.h ../functions/adduser.h +request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h +request.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h request.o: ../functions/createthread.h ../functions/createticket.h request.o: ../functions/default.h ../functions/download.h request.o: ../functions/editticket.h ../functions/emacs.h ../functions/last.h @@ -190,35 +176,33 @@ request.o: ../templates/patterncacher.h ../core/item.h misc.h request.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h request.o: ../core/log.h ../templates/indexpatterns.h request.o: ../templates/localefilter.h ../core/locale.h ../core/locale.h -request.o: ../core/sessionmanager.h ../functions/functionbase.h +request.o: ../core/sessionmanager.h session.o: session.h item.h error.h log.h user.h plugindata.h rebus.h sessioncontainer.o: sessioncontainer.h session.h item.h error.h log.h user.h sessioncontainer.o: plugindata.h rebus.h lastcontainer.h sessionmanager.o: sessionmanager.h sessioncontainer.h session.h item.h sessionmanager.o: error.h log.h user.h plugindata.h rebus.h lastcontainer.h -sessionmanager.o: config.h confparser.h request.h requesttypes.h compress.h -sessionmanager.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h -sessionmanager.o: postmultiparser.h system.h dirs.h dircontainer.h db.h -sessionmanager.o: group.h thread.h ugcontainer.h ticket.h mounts.h mount.h -sessionmanager.o: users.h groups.h loadavg.h sessionparser.h plugin.h -sessionmanager.o: pluginmsg.h ../functions/functions.h -sessionmanager.o: ../functions/functionbase.h ../core/item.h ../core/db.h -sessionmanager.o: ../core/request.h ../core/config.h ../core/system.h -sessionmanager.o: ../core/notify.h ../../ezc/src/ezc.h -sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h -sessionmanager.o: ../functions/cat.h ../functions/chmod.h -sessionmanager.o: ../functions/privchanger.h ../functions/chown.h -sessionmanager.o: ../functions/ckeditor.h ../functions/cp.h -sessionmanager.o: ../functions/createthread.h ../functions/createticket.h -sessionmanager.o: ../functions/default.h ../functions/download.h -sessionmanager.o: ../functions/editticket.h ../functions/emacs.h -sessionmanager.o: ../functions/last.h ../functions/login.h -sessionmanager.o: ../functions/logout.h ../functions/ls.h -sessionmanager.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h -sessionmanager.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h -sessionmanager.o: ../functions/run.h ../functions/subject.h -sessionmanager.o: ../functions/funthread.h ../core/thread.h -sessionmanager.o: ../functions/funticket.h ../core/ticket.h +sessionmanager.o: config.h confparser.h htmlfilter.h request.h requesttypes.h +sessionmanager.o: system.h dirs.h dircontainer.h db.h group.h thread.h +sessionmanager.o: ugcontainer.h ticket.h mounts.h mount.h users.h groups.h +sessionmanager.o: loadavg.h sessionparser.h plugin.h pluginmsg.h +sessionmanager.o: ../functions/functions.h ../functions/functionbase.h +sessionmanager.o: ../core/item.h ../core/db.h ../core/request.h +sessionmanager.o: ../core/config.h ../core/system.h ../core/notify.h +sessionmanager.o: ../../ezc/src/ezc.h ../functions/functionparser.h +sessionmanager.o: ../functions/adduser.h ../functions/cat.h +sessionmanager.o: ../functions/chmod.h ../functions/privchanger.h +sessionmanager.o: ../functions/chown.h ../functions/ckeditor.h +sessionmanager.o: ../functions/cp.h ../functions/createthread.h +sessionmanager.o: ../functions/createticket.h ../functions/default.h +sessionmanager.o: ../functions/download.h ../functions/editticket.h +sessionmanager.o: ../functions/emacs.h ../functions/last.h +sessionmanager.o: ../functions/login.h ../functions/logout.h +sessionmanager.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h +sessionmanager.o: ../functions/node.h ../functions/priv.h +sessionmanager.o: ../functions/reload.h ../functions/rm.h ../functions/run.h +sessionmanager.o: ../functions/subject.h ../functions/funthread.h +sessionmanager.o: ../core/thread.h ../functions/funticket.h ../core/ticket.h sessionmanager.o: ../functions/tinymce.h ../functions/uname.h sessionmanager.o: ../functions/upload.h ../functions/uptime.h sessionmanager.o: ../functions/who.h ../templates/templates.h @@ -229,39 +213,17 @@ sessionmanager.o: ../templates/localefilter.h ../core/locale.h sessionmanager.o: ../core/locale.h ../core/sessionmanager.h sessionparser.o: sessionparser.h session.h item.h error.h log.h user.h sessionparser.o: plugindata.h rebus.h sessioncontainer.h lastcontainer.h -sessionparser.o: users.h ugcontainer.h request.h requesttypes.h compress.h -sessionparser.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h -sessionparser.o: postmultiparser.h config.h confparser.h db.h group.h -sessionparser.o: thread.h dircontainer.h ticket.h +sessionparser.o: users.h ugcontainer.h request.h requesttypes.h config.h +sessionparser.o: confparser.h htmlfilter.h db.h group.h thread.h +sessionparser.o: dircontainer.h ticket.h system.o: system.h dirs.h item.h dircontainer.h db.h user.h group.h thread.h system.o: error.h log.h ugcontainer.h ticket.h request.h requesttypes.h -system.o: session.h plugindata.h rebus.h compress.h acceptencodingparser.h -system.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h -system.o: confparser.h mounts.h mount.h users.h lastcontainer.h groups.h -system.o: loadavg.h misc.h notify.h ../templatesnotify/templatesnotify.h -system.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h -system.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h -system.o: ../core/locale.h ../functions/functions.h -system.o: ../functions/functionbase.h ../core/item.h ../core/db.h -system.o: ../core/request.h ../core/system.h ../core/notify.h -system.o: ../functions/functionparser.h ../functions/adduser.h -system.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h -system.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h -system.o: ../functions/createthread.h ../functions/createticket.h -system.o: ../functions/default.h ../functions/download.h -system.o: ../functions/editticket.h ../functions/emacs.h ../functions/last.h -system.o: ../functions/login.h ../functions/logout.h ../functions/ls.h -system.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h -system.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h -system.o: ../functions/run.h ../functions/subject.h ../functions/funthread.h -system.o: ../core/thread.h ../functions/funticket.h ../core/ticket.h -system.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h -system.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h -system.o: ../templates/patterncacher.h ../core/item.h -system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h -system.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h +system.o: session.h plugindata.h rebus.h config.h confparser.h htmlfilter.h +system.o: mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h misc.h +system.o: notify.h ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h +system.o: ../core/mount.h ../core/locale.h ../core/config.h +system.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h users.o: users.h user.h ugcontainer.h log.h lastcontainer.h request.h users.o: requesttypes.h session.h item.h error.h plugindata.h rebus.h -users.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h -users.o: postmultiparser.h config.h confparser.h db.h group.h thread.h +users.o: config.h confparser.h htmlfilter.h db.h group.h thread.h users.o: dircontainer.h ticket.h diff --git a/core/app.cpp b/core/app.cpp index 3b409f5..c7cff80 100755 --- a/core/app.cpp +++ b/core/app.cpp @@ -9,6 +9,10 @@ #include "app.h" #include "plugin.h" +#include "misc.h" +#include "functions/functions.h" + + @@ -37,8 +41,6 @@ App::App() system.SetConfig(&config); system.SetRequest(&request); system.SetDb(&db); - system.SetFunctions(&functions); // !! czy model musi cos wiedziec o funkcjach? - system.SetTemplates(&templates); templates_notify.SetConfig(&config); @@ -59,6 +61,7 @@ App::App() session_manager.SetRequest(&request); session_manager.SetSystem(&system); + post_multi_parser.SetConfig(&config); } @@ -128,13 +131,12 @@ return true; bool App::Init() { - request.Init(); - if( !CreateFCGISocket() ) return false; + request.Clear(); + compress.Init(); system.Init(); - functions.Create(); // !! teraz mamy dwa katalogi z templetami @@ -194,10 +196,9 @@ return true; } -void App::ProcessRequest() +void App::ProcessRequestThrow() { - request.Clear(); // !! dac na koniec - request.Read(); + ReadRequest(); // when BaseUrlRedirect() return true we didn't have to set everything in request.Read() // in the future request.Read() can be split and at the beginning only environment variables will be read @@ -216,14 +217,30 @@ void App::ProcessRequest() Make(); } - request.SendAll(); // !! czemu request sam sie chce wyslac? wrzucic to tutaj do app + SendAnswer(); notify.ItemChanged(request.notify_code); - - if( request.function ) - request.function->Clear(); } +void App::ProcessRequest() +{ + try + { + ProcessRequestThrow(); + } + catch(const std::exception & e) + { + log << log1 << "App: there was an exception: std::exception: " << e.what() << logend; + } + catch(const Error & e) + { + log << log1 << "App: there was an exception: Error: " << e << logend; + } + catch(...) + { + log << log1 << "App: there was an unknown exception" << logend; + } +} void App::Start() @@ -231,41 +248,15 @@ void App::Start() while( FCGX_Accept(&request.in, &request.out, &request.err, &request.env) == 0 ) { system.load_avg.StartRequest(); - log << log2 << "---------------------------------------------------------------------------------" << logend; + log << log2 << config.log_delimiter << logend; - try - { - ProcessRequest(); - } - catch(const std::logic_error & e) - { - log << log1 << "std logic exception: " << e.what() << logend; - } - catch(const std::exception & e) - { - log << log1 << "std exception: " << e.what() << logend; - } - catch(const Error & e) - { - log << log1 << "exception: Error: " << e << logend; - } - catch(...) - { - log << log1 << "uncaught unknown exception" << logend; - } - + ProcessRequest(); SaveSessionsIfNeeded(); - // !! this should be immediately after FCGX_Accept() but signals don't want to break FCGX_Accept - //if( signal_hup ) - if( false ) - { - log << logsave; - FCGX_Finish(); - return; - } + if( request.function ) + request.function->Clear(); - request.ClearPostFileTmp(); + request.Clear(); system.load_avg.StopRequest(); log << logsave; } @@ -292,6 +283,7 @@ void App::MakePage() { bool sent = false; + if( !request.redirect_to.empty() || !request.x_sendfile.empty() ) return; @@ -328,7 +320,7 @@ void App::Make() return; } - // request->status can be changed by function_parser + // request.status can be changed by function_parser if( request.status == WINIX_ERR_OK ) { if( system.DirsHaveReadExecPerm() ) @@ -361,13 +353,354 @@ void App::Make() plugin.Call(WINIX_CONTENT_MAKE); MakePage(); - // !! dodac parametr do konfiga wlaczajacy te informacje - //request->PrintGetTab(); - //request->PrintEnv(); - //request->PrintIn(); + if( config.debug_info ) + { + // !! dodac inne informacje (get, post, itp) + // jesli jest debug_info wlaczone to nie robic przekierowan + request.PrintGetTab(); + request.PrintEnv(); + } } + +void App::ReadRequest() +{ + ReadEnvVariables(); + CheckRequestMethod(); + CheckFCGIRole(); + + LogAccess(); + + ReadGetPostVars(); + cookie_parser.Parse(request.env_http_cookie, request.cookie_tab); + accept_encoding_parser.Parse(request.env_http_accept_encoding); + + CheckIE(); + CheckKonqueror(); + + if( request.role == Request::authorizer ) + log << log3 << "Request: fast cgi role: authorizer" << logend; +} + + + +void App::SetEnv(const char * & env, const char * name) +{ +const char * v = FCGX_GetParam(name, request.env); + + if( v ) + env = v; + + // by default env is set to an empty string (in request.Clear() method) +} + + + +void App::ReadEnvVariables() +{ + // we store that values because FCGX_GetParam has O(n) complexity + // with this variables (env_*) we have O(1) + + SetEnv(request.env_request_method, "REQUEST_METHOD"); + SetEnv(request.env_request_uri, "REQUEST_URI"); + SetEnv(request.env_http_cookie, "HTTP_COOKIE"); + SetEnv(request.env_remote_addr, "REMOTE_ADDR"); + SetEnv(request.env_http_host, "HTTP_HOST"); + SetEnv(request.env_http_user_agent, "HTTP_USER_AGENT"); + SetEnv(request.env_fcgi_role, "FCGI_ROLE"); + SetEnv(request.env_content_type, "CONTENT_TYPE"); + SetEnv(request.env_http_accept_encoding,"HTTP_ACCEPT_ENCODING"); +} + + + +void App::CheckRequestMethod() +{ + request.method = Request::none; + + if( ToSmall(request.env_request_method[0]) == 'g' ) + request.method = Request::get; + else + if( ToSmall(request.env_request_method[0]) == 'p' ) + request.method = Request::post; + else + if( ToSmall(request.env_request_method[0]) == 'h' ) + request.method = Request::head; +} + + +void App::CheckFCGIRole() +{ + // default we assume 'responder' + request.role = Request::responder; + + if( ToSmall(request.env_fcgi_role[0]) == 'a' ) + request.role = Request::authorizer; +} + + + +void App::LogAccess() +{ + log.PutDate(log1); + + log << request.env_remote_addr << ' ' + << request.env_request_method << ' ' + << request.env_http_host + << request.env_request_uri << ' ' + << request.env_http_user_agent << logend; +} + + + + +void App::ReadGetPostVars() +{ + // get parameters we have always + get_parser.Parse(request.env_request_uri, request.get_tab); + + if( request.method == Request::post ) + { + if( IsSubStringNoCase("multipart/form-data", request.env_content_type) ) + { + log << log3 << "Request: post content type: multipart/form-data" << logend; + post_multi_parser.Parse(request.in, request.post_tab, request.post_file_tab); + } + else + { + post_parser.Parse(request.in, request.post_tab); + } + } +} + + + + +void App::CheckIE() +{ + char * msie = strstr(request.env_http_user_agent, "MSIE"); + + if( msie ) + request.browser_msie = true; + else + request.browser_msie = false; +} + + + +void App::CheckKonqueror() +{ + char * kon = strstr(request.env_http_user_agent, "Konqueror"); + + if( kon ) + request.browser_konqueror = true; + else + request.browser_konqueror = false; +} + + + + + + +void App::PrepareSessionCookie() +{ + if( !request.session || request.session->id==0 ) + return; + + if( !request.session->puser || !request.session->remember_me ) + { + request.SetCookie(config.http_session_id_name.c_str(), request.session->id); + } + else + { + time_t t = time(0) + config.session_remember_max_idle; + tm * expires = localtime(&t); + + if( !expires ) + { + // oops, something wrong + request.SetCookie(config.http_session_id_name.c_str(), request.session->id); + return; + } + + request.SetCookie(config.http_session_id_name.c_str(), request.session->id, expires); + } +} + + + + +void App::SendHeaders(bool compressing, Header header) +{ + PrepareSessionCookie(); + + if( request.send_as_attachment ) + FCGX_PutS("Content-Disposition: attachment\r\n", request.out); + + if( !request.redirect_to.empty() ) + { + FCGX_PutS("Status: 301 Moved Permanently\r\n", request.out); + FCGX_FPrintF(request.out, "Location: %s\r\n", request.redirect_to.c_str()); + log << log2 << "Redirect to: " << request.redirect_to << logend; + } + else + if( !request.x_sendfile.empty() ) + { + FCGX_FPrintF(request.out, "%s: %s\r\n", config.http_header_send_file.c_str(), + request.x_sendfile.c_str()); + FCGX_PutS("Status: 200 OK\r\n", request.out); + log << log2 << "Sending file: " << request.x_sendfile << logend; + } + else + { + switch( header ) + { + case h_404: + FCGX_PutS("Status: 404 Not Found\r\n", request.out); + FCGX_PutS("Content-Type: text/html\r\n", request.out); + log << log2 << "Request: response: 404 Not Found" << logend; + break; + + case h_403: + FCGX_PutS("Status: 403 Forbidden\r\n", request.out); + FCGX_PutS("Content-Type: text/html\r\n", request.out); + log << log2 << "Request: response: 403 Forbidden" << logend; + break; + + default: + FCGX_PutS("Status: 200 OK\r\n", request.out); + + if( request.role != Request::authorizer ) + FCGX_PutS("Content-Type: text/html\r\n", request.out); + } + } + + if( compressing ) + FCGX_PutS("Content-Encoding: deflate\r\n", request.out); + + FCGX_PutS(request.headers.str().c_str(), request.out); + FCGX_PutS("\r\n", request.out); +} + + + +void App::SetHtmlFilterConf() +{ + html_filter.TrimWhite(config.html_filter_trim_white); + html_filter.BreakLines(config.html_filter_break_lines); + html_filter.InsertTabs(config.html_filter_tabs); + + if( config.html_filter_orphans ) + html_filter.CheckOrphans(config.html_filter_orphans_lang, config.html_filter_orphans_mode); +} + + +// !! kopiowanie tych stringow bedzie zmienione +// gdy bedziemy korzystac w przyszlosci z wlasnego stringstream +void App::FilterCompressSend(bool compressing, const std::string & source_ref) +{ + const std::string * source = &source_ref; + + bool raw = request.is_item && request.item.content_type == Item::ct_raw && request.status == WINIX_ERR_OK && + request.function && (request.function->fun.url == "cat" || request.function->fun.url == "run"); + + if( config.html_filter && !raw ) + { + SetHtmlFilterConf(); + html_filter.Filter(*source, clean_html); + AddDebugInfo(clean_html); + source = &clean_html; + } + else + { + html_with_debug = *source; + AddDebugInfo(html_with_debug); + source = &html_with_debug; + } + + + if( compressing ) + compress.CompressAndPut(source->c_str(), source->length(), request.out); + else + FCGX_PutS(source->c_str(), request.out); +} + + + +bool App::IsCompressionAllowed(const std::string & source) +{ + return( config.compression && + request.role == Request::responder && + request.redirect_to.empty() && + request.x_sendfile.empty() && + !request.browser_msie && + !request.browser_konqueror && + accept_encoding_parser.AcceptDeflate() && + source.size() >= (size_t)config.compression_page_min_size ); +} + + +bool App::CanSendContent(Header header) +{ + if( !request.redirect_to.empty() || !request.x_sendfile.empty() ) + // if there is a redirect or a file to send then we do not send a content + return false; + + if( header == h_200 && request.role == Request::authorizer && request.is_item && request.item.auth != Item::auth_none ) + // if there is an item and the item has 'file' storage we do not send a content + return false; + + /* + we don't have to check the HEAD method + the server (lighttpd) doesn't send the body of its own + */ + if( request.method == Request::head ) + return false; + +return true; +} + + +void App::AddDebugInfo(std::string & out) +{ + if( config.debug_info ) + { + const std::string & d = request.debug.str(); + + if( !d.empty() ) + { + out += "\n\n"; + } + } +} + + + +void App::SendAnswer() +{ +const std::string & source = request.page.str(); +Header header = h_200; +bool compressing = IsCompressionAllowed(source); +Error status = request.status; + + if( status == WINIX_ERR_NO_ITEM || status == WINIX_ERR_NO_FUNCTION || status == WINIX_ERR_UNKNOWN_PARAM ) + header = h_404; + + if( status == WINIX_ERR_PERMISSION_DENIED || status == WINIX_ERR_CANT_CHANGE_USER || status == WINIX_ERR_CANT_CHANGE_GROUP ) + header = h_403; + + SendHeaders(compressing, header); + + if( CanSendContent(header) ) + { + // filtering (html), compressing (deflate) and sending back to the web browser + FilterCompressSend(compressing, source); + } +} diff --git a/core/app.h b/core/app.h index fc3d099..48c10a3 100755 --- a/core/app.h +++ b/core/app.h @@ -29,6 +29,14 @@ #include "functions/functions.h" #include "templates/templates.h" #include "templatesnotify/templatesnotify.h" +#include "compress.h" +#include "htmlfilter.h" +#include "getparser.h" +#include "postparser.h" +#include "cookieparser.h" +#include "postmultiparser.h" +#include "acceptencodingparser.h" + @@ -71,13 +79,15 @@ public: System system; // false at the beginning + // !! moze to do loggera dac? bool stdout_is_closed; /* - controller + controllers + (note that the whole app object is actually a controller too) */ // functions (ls, cat, emacs, ...) @@ -93,13 +103,53 @@ public: private: + + enum Header + { + h_200, + h_404, + h_403 + }; + + GetParser get_parser; + PostParser post_parser; + PostMultiParser post_multi_parser; + CookieParser cookie_parser; + AcceptEncodingParser accept_encoding_parser; + Compress compress; + HTMLFilter html_filter; + std::string clean_html, html_with_debug; + bool CreateFCGISocket(); + void ProcessRequestThrow(); void ProcessRequest(); bool BaseUrlRedirect(); void DeleteAllPluginsData(); void MakePage(); void Make(); void SaveSessionsIfNeeded(); // !! wywalic do managara sesji?? + void LogAccess(); + + void ReadRequest(); + void SendAnswer(); + + void SetEnv(const char * & env, const char * name); + void ReadEnvVariables(); + void ReadGetPostVars(); + + void CheckIE(); + void CheckKonqueror(); + void CheckRequestMethod(); + void CheckFCGIRole(); + + void SetHtmlFilterConf(); + void PrepareSessionCookie(); + void AddDebugInfo(std::string & out); + void FilterCompressSend(bool compressing, const std::string & source_ref); + void SendHeaders(bool compressing, Header header); + bool IsCompressionAllowed(const std::string & source); + bool CanSendContent(Header header); + // !! dodac do session managera? time_t last_sessions_save; diff --git a/core/config.cpp b/core/config.cpp index fec0988..8799cc5 100755 --- a/core/config.cpp +++ b/core/config.cpp @@ -91,6 +91,7 @@ void Config::AssignValues(bool stdout_is_closed) { log_file = Text("log_file"); log_notify_file = Text("log_notify_file"); + log_delimiter = Text("log_delimiter", "---------------------------------------------------------------------------------"); fcgi_socket = Text("fcgi_socket"); fcgi_socket_chmod = Int("fcgi_socket_chmod", 0770); fcgi_socket_user = Text("fcgi_socket_user"); @@ -132,7 +133,15 @@ void Config::AssignValues(bool stdout_is_closed) session_file = Text("session_file"); compression = Bool("compression", true); - html_filter = Bool("html_filter", true); + compression_page_min_size = Int("compression_page_min_size", 512); + + html_filter = Bool("html_filter", true); + html_filter_trim_white = Bool("html_filter_trim_white", true); + html_filter_break_lines = Int("html_filter_break_lines", 60); + html_filter_tabs = Size("html_filter_tabs", 2); + html_filter_orphans = Bool("html_filter_orphans", false); + html_filter_orphans_lang_str = Text("html_filter_orphans_lang", "pl"); + html_filter_orphans_mode_str = Text("html_filter_orphans_mode_str", "nbsp"); locale_str = Text("locale", "en"); locale_dir = Text("locale_dir"); @@ -140,6 +149,10 @@ void Config::AssignValues(bool stdout_is_closed) title_separator = Text("title_separator", " / "); + http_header_send_file = Text("http_header_send_file", "X-LIGHTTPD-send-file"); + password_min_size = Size("password_min_size", 5); + debug_info = Bool("debug_info", false); + parser.ListText("plugins", plugin_file); } @@ -148,6 +161,22 @@ void Config::SetAdditionalVariables() { SetHttpHost(base_url, base_url_http_host); SetHttpHost(base_url_auth, base_url_auth_http_host); + + if( html_filter_orphans_lang_str == "pl" ) + html_filter_orphans_lang = HTMLFilter::lang_pl; + else + if( html_filter_orphans_lang_str == "cz" ) + html_filter_orphans_lang = HTMLFilter::lang_cz; + else + if( html_filter_orphans_lang_str == "sk" ) + html_filter_orphans_lang = HTMLFilter::lang_sk; + else + html_filter_orphans_lang = HTMLFilter::lang_none; + + if( html_filter_orphans_mode_str == "160" ) + html_filter_orphans_mode = HTMLFilter::orphan_160space; + else + html_filter_orphans_mode = HTMLFilter::orphan_nbsp; } @@ -201,6 +230,24 @@ int Config::Int(const std::string & name, int def) } +size_t Config::Size(const char * name) +{ + return parser.Size(name); +} + + +size_t Config::Size(const char * name, size_t def) +{ + return parser.Size(name, def); +} + + +size_t Config::Size(const std::string & name, size_t def) +{ + return parser.Size(name, def); +} + + bool Config::Bool(const char * name) { return parser.Bool(name); diff --git a/core/config.h b/core/config.h index c20d157..3a2fc8e 100755 --- a/core/config.h +++ b/core/config.h @@ -12,6 +12,7 @@ #include #include "confparser.h" +#include "htmlfilter.h" @@ -38,6 +39,9 @@ public: // default: 1 int log_request; + // request delimiter in the log file, default "---------" + std::string log_delimiter; + // fast cgi: socket (unix domain) std::string fcgi_socket; @@ -80,13 +84,45 @@ public: // allow the html ouput to be compressed bool compression; + + // if the output is shorter than this value then it will not be compressed + int compression_page_min_size; // plugins std::vector plugin_file; - // the html code is cleaned by our filter + // should the html code be cleaned by the html filter bool html_filter; + // should white characters be trimmed + bool html_filter_trim_white; + + // when long lines (lines without a white character) should be break (inserted a space) + // default: after 60 non white characters will be put a space + // set zero to turn off + int html_filter_break_lines; + + // how many spaces will be put at one tree level + // default: 2 + size_t html_filter_tabs; + + // use checking for 'orphans' for a specicic language + // default: false + bool html_filter_orphans; + + // language for html orphans + // default: pl + // can be either: "pl" or "cz" or "sk" + std::string html_filter_orphans_lang_str; + HTMLFilter::Lang html_filter_orphans_lang; + + // orphans mode + // either: "nbsp" or "160" + // default: "nbsp" + std::string html_filter_orphans_mode_str; + HTMLFilter::OrphanMode html_filter_orphans_mode; + + // the url of a new empty item (if there is not the subject too) std::string item_url_empty; @@ -129,6 +165,21 @@ public: // separator used in html tag std::string title_separator; + // http header recognized by www server as a file to send back + // default: X-LIGHTTPD-send-file + std::string http_header_send_file; + + // the minimum size of a password for new users (function: adduser) + // default: 5 + size_t password_min_size; + + // prints additional information (in the end of the html page as a commentary) + // + bool debug_info; + + + /* + */ // based on base_url // set by SetAdditionalVariables() @@ -146,6 +197,9 @@ public: int Int(const char *); int Int(const char * name, int def); int Int(const std::string & name, int def); + size_t Size(const char *); + size_t Size(const char * name, size_t def); + size_t Size(const std::string & name, size_t def); bool Bool(const char *); bool Bool(const char * name, bool def); bool Bool(const std::string & name, bool def); diff --git a/core/confparser.cpp b/core/confparser.cpp index f4599e7..24d12d3 100755 --- a/core/confparser.cpp +++ b/core/confparser.cpp @@ -7,6 +7,7 @@ * */ +#include <cstdlib> #include "confparser.h" #include "misc.h" @@ -27,6 +28,7 @@ ConfParser::ConfParser() default_str = ""; default_int = 0; + default_size = 0; default_bool = false; } @@ -454,6 +456,48 @@ return ToInt(i->second); } + +size_t ConfParser::Size(const char * name) +{ + return Size(std::string(name), default_size); +} + + +size_t ConfParser::Size(const char * name, size_t def) +{ + return Size(std::string(name), def); +} + + + +size_t ConfParser::ToSize(const std::string & value) +{ + long res = (value[0] == '0')? strtoul(value.c_str() + 1, 0, 8) : strtoul(value.c_str(), 0, 10); + +return (size_t)res; +} + + +size_t ConfParser::Size(const std::string & name, size_t def) +{ + TableSingle::iterator i = table_single.find(name); + + if( i == table_single.end() ) + { + Table::iterator t = table.find(name); + + if( t == table.end() || t->second.empty() ) + return def; + + return ToSize(t->second[0]); + } + +return ToSize(i->second); +} + + + + bool ConfParser::Bool(const char * name) { return Bool(std::string(name), default_bool); @@ -503,6 +547,11 @@ void ConfParser::SetDefaultInt(int def) default_int = def; } +void ConfParser::SetDefaultSize(size_t def) +{ + default_size = def; +} + void ConfParser::SetDefaultBool(bool def) { default_bool = def; diff --git a/core/confparser.h b/core/confparser.h index 572a47f..d42163e 100755 --- a/core/confparser.h +++ b/core/confparser.h @@ -215,6 +215,9 @@ public: int Int(const char *); int Int(const char * name, int def); int Int(const std::string & name, int def); + size_t Size(const char *); + size_t Size(const char * name, size_t def); + size_t Size(const std::string & name, size_t def); bool Bool(const char *); bool Bool(const char * name, bool def); bool Bool(const std::string & name, bool def); @@ -226,11 +229,12 @@ public: if you don't set it directly then: default text is: "" (empty) - default int is: 0 + default int or size is: 0 default bool is: false */ void SetDefaultText(const std::string & def); void SetDefaultInt(int def); + void SetDefaultSize(size_t def); void SetDefaultBool(bool def); @@ -324,9 +328,11 @@ private: std::string default_str; int default_int; + size_t default_size; bool default_bool; int ToInt(const std::string & value); + size_t ToSize(const std::string & value); bool ToBool(const std::string & value); Status ParseFile(); diff --git a/core/cookieparser.h b/core/cookieparser.h index 3edf6e0..961a80d 100755 --- a/core/cookieparser.h +++ b/core/cookieparser.h @@ -21,7 +21,7 @@ class CookieParser : public HttpSimpleParser { const char * cookie_string; - CookieTab & cookie_tab; + CookieTab * cookie_tab; protected: @@ -41,7 +41,7 @@ protected: // Cookie names are case insensitive according to section 3.1 of RFC 2965 ToLower(name); - std::pair<CookieTab::iterator, bool> res = cookie_tab.insert( std::make_pair(name, value) ); + std::pair<CookieTab::iterator, bool> res = cookie_tab->insert( std::make_pair(name, value) ); log << log2 << "Cookie, name: \"" << name << "\", value: \"" << value << "\""; @@ -58,7 +58,7 @@ protected: public: - CookieParser(const char * cookie_string_, CookieTab & cookie_tab_) : cookie_string(cookie_string_), cookie_tab(cookie_tab_) + CookieParser() { HttpSimpleParser::separator = ';'; HttpSimpleParser::value_can_be_quoted = true; @@ -66,6 +66,16 @@ public: HttpSimpleParser::recognize_special_chars = false; } + + // cookie_string can be null + void Parse(const char * cookie_string_, CookieTab & cookie_tab_) + { + cookie_string = cookie_string_; + cookie_tab = &cookie_tab_; + + HttpSimpleParser::Parse(); + } + }; diff --git a/core/db.cpp b/core/db.cpp index 0ae72de..31638d1 100755 --- a/core/db.cpp +++ b/core/db.cpp @@ -215,7 +215,7 @@ void Db::ClearResult(PGresult * r) } -bool Db::CheckUser(std::string & login, std::string & password, long & user_id) +bool Db::CheckUser(const std::string & login, const std::string & password, long & user_id) { PGresult * r = 0; bool user_ok = false; diff --git a/core/db.h b/core/db.h index 89c7054..dd3c498 100755 --- a/core/db.h +++ b/core/db.h @@ -43,7 +43,7 @@ public: // !! GetFile i GetDir beda uzywac GetItem void Init(const std::string & database, const std::string & user, const std::string & pass); - bool CheckUser(std::string & login, std::string & password, long & user_id); + bool CheckUser(const std::string & login, const std::string & password, long & user_id); Error AddUser(User & user, const std::string & password); Error AddItem(Item & item); diff --git a/core/getparser.h b/core/getparser.h index fbd117d..11b260b 100755 --- a/core/getparser.h +++ b/core/getparser.h @@ -18,7 +18,7 @@ class GetParser : public HttpSimpleParser { const char * get_string; - GetTab & get_tab; + GetTab * get_tab; protected: @@ -33,8 +33,7 @@ protected: virtual void Parameter(std::string &, std::string & value) { - get_tab.push_back(value); - + get_tab->push_back(value); log << log2 << "Get, value: \"" << value << "\"" << logend; } @@ -42,13 +41,27 @@ protected: public: - GetParser(const char * get_string_, GetTab & get_tab_) : get_string(get_string_), get_tab(get_tab_) + + GetParser() { HttpSimpleParser::separator = '/'; HttpSimpleParser::read_name = false; - - if( get_string && *get_string == separator ) // one '/' at the beginning + } + + + // get_string_ can be null + void Parse(const char * get_string_, GetTab & get_tab_) + { + get_string = get_string_; + get_tab = &get_tab_; + + if( get_string && *get_string == separator ) + { + // skipping one '/' at the beginning ++get_string; + } + + HttpSimpleParser::Parse(); } }; diff --git a/core/httpsimpleparser.h b/core/httpsimpleparser.h index c411ce3..57032ad 100755 --- a/core/httpsimpleparser.h +++ b/core/httpsimpleparser.h @@ -46,7 +46,7 @@ protected: void TrimWhiteChars(std::string & s); void CheckSpecialChar(); - + void Parse(); public: @@ -60,12 +60,6 @@ public: skip_white_chars = false; recognize_special_chars = true; } - - - void Parse(); - - - }; diff --git a/core/pluginmsg.h b/core/pluginmsg.h index c5864d8..f3fdcac 100755 --- a/core/pluginmsg.h +++ b/core/pluginmsg.h @@ -15,7 +15,6 @@ // PluginInfo.p1 is a pointer to Ezc::Functions object #define WINIX_TEMPLATES_CREATEFUNCTIONS 999 -#define WINIX_REQUEST_CLEAR 1000 #define WINIX_CONTENT_MAKE 2000 diff --git a/core/postparser.h b/core/postparser.h index bb23bd6..6f9cdbc 100755 --- a/core/postparser.h +++ b/core/postparser.h @@ -22,7 +22,7 @@ class PostParser : public HttpSimpleParser { FCGX_Stream * in; - PostTab & post_tab; + PostTab * post_tab; protected: @@ -35,7 +35,7 @@ protected: virtual void Parameter(std::string & name, std::string & value) { - std::pair<PostTab::iterator, bool> res = post_tab.insert( std::make_pair(name, value) ); + std::pair<PostTab::iterator, bool> res = post_tab->insert( std::make_pair(name, value) ); log << log2 << "Method POST, name: \"" << name << "\", value: \"" << value << "\""; @@ -48,8 +48,12 @@ protected: public: - PostParser(FCGX_Stream * in_, PostTab & post_tab_) : in(in_), post_tab(post_tab_) + void Parse(FCGX_Stream * in_, PostTab & post_tab_) { + in = in_; + post_tab = &post_tab_; + + HttpSimpleParser::Parse(); } }; diff --git a/core/rebus.cpp b/core/rebus.cpp index fa12b36..eaabd51 100755 --- a/core/rebus.cpp +++ b/core/rebus.cpp @@ -145,9 +145,7 @@ bool Rebus::CheckRebus() return false; } - std::string * answer = request->PostVar("rebus"); - - if( answer && IsAnswerOk(request->session->rebus_item, *answer) ) + if( IsAnswerOk(request->session->rebus_item, request->PostVar("rebus")) ) return true; log << log1 << "Rebus: rebus has an incorrect answer" << logend; diff --git a/core/request.cpp b/core/request.cpp index ebc066e..e556fd7 100755 --- a/core/request.cpp +++ b/core/request.cpp @@ -7,18 +7,12 @@ * */ -#include <ctime> -#include <sys/stat.h> -#include <unistd.h> #include "request.h" -#include "getparser.h" -#include "postparser.h" -#include "cookieparser.h" #include "log.h" #include "plugin.h" #include "misc.h" -#include "db.h" -#include "functions/functionbase.h" + + @@ -27,7 +21,6 @@ Request::Request() : char_empty(0) { id = 0; - Clear(); } @@ -37,10 +30,6 @@ void Request::SetConfig(Config * pconfig) } -void Request::Init() -{ - compress.Init(); -} void Request::ClearPostFileTmp() @@ -67,7 +56,9 @@ void Request::Clear() if( ++id == 0 ) ++id; - get_tab.clear(); + ClearPostFileTmp(); + + get_tab.clear(); post_tab.clear(); post_file_tab.clear(); cookie_tab.clear(); @@ -78,17 +69,16 @@ void Request::Clear() headers.str(""); page.str(""); debug.str(""); - //notify.str(""); - env_request_method = &char_empty; - env_request_uri = &char_empty; - env_http_cookie = &char_empty; - env_remote_addr = &char_empty; - env_http_host = &char_empty; - env_http_user_agent = &char_empty; + env_request_method = &char_empty; + env_request_uri = &char_empty; + env_http_cookie = &char_empty; + env_remote_addr = &char_empty; + env_http_host = &char_empty; + env_http_user_agent = &char_empty; + env_fcgi_role = &char_empty; + env_content_type = &char_empty; env_http_accept_encoding = &char_empty; - env_fcgi_role = &char_empty; - env_content_type = &char_empty; session = 0; @@ -107,8 +97,6 @@ void Request::Clear() redirect_to.clear(); x_sendfile.clear(); send_as_attachment = false; - - plugin.Call(WINIX_REQUEST_CLEAR); } @@ -158,14 +146,14 @@ return true; -std::string * Request::PostVar(const char * var) +const std::string & Request::PostVar(const char * var) { PostTab::iterator p = post_tab.find(var); if( p == post_tab.end() ) - return 0; + return str_empty; -return &(p->second); +return p->second; } @@ -187,11 +175,6 @@ return true; - - -// - - void Request::PrintGetTab() { debug << "get_tab: " << get_tab.size() << "\n"; @@ -215,106 +198,6 @@ char ** e; debug << std::endl; } - - - -void Request::PrintIn() -{ -char buf[100]; -int buf_len = sizeof(buf) / sizeof(char); -int len; - - debug << "fcgi input:\n"; - - do - { - len = FCGX_GetStr(buf, buf_len - 1, in); - - if( len != 0 ) - { - buf[len] = 0; - debug << buf; - } - } - while( len == buf_len - 1 ); - - debug << std::endl; -} - - - -const char * Request::SetEnvVar(const char * var) -{ - const char * v = FCGX_GetParam(var, env); - - if( v ) - return v; - -// char_empty contains '\0' -return &char_empty; -} - - - -void Request::ReadEnvVariables() -{ - // we store that values because FCGX_GetParam has O(n) complexity - // with this variables (env_*) we have O(1) - - env_request_method = SetEnvVar("REQUEST_METHOD"); - env_request_uri = SetEnvVar("REQUEST_URI"); - env_http_cookie = SetEnvVar("HTTP_COOKIE"); - env_remote_addr = SetEnvVar("REMOTE_ADDR"); - env_http_host = SetEnvVar("HTTP_HOST"); - env_http_user_agent = SetEnvVar("HTTP_USER_AGENT"); - env_http_accept_encoding = SetEnvVar("HTTP_ACCEPT_ENCODING"); - env_fcgi_role = SetEnvVar("FCGI_ROLE"); - env_content_type = SetEnvVar("CONTENT_TYPE"); -} - - - -void Request::CheckIE() -{ - char * msie = strstr(env_http_user_agent, "MSIE"); - - if( msie ) - browser_msie = true; - else - browser_msie = false; -} - - - -void Request::CheckKonqueror() -{ - char * kon = strstr(env_http_user_agent, "Konqueror"); - - if( kon ) - browser_konqueror = true; - else - browser_konqueror = false; -} - - - -void Request::CheckMethod() -{ - method = none; - - if( ToSmall(env_request_method[0]) == 'g' ) - method = get; - else - if( ToSmall(env_request_method[0]) == 'p' ) - method = post; - - - // default we assume 'responder' - role = responder; - - if( ToSmall(env_fcgi_role[0]) == 'a' ) - role = authorizer; -} bool Request::AllPostVarEmpty() @@ -330,216 +213,6 @@ return true; -// !! czy te parsery powinny byc skladowymi Request? -void Request::ReadParameters() -{ - // !! wrzucic jako skladowa klasy - GetParser get_parser(env_request_uri, get_tab); - get_parser.Parse(); - - if( method == post ) - { - if( IsSubStringNoCase("multipart/form-data", env_content_type) ) - { - log << log3 << "Request: post content type: multipart/form-data" << logend; - - post_multi_parser.SetConfig(config); - post_multi_parser.Parse(in, post_tab, post_file_tab); - } - else - { - // !! wrzucic jako skladowa klasy - PostParser post_parser(in, post_tab); - post_parser.Parse(); - } - } - - CookieParser cookie_parser(env_http_cookie, cookie_tab); - cookie_parser.Parse(); - - accept_encoding_parser.Parse(env_http_accept_encoding); -} - - - -void Request::StandardLog() -{ - log.PutDate(log1); - log << env_remote_addr << ' ' << env_request_method << ' '; - log << env_http_host << env_request_uri << ' ' << env_http_user_agent << logend; -} - - - -// reading everything -void Request::Read() -{ - ReadEnvVariables(); - CheckMethod(); - StandardLog(); - ReadParameters(); - CheckIE(); - - if( role == authorizer ) - log << log3 << "Request: fast cgi role: authorizer" << logend; - - CheckKonqueror(); -} - - - -void Request::SendSessionCookie() -{ - if( !session || session->id==0 ) - return; - - if( !session->puser || !session->remember_me ) - { - SetCookie(config->http_session_id_name.c_str(), session->id); - return; - } - - time_t t = time(0) + config->session_remember_max_idle; - tm * expires = localtime(&t); - - if( !expires ) - { - // oops, something wrong - SetCookie(config->http_session_id_name.c_str(), session->id); - return; - } - - SetCookie(config->http_session_id_name.c_str(), session->id, expires); -} - - -void Request::SendHeaders(bool compressing, Header header) -{ - if( send_as_attachment ) - FCGX_PutS("Content-Disposition: attachment\r\n", out); - - if( !redirect_to.empty() ) - { - FCGX_PutS("Status: 301 Moved Permanently\r\n", out); - FCGX_FPrintF(out, "Location: %s\r\n", redirect_to.c_str()); - log << log2 << "Redirect to: " << redirect_to << logend; - } - else - if( !x_sendfile.empty() ) - { - FCGX_FPrintF(out, "X-LIGHTTPD-send-file: %s\r\n", x_sendfile.c_str()); - FCGX_PutS("Status: 200 OK\r\n", out); - log << log2 << "Sending file: " << x_sendfile << logend; - } - else - { - switch(header) - { - case h_404: - FCGX_PutS("Status: 404 Not Found\r\n", out); - FCGX_PutS("Content-Type: text/html\r\n", out); - log << log2 << "Request: response: 404 Not Found" << logend; - break; - - case h_403: - FCGX_PutS("Status: 403 Forbidden\r\n", out); - FCGX_PutS("Content-Type: text/html\r\n", out); - log << log2 << "Request: response: 403 Forbidden" << logend; - break; - - default: - FCGX_PutS("Status: 200 OK\r\n", out); - - if( role != authorizer ) - FCGX_PutS("Content-Type: text/html\r\n", out); - } - - } - - if( compressing ) - FCGX_PutS("Content-Encoding: deflate\r\n", out); - - FCGX_PutS(headers.str().c_str(), out); - FCGX_PutS("\r\n", out); -} - - - -void Request::AddDebugInfo() -{ - const std::string & d = debug.str(); - - if( !d.empty() ) - { - page << "\n<!--\n"; - page << d; - page << "\n-->\n"; - } -} - -// !! to powinno isc do kontrolera app -void Request::SendPage(bool compressing, const std::string & source_ref) -{ - const std::string * source = &source_ref; - - bool raw = is_item && item.content_type == Item::ct_raw && status == WINIX_ERR_OK && - function && (function->fun.url == "cat" || function->fun.url == "run"); - - if( config->html_filter && !raw ) - { - html_filter.TrimWhite(true); - html_filter.BreakLines(60); - html_filter.InsertTabs(2); - html_filter.CheckOrphans(HTMLFilter::lang_pl, HTMLFilter::orphan_160space); - - html_filter.Filter(*source, clean_html); - source = &clean_html; - } - - if( compressing ) - compress.CompressAndPut(source->c_str(), source->length(), out); - else - FCGX_PutS(source->c_str(), out); -} - - -void Request::SendAll() -{ -const std::string & source = page.str(); -Header header = h_200; -bool compressing = config->compression && role == responder && redirect_to.empty() && x_sendfile.empty() && - !browser_msie && !browser_konqueror && - accept_encoding_parser.AcceptDeflate() && source.size() >= 512; - - if( status == WINIX_ERR_NO_ITEM || status == WINIX_ERR_NO_FUNCTION || status == WINIX_ERR_UNKNOWN_PARAM ) - header = h_404; - - if( status == WINIX_ERR_PERMISSION_DENIED || status == WINIX_ERR_CANT_CHANGE_USER || status == WINIX_ERR_CANT_CHANGE_GROUP ) - header = h_403; - - SendSessionCookie(); - SendHeaders(compressing, header); - - if( !redirect_to.empty() || !x_sendfile.empty() ) - // if there is a redirect or a file to send then we do not send a content - return; - - if( header == h_200 && role == authorizer && is_item && item.auth != Item::auth_none ) - // if there is an item and the item has 'file' storage we do not send a content - return; - - // adding debug info if exists - AddDebugInfo(); - - // sending content - SendPage(compressing, source); -} - - - - - - bool Request::IsParam(const char * param_name) { ParamTab::iterator i; diff --git a/core/request.h b/core/request.h index 5047174..a84e7d7 100755 --- a/core/request.h +++ b/core/request.h @@ -13,16 +13,10 @@ #include <fcgiapp.h> #include <sstream> #include <vector> -#include <iomanip> - #include "requesttypes.h" #include "session.h" #include "item.h" #include "error.h" -#include "compress.h" -#include "acceptencodingparser.h" -#include "htmlfilter.h" -#include "postmultiparser.h" #include "config.h" @@ -30,6 +24,8 @@ class FunctionBase; + + struct Request { // request id @@ -42,8 +38,8 @@ struct Request FCGX_Stream * in, * out, * err; FCGX_ParamArray env; // defined as 'char **' - - enum Method { get, post, none } method; + // !! moze pozbyc sie tego none? + enum Method { get, post, head, none } method; enum Role { responder, authorizer } role; // headers, page and debug @@ -86,7 +82,7 @@ struct Request // current file (if exists) Item item; - // winix function + // current winix function // null if there is no a function FunctionBase * function; @@ -111,16 +107,17 @@ struct Request // send as attachment (causing header: content-disposition: attachment) bool send_as_attachment; + + + + Request(); + void SetConfig(Config * pconfig); + void Clear(); + // for debugging void PrintGetTab(); void PrintEnv(); - void PrintIn(); - Request(); - void ClearPostFileTmp(); - void Clear(); - - void Init(); bool IsParam(const char * param_name); const std::string & ParamValue(const char * param_name); // returns empty string if there is no such a parameter @@ -129,61 +126,25 @@ struct Request void SetCookie(const char * name, long value, tm * expires = 0); bool IsPostVar(const char * var); - std::string * PostVar(const char * var); // it can return null when there is no such a post variable + const std::string & PostVar(const char * var); bool PostVar(const char * var, std::string & result); bool AllPostVarEmpty(); // returning true if all post vars are empty - void ReadEnvVariables(); - void CheckMethod(); - void ReadParameters(); - void Read(); void SendAll(); - //void SendNotify(); - - void SetConfig(Config * pconfig); + private: Config * config; - enum Header - { - h_200, - h_404, - h_403 - }; + void ClearPostFileTmp(); - - - void SendSessionCookie(); - void CheckIE(); - void CheckKonqueror(); - - void SendHeaders(bool compressing, Header header); - void AddDebugInfo(); - void SendPage(bool compressing, const std::string & source_ref); - - // used to set some env_* variables into it, when the server didn't set that variable - // it contains '\0' + // contains '\0' + // used to set env_* pointers to the empty value const char char_empty; - // used in ParamValue(const char * param_name) when there is no such a param + // used in ParamValue() and PostVar() when there is no such a param const std::string str_empty; - - - PostMultiParser post_multi_parser; - - const char * SetEnvVar(const char * var); - void StandardLog(); - - Compress compress; - AcceptEncodingParser accept_encoding_parser; - HTMLFilter html_filter; - - - // html after filtering - std::string clean_html; - }; diff --git a/core/system.cpp b/core/system.cpp index 4c63d8d..335b610 100755 --- a/core/system.cpp +++ b/core/system.cpp @@ -11,8 +11,7 @@ #include "misc.h" #include "error.h" #include "notify.h" -#include "functions/functions.h" -#include "templates/templates.h" + @@ -34,16 +33,6 @@ void System::SetDb(Db * pdb) } -void System::SetFunctions(Functions * pfunctions) -{ - functions = pfunctions; -} - - -void System::SetTemplates(Templates * ptemplates) -{ - templates = ptemplates; -} @@ -153,27 +142,6 @@ void System::RedirectToLastItem() } -void System::PrepareUrl(Item & item) -{ - TrimWhite(item.url); - - if( item.url.empty() ) - item.url = item.subject; // if the subject is empty then the url will be corrected by CorrectUrlOnlyAllowedChar() - - CorrectUrlOnlyAllowedChar(item.url); - - if( functions->Find(item.url) ) - { - // the name provided by an user is the same as a name of a function - // we add one underscore character at the beginning - - // names of functions should not begin with an underscore '_' - // and we can simply add one '_' at the beginning - // and the name will be unique - item.url.insert(item.url.begin(), '_'); - } -} - bool System::CanChangeUser(const Item & item, long new_user_id) { @@ -553,9 +521,7 @@ Error System::EditFile(Item & item, bool with_url) if( status == WINIX_ERR_OK ) { - TemplatesFunctions::pattern_cacher.UpdatePattern(item); log << log2 << "System: modified an item" << logend; - request->notify_code |= WINIX_NOTIFY_ITEM_EDIT; } @@ -565,27 +531,3 @@ return status; -Error System::CheckSpecialFile(const Item & item) -{ - static std::string fstab = "fstab"; - - Item * etc = dirs.GetEtcDir(); - - if( !etc ) - return WINIX_NOTHING_TO_DO; - - if( item.parent_id != etc->id ) - return WINIX_NOTHING_TO_DO; - - if( item.url == fstab ) - { - log << log3 << "System: reloading mount points" << logend; - - Error status = mounts.ReadMounts(item.content); - templates->ReadNewIndexTemplates(); - - return status; - } - -return WINIX_NOTHING_TO_DO; -} diff --git a/core/system.h b/core/system.h index 3d0332e..95eb398 100755 --- a/core/system.h +++ b/core/system.h @@ -22,8 +22,7 @@ #include "loadavg.h" -class Functions; -class Templates; + // file system @@ -56,8 +55,6 @@ public: void SetRequest(Request * prequest); void SetConfig(Config * pconfig); void SetDb(Db * pdb); - void SetFunctions(Functions * pfunctions); - void SetTemplates(Templates * ptemplates); void Init(); void RedirectTo(const Item & item, const char * postfix = 0); @@ -65,8 +62,6 @@ public: void RedirectToLastDir(); void RedirectToLastItem(); // redirect to an item if exists or to the last directory - void PrepareUrl(Item & item); - bool CanChangeUser(const Item & item, long new_user_id); bool CanChangeGroup(const Item & item, long new_group_id); bool CanChangePrivileges(const Item & item, int new_priv); @@ -91,14 +86,10 @@ public: Error AddFile(Item & item); Error EditFile(Item & item, bool with_url = true); - Error CheckSpecialFile(const Item & item); - private: Request * request; Config * config; Db * db; - Functions * functions; - Templates * templates; std::string path; bool MakePathSimpleFs(std::string & path, long dir_id, bool create_dir); diff --git a/functions/Makefile.dep b/functions/Makefile.dep index bf42d58..9ce516b 100755 --- a/functions/Makefile.dep +++ b/functions/Makefile.dep @@ -5,24 +5,20 @@ adduser.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h adduser.o: ../core/error.h ../core/log.h ../core/dircontainer.h adduser.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h adduser.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -adduser.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -adduser.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -adduser.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -adduser.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -adduser.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h -adduser.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h -adduser.o: ../core/notify.h ../templatesnotify/templatesnotify.h -adduser.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h -adduser.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -adduser.o: ../core/system.h +adduser.o: ../core/rebus.h ../core/config.h ../core/confparser.h +adduser.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +adduser.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +adduser.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +adduser.o: ../core/groups.h ../core/loadavg.h ../core/notify.h +adduser.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h +adduser.o: ../core/mount.h ../core/locale.h ../templates/misc.h +adduser.o: ../templates/localefilter.h ../core/locale.h ../core/system.h cat.o: cat.h functionbase.h ../core/item.h ../core/db.h ../core/item.h cat.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h cat.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h cat.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h cat.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -cat.o: ../core/compress.h ../core/acceptencodingparser.h -cat.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -cat.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +cat.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h cat.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h cat.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h cat.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -35,9 +31,7 @@ chmod.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h chmod.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h chmod.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h chmod.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -chmod.o: ../core/compress.h ../core/acceptencodingparser.h -chmod.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -chmod.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +chmod.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h chmod.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h chmod.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h chmod.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -50,9 +44,7 @@ chown.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h chown.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h chown.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h chown.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -chown.o: ../core/compress.h ../core/acceptencodingparser.h -chown.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -chown.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +chown.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h chown.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h chown.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h chown.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -65,13 +57,11 @@ ckeditor.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h ckeditor.o: ../core/error.h ../core/log.h ../core/dircontainer.h ckeditor.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h ckeditor.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -ckeditor.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -ckeditor.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -ckeditor.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -ckeditor.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -ckeditor.o: ../core/request.h ../core/mounts.h ../core/mount.h -ckeditor.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h -ckeditor.o: ../core/loadavg.h ../core/notify.h +ckeditor.o: ../core/rebus.h ../core/config.h ../core/confparser.h +ckeditor.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +ckeditor.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +ckeditor.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +ckeditor.o: ../core/groups.h ../core/loadavg.h ../core/notify.h ckeditor.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h ckeditor.o: ../core/mount.h ../core/locale.h ../templates/misc.h ckeditor.o: ../templates/localefilter.h ../core/locale.h ../core/system.h @@ -85,26 +75,27 @@ cp.o: cp.h functionbase.h ../core/item.h ../core/db.h ../core/item.h cp.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h cp.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h cp.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h -cp.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -cp.o: ../core/compress.h ../core/acceptencodingparser.h -cp.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -cp.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -cp.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -cp.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h +cp.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h +cp.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h +cp.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +cp.o: ../core/mounts.h ../core/mount.h ../core/users.h cp.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h cp.o: ../core/notify.h ../templatesnotify/templatesnotify.h cp.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h cp.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -cp.o: ../core/system.h ../core/misc.h +cp.o: ../core/system.h ../core/misc.h functions.h functionparser.h adduser.h +cp.o: cat.h chmod.h privchanger.h chown.h ckeditor.h createthread.h +cp.o: createticket.h default.h download.h editticket.h emacs.h last.h login.h +cp.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h subject.h +cp.o: funthread.h ../core/thread.h funticket.h ../core/ticket.h tinymce.h +cp.o: uname.h upload.h uptime.h who.h createthread.o: createthread.h functionbase.h ../core/item.h ../core/db.h createthread.o: ../core/item.h ../core/user.h ../core/group.h createthread.o: ../core/thread.h ../core/error.h ../core/log.h createthread.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h createthread.o: ../core/request.h ../core/requesttypes.h ../core/session.h -createthread.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -createthread.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -createthread.o: ../core/htmlfilter.h ../core/postmultiparser.h -createthread.o: ../core/config.h ../core/confparser.h ../core/config.h +createthread.o: ../core/plugindata.h ../core/rebus.h ../core/config.h +createthread.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h createthread.o: ../core/system.h ../core/dirs.h ../core/db.h createthread.o: ../core/request.h ../core/mounts.h ../core/mount.h createthread.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h @@ -123,10 +114,8 @@ createticket.o: ../core/item.h ../core/user.h ../core/group.h createticket.o: ../core/thread.h ../core/error.h ../core/log.h createticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h createticket.o: ../core/request.h ../core/requesttypes.h ../core/session.h -createticket.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -createticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -createticket.o: ../core/htmlfilter.h ../core/postmultiparser.h -createticket.o: ../core/config.h ../core/confparser.h ../core/config.h +createticket.o: ../core/plugindata.h ../core/rebus.h ../core/config.h +createticket.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h createticket.o: ../core/system.h ../core/dirs.h ../core/db.h createticket.o: ../core/request.h ../core/mounts.h ../core/mount.h createticket.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h @@ -145,28 +134,24 @@ default.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h default.o: ../core/error.h ../core/log.h ../core/dircontainer.h default.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h default.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -default.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -default.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -default.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -default.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -default.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h -default.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h -default.o: ../core/notify.h ../templatesnotify/templatesnotify.h -default.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h -default.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -default.o: ../core/system.h +default.o: ../core/rebus.h ../core/config.h ../core/confparser.h +default.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +default.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +default.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +default.o: ../core/groups.h ../core/loadavg.h ../core/notify.h +default.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h +default.o: ../core/mount.h ../core/locale.h ../templates/misc.h +default.o: ../templates/localefilter.h ../core/locale.h ../core/system.h download.o: download.h functionbase.h ../core/item.h ../core/db.h download.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h download.o: ../core/error.h ../core/log.h ../core/dircontainer.h download.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h download.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -download.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -download.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -download.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -download.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -download.o: ../core/request.h ../core/mounts.h ../core/mount.h -download.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h -download.o: ../core/loadavg.h ../core/notify.h +download.o: ../core/rebus.h ../core/config.h ../core/confparser.h +download.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +download.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +download.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +download.o: ../core/groups.h ../core/loadavg.h ../core/notify.h download.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h download.o: ../core/mount.h ../core/locale.h ../templates/misc.h download.o: ../templates/localefilter.h ../core/locale.h ../core/system.h @@ -175,10 +160,8 @@ editticket.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h editticket.o: ../core/error.h ../core/log.h ../core/dircontainer.h editticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h editticket.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -editticket.o: ../core/rebus.h ../core/compress.h -editticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -editticket.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -editticket.o: ../core/confparser.h ../core/config.h ../core/system.h +editticket.o: ../core/rebus.h ../core/config.h ../core/confparser.h +editticket.o: ../core/htmlfilter.h ../core/config.h ../core/system.h editticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h editticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h editticket.o: ../core/groups.h ../core/loadavg.h ../core/notify.h @@ -197,9 +180,7 @@ emacs.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h emacs.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h emacs.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h emacs.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -emacs.o: ../core/compress.h ../core/acceptencodingparser.h -emacs.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -emacs.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +emacs.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h emacs.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h emacs.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h emacs.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -221,32 +202,27 @@ functionbase.o: ../core/user.h ../core/group.h ../core/thread.h functionbase.o: ../core/error.h ../core/log.h ../core/dircontainer.h functionbase.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h functionbase.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -functionbase.o: ../core/rebus.h ../core/compress.h -functionbase.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -functionbase.o: ../core/htmlfilter.h ../core/postmultiparser.h -functionbase.o: ../core/config.h ../core/confparser.h ../core/config.h -functionbase.o: ../core/system.h ../core/dirs.h ../core/db.h -functionbase.o: ../core/request.h ../core/mounts.h ../core/mount.h -functionbase.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h -functionbase.o: ../core/loadavg.h ../core/notify.h -functionbase.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h -functionbase.o: ../core/mount.h ../core/locale.h ../templates/misc.h -functionbase.o: ../templates/localefilter.h ../core/locale.h ../core/system.h -functionbase.o: functions.h functionparser.h adduser.h cat.h chmod.h -functionbase.o: privchanger.h chown.h ckeditor.h cp.h createthread.h -functionbase.o: createticket.h default.h download.h editticket.h emacs.h -functionbase.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h -functionbase.o: reload.h rm.h run.h subject.h funthread.h ../core/thread.h -functionbase.o: funticket.h ../core/ticket.h tinymce.h uname.h upload.h -functionbase.o: uptime.h who.h +functionbase.o: ../core/rebus.h ../core/config.h ../core/confparser.h +functionbase.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +functionbase.o: ../core/dirs.h ../core/db.h ../core/request.h +functionbase.o: ../core/mounts.h ../core/mount.h ../core/users.h +functionbase.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +functionbase.o: ../core/notify.h ../templatesnotify/templatesnotify.h +functionbase.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h +functionbase.o: ../templates/misc.h ../templates/localefilter.h +functionbase.o: ../core/locale.h ../core/system.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 createticket.h +functionbase.o: default.h download.h editticket.h emacs.h last.h login.h +functionbase.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h +functionbase.o: subject.h funthread.h ../core/thread.h funticket.h +functionbase.o: ../core/ticket.h tinymce.h uname.h upload.h uptime.h who.h functionparser.o: functionparser.h ../core/request.h ../core/requesttypes.h functionparser.o: ../core/session.h ../core/item.h ../core/error.h functionparser.o: ../core/log.h ../core/user.h ../core/plugindata.h -functionparser.o: ../core/rebus.h ../core/compress.h -functionparser.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -functionparser.o: ../core/htmlfilter.h ../core/postmultiparser.h -functionparser.o: ../core/config.h ../core/confparser.h ../core/db.h -functionparser.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +functionparser.o: ../core/rebus.h ../core/config.h ../core/confparser.h +functionparser.o: ../core/htmlfilter.h ../core/db.h ../core/group.h +functionparser.o: ../core/thread.h ../core/dircontainer.h functionparser.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h functionparser.o: ../core/dirs.h ../core/db.h ../core/request.h functionparser.o: ../core/mounts.h ../core/mount.h ../core/users.h @@ -267,10 +243,8 @@ functions.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h functions.o: ../core/error.h ../core/log.h ../core/dircontainer.h functions.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h functions.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -functions.o: ../core/rebus.h ../core/compress.h -functions.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -functions.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -functions.o: ../core/confparser.h ../core/config.h ../core/system.h +functions.o: ../core/rebus.h ../core/config.h ../core/confparser.h +functions.o: ../core/htmlfilter.h ../core/config.h ../core/system.h functions.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h functions.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h functions.o: ../core/groups.h ../core/loadavg.h ../core/notify.h @@ -293,10 +267,8 @@ funthread.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h funthread.o: ../core/error.h ../core/log.h ../core/dircontainer.h funthread.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h funthread.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -funthread.o: ../core/rebus.h ../core/compress.h -funthread.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -funthread.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -funthread.o: ../core/confparser.h ../core/config.h ../core/system.h +funthread.o: ../core/rebus.h ../core/config.h ../core/confparser.h +funthread.o: ../core/htmlfilter.h ../core/config.h ../core/system.h funthread.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h funthread.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h funthread.o: ../core/groups.h ../core/loadavg.h ../core/notify.h @@ -309,10 +281,8 @@ funticket.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h funticket.o: ../core/error.h ../core/log.h ../core/dircontainer.h funticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h funticket.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -funticket.o: ../core/rebus.h ../core/compress.h -funticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -funticket.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -funticket.o: ../core/confparser.h ../core/config.h ../core/system.h +funticket.o: ../core/rebus.h ../core/config.h ../core/confparser.h +funticket.o: ../core/htmlfilter.h ../core/config.h ../core/system.h funticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h funticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h funticket.o: ../core/groups.h ../core/loadavg.h ../core/notify.h @@ -325,9 +295,7 @@ last.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h last.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h last.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h last.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -last.o: ../core/compress.h ../core/acceptencodingparser.h -last.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -last.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +last.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h last.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h last.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h last.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -340,9 +308,7 @@ login.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h login.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h login.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h login.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -login.o: ../core/compress.h ../core/acceptencodingparser.h -login.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -login.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +login.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h login.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h login.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h login.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -355,9 +321,7 @@ logout.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h logout.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h logout.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h logout.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -logout.o: ../core/compress.h ../core/acceptencodingparser.h -logout.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -logout.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +logout.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h logout.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h logout.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h logout.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -369,12 +333,10 @@ ls.o: ls.h functionbase.h ../core/item.h ../core/db.h ../core/item.h ls.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h ls.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h ls.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h -ls.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -ls.o: ../core/compress.h ../core/acceptencodingparser.h -ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -ls.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -ls.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -ls.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h +ls.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h +ls.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h +ls.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +ls.o: ../core/mounts.h ../core/mount.h ../core/users.h ls.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h ls.o: ../core/notify.h ../templatesnotify/templatesnotify.h ls.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h @@ -385,9 +347,7 @@ mkdir.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h mkdir.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h mkdir.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h mkdir.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -mkdir.o: ../core/compress.h ../core/acceptencodingparser.h -mkdir.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -mkdir.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +mkdir.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h mkdir.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h mkdir.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h mkdir.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -404,25 +364,26 @@ mv.o: mv.h functionbase.h ../core/item.h ../core/db.h ../core/item.h mv.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h mv.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h mv.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h -mv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -mv.o: ../core/compress.h ../core/acceptencodingparser.h -mv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -mv.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -mv.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -mv.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h +mv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h +mv.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h +mv.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +mv.o: ../core/mounts.h ../core/mount.h ../core/users.h mv.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h mv.o: ../core/notify.h ../templatesnotify/templatesnotify.h mv.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h mv.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -mv.o: ../core/system.h +mv.o: ../core/system.h functions.h functionparser.h adduser.h cat.h chmod.h +mv.o: privchanger.h chown.h ckeditor.h cp.h createthread.h createticket.h +mv.o: default.h download.h editticket.h emacs.h last.h login.h logout.h ls.h +mv.o: mkdir.h node.h priv.h reload.h rm.h run.h subject.h funthread.h +mv.o: ../core/thread.h funticket.h ../core/ticket.h tinymce.h uname.h +mv.o: upload.h uptime.h who.h node.o: node.h functionbase.h ../core/item.h ../core/db.h ../core/item.h node.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h node.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h node.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h node.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -node.o: ../core/compress.h ../core/acceptencodingparser.h -node.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -node.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +node.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h node.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h node.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h node.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -435,9 +396,7 @@ priv.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h priv.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h priv.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h priv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -priv.o: ../core/compress.h ../core/acceptencodingparser.h -priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -priv.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +priv.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h priv.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h priv.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h priv.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -448,21 +407,17 @@ priv.o: ../core/system.h privchanger.h privchanger.o: privchanger.h ../core/request.h ../core/requesttypes.h privchanger.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h privchanger.o: ../core/user.h ../core/plugindata.h ../core/rebus.h -privchanger.o: ../core/compress.h ../core/acceptencodingparser.h -privchanger.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -privchanger.o: ../core/postmultiparser.h ../core/config.h -privchanger.o: ../core/confparser.h ../core/system.h ../core/dirs.h -privchanger.o: ../core/dircontainer.h ../core/db.h ../core/request.h -privchanger.o: ../core/mounts.h ../core/mount.h ../core/users.h -privchanger.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h -privchanger.o: ../core/group.h ../core/loadavg.h ../core/db.h -privchanger.o: ../core/thread.h ../core/ticket.h +privchanger.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h +privchanger.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h +privchanger.o: ../core/db.h ../core/request.h ../core/mounts.h +privchanger.o: ../core/mount.h ../core/users.h ../core/ugcontainer.h +privchanger.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h +privchanger.o: ../core/loadavg.h ../core/db.h ../core/thread.h +privchanger.o: ../core/ticket.h readticket.o: readticket.h ../core/request.h ../core/requesttypes.h readticket.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h readticket.o: ../core/user.h ../core/plugindata.h ../core/rebus.h -readticket.o: ../core/compress.h ../core/acceptencodingparser.h -readticket.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -readticket.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +readticket.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h readticket.o: ../core/ticket.h ../core/system.h ../core/dirs.h readticket.o: ../core/dircontainer.h ../core/db.h ../core/request.h readticket.o: ../core/mounts.h ../core/mount.h ../core/users.h @@ -473,9 +428,7 @@ reload.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h reload.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h reload.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h reload.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -reload.o: ../core/compress.h ../core/acceptencodingparser.h -reload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -reload.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +reload.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h reload.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h reload.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h reload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -491,12 +444,10 @@ rm.o: rm.h functionbase.h ../core/item.h ../core/db.h ../core/item.h rm.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h rm.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h rm.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h -rm.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -rm.o: ../core/compress.h ../core/acceptencodingparser.h -rm.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -rm.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -rm.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -rm.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h +rm.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h +rm.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h +rm.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +rm.o: ../core/mounts.h ../core/mount.h ../core/users.h rm.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h rm.o: ../core/notify.h ../templatesnotify/templatesnotify.h rm.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h @@ -517,9 +468,7 @@ run.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h run.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h run.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h run.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -run.o: ../core/compress.h ../core/acceptencodingparser.h -run.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -run.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +run.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h run.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h run.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h run.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -532,44 +481,39 @@ subject.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h subject.o: ../core/error.h ../core/log.h ../core/dircontainer.h subject.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h subject.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -subject.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -subject.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -subject.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -subject.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -subject.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h -subject.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h -subject.o: ../core/notify.h ../templatesnotify/templatesnotify.h -subject.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h -subject.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -subject.o: ../core/system.h +subject.o: ../core/rebus.h ../core/config.h ../core/confparser.h +subject.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +subject.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +subject.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +subject.o: ../core/groups.h ../core/loadavg.h ../core/notify.h +subject.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h +subject.o: ../core/mount.h ../core/locale.h ../templates/misc.h +subject.o: ../templates/localefilter.h ../core/locale.h ../core/system.h tinymce.o: tinymce.h functionbase.h ../core/item.h ../core/db.h tinymce.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h tinymce.o: ../core/error.h ../core/log.h ../core/dircontainer.h tinymce.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h tinymce.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h -tinymce.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -tinymce.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -tinymce.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h -tinymce.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h -tinymce.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h -tinymce.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h -tinymce.o: ../core/notify.h ../templatesnotify/templatesnotify.h -tinymce.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h -tinymce.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -tinymce.o: ../core/system.h functions.h functionparser.h adduser.h cat.h -tinymce.o: chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h -tinymce.o: createticket.h default.h download.h editticket.h emacs.h last.h -tinymce.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h -tinymce.o: run.h subject.h funthread.h ../core/thread.h funticket.h -tinymce.o: ../core/ticket.h uname.h upload.h uptime.h who.h +tinymce.o: ../core/rebus.h ../core/config.h ../core/confparser.h +tinymce.o: ../core/htmlfilter.h ../core/config.h ../core/system.h +tinymce.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h +tinymce.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h +tinymce.o: ../core/groups.h ../core/loadavg.h ../core/notify.h +tinymce.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h +tinymce.o: ../core/mount.h ../core/locale.h ../templates/misc.h +tinymce.o: ../templates/localefilter.h ../core/locale.h ../core/system.h +tinymce.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h +tinymce.o: chown.h ckeditor.h cp.h createthread.h createticket.h default.h +tinymce.o: download.h editticket.h emacs.h last.h login.h logout.h ls.h +tinymce.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h subject.h +tinymce.o: funthread.h ../core/thread.h funticket.h ../core/ticket.h uname.h +tinymce.o: upload.h uptime.h who.h uname.o: uname.h functionbase.h ../core/item.h ../core/db.h ../core/item.h uname.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h uname.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h uname.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h uname.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -uname.o: ../core/compress.h ../core/acceptencodingparser.h -uname.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -uname.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +uname.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h uname.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h uname.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h uname.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -582,9 +526,7 @@ upload.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h upload.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h upload.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h upload.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -upload.o: ../core/compress.h ../core/acceptencodingparser.h -upload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -upload.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +upload.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h upload.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h upload.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h upload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -598,14 +540,12 @@ upload.o: editticket.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h upload.o: node.h priv.h reload.h rm.h run.h subject.h funthread.h upload.o: ../core/thread.h funticket.h ../core/ticket.h tinymce.h uname.h upload.o: uptime.h who.h -uptime.o: uname.h functionbase.h ../core/item.h ../core/db.h ../core/item.h +uptime.o: uptime.h functionbase.h ../core/item.h ../core/db.h ../core/item.h uptime.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h uptime.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h uptime.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h uptime.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -uptime.o: ../core/compress.h ../core/acceptencodingparser.h -uptime.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -uptime.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +uptime.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h uptime.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h uptime.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h uptime.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h @@ -618,9 +558,7 @@ who.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h who.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h who.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h who.o: ../core/session.h ../core/plugindata.h ../core/rebus.h -who.o: ../core/compress.h ../core/acceptencodingparser.h -who.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -who.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h +who.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h who.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h who.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h who.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h diff --git a/functions/adduser.cpp b/functions/adduser.cpp index daa4e5f..90e1c61 100755 --- a/functions/adduser.cpp +++ b/functions/adduser.cpp @@ -21,33 +21,27 @@ AddUser::AddUser() } -bool AddUser::CheckAddUserVars(const std::string * login, const std::string * pass, const std::string * conf_pass) +bool AddUser::CheckAddUserVars(const std::string & login, const std::string & pass, const std::string & conf_pass) { - if( !login || !pass || !conf_pass ) - { - request->status = WINIX_ERR_PERMISSION_DENIED; - return false; - } - - if( login->empty() ) + if( login.empty() ) { request->status = WINIX_ERR_LOGIN_EMPTY; return false; } - if( *pass != *conf_pass ) + if( pass != conf_pass ) { request->status = WINIX_ERR_PASSWORDS_DIFFERENT; return false; } - if( pass->size() < 5 ) + if( pass.size() < config->password_min_size ) { request->status = WINIX_ERR_PASSWORD_TOO_SHORT; return false; } - if( system->users.IsUser(*login) ) + if( system->users.IsUser(login) ) { request->status = WINIX_ERR_USER_EXISTS; return false; @@ -65,20 +59,17 @@ void AddUser::MakePost() { User user; - std::string * login = request->PostVar("login"); - std::string * pass = request->PostVar("password"); - std::string * conf_pass = request->PostVar("confirmpassword"); - std::string * email = request->PostVar("email"); + const std::string & login = request->PostVar("login"); + const std::string & pass = request->PostVar("password"); + const std::string & conf_pass = request->PostVar("confirmpassword"); if( !CheckAddUserVars(login, pass, conf_pass) ) return; - user.name = *login; + user.name = login; + user.email = request->PostVar("email"); - if( email ) - user.email = *email; - - request->status = db->AddUser(user, *pass); + request->status = db->AddUser(user, pass); if( request->status == WINIX_ERR_OK ) { @@ -87,11 +78,11 @@ User user; if( !request->session->puser ) system->users.LoginUser(user.id, false); - log << log2 << "Content: added a new user: " << user.name << logend; + log << log2 << "Adduser: added a new user: " << user.name << logend; } else { - log << log1 << "Content: I can't add to system->users: " << user.name + log << log1 << "Adduser: I can't add to system->users: " << user.name << " but the user was added to the db correctly" << logend; } diff --git a/functions/adduser.h b/functions/adduser.h index c1bd36f..d7f68e2 100755 --- a/functions/adduser.h +++ b/functions/adduser.h @@ -27,7 +27,7 @@ public: private: - bool CheckAddUserVars(const std::string * login, const std::string * pass, const std::string * conf_pass); + bool CheckAddUserVars(const std::string & login, const std::string & pass, const std::string & conf_pass); }; diff --git a/functions/cp.cpp b/functions/cp.cpp index 312893b..a54e2c8 100755 --- a/functions/cp.cpp +++ b/functions/cp.cpp @@ -10,7 +10,7 @@ #include <errno.h> #include "cp.h" #include "core/misc.h" - +#include "functions.h" namespace Fun @@ -67,15 +67,7 @@ return true; bool Cp::ParseDir(long & dir_id, std::string & dir, std::string & file) { - std::string * move_to = request->PostVar("to"); - - if( !move_to ) - { - request->status = WINIX_ERR_PERMISSION_DENIED; - return false; - } - - int res = system->dirs.AnalyzePath(*move_to, dir_id, dir, file); + int res = system->dirs.AnalyzePath(request->PostVar("to"), dir_id, dir, file); if( res == 1 ) request->status = WINIX_ERR_NO_ROOT_DIR; @@ -193,7 +185,7 @@ long Cp::CpDir(const Item & item, long dst_dir_id) { cp_temp.url = mv_file; mv_file.clear(); - system->PrepareUrl(cp_temp); + functions->PrepareUrl(cp_temp); } if( !cp_preserve_attr ) @@ -240,7 +232,7 @@ void Cp::CpItemCheck(Item & item, bool redirect) if( !mv_file.empty() ) { item.url = mv_file; - system->PrepareUrl(item); + functions->PrepareUrl(item); } CpItem(item, mv_dir_id); diff --git a/functions/default.cpp b/functions/default.cpp index 29480ca..4cd57a7 100755 --- a/functions/default.cpp +++ b/functions/default.cpp @@ -25,13 +25,13 @@ long Default::PostFunDefaultParsePath() Item * pdir, * pdir2; long defaultid = -1; - std::string * path = request->PostVar("defaultitem"); + const std::string & path = request->PostVar("defaultitem"); - if( path && !path->empty() ) + if( !path.empty() ) { std::string dir, file; - Dirs::SplitPath(*path, dir, file); + Dirs::SplitPath(path, dir, file); pdir = system->dirs.GetDir(dir); diff --git a/functions/editticket.cpp b/functions/editticket.cpp index 430f21e..d6d1fa4 100755 --- a/functions/editticket.cpp +++ b/functions/editticket.cpp @@ -72,7 +72,7 @@ void EditTicket::EditTicketCheckFirstItem() item.type = Item::file; item.privileges = 0644; // !! tymczasowo functions->SetUser(item); - system->PrepareUrl(item); + functions->PrepareUrl(item); request->status = db->AddItem(item); diff --git a/functions/emacs.cpp b/functions/emacs.cpp index 84f9850..001d97c 100755 --- a/functions/emacs.cpp +++ b/functions/emacs.cpp @@ -123,14 +123,17 @@ void Emacs::MakePost() } else { - system->EditFile(request->item, edit_with_url); + // !! moze dodac metode EditFile w klasie functions? + // i ona wywola system->EditFile i poniszego updatera + if( system->EditFile(request->item, edit_with_url) == WINIX_ERR_OK ) + TemplatesFunctions::pattern_cacher.UpdatePattern(request->item); } if( request->status == WINIX_ERR_OK ) { PostFunEmacsModifyMountPoint(adding); - system->CheckSpecialFile(request->item); + functions->CheckSpecialFile(request->item); } else { diff --git a/functions/functions.cpp b/functions/functions.cpp index 3d33696..7b9c65c 100755 --- a/functions/functions.cpp +++ b/functions/functions.cpp @@ -58,6 +58,56 @@ return i->second; } +void Functions::PrepareUrl(Item & item) +{ + TrimWhite(item.url); + + if( item.url.empty() ) + item.url = item.subject; // if the subject is empty then the url will be corrected by CorrectUrlOnlyAllowedChar() + + CorrectUrlOnlyAllowedChar(item.url); + + if( Find(item.url) ) + { + // the name provided by an user is the same as a name of a function + // we add one underscore character at the beginning + + // names of functions should not begin with an underscore '_' + // and we can simply add one '_' at the beginning + // and the name will be unique + item.url.insert(item.url.begin(), '_'); + } +} + + + +Error Functions::CheckSpecialFile(const Item & item) +{ + static std::string fstab = "fstab"; + + Item * etc = system->dirs.GetEtcDir(); + + if( !etc ) + return WINIX_NOTHING_TO_DO; + + if( item.parent_id != etc->id ) + return WINIX_NOTHING_TO_DO; + + if( item.url == fstab ) + { + log << log3 << "Functions: reloading mount points" << logend; + + Error status = system->mounts.ReadMounts(item.content); + templates->ReadNewIndexTemplates(); + + return status; + } + +return WINIX_NOTHING_TO_DO; +} + + + void Functions::SetObjects(FunctionBase * fun) { fun->SetConfig(config); @@ -299,25 +349,26 @@ bool Functions::ReadItemUrlSubject(Item & item, Item::Type item_type) { bool with_url = false; - std::string * new_url = request->PostVar("url"); - std::string * new_subject = request->PostVar("subject"); + const std::string & new_url = request->PostVar("url"); + const std::string & new_subject = request->PostVar("subject"); if( item_type == Item::file ) { - if( !request->is_item || (new_url && *new_url != item.url) ) + if( !request->is_item || new_url != item.url ) with_url = true; } else { + // !! dla katalogow zawsze ma modyfikowac url? with_url = true; } - if( new_url ) - item.url = *new_url; + if( !new_url.empty() ) + item.url = new_url; - if( new_subject ) - item.subject = *new_subject; + if( !new_subject.empty() ) + item.subject = new_subject; if( item.subject.empty() ) @@ -328,7 +379,7 @@ bool Functions::ReadItemUrlSubject(Item & item, Item::Type item_type) } // if item.url is empty then it will be set from item.subject - system->PrepareUrl(item); + PrepareUrl(item); return with_url; } diff --git a/functions/functions.h b/functions/functions.h index 1196920..653fadf 100755 --- a/functions/functions.h +++ b/functions/functions.h @@ -102,6 +102,8 @@ public: void SetNotify(Notify * pnotify); FunctionBase * Find(const std::string & function_name); + Error CheckSpecialFile(const Item & item); + void PrepareUrl(Item & item); void SetDefaultFunction(); void CheckGetPostTimes(time_t difference = 10); diff --git a/functions/login.cpp b/functions/login.cpp index 33ed33e..1db47f8 100755 --- a/functions/login.cpp +++ b/functions/login.cpp @@ -22,13 +22,13 @@ Login::Login() void Login::MakePost() { - std::string * login = request->PostVar("login"); - std::string * pass = request->PostVar("password"); - std::string * remem = request->PostVar("rememberme"); + const std::string & login = request->PostVar("login"); + const std::string & pass = request->PostVar("password"); + const std::string & remem = request->PostVar("rememberme"); long user_id; - if( login && pass && db->CheckUser(*login, *pass, user_id) ) - system->users.LoginUser(user_id, remem != 0); + if( db->CheckUser(login, pass, user_id) ) + system->users.LoginUser(user_id, !remem.empty()); // !! moze zglosic komunikat o nie poprawnym logowaniu diff --git a/functions/mv.cpp b/functions/mv.cpp index 3493e30..a5ddf86 100755 --- a/functions/mv.cpp +++ b/functions/mv.cpp @@ -7,10 +7,9 @@ * */ -// !! potrzebne errno? #include <errno.h> #include "mv.h" - +#include "functions.h" namespace Fun @@ -34,7 +33,7 @@ Item * last_but_one = 0; if( request->method != Request::post ) { - // used in GET (HEAD in the future?) + // used in GET or HEAD if( !system->HasWriteAccess(*last) && (!last_but_one || !system->HasWriteAccess(*last_but_one)) ) @@ -134,15 +133,7 @@ return true; bool Mv::MoveParseDir(long & dir_id, std::string & dir, std::string & file) { - std::string * move_to = request->PostVar("to"); - - if( !move_to ) - { - request->status = WINIX_ERR_PERMISSION_DENIED; - return false; - } - - int res = system->dirs.AnalyzePath(*move_to, dir_id, dir, file); + int res = system->dirs.AnalyzePath(request->PostVar("to"), dir_id, dir, file); if( res == 1 ) request->status = WINIX_ERR_NO_ROOT_DIR; @@ -209,7 +200,7 @@ void Mv::MoveFile(Item & item, bool redirect) if( !mv_file.empty() ) { item.url = mv_file; - system->PrepareUrl(item); + functions->PrepareUrl(item); } item.parent_id = mv_dir_id; @@ -313,7 +304,7 @@ void Mv::MoveDir(Item & item, bool redirect) if( !mv_file.empty() ) { item.url = mv_file; - system->PrepareUrl(item); + functions->PrepareUrl(item); } request->status = db->EditParentUrlById(item, item.id); diff --git a/functions/privchanger.cpp b/functions/privchanger.cpp index 9cdd147..c2c35ec 100755 --- a/functions/privchanger.cpp +++ b/functions/privchanger.cpp @@ -207,45 +207,28 @@ void PrivChanger::PrivDir(long parent_id) } -bool PrivChanger::ReadPriv(const char * user_in, const char * group_in, const char * priv_in, +void PrivChanger::ReadPriv(const char * user_in, const char * group_in, const char * priv_in, long & user_id, long & group_id, int & priv) { - std::string * user_str = request->PostVar(user_in); - std::string * group_str = request->PostVar(group_in); - std::string * priv_str = request->PostVar(priv_in); - - if( change_owner && (!user_str || !group_str) ) - { - log << log1 << "Content: PostFunPriv: there is no some post variables for changing the owner" << logend; - return false; - } - - if( change_priv && !priv_str ) - { - log << log1 << "Content: PostFunPriv: there is no some post variables for changing privileges" << logend; - return false; - } + const std::string & user_str = request->PostVar(user_in); + const std::string & group_str = request->PostVar(group_in); + const std::string & priv_str = request->PostVar(priv_in); if( change_owner ) { - user_id = system->users.GetUserId( *user_str ); - group_id = system->groups.GetGroupId( *group_str ); + user_id = system->users.GetUserId( user_str ); + group_id = system->groups.GetGroupId( group_str ); } if( change_priv ) - priv = strtol( priv_str->c_str() , 0, 8); - -return true; + priv = strtol(priv_str.c_str(), 0, 8); } void PrivChanger::PrivDir() { - if( !ReadPriv("userfile", "groupfile", "privilegesfile", user_id_file, group_id_file, priv_file) ) - return; - - if( !ReadPriv("userdir", "groupdir", "privilegesdir", user_id_dir, group_id_dir, priv_dir) ) - return; + ReadPriv("userfile", "groupfile", "privilegesfile", user_id_file, group_id_file, priv_file); + ReadPriv("userdir", "groupdir", "privilegesdir", user_id_dir, group_id_dir, priv_dir); PrivLogStart("Content: changes for files: ", user_id_file, group_id_file, priv_file); PrivLogStart("Content: changes for dirs: ", user_id_dir, group_id_dir, priv_dir); @@ -272,8 +255,7 @@ void PrivChanger::PrivDir() // changing only one item (either a dir or file) void PrivChanger::PrivOneItem() { - if( !ReadPriv("user", "group", "privileges", user_id_file, group_id_file, priv_file) ) - return; + ReadPriv("user", "group", "privileges", user_id_file, group_id_file, priv_file); PrivLogStart("Content: changes: ", user_id_file, group_id_file, priv_file); diff --git a/functions/privchanger.h b/functions/privchanger.h index f4bd853..9a912db 100755 --- a/functions/privchanger.h +++ b/functions/privchanger.h @@ -46,7 +46,7 @@ private: void PrivLog(const char * what, long id, const std::string & url); void PrivFilesInDir(long parent_id); void PrivDir(long parent_id); - bool ReadPriv(const char * user_in, const char * group_in, const char * priv_in, + void ReadPriv(const char * user_in, const char * group_in, const char * priv_in, long & user_id, long & group_id, int & priv); void PrivDir(); void PrivOneItem(); diff --git a/functions/upload.cpp b/functions/upload.cpp index 0ffece4..800d2a1 100755 --- a/functions/upload.cpp +++ b/functions/upload.cpp @@ -155,7 +155,7 @@ void Upload::UploadMulti() request->item.url = file_name; request->item.auth = SelectFileType(file_name); - system->PrepareUrl(request->item); + functions->PrepareUrl(request->item); request->status = system->AddFile(request->item); if( !UploadCreatePath() ) @@ -174,10 +174,10 @@ void Upload::UploadMulti() void Upload::UploadSingle() { - std::string * new_subject = request->PostVar("subject"); - std::string * new_url = request->PostVar("url"); - bool has_subject = (new_subject && (*new_subject)[0] != 0 ); - bool has_url = (new_url && (*new_url)[0] != 0 ); + const std::string & new_subject = request->PostVar("subject"); + const std::string & new_url = request->PostVar("url"); + bool has_subject = !new_subject.empty(); + bool has_url = !new_url.empty(); //(new_url && (*new_url)[0] != 0 ); functions->ReadItem(request->item, Item::file); // ReadItem() changes the url if it is empty functions->SetUser(request->item); @@ -192,7 +192,7 @@ void Upload::UploadSingle() if( !has_url ) { request->item.url = file_name; - system->PrepareUrl(request->item); + functions->PrepareUrl(request->item); } request->status = system->AddFile(request->item); diff --git a/main/Makefile.dep b/main/Makefile.dep index b9089e7..3ce7435 100755 --- a/main/Makefile.dep +++ b/main/Makefile.dep @@ -1,16 +1,14 @@ # DO NOT DELETE main.o: ../core/log.h ../core/app.h ../core/config.h ../core/confparser.h -main.o: ../core/system.h ../core/dirs.h ../core/item.h ../core/dircontainer.h -main.o: ../core/db.h ../core/user.h ../core/group.h ../core/thread.h -main.o: ../core/error.h ../core/log.h ../core/ugcontainer.h ../core/ticket.h -main.o: ../core/request.h ../core/requesttypes.h ../core/session.h -main.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -main.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/mounts.h -main.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h -main.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h -main.o: ../core/sessioncontainer.h ../core/notify.h +main.o: ../core/htmlfilter.h ../core/system.h ../core/dirs.h ../core/item.h +main.o: ../core/dircontainer.h ../core/db.h ../core/user.h ../core/group.h +main.o: ../core/thread.h ../core/error.h ../core/log.h ../core/ugcontainer.h +main.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h +main.o: ../core/session.h ../core/plugindata.h ../core/rebus.h +main.o: ../core/mounts.h ../core/mount.h ../core/users.h +main.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +main.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/notify.h main.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h main.o: ../core/mount.h ../core/locale.h ../core/config.h ../templates/misc.h main.o: ../templates/localefilter.h ../core/locale.h ../functions/functions.h @@ -32,4 +30,7 @@ main.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h main.o: ../templates/patterncacher.h ../core/item.h ../templates/misc.h main.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h main.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h +main.o: ../core/compress.h ../core/getparser.h ../core/httpsimpleparser.h +main.o: ../core/postparser.h ../core/cookieparser.h ../core/postmultiparser.h +main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h main.o: ../core/plugin.h ../core/pluginmsg.h diff --git a/plugins/stats/Makefile.dep b/plugins/stats/Makefile.dep index b453dc8..41e7a98 100755 --- a/plugins/stats/Makefile.dep +++ b/plugins/stats/Makefile.dep @@ -4,17 +4,15 @@ bot.o: bot.h init.o: ../../core/log.h ../../core/request.h ../../core/requesttypes.h init.o: ../../core/session.h ../../core/item.h ../../core/error.h init.o: ../../core/log.h ../../core/user.h ../../core/plugindata.h -init.o: ../../core/rebus.h ../../core/compress.h -init.o: ../../core/acceptencodingparser.h ../../core/acceptbaseparser.h -init.o: ../../core/htmlfilter.h ../../core/postmultiparser.h -init.o: ../../core/config.h ../../core/confparser.h ../../core/config.h -init.o: ../../core/db.h ../../core/group.h ../../core/thread.h -init.o: ../../core/dircontainer.h ../../core/ugcontainer.h -init.o: ../../core/ticket.h bot.h stats.h templates.h ../../core/plugin.h -init.o: ../../core/pluginmsg.h ../../core/request.h ../../core/system.h -init.o: ../../core/dirs.h ../../core/db.h ../../core/mounts.h -init.o: ../../core/mount.h ../../core/users.h ../../core/lastcontainer.h -init.o: ../../core/groups.h ../../core/loadavg.h ../../core/sessionmanager.h +init.o: ../../core/rebus.h ../../core/config.h ../../core/confparser.h +init.o: ../../core/htmlfilter.h ../../core/config.h ../../core/db.h +init.o: ../../core/group.h ../../core/thread.h ../../core/dircontainer.h +init.o: ../../core/ugcontainer.h ../../core/ticket.h bot.h stats.h +init.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h +init.o: ../../core/request.h ../../core/system.h ../../core/dirs.h +init.o: ../../core/db.h ../../core/mounts.h ../../core/mount.h +init.o: ../../core/users.h ../../core/lastcontainer.h ../../core/groups.h +init.o: ../../core/loadavg.h ../../core/sessionmanager.h init.o: ../../core/sessioncontainer.h ../../functions/functions.h init.o: ../../functions/functionbase.h ../../core/item.h ../../core/system.h init.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h @@ -45,21 +43,19 @@ init.o: statssession.h ../../core/plugindata.h stats.o: stats.h ../../core/config.h ../../core/log.h templates.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h templates.o: ../../core/log.h ../../core/plugindata.h ../../core/config.h -templates.o: ../../core/confparser.h ../../core/request.h ../../core/system.h -templates.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h -templates.o: ../../core/db.h ../../core/mounts.h ../../core/mount.h -templates.o: ../../core/error.h ../../core/users.h ../../core/user.h -templates.o: ../../core/ugcontainer.h ../../core/lastcontainer.h -templates.o: ../../core/groups.h ../../core/group.h ../../core/rebus.h -templates.o: ../../core/loadavg.h ../../core/sessionmanager.h -templates.o: ../../core/sessioncontainer.h ../../core/session.h -templates.o: ../../functions/functions.h ../../functions/functionbase.h -templates.o: ../../core/item.h ../../core/db.h ../../core/thread.h -templates.o: ../../core/ticket.h ../../core/request.h -templates.o: ../../core/requesttypes.h ../../core/compress.h -templates.o: ../../core/acceptencodingparser.h ../../core/acceptbaseparser.h -templates.o: ../../core/htmlfilter.h ../../core/postmultiparser.h -templates.o: ../../core/config.h ../../core/system.h ../../core/notify.h +templates.o: ../../core/confparser.h ../../core/htmlfilter.h +templates.o: ../../core/request.h ../../core/system.h ../../core/dirs.h +templates.o: ../../core/item.h ../../core/dircontainer.h ../../core/db.h +templates.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h +templates.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h +templates.o: ../../core/lastcontainer.h ../../core/groups.h +templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h +templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h +templates.o: ../../core/session.h ../../functions/functions.h +templates.o: ../../functions/functionbase.h ../../core/item.h ../../core/db.h +templates.o: ../../core/thread.h ../../core/ticket.h ../../core/request.h +templates.o: ../../core/requesttypes.h ../../core/config.h +templates.o: ../../core/system.h ../../core/notify.h templates.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h templates.o: ../../core/mount.h ../../core/locale.h ../../templates/misc.h templates.o: ../../templates/localefilter.h ../../core/locale.h diff --git a/templates/Makefile.dep b/templates/Makefile.dep index ca3dc7d..0a8c767 100755 --- a/templates/Makefile.dep +++ b/templates/Makefile.dep @@ -4,12 +4,10 @@ adduser.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h adduser.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h adduser.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h adduser.o: indexpatterns.h ../core/locale.h ../core/config.h -adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h -adduser.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h -adduser.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -adduser.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -adduser.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -adduser.o: ../core/db.h ../core/group.h ../core/thread.h +adduser.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +adduser.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +adduser.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +adduser.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h adduser.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h adduser.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h adduser.o: ../core/mounts.h ../core/mount.h ../core/users.h @@ -19,12 +17,10 @@ adduser.o: ../core/system.h dir.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h dir.o: localefilter.h ../core/locale.h ../core/confparser.h dir.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -dir.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -dir.o: ../core/requesttypes.h ../core/session.h ../core/item.h -dir.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -dir.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -dir.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -dir.o: ../core/postmultiparser.h ../core/config.h ../core/db.h +dir.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h +dir.o: ../core/request.h ../core/requesttypes.h ../core/session.h +dir.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h +dir.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h dir.o: ../core/group.h ../core/thread.h ../core/dircontainer.h dir.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h dir.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h @@ -49,12 +45,10 @@ dir.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h doc.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h doc.o: localefilter.h ../core/locale.h ../core/confparser.h doc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -doc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -doc.o: ../core/requesttypes.h ../core/session.h ../core/item.h -doc.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -doc.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -doc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -doc.o: ../core/postmultiparser.h ../core/config.h ../core/db.h +doc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h +doc.o: ../core/request.h ../core/requesttypes.h ../core/session.h +doc.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h +doc.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h doc.o: ../core/group.h ../core/thread.h ../core/dircontainer.h doc.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h doc.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h @@ -63,17 +57,15 @@ doc.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h doc.o: ../core/system.h ../core/request.h ../core/misc.h indexpatterns.o: indexpatterns.h ../../ezc/src/ezc.h localefilter.h indexpatterns.o: ../core/locale.h ../core/confparser.h ../core/locale.h -indexpatterns.o: ../core/config.h ../core/log.h +indexpatterns.o: ../core/config.h ../core/htmlfilter.h ../core/log.h item.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h item.o: localefilter.h ../core/locale.h ../core/confparser.h item.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -item.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -item.o: ../core/requesttypes.h ../core/session.h ../core/item.h -item.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -item.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -item.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -item.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -item.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +item.o: indexpatterns.h ../core/locale.h ../core/config.h +item.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +item.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +item.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +item.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h item.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h item.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h item.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h @@ -83,13 +75,11 @@ item.o: ../core/misc.h ../core/bbcodeparser.h last.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h last.o: localefilter.h ../core/locale.h ../core/confparser.h last.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -last.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -last.o: ../core/requesttypes.h ../core/session.h ../core/item.h -last.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -last.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -last.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -last.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -last.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +last.o: indexpatterns.h ../core/locale.h ../core/config.h +last.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +last.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +last.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +last.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h last.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h last.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h last.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h @@ -101,28 +91,24 @@ localefilter.o: ../../ezc/src/ezc.h ../core/misc.h ../core/item.h ls.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h ls.o: localefilter.h ../core/locale.h ../core/confparser.h ls.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -ls.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -ls.o: ../core/requesttypes.h ../core/session.h ../core/item.h ../core/error.h -ls.o: ../core/log.h ../core/user.h ../core/plugindata.h ../core/rebus.h -ls.o: ../core/compress.h ../core/acceptencodingparser.h -ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -ls.o: ../core/postmultiparser.h ../core/config.h ../core/db.h ../core/group.h -ls.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h -ls.o: ../core/ticket.h ../core/system.h ../core/dirs.h ../core/db.h -ls.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h -ls.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h -ls.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h -ls.o: ../core/request.h +ls.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h +ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h +ls.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h +ls.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h +ls.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +ls.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h +ls.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h +ls.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h +ls.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h +ls.o: ../core/system.h ../core/request.h misc.o: ../core/misc.h ../core/item.h ../core/request.h templates.h misc.o: ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h misc.o: localefilter.h ../core/locale.h ../core/confparser.h misc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -misc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -misc.o: ../core/requesttypes.h ../core/session.h ../core/error.h -misc.o: ../core/log.h ../core/user.h ../core/plugindata.h ../core/rebus.h -misc.o: ../core/compress.h ../core/acceptencodingparser.h -misc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -misc.o: ../core/postmultiparser.h ../core/config.h ../core/db.h +misc.o: indexpatterns.h ../core/locale.h ../core/config.h +misc.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +misc.o: ../core/session.h ../core/error.h ../core/log.h ../core/user.h +misc.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h misc.o: ../core/group.h ../core/thread.h ../core/dircontainer.h misc.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h misc.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h @@ -132,13 +118,11 @@ misc.o: ../core/sessioncontainer.h ../core/system.h mount.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h mount.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h mount.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -mount.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -mount.o: ../core/requesttypes.h ../core/session.h ../core/item.h -mount.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -mount.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -mount.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -mount.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -mount.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +mount.o: indexpatterns.h ../core/locale.h ../core/config.h +mount.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +mount.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +mount.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +mount.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h mount.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h mount.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h mount.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h @@ -149,13 +133,11 @@ patterncacher.o: ../core/log.h priv.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h priv.o: localefilter.h ../core/locale.h ../core/confparser.h priv.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -priv.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -priv.o: ../core/requesttypes.h ../core/session.h ../core/item.h -priv.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -priv.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -priv.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -priv.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +priv.o: indexpatterns.h ../core/locale.h ../core/config.h +priv.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +priv.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +priv.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +priv.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h priv.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h priv.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h priv.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h @@ -181,11 +163,9 @@ rebus.o: ../core/request.h templates.h ../../ezc/src/ezc.h patterncacher.h rebus.o: ../core/item.h misc.h localefilter.h ../core/locale.h rebus.o: ../core/confparser.h ckeditorgetparser.h ../core/httpsimpleparser.h rebus.o: ../core/log.h indexpatterns.h ../core/locale.h ../core/config.h -rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h -rebus.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h -rebus.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -rebus.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -rebus.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h +rebus.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +rebus.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +rebus.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h rebus.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h rebus.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h rebus.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h @@ -195,12 +175,10 @@ rebus.o: ../core/sessioncontainer.h ../core/system.h sys.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h sys.o: localefilter.h ../core/locale.h ../core/confparser.h sys.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -sys.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -sys.o: ../core/requesttypes.h ../core/session.h ../core/item.h -sys.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -sys.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -sys.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -sys.o: ../core/postmultiparser.h ../core/config.h ../core/db.h +sys.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h +sys.o: ../core/request.h ../core/requesttypes.h ../core/session.h +sys.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h +sys.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h sys.o: ../core/group.h ../core/thread.h ../core/dircontainer.h sys.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h sys.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h @@ -211,12 +189,10 @@ templates.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h templates.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h templates.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h templates.o: indexpatterns.h ../core/locale.h ../core/config.h -templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h -templates.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h -templates.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -templates.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -templates.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -templates.o: ../core/db.h ../core/group.h ../core/thread.h +templates.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +templates.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +templates.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +templates.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h templates.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h templates.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h templates.o: ../core/mounts.h ../core/mount.h ../core/users.h @@ -245,21 +221,20 @@ templates.o: ../functions/who.h ../templates/templates.h thread.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h thread.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h thread.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -thread.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -thread.o: ../core/requesttypes.h ../core/session.h ../core/item.h -thread.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -thread.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -thread.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -thread.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -thread.o: ../core/group.h ../core/thread.h ../core/dircontainer.h -thread.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h -thread.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h -thread.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h -thread.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h -thread.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h -thread.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h -thread.o: ../core/notify.h ../templatesnotify/templatesnotify.h -thread.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h +thread.o: indexpatterns.h ../core/locale.h ../core/config.h +thread.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +thread.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +thread.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +thread.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h +thread.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h +thread.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +thread.o: ../core/mounts.h ../core/mount.h ../core/users.h +thread.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +thread.o: ../core/sessionmanager.h ../core/sessioncontainer.h +thread.o: ../core/system.h ../core/misc.h ../functions/functions.h +thread.o: ../functions/functionbase.h ../core/item.h ../core/notify.h +thread.o: ../templatesnotify/templatesnotify.h ../core/mount.h +thread.o: ../templates/misc.h ../functions/functionparser.h thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h thread.o: ../functions/privchanger.h ../functions/chown.h thread.o: ../functions/ckeditor.h ../functions/cp.h @@ -276,21 +251,20 @@ thread.o: ../functions/uptime.h ../functions/who.h ticket.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h ticket.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h ticket.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -ticket.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -ticket.o: ../core/requesttypes.h ../core/session.h ../core/item.h -ticket.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -ticket.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -ticket.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -ticket.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -ticket.o: ../core/group.h ../core/thread.h ../core/dircontainer.h -ticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h -ticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h -ticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h -ticket.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h -ticket.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h -ticket.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h -ticket.o: ../core/notify.h ../templatesnotify/templatesnotify.h -ticket.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h +ticket.o: indexpatterns.h ../core/locale.h ../core/config.h +ticket.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +ticket.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +ticket.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +ticket.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h +ticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h +ticket.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +ticket.o: ../core/mounts.h ../core/mount.h ../core/users.h +ticket.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +ticket.o: ../core/sessionmanager.h ../core/sessioncontainer.h +ticket.o: ../core/system.h ../core/misc.h ../functions/functions.h +ticket.o: ../functions/functionbase.h ../core/item.h ../core/notify.h +ticket.o: ../templatesnotify/templatesnotify.h ../core/mount.h +ticket.o: ../templates/misc.h ../functions/functionparser.h ticket.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h ticket.o: ../functions/privchanger.h ../functions/chown.h ticket.o: ../functions/ckeditor.h ../functions/cp.h @@ -307,43 +281,39 @@ ticket.o: ../functions/uptime.h ../functions/who.h upload.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h upload.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h upload.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -upload.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -upload.o: ../core/requesttypes.h ../core/session.h ../core/item.h -upload.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -upload.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -upload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -upload.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -upload.o: ../core/group.h ../core/thread.h ../core/dircontainer.h -upload.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h -upload.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h -upload.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h -upload.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h -upload.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h +upload.o: indexpatterns.h ../core/locale.h ../core/config.h +upload.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +upload.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +upload.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +upload.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h +upload.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h +upload.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +upload.o: ../core/mounts.h ../core/mount.h ../core/users.h +upload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +upload.o: ../core/sessionmanager.h ../core/sessioncontainer.h +upload.o: ../core/system.h ../core/request.h uptime.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h uptime.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h uptime.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -uptime.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -uptime.o: ../core/requesttypes.h ../core/session.h ../core/item.h -uptime.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -uptime.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -uptime.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -uptime.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -uptime.o: ../core/group.h ../core/thread.h ../core/dircontainer.h -uptime.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h -uptime.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h -uptime.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h -uptime.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h -uptime.o: ../core/sessioncontainer.h ../core/system.h +uptime.o: indexpatterns.h ../core/locale.h ../core/config.h +uptime.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +uptime.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +uptime.o: ../core/user.h ../core/plugindata.h ../core/rebus.h +uptime.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h +uptime.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h +uptime.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h +uptime.o: ../core/mounts.h ../core/mount.h ../core/users.h +uptime.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h +uptime.o: ../core/sessionmanager.h ../core/sessioncontainer.h +uptime.o: ../core/system.h user.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h user.o: localefilter.h ../core/locale.h ../core/confparser.h user.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -user.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -user.o: ../core/requesttypes.h ../core/session.h ../core/item.h -user.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -user.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -user.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -user.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -user.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +user.o: indexpatterns.h ../core/locale.h ../core/config.h +user.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +user.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +user.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +user.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h user.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h user.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h user.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h @@ -353,12 +323,10 @@ user.o: ../core/misc.h who.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h who.o: localefilter.h ../core/locale.h ../core/confparser.h who.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -who.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -who.o: ../core/requesttypes.h ../core/session.h ../core/item.h -who.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -who.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -who.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -who.o: ../core/postmultiparser.h ../core/config.h ../core/db.h +who.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h +who.o: ../core/request.h ../core/requesttypes.h ../core/session.h +who.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h +who.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h who.o: ../core/group.h ../core/thread.h ../core/dircontainer.h who.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h who.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h @@ -368,13 +336,11 @@ who.o: ../core/system.h ../core/misc.h winix.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h winix.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h winix.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h -winix.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h -winix.o: ../core/requesttypes.h ../core/session.h ../core/item.h -winix.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h -winix.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h -winix.o: ../core/acceptbaseparser.h ../core/htmlfilter.h -winix.o: ../core/postmultiparser.h ../core/config.h ../core/db.h -winix.o: ../core/group.h ../core/thread.h ../core/dircontainer.h +winix.o: indexpatterns.h ../core/locale.h ../core/config.h +winix.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h +winix.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h +winix.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h +winix.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h winix.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h winix.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h winix.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h diff --git a/templates/adduser.cpp b/templates/adduser.cpp index 69d33f6..ab29af5 100755 --- a/templates/adduser.cpp +++ b/templates/adduser.cpp @@ -17,19 +17,13 @@ namespace TemplatesFunctions void adduser_last_login(Info & i) { - std::string * last_login = request->PostVar("login"); - - if( last_login ) - i.out << *last_login; + i.out << request->PostVar("login"); } void adduser_last_email(Info & i) { - std::string * last_email = request->PostVar("email"); - - if( last_email ) - i.out << *last_email; + i.out << request->PostVar("email"); } diff --git a/templatesnotify/Makefile.dep b/templatesnotify/Makefile.dep index 4a5f6e8..2f135ad 100755 --- a/templatesnotify/Makefile.dep +++ b/templatesnotify/Makefile.dep @@ -2,19 +2,18 @@ notify.o: templatesnotify.h ../../ezc/src/ezc.h ../core/mount.h notify.o: ../core/locale.h ../core/confparser.h ../core/config.h -notify.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h -notify.o: ../core/notify.h ../templatesnotify/templatesnotify.h -notify.o: ../core/request.h ../core/requesttypes.h ../core/session.h -notify.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h -notify.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h -notify.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h -notify.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h -notify.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h ../core/db.h -notify.o: ../core/group.h ../core/thread.h ../core/ugcontainer.h -notify.o: ../core/ticket.h ../core/mounts.h ../core/mount.h ../core/users.h +notify.o: ../core/htmlfilter.h ../templates/misc.h +notify.o: ../templates/localefilter.h ../core/locale.h ../core/notify.h +notify.o: ../templatesnotify/templatesnotify.h ../core/request.h +notify.o: ../core/requesttypes.h ../core/session.h ../core/item.h +notify.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h +notify.o: ../core/rebus.h ../core/config.h ../core/system.h ../core/dirs.h +notify.o: ../core/dircontainer.h ../core/db.h ../core/group.h +notify.o: ../core/thread.h ../core/ugcontainer.h ../core/ticket.h +notify.o: ../core/mounts.h ../core/mount.h ../core/users.h notify.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h ../core/mount.h templatesnotify.o: ../core/locale.h ../core/confparser.h ../core/config.h -templatesnotify.o: ../templates/misc.h ../templates/localefilter.h -templatesnotify.o: ../core/locale.h ../core/misc.h ../core/item.h -templatesnotify.o: ../core/log.h +templatesnotify.o: ../core/htmlfilter.h ../templates/misc.h +templatesnotify.o: ../templates/localefilter.h ../core/locale.h +templatesnotify.o: ../core/misc.h ../core/item.h ../core/log.h