added: winix function: rmuser

changed: UGContainer<> now uses std::list as a storage
         (previously it was using std::vector with pointers)
removed: now we don't have the operator[] for UGContainer<>



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@816 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2012-03-09 02:36:25 +00:00
parent 6c2c12fe5e
commit 489310ba1c
51 changed files with 1146 additions and 602 deletions

View File

@ -30,16 +30,17 @@ app.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
app.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
app.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
app.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
app.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
app.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
app.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
app.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
app.o: ../core/htmlfilter.h ../templates/templates.h
app.o: ../templates/patterncacher.h ../templates/indexpatterns.h
app.o: ../templates/patterns.h ../templates/changepatterns.h
app.o: ../templates/htmltextstream.h ../core/sessionmanager.h compress.h
app.o: postparser.h httpsimpleparser.h cookieparser.h postmultiparser.h
app.o: acceptencodingparser.h acceptbaseparser.h plugin.h pluginmsg.h
app.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
app.o: ../functions/specialdefault.h ../functions/stat.h
app.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
app.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
app.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
app.o: ../templates/templates.h ../templates/patterncacher.h
app.o: ../templates/indexpatterns.h ../templates/patterns.h
app.o: ../templates/changepatterns.h ../templates/htmltextstream.h
app.o: ../core/sessionmanager.h compress.h postparser.h httpsimpleparser.h
app.o: cookieparser.h postmultiparser.h acceptencodingparser.h
app.o: acceptbaseparser.h plugin.h pluginmsg.h
basethread.o: basethread.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h log.h textstream.h logmanipulators.h slog.h cur.h
@ -77,8 +78,9 @@ config.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
config.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
config.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
config.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
config.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
config.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
config.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
config.o: ../functions/specialdefault.h ../functions/stat.h
config.o: ../functions/subject.h ../functions/template.h
config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
config.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
config.o: ../core/htmlfilter.h ../templates/templates.h
@ -148,9 +150,9 @@ image.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
image.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
image.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
image.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
image.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
image.o: ../functions/specialdefault.h ../functions/stat.h
image.o: ../functions/subject.h ../functions/template.h
image.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
image.o: ../functions/sort.h ../functions/specialdefault.h
image.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
image.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
image.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
image.o: ../core/htmlfilter.h ../templates/templates.h
@ -236,9 +238,9 @@ mounts.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
mounts.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
mounts.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
mounts.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
mounts.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
mounts.o: ../functions/specialdefault.h ../functions/stat.h
mounts.o: ../functions/subject.h ../functions/template.h
mounts.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
mounts.o: ../functions/sort.h ../functions/specialdefault.h
mounts.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
mounts.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
mounts.o: ../core/htmlfilter.h ../templates/templates.h
@ -274,9 +276,9 @@ plugin.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
plugin.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
plugin.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
plugin.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
plugin.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
plugin.o: ../functions/specialdefault.h ../functions/stat.h
plugin.o: ../functions/subject.h ../functions/template.h
plugin.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
plugin.o: ../functions/sort.h ../functions/specialdefault.h
plugin.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
plugin.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
plugin.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugin.o: ../core/htmlfilter.h ../templates/templates.h
@ -315,15 +317,16 @@ plugindata.o: ../functions/ls.h ../functions/man.h ../functions/meta.h
plugindata.o: ../functions/mkdir.h ../functions/mv.h ../functions/nicedit.h
plugindata.o: ../functions/node.h ../functions/passwd.h ../functions/priv.h
plugindata.o: ../functions/pw.h ../functions/reload.h ../functions/rm.h
plugindata.o: ../functions/sort.h ../functions/specialdefault.h
plugindata.o: ../functions/stat.h ../functions/subject.h
plugindata.o: ../functions/template.h ../functions/tinymce.h
plugindata.o: ../functions/uname.h ../functions/upload.h
plugindata.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugindata.o: ../core/htmlfilter.h ../templates/templates.h
plugindata.o: ../templates/patterncacher.h ../templates/indexpatterns.h
plugindata.o: ../templates/patterns.h ../templates/changepatterns.h
plugindata.o: ../templates/htmltextstream.h ../core/sessionmanager.h
plugindata.o: ../functions/rmuser.h ../functions/sort.h
plugindata.o: ../functions/specialdefault.h ../functions/stat.h
plugindata.o: ../functions/subject.h ../functions/template.h
plugindata.o: ../functions/tinymce.h ../functions/uname.h
plugindata.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
plugindata.o: ../functions/vim.h ../core/htmlfilter.h
plugindata.o: ../templates/templates.h ../templates/patterncacher.h
plugindata.o: ../templates/indexpatterns.h ../templates/patterns.h
plugindata.o: ../templates/changepatterns.h ../templates/htmltextstream.h
plugindata.o: ../core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h requesttypes.h config.h
postmultiparser.o: htmlfilter.h misc.h item.h log.h textstream.h
postmultiparser.o: logmanipulators.h slog.h cur.h request.h
@ -364,7 +367,7 @@ request.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
request.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
request.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
request.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
request.o: ../functions/rm.h ../functions/sort.h
request.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
request.o: ../functions/specialdefault.h ../functions/stat.h
request.o: ../functions/subject.h ../functions/template.h
request.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
@ -421,7 +424,7 @@ sessionmanager.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
sessionmanager.o: ../functions/mv.h ../functions/nicedit.h
sessionmanager.o: ../functions/node.h ../functions/passwd.h
sessionmanager.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
sessionmanager.o: ../functions/rm.h ../functions/sort.h
sessionmanager.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
sessionmanager.o: ../functions/specialdefault.h ../functions/stat.h
sessionmanager.o: ../functions/subject.h ../functions/template.h
sessionmanager.o: ../functions/tinymce.h ../functions/uname.h
@ -475,8 +478,9 @@ system.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
system.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
system.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
system.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
system.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
system.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
system.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
system.o: ../functions/specialdefault.h ../functions/stat.h
system.o: ../functions/subject.h ../functions/template.h
system.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
system.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
system.o: plugin.h pluginmsg.h sessionmanager.h sessioncontainer.h
@ -487,4 +491,41 @@ threadmanager.o: item.h error.h config.h htmlfilter.h
threadmanager.o: ../templates/htmltextstream.h ../core/textstream.h misc.h
threadmanager.o: session.h user.h plugindata.h rebus.h mount.h
threadmanager.o: ../templates/locale.h
users.o: users.h
users.o: users.h sessionmanager.h sessioncontainer.h session.h item.h error.h
users.o: user.h plugindata.h rebus.h textstream.h cur.h request.h
users.o: requesttypes.h config.h htmlfilter.h ../templates/htmltextstream.h
users.o: ../core/textstream.h misc.h mount.h lastcontainer.h system.h dirs.h
users.o: dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
users.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
users.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h ../core/group.h
users.o: ../core/dircontainer.h ../core/ugcontainer.h log.h logmanipulators.h
users.o: slog.h ../templates/locale.h ../notify/notify.h
users.o: ../notify/notifypool.h ../templates/patterns.h ../templates/locale.h
users.o: ../templates/localefilter.h ../../ezc/src/ezc.h
users.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
users.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
users.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
users.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
users.o: ../core/config.h ../core/users.h ugcontainer.h mounts.h
users.o: mountparser.h crypt.h run.h groups.h group.h loadavg.h image.h
users.o: basethread.h threadmanager.h plugin.h pluginmsg.h
users.o: ../functions/functions.h ../functions/functionbase.h
users.o: ../core/request.h ../core/system.h ../core/synchro.h
users.o: ../functions/functionparser.h ../core/cur.h ../functions/adduser.h
users.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
users.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
users.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
users.o: ../functions/env.h ../functions/last.h ../functions/login.h
users.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
users.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
users.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
users.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
users.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
users.o: ../functions/sort.h ../functions/specialdefault.h
users.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
users.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
users.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
users.o: ../core/htmlfilter.h ../templates/templates.h
users.o: ../templates/patterncacher.h ../templates/indexpatterns.h
users.o: ../templates/patterns.h ../templates/changepatterns.h
users.o: ../templates/htmltextstream.h ../core/sessionmanager.h

View File

@ -61,6 +61,7 @@ App::App()
system.SetDb(&db);
system.SetSynchro(&synchro);
system.SetFunctions(&functions);
system.SetSessionManager(&session_manager);
templates.SetConfig(&config);
templates.SetCur(&cur);

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -39,7 +39,7 @@ Group * Groups::GetGroup(long group_id)
if( i == table.End() )
return 0;
return &(**i);
return &(*i);
}
@ -50,7 +50,7 @@ Group * Groups::GetGroup(const std::wstring & name)
if( i == table.End() )
return 0;
return &(**i);
return &(*i);
}
@ -86,9 +86,9 @@ Groups::SizeType Groups::Size()
}
Group & Groups::operator[](Groups::SizeType pos)
bool Groups::Remove(long group_id)
{
return table[pos];
return table.Remove(group_id);
}

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -38,7 +38,7 @@ public:
Iterator Begin();
Iterator End();
SizeType Size();
Group & operator[](SizeType pos);
bool Remove(long group_id);
};

View File

