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:
@@ -15,18 +15,9 @@
|
||||
#include "../core/data.h"
|
||||
|
||||
|
||||
|
||||
bool Content::FunCreateThreadCheckAccess()
|
||||
{
|
||||
Mount mount = data.mounts.GetCurrentMountPoint();
|
||||
|
||||
if( mount.type != Mount::thread )
|
||||
{
|
||||
request.status = Error::permision_denied;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !request.HasWriteAccess(*request.dir_table.back()) || request.is_item )
|
||||
if( !request.CanCreateThread() )
|
||||
{
|
||||
request.status = Error::permision_denied;
|
||||
return false;
|
||||
@@ -42,28 +33,35 @@ void Content::PostFunCreateThread()
|
||||
if( !FunCreateThreadCheckAccess() )
|
||||
return;
|
||||
|
||||
request.post_table.insert( std::make_pair(std::string("url"), std::string()) ); // !! tymczasowo, zrobic aby mkdir i emacs nie rzucaly wyjatkiem gdy nie ma url zdefiniowanego
|
||||
|
||||
PostFunMkdir(true);
|
||||
request.thread.parent_id = request.dir_table.back()->id;
|
||||
PostFunMkdir(true, 0777); // !! tymczasowo 777 aby wszyscy mogli wysylac posty
|
||||
|
||||
if( request.session->done_status == Error::ok )
|
||||
{
|
||||
request.thread.dir_id = request.dir_table.back()->id;
|
||||
request.thread.subject = request.PostVar("subject");
|
||||
request.thread.closed = false;
|
||||
|
||||
request.session->done_status = db.AddThread(request.thread);
|
||||
PostFunEmacs();
|
||||
|
||||
if( request.session->done_status == Error::ok )
|
||||
{
|
||||
request.thread.dir_id = request.dir_table.back()->id;
|
||||
request.thread.closed = false;
|
||||
request.thread.items = 1;
|
||||
request.thread.last_item = request.item; // set by PostFunEmacs()
|
||||
|
||||
request.session->done_status = db.AddThread(request.thread);
|
||||
}
|
||||
|
||||
|
||||
if( request.session->done_status == Error::ok )
|
||||
{
|
||||
PostFunEmacs();
|
||||
|
||||
if( request.session->done_status == Error::ok )
|
||||
{
|
||||
request.session->done = Done::added_thread;
|
||||
RedirectTo(*request.dir_table.back());
|
||||
}
|
||||
request.session->done = Done::added_thread;
|
||||
RedirectTo(*request.dir_table.back());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +73,8 @@ void Content::PostFunCreateThread()
|
||||
void Content::FunCreateThread()
|
||||
{
|
||||
FunCreateThreadCheckAccess();
|
||||
|
||||
TemplatesFunctions::thread_show_edit_subject_var = true; // !! tymczasowe rozwiazanie
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user