changed: added Cur structure

we have there two pointers: 
 Request * request;
 Session * session;
these are the current request and the current session


the session GC was moved to SessionManager (was in SessionContainer)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@708 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2011-01-23 14:15:30 +00:00
parent 61ac29b2de
commit 915cabdf97
171 changed files with 2822 additions and 2650 deletions

View File

@@ -31,7 +31,7 @@ bool Rm::HasAccess(const Item & item)
{
// !! temporarily (we're waiting for the sticky bit to be implemented)
// not logged users cannot remove anything
if( !request->session->puser )
if( !cur->session->puser )
return false;
if( item.parent_id == -1 )
@@ -55,7 +55,7 @@ bool Rm::HasAccess(const Item & item)
}
if( system->mounts.pmount->IsPar(system->mounts.MountParOnlyRootRemove()) )
if( !request->session->puser || !request->session->puser->super_user )
if( !cur->session->puser || !cur->session->puser->super_user )
return false;
return true;
@@ -64,10 +64,10 @@ return true;
bool Rm::HasAccess()
{
if( !request->is_item )
return HasAccess(*request->dir_tab.back());
if( !cur->request->is_item )
return HasAccess(*cur->request->dir_tab.back());
else
return HasAccess(request->item);
return HasAccess(cur->request->item);
return true;
}
@@ -103,7 +103,7 @@ bool Rm::RemoveStaticFile(const std::wstring & path)
else
{
log << log1 << "Rm: can't remove a file: " << path << logend;
request->status = WINIX_ERR_PERMISSION_DENIED;
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
return false;
}
}
@@ -128,7 +128,7 @@ void Rm::RemoveStaticFile(Item & item)
}
else
{
request->status = WINIX_ERR_PERMISSION_DENIED;
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
}
}
@@ -156,7 +156,7 @@ void Rm::RemoveFileOrSymlink(Item & item)
}
else
{
// request->status = WINIX_ERR_NO_ITEM;
// cur->request->status = WINIX_ERR_NO_ITEM;
}
}
@@ -199,7 +199,7 @@ void Rm::RemoveDir(const Item & dir)
old_url = dir.url;
RemoveDirTree(dir.id);
if( request->status == WINIX_ERR_OK )
if( cur->request->status == WINIX_ERR_OK )
log << log3 << "Rm: removed directory " << old_url << logend;
}
@@ -207,9 +207,9 @@ void Rm::RemoveDir(const Item & dir)
void Rm::RemoveFile()
{
RemoveFileOrSymlink(request->item);
RemoveFileOrSymlink(cur->request->item);
if( request->status == WINIX_ERR_OK )
if( cur->request->status == WINIX_ERR_OK )
system->RedirectToLastDir();
}
@@ -217,13 +217,13 @@ void Rm::RemoveFile()
void Rm::RemoveDirContent()
{
if( !request->IsParam(L"r") )
if( !cur->request->IsParam(L"r") )
{
request->status = WINIX_ERR_PERMISSION_DENIED;
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
return;
}
content_dir_iq.WhereParentId(request->dir_tab.back()->id);
content_dir_iq.WhereParentId(cur->request->dir_tab.back()->id);
db->GetItems(item_tab, content_dir_iq);
for(size_t i=0 ; i<item_tab.size() ; ++i)
@@ -234,7 +234,7 @@ void Rm::RemoveDirContent()
RemoveFileOrSymlink(item_tab[i]);
}
if( request->status == WINIX_ERR_OK )
if( cur->request->status == WINIX_ERR_OK )
system->RedirectToLastDir();
}
@@ -242,17 +242,17 @@ void Rm::RemoveDirContent()
void Rm::RemoveDir()
{
if( !request->IsParam(L"r") || request->dir_tab.size() <= 1 )
if( !cur->request->IsParam(L"r") || cur->request->dir_tab.size() <= 1 )
{
// we cannot remove the root directory (dir_tab.size()==1)
request->status = WINIX_ERR_PERMISSION_DENIED;
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
return;
}
RemoveDir(*request->dir_tab.back());
request->dir_tab.erase(--request->dir_tab.end());
RemoveDir(*cur->request->dir_tab.back());
cur->request->dir_tab.erase(--cur->request->dir_tab.end());
if( request->status == WINIX_ERR_OK )
if( cur->request->status == WINIX_ERR_OK )
system->RedirectToLastDir();
}
@@ -271,13 +271,13 @@ void Rm::MakePost()
{
Prepare();
if( request->is_item )
if( cur->request->is_item )
{
RemoveFile();
}
else
{
if( request->IsPostVar(L"onlycontent") )
if( cur->request->IsPostVar(L"onlycontent") )
RemoveDirContent();
else
RemoveDir();