@ -165,21 +165,9 @@
// from the session file
#define WINIX_USER_LOGGED 30600
// preparing a current user to logout
// send from 'logout' winix function
// !! IMPROVE ME this message can be sent when winix is making the shutdown
// (for sessions which are not mark as 'remember me')
// and when the SessionManager deletes a session (from the special thread)
#define WINIX_PREPARE_USER_LOGGED_OUT 30610
// a user has been logged out
// send from 'logout' winix function
// in l1 you have the old user_id
// !! IMPROVE ME this message can be sent when winix is making the shutdown
// (for sessions which are not mark as 'remember me')
// and when the SessionManager deletes a session (from the special thread)
#define WINIX_USER_LOGGED_OUT 30620
// a user is going to logout
// in p1 you have a pointer to User struct
#define WINIX_PREPARE_USER_TO_LOGOUT 30610
// here you add your own html templates
// call TemplatesFunctions::patterns.Add(L"file_name.html")
@ -191,6 +179,16 @@
// in other cases after 'reload' function the indexes would be wrong
#define WINIX_ADD_TEMPLATE 31000
// a user will be removed
// in p1 you have a pointer to the User struct
// directly after this message a WINIX_USER_REMOVED will be sent
#define WINIX_PREPARE_TO_REMOVE_USER 31010
// a user has been removed
// in l1 you have the old user_id
#define WINIX_USER_REMOVED 31020
// values from 4000 - 4099 reserved for 'thread' plugin

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -44,6 +44,7 @@ void Session::Clear()
remember_me = false;
new_session = true;
spam_score = 0;
remove_me = false;
plugin_data.Resize(0);
}

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2011, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -61,6 +61,9 @@ struct Session
int spam_score;
// if true then this session will be removed by SessionManager
// without checking the time expiration
bool remove_me;
PluginData plugin_data;

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -153,7 +153,7 @@ bool SessionManager::SetSessionFromCookie(const std::string & cookie)
long id = Tol(cookie.c_str());
SessionContainer::Iterator s = session_tab.FindById(id);
if( s == session_tab.End() )
if( s == session_tab.End() || s->remove_me )
return false;
// that session is in the table
@ -220,6 +220,18 @@ SessionContainer::Iterator SessionManager::SessionEnd()
void SessionManager::DeleteSessions()
{
SessionContainer::Iterator i;
for(i=session_tab.Begin() ; i!=session_tab.End() ; ++i)
{
if( i->puser && !i->remember_me )
{
cur->session = &(*i); // for correctly setting a session data in plugins
plugin.Call(WINIX_PREPARE_USER_TO_LOGOUT, i->puser);
last_container->UserLogout(i->puser->id, i->id);
}
}
session_tab.Clear();
}
@ -300,7 +312,7 @@ void SessionManager::SaveSessions()
for( ; i!=session_tab.End() ; ++i )
{
if( i->id != 0 && i->puser )
if( i->id != 0 && i->puser && !i->remove_me )
{
file << i->id << ' ' << i->puser->id << ' ' << i->remember_me << ' ';
file << (long)i->time << ' ' << (long)i->last_time << std::endl;
@ -330,6 +342,30 @@ Session * SessionManager::GetCurSession()
}
// returns how many sessions was marked to remove
size_t SessionManager::MarkAllSessionsToRemove(long user_id)
{
size_t how_many = 0;
SessionContainer::Iterator i;
Session * old_session = cur->session;
for(i=session_tab.Begin() ; i!=session_tab.End() ; ++i)
{
if( i->puser && i->puser->id == user_id )
{
cur->session = &(*i); // for correctly setting a session data in plugins
plugin.Call(WINIX_PREPARE_USER_TO_LOGOUT, i->puser);
last_container->UserLogout(i->puser->id, i->id);
i->remove_me = true;
i->puser = 0;
how_many += 1;
}
}
cur->session = old_session;
return how_many;
}
@ -382,7 +418,7 @@ const int deleted_max_at_once = 10;
}
else
{
if( IsSessionOutdated(*i->second) )
if( i->second->remove_me || IsSessionOutdated(*i->second) )
{
DeleteSession(i++);
++deleted;

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -50,6 +50,7 @@ public:
SessionContainer::Iterator SessionEnd();
size_t Size();
size_t MarkAllSessionsToRemove(long user_id);
private:

View File

@ -45,6 +45,10 @@ void System::SetFunctions(Functions * pfunctions)
functions = pfunctions;
}
void System::SetSessionManager(SessionManager * sm)
{
session_manager = sm;
}
void System::Init()
@ -65,6 +69,7 @@ void System::Init()
mounts.ReadMounts();
users.SetCur(cur);
users.SetSessionManager(session_manager);
users.ReadUsers(db);
users.SetTimeZoneOffset(config->time_zone_offset);
groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione

View File

@ -28,6 +28,7 @@
class Functions;
class SessionManager;
// file system
@ -73,6 +74,7 @@ public:
void SetDb(Db * pdb);
void SetSynchro(Synchro * psynchro);
void SetFunctions(Functions * pfunctions);
void SetSessionManager(SessionManager * sm);
void Init();
void AddParams(const ParamTab & param_tab, std::wstring & str, bool clear_str = true);
@ -158,6 +160,7 @@ private:
Config * config;
Synchro * synchro;
Functions * functions;
SessionManager * session_manager;
Item item_temp;
std::wstring link_to_temp, name_temp;

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -10,11 +10,8 @@
#ifndef headerfile_winix_core_ugcontainer
#define headerfile_winix_core_ugcontainer
#include <vector>
#include <list>
#include <map>
#include <stdexcept>
#include "log.h"
@ -24,21 +21,17 @@ class UGContainer
{
public:
UGContainer();
~UGContainer();
// we have to use a pointer (Type*) here
// because we are remembering some pointers to the items elsewhere
// so the pointers should not be invalidated
typedef typename std::vector<Type*> Table;
typedef typename Table::iterator Iterator;
typedef typename Table::size_type SizeType;
typedef typename std::list<Type> Table;
typedef typename Table::iterator Iterator;
typedef typename Table::size_type SizeType;
typedef typename std::map<long, SizeType> TableId;
typedef typename std::map<std::wstring, SizeType> TableName;
typedef typename std::map<long, Iterator> TableId;
typedef typename std::map<std::wstring, Iterator> TableName;
UGContainer();
Iterator Begin();
Iterator End();
SizeType Size();
@ -52,17 +45,25 @@ public:
Iterator FindId(long id);
Iterator FindName(const std::wstring & name);
Type & operator[](SizeType pos);
bool Remove(long id);
private:
void AddIndexes(SizeType pos);
// don't copy these objects
UGContainer(const UGContainer<Type> &);
UGContainer<Type> & operator=(const UGContainer<Type> &);
void AddIndexes(Iterator iter);
void RebuildIndexes();
// main table
Table table;
// table.size() has O(n) complexity
size_t table_size;
// indexes
TableId table_id;
TableName table_name;
@ -80,6 +81,23 @@ UGContainer<Type>::~UGContainer()
template<class Type>
UGContainer<Type>::UGContainer()
{
Clear();
}
// is private
template<class Type>
UGContainer<Type>::UGContainer(const UGContainer<Type> &)
{
Clear();
}
// is private
template<class Type>
UGContainer<Type> & UGContainer<Type>::operator=(const UGContainer<Type> &)
{
Clear();
return *this;
}
@ -102,7 +120,7 @@ typename UGContainer<Type>::Iterator UGContainer<Type>::End()
template<class Type>
typename UGContainer<Type>::SizeType UGContainer<Type>::Size()
{
return table.size();
return table_size;
}
@ -121,12 +139,13 @@ typename UGContainer<Type>::Iterator UGContainer<Type>::PushBack(const Type & ty
if( Is(type.id) || Is(type.name) )
return End();
table.push_back(new Type(type));
log << log2 << "UGCont: added, id: " << type.id << ", name: " << type.name << logend;
AddIndexes( table.size() - 1 );
table.push_back(type);
table_size += 1;
Iterator i = --table.end();
log << log3 << "UGCont: added, id: " << type.id << ", name: " << type.name << logend;
AddIndexes(i);
return --table.end();
return i;
}
@ -134,9 +153,7 @@ return --table.end();
template<class Type>
void UGContainer<Type>::Clear()
{
for(size_t i=0 ; i<table.size() ; ++i)
delete table[i];
table_size = 0;
table.clear();
table_id.clear();
table_name.clear();
@ -177,7 +194,7 @@ typename UGContainer<Type>::Iterator UGContainer<Type>::FindId(long id)
if( i == table_id.end() )
return table.end();
return table.begin() + i->second;
return i->second;
}
@ -190,18 +207,18 @@ typename UGContainer<Type>::Iterator UGContainer<Type>::FindName(const std::wstr
if( i == table_name.end() )
return table.end();
return table.begin() + i->second;
return i->second;
}
template<class Type>
void UGContainer<Type>::AddIndexes(UGContainer<Type>::SizeType pos)
void UGContainer<Type>::AddIndexes(UGContainer<Type>::Iterator iter)
{
table_id.insert( std::make_pair(table[pos]->id, pos) );
table_name.insert( std::make_pair(table[pos]->name, pos) );
table_id.insert( std::make_pair(iter->id, iter) );
table_name.insert( std::make_pair(iter->name, iter) );
log << log4 << "UGCont: added indexes to: id: " << table[pos]->id << ", name: " << table[pos]->name << logend;
log << log4 << "UGCont: added indexes to: id: " << iter->id << ", name: " << iter->name << logend;
}
@ -209,30 +226,51 @@ void UGContainer<Type>::AddIndexes(UGContainer<Type>::SizeType pos)
template<class Type>
void UGContainer<Type>::RebuildIndexes()
{
Iterator i;
log << log4 << "UGCont: rebuilding indexes" << logend;
table_id.clear();
table_name.clear();
SizeType i, len = table.size();
for(i=0 ; i!=len ; ++i)
AddIndexes( i );
for(i=table.begin() ; i!=table.end() ; ++i)
AddIndexes(i);
log << log4 << "UGCont: indexes rebuilt, table.size: " << table.size() << ", table_id.size: "
log << log4 << "UGCont: indexes rebuilt, table.size: " << table_size << ", table_id.size: "
<< table_id.size() << ", table_name.size: " << table_name.size() << logend;
}
template<class Type>
Type & UGContainer<Type>::operator[](UGContainer<Type>::SizeType pos)
{
if( pos >= table.size() )
throw std::out_of_range("UGContainer: operator[]: index is out of range");
return *table[pos];
template<class Type>
bool UGContainer<Type>::Remove(long id)
{
typename TableId::iterator i = table_id.find(id);
typename TableName::iterator n;
bool result = false;
if( i != table_id.end() )
{
for(n=table_name.begin() ; n != table_name.end() ; ++n)
{
if( n->second == i->second )
{
table_name.erase(n);
log << log4 << "UGCont: removed index_id to: id: " << i->second->id << ", name: " << i->second->name << logend;
break;
}
}
log << log4 << "UGCont: removed index_name to: id: " << i->second->id << ", name: " << i->second->name << logend;
log << log3 << "UGCont: removed: id: " << i->second->id << ", name: " << i->second->name << logend;
table.erase(i->second);
table_id.erase(i);
result = true;
}
return result;
}

View File

@ -2,13 +2,15 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
#include <arpa/inet.h>
#include "users.h"
#include "sessionmanager.h"
#include "plugin.h"
@ -25,6 +27,12 @@ void Users::SetCur(Cur * pcur)
}
void Users::SetSessionManager(SessionManager * sm)
{
session_manager = sm;
}
void Users::Clear()
{
table.Clear();
@ -45,7 +53,7 @@ void Users::SetTimeZoneOffset(int offset)
for(i=table.Begin() ; i!=table.End() ; ++i)
{
(*i)->time_zone_offset = offset;
i->time_zone_offset = offset;
}
}
@ -71,7 +79,7 @@ User * Users::GetUser(long user_id)
if( i == table.End() )
return 0;
return &(**i);
return &(*i);
}
@ -82,7 +90,7 @@ User * Users::GetUser(const std::wstring & name)
if( i == table.End() )
return 0;
return &(**i);
return &(*i);
}
@ -119,13 +127,28 @@ Users::SizeType Users::Size()
}
User & Users::operator[](Users::SizeType pos)
bool Users::Remove(long user_id)
{
return table[pos];
bool result = false;
User * puser = GetUser(user_id);
if( puser )
{
LogoutUser(user_id);
plugin.Call(WINIX_PREPARE_TO_REMOVE_USER, puser);
result = table.Remove(user_id);
if( result )
plugin.Call(WINIX_USER_REMOVED, user_id);
}
return result;
}
// !! IMPROVE ME
// this method is too long
bool Users::LoginUser(long user_id, bool remember_me, bool use_ses_log)
{
if( !cur->session )
@ -191,6 +214,27 @@ return true;
}
size_t Users::LogoutUser(long user_id)
{
size_t how_many = 0;
User * puser = GetUser(user_id);
if( puser )
{
log << log2 << "Users: logging out user " << puser->name << ", id: "
<< puser->id << " from all sessions" << logend;
// WINIX_PREPARE_USER_TO_LOGOUT will be sent by MarkAllSessionsToRemove()
how_many = session_manager->MarkAllSessionsToRemove(user_id);
how_many_logged -= how_many;
if( how_many )
log << log3 << "Users: " << how_many << " user(s) were logged out" << logend;
}
return how_many;
}
void Users::LogoutCurrentUser()
@ -201,13 +245,14 @@ void Users::LogoutCurrentUser()
log << log2 << "Users: user " << cur->session->puser->name << ", id: "
<< cur->session->puser->id << " logged out" << logend;
plugin.Call(WINIX_PREPARE_USER_TO_LOGOUT, cur->session->puser);
last.UserLogout(cur->session->puser->id, cur->session->id);
if( how_many_logged > 0 ) // for safety
how_many_logged -= 1;
cur->session->puser = 0;
cur->session->remember_me = 0;
cur->session->remember_me = false;
}

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -17,6 +17,8 @@
#include "cur.h"
#include "db/db.h"
class SessionManager;
class Users
{
@ -24,6 +26,7 @@ typedef UGContainer<User> Table;
Table table;
Cur * cur;
SessionManager * session_manager;
long how_many_logged;
public:
@ -36,6 +39,7 @@ public:
Users();
void SetCur(Cur * pcur);
void SetSessionManager(SessionManager * sm);
void Clear();
void ReadUsers(Db * db);
@ -48,10 +52,11 @@ public:
Iterator Begin();
Iterator End();
SizeType Size();
User & operator[](SizeType pos);
bool Remove(long user_id);
bool LoginUser(long user_id, bool remember_me, bool use_ses_log = false);
void LogoutCurrentUser();
bool LoginUser(long user_id, bool remember_me, bool use_ses_log = false);
size_t LogoutUser(long user_id);
void LogoutCurrentUser();
void IncrementLoggedUsers();
long HowManyLogged();

View File

@ -180,6 +180,32 @@ return DoCommand(query);
}
Error Db::ChangeUserEmail(long user_id, const std::wstring & email)
{
query.Clear();
query << R("update core.user set(email) = (")
<< email
<< R(") where id = ")
<< user_id
<< R(";");
return DoCommand(query);
}
Error Db::RemoveUser(long user_id)
{
query.Clear();
query << R("delete from core.user where id = ")
<< user_id
<< R(";");
return DoCommand(query);
}
//!! wywalic z nazwy 'Subject' nic nie jest robione z tytulem
// ta metoda uzywana tez jest w EditParentUrlById()
bool Db::AddItemCreateUrlSubject(Item & item)
@ -1579,7 +1605,7 @@ void Db::GetUsers(UGContainer<User> & user_tab)
log << log2 << "Db: user: id: " << u.id << ", name: " << u.name << ", super_user: " << u.super_user << logend;
iter = user_tab.PushBack( u );
iter = user_tab.PushBack(u);
if( iter == user_tab.End() )
log << log1 << "Db: can't add a user: " << u.name << logend;
@ -1591,8 +1617,8 @@ void Db::GetUsers(UGContainer<User> & user_tab)
if( !IsNull(r, i, cgroup_id) && group_id!=-1 && iter!=user_tab.End() )
{
(*iter)->groups.push_back(group_id);
log << log3 << "Db: user:" << (*iter)->name << " is a member of group_id: " << group_id << logend;
iter->groups.push_back(group_id);
log << log3 << "Db: user:" << iter->name << " is a member of group_id: " << group_id << logend;
}
}
}
@ -1645,7 +1671,7 @@ void Db::GetGroups(UGContainer<Group> & group_tab)
if( !IsNull(r, i, cuser_id) && user_id!=-1 && !group_tab.Empty() )
{
(*iter)->members.push_back(user_id);
iter->members.push_back(user_id);
log << log3 << "Db: get group member: user_id: " << user_id << logend;
}
}

