some improvement in templates
(now we have O(1) time for selecting the right html template) added: winix function: template for selecting a template for an item (file or dir) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@636 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
70
functions/template.cpp
Executable file
70
functions/template.cpp
Executable file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* 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
|
Reference in New Issue
Block a user