the first part of reimplementing has been done

now we have app object and singletons are only: log logn plugin and app



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@628 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-08-10 16:12:50 +00:00
parent 6897192364
commit 217cf1420b
191 changed files with 9529 additions and 7250 deletions

View File

@@ -8,10 +8,9 @@
*/
#include "templates.h"
#include "../core/data.h"
#include "../core/request.h"
#include "../core/misc.h"
#include "core/request.h"
#include "core/misc.h"
#include "functions/functions.h"
@@ -27,20 +26,20 @@ static size_t priv_user_reqid = 0;
void priv_user_tab_init(Item & item)
{
priv_user_reqid = request.id;
priv_user_reqid = request->id;
priv_user_table.clear();
if( !request.session->puser )
if( !request->session->puser )
{
// not logged
priv_user_table.push_back(item.user_id);
}
else
if( request.session->puser->super_user )
if( request->session->puser->super_user )
{
// super user is allowed to change to any user
for(size_t i=0 ; i<data.users.Size() ; ++i)
priv_user_table.push_back( data.users[i].id );
for(size_t i=0 ; i<system->users.Size() ; ++i)
priv_user_table.push_back( system->users[i].id );
// as well to nobody (-1)
priv_user_table.push_back(-1);
@@ -55,16 +54,16 @@ void priv_user_tab_init(Item & item)
void priv_user_tab_init()
{
if( request.is_item )
priv_user_tab_init(request.item);
if( request->is_item )
priv_user_tab_init(request->item);
else
priv_user_tab_init(*request.dir_table.back());
priv_user_tab_init(*request->dir_table.back());
}
void priv_user_tab(Info & i)
{
if( priv_user_reqid != request.id )
if( priv_user_reqid != request->id )
priv_user_tab_init();
priv_user_index = i.iter;
@@ -82,7 +81,7 @@ void priv_user_tab_name(Info & i)
if( uid != -1 )
{
User * puser = data.users.GetUser( uid );
User * puser = system->users.GetUser( uid );
if( puser )
HtmlEscape(i.out, puser->name);
@@ -91,7 +90,7 @@ void priv_user_tab_name(Info & i)
}
else
{
HtmlEscape(i.out, data.priv_no_user);
HtmlEscape(i.out, config->priv_no_user);
}
}
}
@@ -104,14 +103,14 @@ void priv_user_tab_isdefault(Info & i)
{
long uid = priv_user_table[priv_user_index];
if( request.is_item )
if( request->is_item )
{
if( uid == request.item.user_id )
if( uid == request->item.user_id )
i.res = true;
}
else
{
if( uid == request.dir_table.back()->user_id )
if( uid == request->dir_table.back()->user_id )
i.res = true;
}
}
@@ -132,34 +131,34 @@ static size_t priv_group_reqid = 0;
void priv_group_tab_init(Item & item)
{
priv_group_reqid = request.id;
priv_group_reqid = request->id;
priv_group_table.clear();
if( !request.session->puser )
if( !request->session->puser )
{
// not logged
priv_group_table.push_back(item.group_id);
}
else
if( request.session->puser->super_user )
if( request->session->puser->super_user )
{
// super user is allowed to change to any group
for(size_t i=0 ; i<data.groups.Size() ; ++i)
priv_group_table.push_back( data.groups[i].id );
for(size_t i=0 ; i<system->groups.Size() ; ++i)
priv_group_table.push_back( system->groups[i].id );
// as well to nogroup (-1)
priv_group_table.push_back(-1);
}
else
if( request.session->puser->id == item.user_id )
if( request->session->puser->id == item.user_id )
{
bool was_current_group = false;
// owner of the item -- is allowed to change only to a group in which he belongs to
for(size_t i=0 ; i<request.session->puser->groups.size() ; ++i)
for(size_t i=0 ; i<request->session->puser->groups.size() ; ++i)
{
priv_group_table.push_back( request.session->puser->groups[i] );
priv_group_table.push_back( request->session->puser->groups[i] );
if( item.group_id == request.session->puser->groups[i] )
if( item.group_id == request->session->puser->groups[i] )
was_current_group = true;
}
@@ -180,16 +179,16 @@ void priv_group_tab_init(Item & item)
void priv_group_tab_init()
{
if( request.is_item )
priv_group_tab_init(request.item);
if( request->is_item )
priv_group_tab_init(request->item);
else
priv_group_tab_init(*request.dir_table.back());
priv_group_tab_init(*request->dir_table.back());
}
void priv_group_tab(Info & i)
{
if( priv_group_reqid != request.id )
if( priv_group_reqid != request->id )
priv_group_tab_init();
priv_group_index = i.iter;
@@ -207,7 +206,7 @@ void priv_group_tab_name(Info & i)
if( gid != -1 )
{
Group * pgroup = data.groups.GetGroup( gid );
Group * pgroup = system->groups.GetGroup( gid );
if( pgroup )
HtmlEscape(i.out, pgroup->name);
@@ -216,7 +215,7 @@ void priv_group_tab_name(Info & i)
}
else
{
HtmlEscape(i.out, data.priv_no_group);
HtmlEscape(i.out, config->priv_no_group);
}
}
}
@@ -229,14 +228,14 @@ void priv_group_tab_isdefault(Info & i)
{
long gid = priv_group_table[priv_group_index];
if( request.is_item )
if( request->is_item )
{
if( gid == request.item.group_id )
if( gid == request->item.group_id )
i.res = true;
}
else
{
if( gid == request.dir_table.back()->group_id )
if( gid == request->dir_table.back()->group_id )
i.res = true;
}
}
@@ -245,10 +244,10 @@ void priv_group_tab_isdefault(Info & i)
void priv_privileges(Info & i)
{
if( request.is_item )
i.out << std::setbase(8) << request.item.privileges << std::setbase(10);
if( request->is_item )
i.out << std::setbase(8) << request->item.privileges << std::setbase(10);
else
i.out << std::setbase(8) << request.dir_table.back()->privileges << std::setbase(10);
i.out << std::setbase(8) << request->dir_table.back()->privileges << std::setbase(10);
}
@@ -268,13 +267,13 @@ void priv_privileges_for_dirs(Info & i)
void priv_show_form_chown(Info & i)
{
i.res = (request.pfunction->code == FUN_PRIV || request.pfunction->code == FUN_CHOWN);
i.res = (request->pfunction->fun.url == "priv" || request->pfunction->fun.url == "chown");
}
void priv_show_form_chmod(Info & i)
{
i.res = (request.pfunction->code == FUN_PRIV || request.pfunction->code == FUN_CHMOD);
i.res = (request->pfunction->fun.url == "priv" || request->pfunction->fun.url == "chmod");
}