View File

@ -50,6 +50,8 @@ public:
Error ChangeUserEnv(long user_id, const PT::Space & space);
Error ChangeUserAdminEnv(long user_id, const PT::Space & space);
Error ChangeUserStatus(long user_id, int status);
Error ChangeUserEmail(long user_id, const std::wstring & email);
Error RemoveUser(long user_id);
Error AddItem(Item & item);
Error EditItemById(Item & item, bool with_url = true);

View File

@ -19,22 +19,22 @@ adduser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
adduser.o: functionparser.h ../core/cur.h cat.h chmod.h privchanger.h chown.h
adduser.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h login.h
adduser.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
adduser.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
adduser.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
adduser.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
adduser.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
adduser.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
adduser.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
adduser.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
adduser.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
adduser.o: ../core/threadmanager.h ../core/synchro.h ../core/slog.h
adduser.o: ../core/plugin.h ../core/pluginmsg.h ../core/system.h
adduser.o: ../core/sessionmanager.h ../core/sessioncontainer.h
adduser.o: ../functions/functions.h ../templates/templates.h
adduser.o: ../templates/patterncacher.h ../templates/indexpatterns.h
adduser.o: ../templates/patterns.h ../templates/changepatterns.h
adduser.o: ../templates/htmltextstream.h ../core/sessionmanager.h
adduser.o: ../core/misc.h
adduser.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
adduser.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
adduser.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
adduser.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
adduser.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
adduser.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
adduser.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
adduser.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
adduser.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
adduser.o: ../core/synchro.h ../core/slog.h ../core/plugin.h
adduser.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
adduser.o: ../core/sessioncontainer.h ../functions/functions.h
adduser.o: ../templates/templates.h ../templates/patterncacher.h
adduser.o: ../templates/indexpatterns.h ../templates/patterns.h
adduser.o: ../templates/changepatterns.h ../templates/htmltextstream.h
adduser.o: ../core/sessionmanager.h ../core/misc.h
cat.o: cat.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
cat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
cat.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -52,9 +52,9 @@ cat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
cat.o: functionparser.h ../core/cur.h adduser.h chmod.h privchanger.h chown.h
cat.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h login.h
cat.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h passwd.h
cat.o: priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
cat.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
cat.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
cat.o: priv.h pw.h reload.h rm.h rmuser.h run.h sort.h specialdefault.h
cat.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
cat.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
cat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
cat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
cat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -79,15 +79,16 @@ chmod.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
chmod.o: functionparser.h ../core/cur.h adduser.h cat.h chown.h privchanger.h
chmod.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h login.h
chmod.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
chmod.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
chmod.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
chmod.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
chmod.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
chmod.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
chmod.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
chmod.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
chmod.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
chmod.o: ../core/threadmanager.h ../core/synchro.h
chmod.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
chmod.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
chmod.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
chmod.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
chmod.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
chmod.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
chmod.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
chmod.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
chmod.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
chmod.o: ../core/synchro.h
chown.o: chown.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
chown.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
chown.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -106,15 +107,16 @@ chown.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
chown.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
chown.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h login.h
chown.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
chown.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
chown.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
chown.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
chown.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
chown.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
chown.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
chown.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
chown.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
chown.o: ../core/threadmanager.h ../core/synchro.h
chown.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
chown.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
chown.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
chown.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
chown.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
chown.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
chown.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
chown.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
chown.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
chown.o: ../core/synchro.h
ckeditor.o: ckeditor.h functionbase.h ../core/item.h ../db/db.h
ckeditor.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
ckeditor.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -134,11 +136,11 @@ ckeditor.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
ckeditor.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
ckeditor.o: privchanger.h chown.h cp.h default.h download.h emacs.h env.h
ckeditor.o: last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
ckeditor.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
ckeditor.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
ckeditor.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
ckeditor.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
ckeditor.o: ../core/basethread.h ../core/synchro.h
ckeditor.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h
ckeditor.o: run.h sort.h specialdefault.h stat.h subject.h template.h
ckeditor.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
ckeditor.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
ckeditor.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
ckeditor.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ckeditor.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
ckeditor.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
@ -161,7 +163,7 @@ cp.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
cp.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
cp.o: chown.h ckeditor.h default.h download.h emacs.h env.h last.h login.h
cp.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h passwd.h
cp.o: priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
cp.o: priv.h pw.h reload.h rm.h rmuser.h run.h sort.h specialdefault.h stat.h
cp.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
cp.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
cp.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
@ -195,9 +197,9 @@ default.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
default.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
default.o: privchanger.h chown.h ckeditor.h cp.h download.h emacs.h env.h
default.o: last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
default.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
default.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
default.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
default.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
default.o: sort.h specialdefault.h stat.h subject.h template.h tinymce.h
default.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
default.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
default.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
default.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
@ -224,11 +226,11 @@ download.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
download.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
download.o: privchanger.h chown.h ckeditor.h cp.h default.h emacs.h env.h
download.o: last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
download.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
download.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
download.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
download.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
download.o: ../core/basethread.h ../core/synchro.h
download.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h
download.o: run.h sort.h specialdefault.h stat.h subject.h template.h
download.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
download.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
download.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
download.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
download.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
download.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
@ -252,15 +254,16 @@ emacs.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
emacs.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
emacs.o: chown.h ckeditor.h cp.h default.h download.h env.h last.h login.h
emacs.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
emacs.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
emacs.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
emacs.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
emacs.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
emacs.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
emacs.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
emacs.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
emacs.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
emacs.o: ../core/threadmanager.h ../core/synchro.h ../templates/templates.h
emacs.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
emacs.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
emacs.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
emacs.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
emacs.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
emacs.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
emacs.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
emacs.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
emacs.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
emacs.o: ../core/synchro.h ../templates/templates.h
emacs.o: ../templates/patterncacher.h ../templates/indexpatterns.h
emacs.o: ../templates/patterns.h ../templates/changepatterns.h
emacs.o: ../templates/htmltextstream.h ../core/sessionmanager.h
@ -281,9 +284,9 @@ env.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
env.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
env.o: chown.h ckeditor.h cp.h default.h download.h emacs.h last.h login.h
env.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h passwd.h
env.o: priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
env.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
env.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
env.o: priv.h pw.h reload.h rm.h rmuser.h run.h sort.h specialdefault.h
env.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
env.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
env.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
env.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
env.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -310,12 +313,12 @@ functionbase.o: ../../ezc/src/pattern.h functions.h functionparser.h
functionbase.o: ../core/cur.h adduser.h cat.h chmod.h privchanger.h chown.h
functionbase.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h
functionbase.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
functionbase.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h
functionbase.o: sort.h specialdefault.h stat.h subject.h template.h tinymce.h
functionbase.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
functionbase.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
functionbase.o: ../core/basethread.h ../core/synchro.h
functionbase.o: ../notify/templatesnotify.h ../core/users.h
functionbase.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h
functionbase.o: run.h sort.h specialdefault.h stat.h subject.h template.h
functionbase.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
functionbase.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
functionbase.o: ../notify/notifythread.h ../core/basethread.h
functionbase.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
functionbase.o: ../core/ugcontainer.h ../core/lastcontainer.h
functionbase.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
functionbase.o: ../core/users.h ../core/groups.h ../core/group.h
@ -341,9 +344,9 @@ functionparser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
functionparser.o: functions.h adduser.h cat.h chmod.h privchanger.h chown.h
functionparser.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h
functionparser.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
functionparser.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h
functionparser.o: sort.h specialdefault.h stat.h subject.h template.h
functionparser.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
functionparser.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h
functionparser.o: rmuser.h run.h sort.h specialdefault.h stat.h subject.h
functionparser.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
functionparser.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
functionparser.o: ../notify/notifythread.h ../core/basethread.h
functionparser.o: ../core/synchro.h ../notify/templatesnotify.h
@ -381,7 +384,7 @@ functions.o: ../core/synchro.h functionparser.h ../core/cur.h adduser.h cat.h
functions.o: chmod.h privchanger.h chown.h ckeditor.h cp.h default.h
functions.o: download.h emacs.h env.h last.h login.h logout.h ln.h ls.h man.h
functions.o: meta.h mkdir.h mv.h nicedit.h node.h passwd.h priv.h pw.h
functions.o: reload.h rm.h sort.h specialdefault.h stat.h subject.h
functions.o: reload.h rm.h rmuser.h sort.h specialdefault.h stat.h subject.h
functions.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
functions.o: ../core/htmlfilter.h ../core/log.h ../core/misc.h
functions.o: ../core/plugin.h ../core/pluginmsg.h ../core/system.h
@ -407,15 +410,16 @@ last.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
last.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
last.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h login.h
last.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
last.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
last.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
last.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
last.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
last.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
last.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
last.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
last.o: ../core/threadmanager.h ../core/synchro.h
last.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
last.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
last.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
last.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
last.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
last.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
last.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
last.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
last.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
last.o: ../core/synchro.h
ln.o: ln.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
ln.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
ln.o: ../core/item.h ../core/requesttypes.h ../core/error.h
@ -433,9 +437,9 @@ ln.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
ln.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
ln.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
ln.o: login.h logout.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
ln.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
ln.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
ln.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
ln.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
ln.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h upload.h
ln.o: uptime.h who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
ln.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
ln.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ln.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -461,21 +465,21 @@ login.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
login.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
login.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
login.o: logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
login.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
login.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
login.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
login.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
login.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
login.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
login.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
login.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
login.o: ../core/threadmanager.h ../core/synchro.h ../core/plugin.h
login.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
login.o: ../core/sessioncontainer.h ../functions/functions.h
login.o: ../templates/templates.h ../templates/patterncacher.h
login.o: ../templates/indexpatterns.h ../templates/patterns.h
login.o: ../templates/changepatterns.h ../templates/htmltextstream.h
login.o: ../core/sessionmanager.h
login.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
login.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
login.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
login.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
login.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
login.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
login.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
login.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
login.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
login.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h
login.o: ../core/system.h ../core/sessionmanager.h ../core/sessioncontainer.h
login.o: ../functions/functions.h ../templates/templates.h
login.o: ../templates/patterncacher.h ../templates/indexpatterns.h
login.o: ../templates/patterns.h ../templates/changepatterns.h
login.o: ../templates/htmltextstream.h ../core/sessionmanager.h
logout.o: logout.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
logout.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
logout.o: ../core/misc.h ../core/item.h ../core/requesttypes.h
@ -495,7 +499,7 @@ logout.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
logout.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
logout.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
logout.o: env.h last.h login.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h
logout.o: node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
logout.o: node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
logout.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
logout.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
logout.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
@ -504,13 +508,7 @@ logout.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
logout.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
logout.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
logout.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
logout.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h
logout.o: ../core/system.h ../core/sessionmanager.h
logout.o: ../core/sessioncontainer.h ../functions/functions.h
logout.o: ../templates/templates.h ../templates/patterncacher.h
logout.o: ../templates/indexpatterns.h ../templates/patterns.h
logout.o: ../templates/changepatterns.h ../templates/htmltextstream.h
logout.o: ../core/sessionmanager.h
logout.o: ../core/synchro.h
ls.o: ls.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
ls.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
ls.o: ../core/item.h ../core/requesttypes.h ../core/error.h
@ -528,9 +526,9 @@ ls.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
ls.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
ls.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
ls.o: login.h logout.h ln.h man.h meta.h mkdir.h mv.h nicedit.h node.h
ls.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
ls.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
ls.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
ls.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
ls.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h upload.h
ls.o: uptime.h who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
ls.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
ls.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -554,15 +552,15 @@ man.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
man.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
man.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
man.o: login.h logout.h ln.h ls.h meta.h mkdir.h mv.h nicedit.h node.h
man.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
man.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
man.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
man.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
man.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
man.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
man.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
man.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
man.o: ../core/threadmanager.h ../core/synchro.h
man.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
man.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
man.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
man.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
man.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
man.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
man.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h ../core/users.h
man.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/image.h
man.o: ../core/basethread.h ../core/threadmanager.h ../core/synchro.h
meta.o: meta.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
meta.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
meta.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -580,15 +578,16 @@ meta.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
meta.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
meta.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
meta.o: login.h logout.h ln.h ls.h man.h mkdir.h mv.h nicedit.h node.h
meta.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
meta.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
meta.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
meta.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
meta.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
meta.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
meta.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
meta.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
meta.o: ../core/threadmanager.h ../core/synchro.h ../core/log.h
meta.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
meta.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
meta.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
meta.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
meta.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
meta.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
meta.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
meta.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
meta.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
meta.o: ../core/synchro.h ../core/log.h
mkdir.o: mkdir.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
mkdir.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
mkdir.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -607,21 +606,21 @@ mkdir.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
mkdir.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
mkdir.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
mkdir.o: login.h logout.h ln.h ls.h man.h meta.h mv.h nicedit.h node.h
mkdir.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
mkdir.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h
mkdir.o: who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
mkdir.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
mkdir.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
mkdir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
mkdir.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
mkdir.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
mkdir.o: ../core/threadmanager.h ../core/synchro.h ../core/plugin.h
mkdir.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
mkdir.o: ../core/sessioncontainer.h ../functions/functions.h
mkdir.o: ../templates/templates.h ../templates/patterncacher.h
mkdir.o: ../templates/indexpatterns.h ../templates/patterns.h
mkdir.o: ../templates/changepatterns.h ../templates/htmltextstream.h
mkdir.o: ../core/sessionmanager.h
mkdir.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
mkdir.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
mkdir.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
mkdir.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
mkdir.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
mkdir.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
mkdir.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
mkdir.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
mkdir.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
mkdir.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h
mkdir.o: ../core/system.h ../core/sessionmanager.h ../core/sessioncontainer.h
mkdir.o: ../functions/functions.h ../templates/templates.h
mkdir.o: ../templates/patterncacher.h ../templates/indexpatterns.h
mkdir.o: ../templates/patterns.h ../templates/changepatterns.h
mkdir.o: ../templates/htmltextstream.h ../core/sessionmanager.h
mount.o: mount.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
mount.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
mount.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -640,7 +639,7 @@ mount.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
mount.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
mount.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
mount.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h
mount.o: node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
mount.o: node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
mount.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
mount.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
mount.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
@ -667,9 +666,9 @@ mv.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
mv.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
mv.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
mv.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h nicedit.h node.h
mv.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
mv.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
mv.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
mv.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
mv.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h upload.h
mv.o: uptime.h who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
mv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
mv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
mv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -701,7 +700,7 @@ nicedit.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
nicedit.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
nicedit.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
nicedit.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
nicedit.o: node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
nicedit.o: node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
nicedit.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
nicedit.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
nicedit.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
@ -728,15 +727,16 @@ node.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
node.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
node.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
node.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h
node.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
node.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
node.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
node.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
node.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
node.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
node.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
node.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
node.o: ../core/threadmanager.h ../core/synchro.h
node.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
node.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
node.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
node.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
node.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
node.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
node.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
node.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
node.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
node.o: ../core/synchro.h
passwd.o: passwd.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
passwd.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
passwd.o: ../core/misc.h ../core/item.h ../core/requesttypes.h
@ -756,7 +756,7 @@ passwd.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
passwd.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
passwd.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
passwd.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
passwd.o: nicedit.h node.h priv.h pw.h reload.h rm.h run.h sort.h
passwd.o: nicedit.h node.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
passwd.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
passwd.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
passwd.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
@ -783,9 +783,9 @@ priv.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
priv.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
priv.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
priv.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
priv.o: passwd.h pw.h reload.h rm.h run.h sort.h specialdefault.h stat.h
priv.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
priv.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
priv.o: passwd.h pw.h reload.h rm.h rmuser.h run.h sort.h specialdefault.h
priv.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
priv.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
priv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
priv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -812,9 +812,9 @@ privchanger.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
privchanger.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h chown.h
privchanger.o: ckeditor.h cp.h default.h download.h emacs.h env.h last.h
privchanger.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h
privchanger.o: node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
privchanger.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
privchanger.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
privchanger.o: node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
privchanger.o: sort.h specialdefault.h stat.h subject.h template.h tinymce.h
privchanger.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
privchanger.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
privchanger.o: ../core/basethread.h ../core/synchro.h
privchanger.o: ../notify/templatesnotify.h ../core/users.h
@ -839,9 +839,9 @@ pw.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
pw.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
pw.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
pw.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
pw.o: passwd.h priv.h reload.h rm.h run.h sort.h specialdefault.h stat.h
pw.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
pw.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
pw.o: passwd.h priv.h reload.h rm.h rmuser.h run.h sort.h specialdefault.h
pw.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
pw.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
pw.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
pw.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
pw.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -867,7 +867,7 @@ reload.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
reload.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
reload.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
reload.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
reload.o: nicedit.h node.h passwd.h priv.h pw.h rm.h run.h sort.h
reload.o: nicedit.h node.h passwd.h priv.h pw.h rm.h rmuser.h run.h sort.h
reload.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
reload.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
reload.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
@ -897,9 +897,9 @@ rm.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
rm.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
rm.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
rm.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
rm.o: passwd.h priv.h pw.h reload.h run.h sort.h specialdefault.h stat.h
rm.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
rm.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
rm.o: passwd.h priv.h pw.h reload.h rmuser.h run.h sort.h specialdefault.h
rm.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
rm.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
rm.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
rm.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -912,6 +912,41 @@ rm.o: ../templates/templates.h ../templates/patterncacher.h
rm.o: ../templates/indexpatterns.h ../templates/patterns.h
rm.o: ../templates/changepatterns.h ../templates/htmltextstream.h
rm.o: ../core/sessionmanager.h ../core/misc.h
rmuser.o: rmuser.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
rmuser.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
rmuser.o: ../core/misc.h ../core/item.h ../core/requesttypes.h
rmuser.o: ../core/error.h ../db/dbitemquery.h ../db/dbitemcolumns.h
rmuser.o: ../core/user.h ../core/group.h ../core/dircontainer.h
rmuser.o: ../core/ugcontainer.h ../core/log.h ../core/textstream.h
rmuser.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
rmuser.o: ../core/request.h ../core/error.h ../core/config.h
rmuser.o: ../core/htmlfilter.h ../templates/htmltextstream.h
rmuser.o: ../core/session.h ../core/user.h ../core/plugindata.h
rmuser.o: ../core/rebus.h mount.h ../templates/locale.h ../core/request.h
rmuser.o: ../core/config.h ../core/system.h ../core/dirs.h
rmuser.o: ../core/dircontainer.h ../notify/notify.h ../notify/notifypool.h
rmuser.o: ../templates/patterns.h ../templates/locale.h
rmuser.o: ../templates/localefilter.h ../../ezc/src/ezc.h
rmuser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
rmuser.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
rmuser.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
rmuser.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
rmuser.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
rmuser.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
rmuser.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
rmuser.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
rmuser.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
rmuser.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
rmuser.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
rmuser.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
rmuser.o: ../core/image.h ../core/basethread.h ../core/threadmanager.h
rmuser.o: ../core/synchro.h ../core/log.h ../core/misc.h ../core/plugin.h
rmuser.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
rmuser.o: ../core/sessioncontainer.h ../functions/functions.h
rmuser.o: ../templates/templates.h ../templates/patterncacher.h
rmuser.o: ../templates/indexpatterns.h ../templates/patterns.h
rmuser.o: ../templates/changepatterns.h ../templates/htmltextstream.h
rmuser.o: ../core/sessionmanager.h
run.o: run.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
run.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
run.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -929,9 +964,9 @@ run.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
run.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
run.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
run.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
run.o: passwd.h priv.h pw.h reload.h rm.h sort.h specialdefault.h stat.h
run.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
run.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
run.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h sort.h specialdefault.h
run.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
run.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
run.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
run.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
run.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -955,9 +990,9 @@ sort.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
sort.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
sort.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
sort.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
sort.o: passwd.h priv.h pw.h reload.h rm.h run.h specialdefault.h stat.h
sort.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
sort.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
sort.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h specialdefault.h
sort.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
sort.o: vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
sort.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
sort.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
sort.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -991,8 +1026,8 @@ specialdefault.o: functions.h functionparser.h ../core/cur.h adduser.h cat.h
specialdefault.o: chmod.h privchanger.h chown.h ckeditor.h cp.h default.h
specialdefault.o: download.h emacs.h env.h last.h login.h logout.h ln.h ls.h
specialdefault.o: man.h meta.h mkdir.h mv.h nicedit.h node.h passwd.h priv.h
specialdefault.o: pw.h reload.h rm.h run.h sort.h stat.h subject.h template.h
specialdefault.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
specialdefault.o: pw.h reload.h rm.h rmuser.h run.h sort.h stat.h subject.h
specialdefault.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
specialdefault.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
specialdefault.o: ../notify/notifythread.h ../core/basethread.h
specialdefault.o: ../core/synchro.h ../notify/templatesnotify.h
@ -1019,9 +1054,9 @@ stat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
stat.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
stat.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
stat.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
stat.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
stat.o: subject.h template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
stat.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
stat.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
stat.o: specialdefault.h subject.h template.h tinymce.h uname.h upload.h
stat.o: uptime.h who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
stat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
stat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
stat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
@ -1047,9 +1082,9 @@ subject.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
subject.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
subject.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
subject.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
subject.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
subject.o: specialdefault.h stat.h template.h tinymce.h uname.h upload.h
subject.o: uptime.h who.h vim.h ../core/htmlfilter.h
subject.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
subject.o: sort.h specialdefault.h stat.h template.h tinymce.h uname.h
subject.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
subject.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
subject.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
subject.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
@ -1077,8 +1112,8 @@ template.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
template.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h
template.o: emacs.h env.h last.h login.h logout.h ln.h ls.h man.h meta.h
template.o: mkdir.h mv.h nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h
template.o: run.h sort.h specialdefault.h stat.h subject.h tinymce.h uname.h
template.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
template.o: rmuser.h run.h sort.h specialdefault.h stat.h subject.h tinymce.h
template.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
template.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
template.o: ../core/basethread.h ../core/synchro.h
template.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
@ -1105,9 +1140,9 @@ tinymce.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
tinymce.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
tinymce.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
tinymce.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
tinymce.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
tinymce.o: specialdefault.h stat.h subject.h template.h uname.h upload.h
tinymce.o: uptime.h who.h vim.h ../core/htmlfilter.h
tinymce.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
tinymce.o: sort.h specialdefault.h stat.h subject.h template.h uname.h
tinymce.o: upload.h uptime.h who.h vim.h ../core/htmlfilter.h
tinymce.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
tinymce.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
tinymce.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
@ -1133,7 +1168,7 @@ uname.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
uname.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
uname.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
uname.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h
uname.o: node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
uname.o: node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
uname.o: specialdefault.h stat.h subject.h template.h tinymce.h upload.h
uname.o: uptime.h who.h vim.h ../core/htmlfilter.h ../../ezc/src/stringconv.h
uname.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
@ -1161,9 +1196,9 @@ upload.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
upload.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
upload.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
upload.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
upload.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
upload.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
upload.o: uptime.h who.h vim.h ../core/htmlfilter.h
upload.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
upload.o: sort.h specialdefault.h stat.h subject.h template.h tinymce.h
upload.o: uname.h uptime.h who.h vim.h ../core/htmlfilter.h
upload.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
upload.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
upload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
@ -1196,9 +1231,9 @@ uptime.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
uptime.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h
uptime.o: privchanger.h chown.h ckeditor.h cp.h default.h download.h emacs.h
uptime.o: env.h last.h login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h
uptime.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h run.h sort.h
uptime.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
uptime.o: upload.h who.h vim.h ../core/htmlfilter.h
uptime.o: nicedit.h node.h passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h
uptime.o: sort.h specialdefault.h stat.h subject.h template.h tinymce.h
uptime.o: uname.h upload.h who.h vim.h ../core/htmlfilter.h
uptime.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
uptime.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
uptime.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
@ -1223,15 +1258,15 @@ vim.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
vim.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
vim.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
vim.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
vim.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
vim.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h who.h
vim.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
vim.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
vim.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
vim.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
vim.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
vim.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
vim.o: ../core/threadmanager.h ../core/synchro.h
vim.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
vim.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
vim.o: upload.h uptime.h who.h ../core/htmlfilter.h
vim.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
vim.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
vim.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
vim.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h ../core/users.h
vim.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/image.h
vim.o: ../core/basethread.h ../core/threadmanager.h ../core/synchro.h
who.o: who.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
who.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
who.o: ../core/misc.h ../core/item.h ../core/requesttypes.h ../core/error.h
@ -1249,12 +1284,12 @@ who.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h functions.h
who.o: functionparser.h ../core/cur.h adduser.h cat.h chmod.h privchanger.h
who.o: chown.h ckeditor.h cp.h default.h download.h emacs.h env.h last.h
who.o: login.h logout.h ln.h ls.h man.h meta.h mkdir.h mv.h nicedit.h node.h
who.o: passwd.h priv.h pw.h reload.h rm.h run.h sort.h specialdefault.h
who.o: stat.h subject.h template.h tinymce.h uname.h upload.h uptime.h vim.h
who.o: ../core/htmlfilter.h ../../ezc/src/stringconv.h
who.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
who.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mountparser.h
who.o: ../core/crypt.h ../core/users.h ../core/groups.h ../core/group.h
who.o: ../core/loadavg.h ../core/image.h ../core/basethread.h
who.o: ../core/threadmanager.h ../core/synchro.h
who.o: passwd.h priv.h pw.h reload.h rm.h rmuser.h run.h sort.h
who.o: specialdefault.h stat.h subject.h template.h tinymce.h uname.h
who.o: upload.h uptime.h vim.h ../core/htmlfilter.h
who.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
who.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
who.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
who.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h ../core/users.h
who.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/image.h
who.o: ../core/basethread.h ../core/threadmanager.h ../core/synchro.h

