added: forum
added: mount params can have arguments (in parentheses) added: mount params: withheader, withinfo, restrictcreatethread, only_root_can_remove, can_use_emacs_on(level), can_use_mkdir_on(level), added: table Item has 'subject' column now removed: column 'subject' from table Content git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@505 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -25,7 +25,7 @@ static size_t priv_user_reqid = 0;
|
||||
|
||||
|
||||
|
||||
void priv_user_tab_init()
|
||||
void priv_user_tab_init(Item & item)
|
||||
{
|
||||
priv_user_reqid = request.id;
|
||||
priv_user_table.clear();
|
||||
@@ -33,7 +33,7 @@ void priv_user_tab_init()
|
||||
if( !request.session->puser )
|
||||
{
|
||||
// not logged
|
||||
priv_user_table.push_back(request.item.user_id);
|
||||
priv_user_table.push_back(item.user_id);
|
||||
}
|
||||
else
|
||||
if( request.session->puser->super_user )
|
||||
@@ -48,11 +48,20 @@ void priv_user_tab_init()
|
||||
else
|
||||
{
|
||||
// others
|
||||
priv_user_table.push_back(request.item.user_id);
|
||||
priv_user_table.push_back(item.user_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void priv_user_tab_init()
|
||||
{
|
||||
if( request.is_item )
|
||||
priv_user_tab_init(request.item);
|
||||
else
|
||||
priv_user_tab_init(*request.dir_table.back());
|
||||
}
|
||||
|
||||
|
||||
void priv_user_tab(Info & i)
|
||||
{
|
||||
if( priv_user_reqid != request.id )
|
||||
@@ -95,8 +104,16 @@ void priv_user_tab_isdefault(Info & i)
|
||||
{
|
||||
long uid = priv_user_table[priv_user_index];
|
||||
|
||||
if( uid == request.item.user_id )
|
||||
i.result = true;
|
||||
if( request.is_item )
|
||||
{
|
||||
if( uid == request.item.user_id )
|
||||
i.result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( uid == request.dir_table.back()->user_id )
|
||||
i.result = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +130,7 @@ static size_t priv_group_reqid = 0;
|
||||
|
||||
|
||||
|
||||
void priv_group_tab_init()
|
||||
void priv_group_tab_init(Item & item)
|
||||
{
|
||||
priv_group_reqid = request.id;
|
||||
priv_group_table.clear();
|
||||
@@ -121,7 +138,7 @@ void priv_group_tab_init()
|
||||
if( !request.session->puser )
|
||||
{
|
||||
// not logged
|
||||
priv_group_table.push_back(request.item.group_id);
|
||||
priv_group_table.push_back(item.group_id);
|
||||
}
|
||||
else
|
||||
if( request.session->puser->super_user )
|
||||
@@ -134,7 +151,7 @@ void priv_group_tab_init()
|
||||
priv_group_table.push_back(-1);
|
||||
}
|
||||
else
|
||||
if( request.session->puser->id == request.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
|
||||
@@ -142,13 +159,13 @@ void priv_group_tab_init()
|
||||
{
|
||||
priv_group_table.push_back( request.session->puser->groups[i] );
|
||||
|
||||
if( request.item.group_id == request.session->puser->groups[i] )
|
||||
if( item.group_id == request.session->puser->groups[i] )
|
||||
was_current_group = true;
|
||||
}
|
||||
|
||||
// we're showing the item.group_id if it's different
|
||||
if( !was_current_group )
|
||||
priv_group_table.push_back(request.item.group_id);
|
||||
priv_group_table.push_back(item.group_id);
|
||||
|
||||
// switching to -1 is allowed too
|
||||
priv_group_table.push_back(-1);
|
||||
@@ -156,11 +173,20 @@ void priv_group_tab_init()
|
||||
else
|
||||
{
|
||||
// not the owner and not a super user -- the same as not logged
|
||||
priv_group_table.push_back(request.item.group_id);
|
||||
priv_group_table.push_back(item.group_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void priv_group_tab_init()
|
||||
{
|
||||
if( request.is_item )
|
||||
priv_group_tab_init(request.item);
|
||||
else
|
||||
priv_group_tab_init(*request.dir_table.back());
|
||||
}
|
||||
|
||||
|
||||
void priv_group_tab(Info & i)
|
||||
{
|
||||
if( priv_group_reqid != request.id )
|
||||
@@ -203,12 +229,28 @@ void priv_group_tab_isdefault(Info & i)
|
||||
{
|
||||
long gid = priv_group_table[priv_group_index];
|
||||
|
||||
if( gid == request.item.group_id )
|
||||
i.result = true;
|
||||
if( request.is_item )
|
||||
{
|
||||
if( gid == request.item.group_id )
|
||||
i.result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( gid == request.dir_table.back()->group_id )
|
||||
i.result = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void priv_privileges(Info & i)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user