/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008-2009, Tomasz Sowa * All rights reserved. * */ #include "content.h" #include "../core/request.h" #include "../core/error.h" #include "../core/db.h" #include "../core/data.h" #include "../core/notify.h" void Content::PostFunMkdir(bool add_to_dir_table, int mask) { if( !request.CanUseMkdir(*request.dir_table.back()) ) { request.status = Error::permision_denied; return; } Item item; request.session->done = Done::added_dir; // try // { item.type = Item::dir; request.PostVar("subject", item.subject); request.PostVar("url", item.url); item.parent_id = request.dir_table.back()->id; SetUser(item); item.group_id = -1; item.privileges = mask; item.default_item = -1; // dates (creation and modification) is set by the Item() constructor PrepareUrl(item); request.session->done_status = db.AddItem(item); /* } catch(const Error & e) { request.session->done_status = e; } */ if( request.session->done_status == Error::ok ) { Item * pdir = data.dirs.AddDir(item); if( add_to_dir_table ) request.dir_table.push_back(pdir); request.session->item = item; request.session->done_timer = 2; request.notify_code |= CMSLU_NOTIFY_DIR_ADD; RedirectTo(item); } else { log << log1 << "Content: PostFunMkdir: Error: " << request.session->done_status << logend; } } void Content::FunMkdir() { if( !request.CanUseMkdir(*request.dir_table.back()) ) { request.status = Error::permision_denied; return; } }