View File

@ -1 +1 @@
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o default.o download.o emacs.o env.o functionbase.o functionparser.o functions.o last.o ln.o login.o logout.o ls.o man.o meta.o mkdir.o mount.o mv.o nicedit.o node.o passwd.o priv.o privchanger.o pw.o reload.o rm.o run.o sort.o specialdefault.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o vim.o who.o
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o default.o download.o emacs.o env.o functionbase.o functionparser.o functions.o last.o ln.o login.o logout.o ls.o man.o meta.o mkdir.o mount.o mv.o nicedit.o node.o passwd.o priv.o privchanger.o pw.o reload.o rm.o rmuser.o run.o sort.o specialdefault.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o vim.o who.o

View File

@ -87,8 +87,6 @@ return true;
// !! IMPROVE ME
// add some email validation here
bool AddUser::IsEmailCorrect(const std::wstring & email, bool use_ses_log)
{
if( email.size() > WINIX_ACCOUNT_MAX_EMAIL_SIZE )
@ -102,6 +100,16 @@ bool AddUser::IsEmailCorrect(const std::wstring & email, bool use_ses_log)
return false;
}
if( !ValidateEmail(email) )
{
log << log2 << "AddUser: email: " << email << " does not seem to be correct" << logend;
if( use_ses_log )
slog << logerror << T(L"adduser_err_email_incorrect") << logend;
return false;
}
return true;
}

