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

88
functions/subject.cpp Executable file
View File

@@ -0,0 +1,88 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "subject.h"
namespace Fun
{
Subject::Subject()
{
fun.url = "subject";
}
bool Subject::SubjectCheckAccess()
{
// super user can always
if( request->session->puser && request->session->puser->super_user )
return true;
bool access;
if( request->is_item )
access = system->HasWriteAccess(request->item);
else
access = system->HasWriteAccess(*request->dir_table.back());
if( !access )
request->status = WINIX_ERR_PERMISSION_DENIED;
return access;
}
void Subject::EditDirSubject()
{
Item & dir = *request->dir_table.back();
request->PostVar("subject", dir.subject);
db->EditSubjectById(dir, dir.id);
system->RedirectToLastDir();
}
void Subject::EditFileSubject()
{
request->PostVar("subject", request->item.subject);
db->EditSubjectById(request->item, request->item.id);
system->RedirectTo(request->item);
}
void Subject::MakePost()
{
if( !SubjectCheckAccess() )
return;
if( request->is_item )
EditFileSubject();
else
EditDirSubject();
}
void Subject::MakeGet()
{
SubjectCheckAccess();
}
} // namespace