71 lines
1.0 KiB
C++
71 lines
1.0 KiB
C++
|
/*
|
||
|
* 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
|