View File

@ -18,6 +18,7 @@ Env::Env()
{
fun.url = L"env";
puser = 0;
req_id = 0;
}

View File

@ -203,6 +203,7 @@ void Functions::CreateFunctions()
Add(fun_pw);
Add(fun_reload);
Add(fun_rm);
Add(fun_rmuser);
Add(fun_run);
Add(fun_sort);
Add(fun_special_default);

View File

@ -40,6 +40,7 @@
#include "pw.h"
#include "reload.h"
#include "rm.h"
#include "rmuser.h"
#include "run.h"
#include "sort.h"
#include "specialdefault.h"
@ -90,6 +91,7 @@ public:
Fun::Pw fun_pw;
Fun::Reload fun_reload;
Fun::Rm fun_rm;
Fun::RmUser fun_rmuser;
Fun::Run fun_run;
Fun::Sort fun_sort;
Fun::SpecialDefault fun_special_default;

View File

@ -8,7 +8,6 @@
*/
#include "logout.h"
#include "core/plugin.h"
@ -22,24 +21,12 @@ Logout::Logout()
}
void Logout::LogoutCurrentUser()
{
if( cur->session && cur->session->puser )
{
long user_id = cur->session->puser->id;
plugin.Call(WINIX_PREPARE_USER_LOGGED_OUT);
system->users.LogoutCurrentUser();
plugin.Call(WINIX_USER_LOGGED_OUT, user_id);
}
}
void Logout::MakeGet()
{
if( cur->session->puser )
{
LogoutCurrentUser();
system->users.LogoutCurrentUser();
system->RedirectToLastItem();
}
}

View File

@ -23,10 +23,7 @@ class Logout : public FunctionBase
public:
Logout();
void MakeGet();
void LogoutCurrentUser();
private:

View File

@ -107,8 +107,8 @@ void Pw::ActivateAccount()
const std::wstring & login = cur->request->ParamValue(L"login");
long code = Tol(cur->request->ParamValue(L"code"));
if( ActivateAccount(login, code, true) )
system->RedirectToLastItem();
ActivateAccount(login, code, true);
system->RedirectToLastItem();
}

82
functions/rmuser.cpp Executable file
View File

@ -0,0 +1,82 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* All rights reserved.
*
*/
#include "rmuser.h"
#include "core/log.h"
#include "core/misc.h"
#include "core/plugin.h"
#include "functions/functions.h"
namespace Fun
{
RmUser::RmUser()
{
fun.url = L"rmuser";
}
bool RmUser::HasAccess()
{
return cur->session->puser && cur->session->puser->super_user;
}
bool RmUser::RemoveUser(long user_id)
{
User * puser = system->users.GetUser(user_id);
bool result = false;
if( puser )
{
name = puser->name;
if( system->users.Remove(user_id) )
{
result = true;
log << log2 << "RmUser: user id: " << user_id << " name: " << name << " was removed" << logend;
if( db->RemoveUser(user_id) != WINIX_ERR_OK )
log << log1 << "RmUser: I cannot remove a user id: " << user_id << " from database" << logend;
}
}
return result;
}
void RmUser::MakePost()
{
if( cur->session->puser )
{
long user_id;
if( cur->session->puser->super_user )
user_id = Tol(cur->request->PostVar(L"userid"));
else
user_id = cur->session->puser->id;
RemoveUser(user_id);
}
system->RedirectToLastItem();
}
void RmUser::MakeGet()
{
}
} // namespace

