winix/content/rm.cpp

70 lines
1.3 KiB
C++
Executable File

/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2008, Tomasz Sowa
* All rights reserved.
*
*/
#include "content.h"
void Content::FunRm()
{
// !! narazie usuwanie tylko dla plikow
if( !request.is_item )
{
request.status = Error::permision_denied;
return;
}
if( !request.HasWriteAccess(*request.dir_table.back()) || !request.HasWriteAccess(request.item) )
{
request.status = Error::permision_denied;
return;
}
if( request.param_table.empty() )
{
// we'll put some information about the deleted item (on the next page)
request.session->item = request.item;
// !! zmienic interfejs dla db.DelItem
if( db.DelItem( request.item ) )
{
request.session->done_status = Error::ok;
log << log2 << "Content: deleted item: subject: " << request.item.subject << ", id: " << request.item.id << logend;
}
else
{
request.session->done_status = Error::db_no_item;
}
request.session->done = Done::deleted_item;
request.result = Request::redirect;
RedirectTo(*request.dir_table.back());
request.session->done_timer = 2;
}
else
{
if( request.IsParam("potwierdz") )
{
//request.result = Request::del_item_confirm;
}
else
request.result = Request::err404;
}
}