winix/functions/template.cpp

71 lines
1.0 KiB
C++
Raw Normal View History

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "template.h"
#include "core/misc.h"
namespace Fun
{
Template::Template()
{
fun.url = "template";
}
bool Template::HasAccess()
{
if( config->template_only_root_use_template_fun )
{
// only root is allowed to change the template
return (request->session->puser && request->session->puser->super_user);
}
if( request->is_item )
return system->HasWriteAccess(request->item);
else
return system->HasWriteAccess(*request->dir_tab.back());
}
void Template::EditTemplate(Item & item)
{
html_file = request->PostVar("template");
TrimWhite(html_file);
request->status = db->EditTemplateItemById(item.id, html_file);
if( request->status == WINIX_ERR_OK )
item.html_template = html_file;
}
void Template::MakePost()
{
if( request->is_item )
{
EditTemplate(request->item);
}
else
{
EditTemplate(*request->dir_tab.back());
}
system->RedirectToLastItem();
}
} // namespace