42
functions/rmuser.h Executable file
View File

@ -0,0 +1,42 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfile_winix_functions_rmuser
#define headerfile_winix_functions_rmuser
#include "functionbase.h"
namespace Fun
{
class RmUser : public FunctionBase
{
public:
RmUser();
bool HasAccess();
void MakeGet();
void MakePost();
bool RemoveUser(long user_id);
private:
std::wstring name;
};
} // namespace
#endif

View File

@ -7,8 +7,8 @@
[if user_super_user]
<p class="withnext">{passwd_login}:</p>
<select name="login" class="users">
[for sys_user_tab]
<option [if sys_user_tab_is_current]selected[end]>[sys_user_tab_name]</option>
[for user_tab]
<option [if user_tab_is_current]selected[end]>[user_tab_name]</option>
[end]
</select>
[else]

27
html/fun_rmuser.html Executable file
View File

@ -0,0 +1,27 @@
<h1>{rmuser_header}</h1>
[if user_logged]
<form id="additem" method="post" action="[doc_base_url][dir][if item_is][item_url]/[end]rmuser">
<fieldset>
<legend>{rmuser_legend}</legend>
[if user_super_user]
<p class="withnext">{rmuser_selectuser}:</p>
<select name="userid">
[for user_tab]
<option value="[user_tab_id]">[user_tab_name]</option>
[end]
</select>
[else]
<p>{rmuser_removecurrent}</p>
<input type="hidden" value="[user_id]">
[end]
<input type="submit" value="{rmuser_submit}">
</fieldset>
</form>
[end]

View File

@ -214,6 +214,13 @@ rm_cannot_remove_root_dir = You cannot remove the root directory
rm_content_use_r_option = Content of a directory can be removed only with 'r' parameter
rmuser_header = Remove user
rmuser_legend = Remove user form
rmuser_selectuser = Select a user
rmuser_submit = Remove
rmuser_removecurrent = Are you really want to remove your account from our service?
thread_create_new = Create a new thread
thread_tab_title = Thread title
thread_tab_author = Author
@ -330,6 +337,7 @@ adduser_err_password_too_big2 = characters
adduser_err_email_too_big = Email cannot be longer than
adduser_err_email_too_big2 = characters
adduser_auto_activate = Automatically activate this account
adduser_err_email_incorrect = This email is not correct
mount_header = Mount points

View File

@ -234,7 +234,11 @@ rm_use_r_option = To jest katalog, aby go usunąć musisz użyć parametru 'r'
rm_cannot_remove_root_dir = Nie możesz usunąć głównego katalogu
rm_content_use_r_option = Zawartość katalogu może zostać usunięta tylko z użyciem parametru 'r'
rmuser_header = Usuń użytkownika
rmuser_legend = Formularz usunięcia użytkownika
rmuser_selectuser = Wybierz użytkownika
rmuser_submit = Usuń
rmuser_removecurrent = Naprawdę chcesz usunąć swoje konto z naszego serwisu?
thread_create_new = Załóż nowy wątek
thread_tab_title = Tytuł wątku
@ -350,6 +354,7 @@ adduser_err_password_too_big2 = znaków
adduser_err_email_too_big = Adres email nie może być większy niż
adduser_err_email_too_big2 = znaków
adduser_auto_activate = Automatically activate this account
adduser_err_email_incorrect = Podany email jest nieprawidłowy
mount_header = Punkty montowania

View File

@ -35,15 +35,15 @@ main.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
main.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
main.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
main.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
main.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
main.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
main.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
main.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
main.o: ../core/htmlfilter.h ../templates/templates.h
main.o: ../templates/patterncacher.h ../templates/indexpatterns.h
main.o: ../templates/patterns.h ../templates/changepatterns.h
main.o: ../templates/htmltextstream.h ../core/sessionmanager.h
main.o: ../core/compress.h ../core/postparser.h ../core/httpsimpleparser.h
main.o: ../core/cookieparser.h ../core/postmultiparser.h
main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
main.o: ../core/plugin.h ../core/pluginmsg.h
main.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
main.o: ../functions/specialdefault.h ../functions/stat.h
main.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
main.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
main.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
main.o: ../templates/templates.h ../templates/patterncacher.h
main.o: ../templates/indexpatterns.h ../templates/patterns.h
main.o: ../templates/changepatterns.h ../templates/htmltextstream.h
main.o: ../core/sessionmanager.h ../core/compress.h ../core/postparser.h
main.o: ../core/httpsimpleparser.h ../core/cookieparser.h
main.o: ../core/postmultiparser.h ../core/acceptencodingparser.h
main.o: ../core/acceptbaseparser.h ../core/plugin.h ../core/pluginmsg.h

View File

@ -40,9 +40,9 @@ notify.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
notify.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
notify.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
notify.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
notify.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
notify.o: ../functions/specialdefault.h ../functions/stat.h
notify.o: ../functions/subject.h ../functions/template.h
notify.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
notify.o: ../functions/sort.h ../functions/specialdefault.h
notify.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
notify.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
notify.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
notifypool.o: notifypool.h ../templates/locale.h
@ -106,12 +106,12 @@ templatesnotify.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
templatesnotify.o: ../functions/nicedit.h ../functions/node.h
templatesnotify.o: ../functions/passwd.h ../functions/priv.h
templatesnotify.o: ../functions/pw.h ../functions/reload.h ../functions/rm.h
templatesnotify.o: ../functions/sort.h ../functions/specialdefault.h
templatesnotify.o: ../functions/stat.h ../functions/subject.h
templatesnotify.o: ../functions/template.h ../functions/tinymce.h
templatesnotify.o: ../functions/uname.h ../functions/upload.h
templatesnotify.o: ../functions/uptime.h ../functions/who.h
templatesnotify.o: ../functions/vim.h ../core/htmlfilter.h
templatesnotify.o: ../functions/rmuser.h ../functions/sort.h
templatesnotify.o: ../functions/specialdefault.h ../functions/stat.h
templatesnotify.o: ../functions/subject.h ../functions/template.h
templatesnotify.o: ../functions/tinymce.h ../functions/uname.h
templatesnotify.o: ../functions/upload.h ../functions/uptime.h
templatesnotify.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
templatesnotify.o: ../templates/templates.h ../templates/patterncacher.h
templatesnotify.o: ../templates/indexpatterns.h ../templates/patterns.h
templatesnotify.o: ../templates/changepatterns.h ../core/sessionmanager.h

View File

