/* * 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::PostFunDefault() { Item * pdir; long fileid = -1; request.session->done = Done::defaulted_dir; if( !request.HasWriteAccess(*request.dir_table.back()) ) { request.status = Error::permision_denied; return; } try { std::string & path = request.PostVar("defaultitem"); if( !path.empty() ) { std::string dir, file; Dirs::SplitPath(path, dir, file); pdir = data.dirs.GetDir(dir); if( !pdir ) throw Error(Error::incorrect_dir); fileid = db.GetFileId(pdir->id, file); if( fileid == -1 ) throw Error(Error::db_no_item); } request.session->done_status = db.EditDefaultItem(request.dir_table.back()->id, fileid); if( request.session->done_status == Error::ok ) request.dir_table.back()->default_item = fileid; } catch(const Error & e) { request.session->done_status = e; } if( request.session->done_status == Error::ok ) RedirectTo(*request.dir_table.back()); else log << log1 << "Content: PostFunDefaultItem: Error: " << request.session->done_status << logend; } void Content::FunDefault() { if( !request.HasWriteAccess(*request.dir_table.back()) ) { request.status = Error::permision_denied; return; } }