small changes in template winix function

git-svn-id: svn://ttmath.org/publicrep/winix/trunk@637 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-08-14 14:45:25 +00:00
parent f3cd3b88b9
commit 1e7d297c0e
14 changed files with 138 additions and 90 deletions

View File

@@ -40,27 +40,64 @@ bool Template::HasAccess()
}
void Template::EditTemplate(Item & item)
void Template::PutLog(Item & item)
{
html_file = request->PostVar("template");
TrimWhite(html_file);
request->status = db->EditTemplateItemById(item.id, html_file);
log << log3 << "Template: changed template for item.id: " << item.id << ", new template: ";
if( request->status == WINIX_ERR_OK )
item.html_template = html_file;
if( item.html_template.empty() )
log << "(taking from mount point)";
else
log << item.html_template;
log << logend;
}
void Template::CreateTemplateFileName(const std::string & index_str)
{
int index = atoi(index_str.c_str());
if( index < 0 )
{
html_template.clear();
}
else
if( index == 0 )
{
html_template = config->templates_index;
}
else
{
index -= 1;
Mount::ParamRow & par = system->mounts.pmount->param[Mount::par_html_template];
if( !par.defined || (size_t)index >= par.arg.size() )
html_template.clear();
else
html_template = par.arg[index];
}
}
void Template::ChangeTemplate(Item & item)
{
if( html_template != item.html_template )
{
request->status = db->EditTemplateItemById(item.id, html_template);
if( request->status == WINIX_ERR_OK )
{
item.html_template = html_template;
PutLog(item);
}
}
}
void Template::MakePost()
{
if( request->is_item )
{
EditTemplate(request->item);
}
else
{
EditTemplate(*request->dir_tab.back());
}
CreateTemplateFileName(request->PostVar("template"));
ChangeTemplate(*request->last_item);
system->RedirectToLastItem();
}