@ -114,7 +114,7 @@ void Notify::ActivateAccount(const std::wstring & name, const std::wstring & ema
msg.code = WINIX_NOTIFY_CODE_CONFIRM_ACCOUNT;
msg.name = name;
msg.email = email;
msg.lang = 0;
msg.lang = 0; // !! IMPROVE ME a better language can be chose
msg.activate_code = code;
msg.template_index = notify_template_activate_account;
CreateActivateLink(name, code, msg.item_link);

View File

@ -107,11 +107,11 @@ bool res = false;
{
for(i=users->Begin() ; i != users->End() ; ++i)
{
if( ((*i)->notify & TemplatesNotifyFunctions::notify_msg.code) != 0 )
if( (i->notify & TemplatesNotifyFunctions::notify_msg.code) != 0 )
{
msg.name = (*i)->name;
msg.email = (*i)->email;
msg.lang = config->locale_default_index; // !! bedzie osobno dla kazdego uzytkownika
msg.name = i->name;
msg.email = i->email;
msg.lang = config->locale_default_index; // !! IMPROVE ME bedzie osobno dla kazdego uzytkownika
notify_user.push_back(msg);
res = true;

View File

@ -94,7 +94,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h

View File

@ -69,7 +69,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -125,13 +126,13 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/changepatterns.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h

View File

@ -69,7 +69,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -129,9 +130,10 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h groupinfo.h ../../core/misc.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h groupinfo.h
templates.o: ../../core/misc.h

View File

@ -63,7 +63,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -123,10 +124,10 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/log.h ../../core/misc.h cache.h
templates.o: ../../core/dirs.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h ../../core/log.h
templates.o: ../../core/misc.h cache.h ../../core/dirs.h

View File

@ -42,7 +42,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -105,14 +106,14 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/changepatterns.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
templates.o: ../../core/misc.h stats.h ../../templates/misc.h

View File

@ -47,13 +47,13 @@ createthread.o: ../../functions/mkdir.h ../../functions/mv.h
createthread.o: ../../functions/nicedit.h ../../functions/node.h
createthread.o: ../../functions/passwd.h ../../functions/priv.h
createthread.o: ../../functions/pw.h ../../functions/reload.h
createthread.o: ../../functions/rm.h ../../functions/sort.h
createthread.o: ../../functions/specialdefault.h ../../functions/stat.h
createthread.o: ../../functions/subject.h ../../functions/template.h
createthread.o: ../../functions/tinymce.h ../../functions/uname.h
createthread.o: ../../functions/upload.h ../../functions/uptime.h
createthread.o: ../../functions/who.h ../../functions/vim.h
createthread.o: ../../core/htmlfilter.h
createthread.o: ../../functions/rm.h ../../functions/rmuser.h
createthread.o: ../../functions/sort.h ../../functions/specialdefault.h
createthread.o: ../../functions/stat.h ../../functions/subject.h
createthread.o: ../../functions/template.h ../../functions/tinymce.h
createthread.o: ../../functions/uname.h ../../functions/upload.h
createthread.o: ../../functions/uptime.h ../../functions/who.h
createthread.o: ../../functions/vim.h ../../core/htmlfilter.h
funthread.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
funthread.o: funthread.h ../../functions/functionbase.h ../../core/item.h
funthread.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
@ -127,7 +127,8 @@ init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -177,7 +178,7 @@ reply.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
reply.o: ../../functions/mv.h ../../functions/nicedit.h
reply.o: ../../functions/node.h ../../functions/passwd.h
reply.o: ../../functions/priv.h ../../functions/pw.h ../../functions/reload.h
reply.o: ../../functions/rm.h ../../functions/sort.h
reply.o: ../../functions/rm.h ../../functions/rmuser.h ../../functions/sort.h
reply.o: ../../functions/specialdefault.h ../../functions/stat.h
reply.o: ../../functions/subject.h ../../functions/template.h
reply.o: ../../functions/tinymce.h ../../functions/uname.h
@ -268,15 +269,15 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/changepatterns.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
threadinfo.o: threadinfo.h ../../core/item.h ../../core/system.h
threadinfo.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h

View File

@ -46,14 +46,14 @@ createticket.o: ../../functions/mkdir.h ../../functions/mv.h
createticket.o: ../../functions/nicedit.h ../../functions/node.h
createticket.o: ../../functions/passwd.h ../../functions/priv.h
createticket.o: ../../functions/pw.h ../../functions/reload.h
createticket.o: ../../functions/rm.h ../../functions/sort.h
createticket.o: ../../functions/specialdefault.h ../../functions/stat.h
createticket.o: ../../functions/subject.h ../../functions/template.h
createticket.o: ../../functions/tinymce.h ../../functions/uname.h
createticket.o: ../../functions/upload.h ../../functions/uptime.h
createticket.o: ../../functions/who.h ../../functions/vim.h
createticket.o: ../../core/htmlfilter.h sessiondata.h ../../core/plugindata.h
createticket.o: ../../functions/rm.h
createticket.o: ../../functions/rm.h ../../functions/rmuser.h
createticket.o: ../../functions/sort.h ../../functions/specialdefault.h
createticket.o: ../../functions/stat.h ../../functions/subject.h
createticket.o: ../../functions/template.h ../../functions/tinymce.h
createticket.o: ../../functions/uname.h ../../functions/upload.h
createticket.o: ../../functions/uptime.h ../../functions/who.h
createticket.o: ../../functions/vim.h ../../core/htmlfilter.h sessiondata.h
createticket.o: ../../core/plugindata.h ../../functions/rm.h
editticket.o: editticket.h tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h
editticket.o: ../../db/dbtextstream.h ../../core/textstream.h
editticket.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
@ -97,14 +97,15 @@ editticket.o: ../../functions/mv.h ../../functions/nicedit.h
editticket.o: ../../functions/node.h ../../functions/passwd.h
editticket.o: ../../functions/priv.h ../../functions/pw.h
editticket.o: ../../functions/reload.h ../../functions/rm.h
editticket.o: ../../functions/sort.h ../../functions/specialdefault.h
editticket.o: ../../functions/stat.h ../../functions/subject.h
editticket.o: ../../functions/template.h ../../functions/tinymce.h
editticket.o: ../../functions/uname.h ../../functions/upload.h
editticket.o: ../../functions/uptime.h ../../functions/who.h
editticket.o: ../../functions/vim.h ../../core/htmlfilter.h
editticket.o: ../../functions/functionbase.h ../../core/synchro.h
editticket.o: sessiondata.h ../../core/plugindata.h ../../functions/rm.h
editticket.o: ../../functions/rmuser.h ../../functions/sort.h
editticket.o: ../../functions/specialdefault.h ../../functions/stat.h
editticket.o: ../../functions/subject.h ../../functions/template.h
editticket.o: ../../functions/tinymce.h ../../functions/uname.h
editticket.o: ../../functions/upload.h ../../functions/uptime.h
editticket.o: ../../functions/who.h ../../functions/vim.h
editticket.o: ../../core/htmlfilter.h ../../functions/functionbase.h
editticket.o: ../../core/synchro.h sessiondata.h ../../core/plugindata.h
editticket.o: ../../functions/rm.h
funticket.o: funticket.h tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h
funticket.o: ../../db/dbtextstream.h ../../core/textstream.h
funticket.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
@ -148,18 +149,18 @@ funticket.o: ../../functions/mv.h ../../functions/nicedit.h
funticket.o: ../../functions/node.h ../../functions/passwd.h
funticket.o: ../../functions/priv.h ../../functions/pw.h
funticket.o: ../../functions/reload.h ../../functions/rm.h
funticket.o: ../../functions/sort.h ../../functions/specialdefault.h
funticket.o: ../../functions/stat.h ../../functions/subject.h
funticket.o: ../../functions/template.h ../../functions/tinymce.h
funticket.o: ../../functions/uname.h ../../functions/upload.h
funticket.o: ../../functions/uptime.h ../../functions/who.h
funticket.o: ../../functions/vim.h ../../core/htmlfilter.h
funticket.o: ../../functions/functionbase.h ../../core/synchro.h
funticket.o: ../../core/plugin.h pluginmsg.h ../../core/system.h
funticket.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
funticket.o: ../../templates/templates.h ../../templates/patterncacher.h
funticket.o: ../../templates/indexpatterns.h ../../templates/patterns.h
funticket.o: ../../templates/changepatterns.h
funticket.o: ../../functions/rmuser.h ../../functions/sort.h
funticket.o: ../../functions/specialdefault.h ../../functions/stat.h
funticket.o: ../../functions/subject.h ../../functions/template.h
funticket.o: ../../functions/tinymce.h ../../functions/uname.h
funticket.o: ../../functions/upload.h ../../functions/uptime.h
funticket.o: ../../functions/who.h ../../functions/vim.h
funticket.o: ../../core/htmlfilter.h ../../functions/functionbase.h
funticket.o: ../../core/synchro.h ../../core/plugin.h pluginmsg.h
funticket.o: ../../core/system.h ../../core/sessionmanager.h
funticket.o: ../../core/sessioncontainer.h ../../templates/templates.h
funticket.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
funticket.o: ../../templates/patterns.h ../../templates/changepatterns.h
funticket.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
funticket.o: ../../plugins/thread/pluginmsg.h
init.o: tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h
@ -201,7 +202,8 @@ init.o: ../../functions/ls.h ../../functions/man.h ../../functions/meta.h
init.o: ../../functions/mkdir.h ../../functions/mv.h
init.o: ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/sort.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
@ -264,17 +266,18 @@ showtickets.o: ../../functions/mv.h ../../functions/nicedit.h
showtickets.o: ../../functions/node.h ../../functions/passwd.h
showtickets.o: ../../functions/priv.h ../../functions/pw.h
showtickets.o: ../../functions/reload.h ../../functions/rm.h
showtickets.o: ../../functions/sort.h ../../functions/specialdefault.h
showtickets.o: ../../functions/stat.h ../../functions/subject.h
showtickets.o: ../../functions/template.h ../../functions/tinymce.h
showtickets.o: ../../functions/uname.h ../../functions/upload.h
showtickets.o: ../../functions/uptime.h ../../functions/who.h
showtickets.o: ../../functions/vim.h ../../core/htmlfilter.h
showtickets.o: ../../functions/functionbase.h ../../core/synchro.h
showtickets.o: pluginmsg.h ../../plugins/thread/pluginmsg.h
showtickets.o: ../../core/plugin.h ../../core/system.h
showtickets.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
showtickets.o: ../../templates/templates.h ../../templates/patterncacher.h
showtickets.o: ../../functions/rmuser.h ../../functions/sort.h
showtickets.o: ../../functions/specialdefault.h ../../functions/stat.h
showtickets.o: ../../functions/subject.h ../../functions/template.h
showtickets.o: ../../functions/tinymce.h ../../functions/uname.h
showtickets.o: ../../functions/upload.h ../../functions/uptime.h
showtickets.o: ../../functions/who.h ../../functions/vim.h
showtickets.o: ../../core/htmlfilter.h ../../functions/functionbase.h
showtickets.o: ../../core/synchro.h pluginmsg.h
showtickets.o: ../../plugins/thread/pluginmsg.h ../../core/plugin.h
showtickets.o: ../../core/system.h ../../core/sessionmanager.h
showtickets.o: ../../core/sessioncontainer.h ../../templates/templates.h
showtickets.o: ../../templates/patterncacher.h
showtickets.o: ../../templates/indexpatterns.h ../../templates/patterns.h
showtickets.o: ../../templates/changepatterns.h
showtickets.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
@ -324,20 +327,20 @@ templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/sort.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h tdb.h
templates.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/error.h editticket.h ../../functions/functionbase.h
templates.o: ../../core/synchro.h createticket.h ../../core/misc.h
templates.o: ../../core/plugin.h pluginmsg.h ../../core/system.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/changepatterns.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h tdb.h ../../db/dbbase.h
templates.o: ../../db/dbconn.h ../../db/dbtextstream.h ../../core/error.h
templates.o: editticket.h ../../functions/functionbase.h ../../core/synchro.h
templates.o: createticket.h ../../core/misc.h ../../core/plugin.h pluginmsg.h
templates.o: ../../core/system.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
templates.o: sessiondata.h ../../core/plugindata.h ../../functions/rm.h
templates.o: ../../plugins/thread/pluginmsg.h ../../templates/miscspace.h
@ -383,12 +386,13 @@ ticketinfo.o: ../../functions/mv.h ../../functions/nicedit.h
ticketinfo.o: ../../functions/node.h ../../functions/passwd.h
ticketinfo.o: ../../functions/priv.h ../../functions/pw.h
ticketinfo.o: ../../functions/reload.h ../../functions/rm.h
ticketinfo.o: ../../functions/sort.h ../../functions/specialdefault.h
ticketinfo.o: ../../functions/stat.h ../../functions/subject.h
ticketinfo.o: ../../functions/template.h ../../functions/tinymce.h
ticketinfo.o: ../../functions/uname.h ../../functions/upload.h
ticketinfo.o: ../../functions/uptime.h ../../functions/who.h
ticketinfo.o: ../../functions/vim.h ../../core/htmlfilter.h tdb.h
ticketinfo.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
ticketinfo.o: ../../core/error.h ../../core/log.h ../../core/misc.h
ticketinfo.o: sessiondata.h ../../core/plugindata.h ../../functions/rm.h
ticketinfo.o: ../../functions/rmuser.h ../../functions/sort.h
ticketinfo.o: ../../functions/specialdefault.h ../../functions/stat.h
ticketinfo.o: ../../functions/subject.h ../../functions/template.h
ticketinfo.o: ../../functions/tinymce.h ../../functions/uname.h
ticketinfo.o: ../../functions/upload.h ../../functions/uptime.h
ticketinfo.o: ../../functions/who.h ../../functions/vim.h
ticketinfo.o: ../../core/htmlfilter.h tdb.h ../../db/dbbase.h
ticketinfo.o: ../../db/dbconn.h ../../db/dbtextstream.h ../../core/error.h
ticketinfo.o: ../../core/log.h ../../core/misc.h sessiondata.h
ticketinfo.o: ../../core/plugindata.h ../../functions/rm.h

View File

@ -113,6 +113,12 @@ table {
margin-left: 3em;
}
table tr.roweven {
background: #F8F8F8;
}
table tr.rowodd {
}
table th {
font-weight: bold;
@ -122,6 +128,51 @@ padding-right: 2em;
table td {
padding-right: 2em;
}
table.tablea {
border: none;
}
table.tablea th, table.tablea td {
border: none;
}
table.tableb {
border: none;
}
table.tableb th {
border: none;
border-bottom: 1px solid #AEAEAE;
}
table.tableb td {
border: none;
}
table.tablec {
border: none;
border: 1px solid #AEAEAE;
}
table.tablec th {
border: none;
border-bottom: 1px solid #AEAEAE;
border-left: 1px dotted #AEAEAE;
border-right: 1px dotted #AEAEAE;
}
table.tablec td {
border: none;
border-left: 1px dotted #AEAEAE;
border-right: 1px dotted #AEAEAE;
}
p {
margin: 0.5em 0 0.5em 0;

View File

@ -530,6 +530,72 @@ padding: 0.2em;
}
table {
margin-left: 3em;
}
table tr.roweven {
background: #F8F8F8;
}
table tr.rowodd {
}
table th {
font-weight: bold;
padding-right: 2em;
}
table td {
padding-right: 2em;
}
table.tablea {
border: none;
}
table.tablea th, table.tablea td {
border: none;
}
table.tableb {
border: none;
}
table.tableb th {
border: none;
border-bottom: 1px solid #AEAEAE;
}
table.tableb td {
border: none;
}
table.tablec {
border: none;
border: 1px solid #AEAEAE;
}
table.tablec th {
border: none;
border-bottom: 1px solid #AEAEAE;
border-left: 1px dotted #AEAEAE;
border-right: 1px dotted #AEAEAE;
}
table.tablec td {
border: none;
border-left: 1px dotted #AEAEAE;
border-right: 1px dotted #AEAEAE;
}
table {
margin: 0.5em 0 1em 0;
border-collapse: collapse;

View File

@ -91,10 +91,11 @@ dir.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
dir.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
dir.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
dir.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
dir.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
dir.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
dir.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
dir.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
dir.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
dir.o: ../functions/specialdefault.h ../functions/stat.h
dir.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
dir.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
dir.o: ../functions/who.h ../functions/vim.h
doc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/generator.h
doc.o: ../../ezc/src/pattern.h ../../ezc/src/item.h ../../ezc/src/funinfo.h
doc.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h misc.h
@ -153,10 +154,11 @@ env.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
env.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
env.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
env.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
env.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
env.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
env.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
env.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
env.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
env.o: ../functions/specialdefault.h ../functions/stat.h
env.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
env.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
env.o: ../functions/who.h ../functions/vim.h
filters.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/generator.h
filters.o: ../../ezc/src/pattern.h ../../ezc/src/item.h
filters.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
@ -359,8 +361,8 @@ man.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
man.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
man.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
man.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
man.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
man.o: ../functions/specialdefault.h ../functions/stat.h
man.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
man.o: ../functions/sort.h ../functions/specialdefault.h ../functions/stat.h
man.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
man.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
man.o: ../functions/who.h ../functions/vim.h
@ -488,8 +490,8 @@ priv.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
priv.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
priv.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
priv.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
priv.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
priv.o: ../functions/specialdefault.h ../functions/stat.h
priv.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
priv.o: ../functions/sort.h ../functions/specialdefault.h ../functions/stat.h
priv.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
priv.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
priv.o: ../functions/who.h ../functions/vim.h
@ -601,8 +603,8 @@ sys.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
sys.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
sys.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
sys.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
sys.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
sys.o: ../functions/specialdefault.h ../functions/stat.h
sys.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
sys.o: ../functions/sort.h ../functions/specialdefault.h ../functions/stat.h
sys.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
sys.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
sys.o: ../functions/who.h ../functions/vim.h ../templates/templates.h
@ -672,7 +674,7 @@ templates.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
templates.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
templates.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
templates.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
templates.o: ../functions/rm.h ../functions/sort.h
templates.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
templates.o: ../functions/specialdefault.h ../functions/stat.h
templates.o: ../functions/subject.h ../functions/template.h
templates.o: ../functions/tinymce.h ../functions/uname.h
@ -813,8 +815,9 @@ winix.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
winix.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
winix.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
winix.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
winix.o: ../functions/rm.h ../functions/sort.h ../functions/specialdefault.h
winix.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
winix.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
winix.o: ../functions/specialdefault.h ../functions/stat.h
winix.o: ../functions/subject.h ../functions/template.h
winix.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
winix.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
winix.o: ../templates/templates.h ../core/misc.h

View File

@ -59,47 +59,65 @@ void env_user_name(Info & i)
static size_t user_index = 0;
static Users::Iterator user_iter;
static size_t user_reqid = 0;
static size_t user_index; // only information
bool env_user_tab_init()
{
if( user_reqid != cur->request->id )
{
user_reqid = cur->request->id;
user_iter = system->users.End();
}
return user_iter != system->users.End();
}
void env_user_tab(Info & i)
{
env_user_tab_init();
if( cur->session->puser && cur->session->puser->super_user )
{
user_index = i.iter;
i.res = user_index < system->users.Size();
if( i.iter == 0 )
user_iter = system->users.Begin();
else
if( user_iter != system->users.End() )
++user_iter;
i.res = user_iter != system->users.End();
}
}
bool evn_user_tab_has_access()
{
return cur->session->puser &&
cur->session->puser->super_user &&
user_index < system->users.Size();
}
void env_user_tab_id(Info & i)
{
if( evn_user_tab_has_access() )
i.out << system->users[user_index].id;
if( env_user_tab_init() )
i.out << user_iter->id;
}
void env_user_tab_name(Info & i)
{
if( evn_user_tab_has_access() )
i.out << system->users[user_index].name;
if( env_user_tab_init() )
i.out << user_iter->name;
}
void env_user_tab_is_current(Info & i)
{
if( evn_user_tab_has_access() && functions->fun_env.GetUser() )
i.res = (system->users[user_index].id == functions->fun_env.GetUser()->id );
if( env_user_tab_init() )
{
User * puser = functions->fun_env.GetUser();
if( puser )
i.res = (user_iter->id == puser->id );
}
}

View File

@ -38,8 +38,8 @@ void priv_user_tab_init(Item & item)
if( cur->session->puser->super_user )
{
// super user is allowed to change to any user
for(size_t i=0 ; i<system->users.Size() ; ++i)
priv_user_table.push_back( system->users[i].id );
for(Users::Iterator i=system->users.Begin() ; i != system->users.End() ; ++i)
priv_user_table.push_back(i->id);
// as well to nobody (-1)
priv_user_table.push_back(-1);
@ -143,8 +143,8 @@ void priv_group_tab_init(Item & item)
if( cur->session->puser->super_user )
{
// super user is allowed to change to any group
for(size_t i=0 ; i<system->groups.Size() ; ++i)
priv_group_table.push_back( system->groups[i].id );
for(Groups::Iterator i=system->groups.Begin() ; i != system->groups.End() ; ++i)
priv_group_table.push_back(i->id);
// as well to nogroup (-1)
priv_group_table.push_back(-1);
@ -156,7 +156,7 @@ void priv_group_tab_init(Item & item)
// owner of the item -- is allowed to change only to a group in which he belongs to
for(size_t i=0 ; i<cur->session->puser->groups.size() ; ++i)
{
priv_group_table.push_back( cur->session->puser->groups[i] );
priv_group_table.push_back(cur->session->puser->groups[i]);
if( item.group_id == cur->session->puser->groups[i] )
was_current_group = true;

View File

@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2011, Tomasz Sowa
* Copyright (c) 2008-2012, Tomasz Sowa
* All rights reserved.
*
*/
@ -67,32 +67,6 @@ void sys_plugin_tab_name(Info & i)
static size_t sys_user_index = 0;
void sys_user_tab(Info & i)
{
sys_user_index = i.iter;
i.res = sys_user_index < system->users.Size();
}
void sys_user_tab_is_current(Info & i)
{
if( !cur->session->puser )
return;
if( sys_user_index < system->users.Size() )
i.res = (cur->session->puser->id == system->users[sys_user_index].id);
}
void sys_user_tab_name(Info & i)
{
if( sys_user_index < system->users.Size() )
i.out << system->users[sys_user_index].name;
}
} // namespace TemplatesFunctions

View File

@ -472,9 +472,6 @@ void Templates::CreateFunctions()
ezc_functions.Insert("sys_plugin_tab", sys_plugin_tab);
ezc_functions.Insert("sys_plugin_tab_has_name", sys_plugin_tab_has_name);
ezc_functions.Insert("sys_plugin_tab_name", sys_plugin_tab_name);
ezc_functions.Insert("sys_user_tab", sys_user_tab);
ezc_functions.Insert("sys_user_tab_is_current", sys_user_tab_is_current);
ezc_functions.Insert("sys_user_tab_name", sys_user_tab_name);
/*
@ -494,6 +491,7 @@ void Templates::CreateFunctions()
/*
user
*/
ezc_functions.Insert("user_id", user_id);
ezc_functions.Insert("user_name", user_name);
ezc_functions.Insert("user_logged", user_logged);
ezc_functions.Insert("user_super_user", user_super_user);

View File

@ -390,9 +390,6 @@ namespace TemplatesFunctions
void sys_plugin_tab(Info & i);
void sys_plugin_tab_has_name(Info & i);
void sys_plugin_tab_name(Info & i);
void sys_user_tab(Info & i);
void sys_user_tab_is_current(Info & i);
void sys_user_tab_name(Info & i);
/*
@ -412,6 +409,7 @@ namespace TemplatesFunctions
/*
user
*/
void user_id(Info & i);
void user_name(Info & i);
void user_logged(Info & i);
void user_super_user(Info & i);

View File

@ -25,12 +25,16 @@ void user_logged(Info & i)
}
void user_id(Info & i)
{
if( cur->session->puser )
i.out << cur->session->puser->id;
}
void user_name(Info & i)
{
if( !cur->session->puser )
return;
i.out << cur->session->puser->name;
if( cur->session->puser )
i.out << cur->session->puser->name;
}
@ -108,12 +112,35 @@ void user_can_use_raw(Info & i)
static size_t user_index = 0;
static Users::Iterator user_iter;
static size_t user_reqid = 0;
static size_t user_index; // only information
bool user_tab_init()
{
if( user_reqid != cur->request->id )
{
user_reqid = cur->request->id;
user_iter = system->users.Begin();
}
return user_iter != system->users.End();
}
void user_tab(Info & i)
{
user_tab_init();
user_index = i.iter;
i.res = user_index < system->users.Size();
if( i.iter == 0 )
user_iter = system->users.Begin();
else
if( user_iter != system->users.End() )
++user_iter;
i.res = user_iter != system->users.End();
}
@ -124,49 +151,47 @@ void user_tab_index(Info & i)
void user_tab_id(Info & i)
{
if( user_index < system->users.Size() )
i.out << system->users[user_index].id;
if( user_tab_init() )
i.out << user_iter->id;
}
void user_tab_name(Info & i)
{
if( user_index < system->users.Size() )
i.out << system->users[user_index].name;
if( user_tab_init() )
i.out << user_iter->name;
}
void user_tab_is_super_user(Info & i)
{
if( user_index < system->users.Size() )
i.res = system->users[user_index].super_user;
if( user_tab_init() )
i.res = user_iter->super_user;
}
void user_tab_is_active(Info & i)
{
if( user_index < system->users.Size() )
i.res = system->users[user_index].status == WINIX_ACCOUNT_READY;
if( user_tab_init() )
i.res = user_iter->status == WINIX_ACCOUNT_READY;
}
void user_tab_is_suspended(Info & i)
{
if( user_index < system->users.Size() )
i.res = system->users[user_index].status == WINIX_ACCOUNT_SUSPENDED;
if( user_tab_init() )
i.res = user_iter->status == WINIX_ACCOUNT_SUSPENDED;
}
void user_tab_is_blocked(Info & i)
{
if( user_index < system->users.Size() )
i.res = system->users[user_index].status == WINIX_ACCOUNT_BLOCKED;
if( user_tab_init() )
i.res = user_iter->status == WINIX_ACCOUNT_BLOCKED;
}
void user_tab_is_current(Info & i)
{
if( user_index < system->users.Size() && cur->session->puser )
i.res = (system->users[user_index].id == cur->session->puser->id);
if( user_tab_init() && cur->session->puser )
i.res = (user_iter->id == cur->session->puser->id);
}
} // namespace TemplatesFunctions