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:
@@ -58,6 +58,8 @@ void FunctionParser::ParseDirectories()
|
||||
|
||||
++get_index;
|
||||
}
|
||||
|
||||
request->last_item = request->dir_tab.back();
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +79,8 @@ void FunctionParser::ParseItem()
|
||||
|
||||
if( request->status == WINIX_ERR_OK )
|
||||
{
|
||||
request->last_item = &request->item;
|
||||
|
||||
if( request->role == Request::authorizer && request->item.auth == Item::auth_none )
|
||||
{
|
||||
log << log1 << "FP: item.url: " << url << " exists but has not a static content (authorizer role)" << logend;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -28,8 +28,10 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
std::string html_file;
|
||||
void EditTemplate(Item & item);
|
||||
std::string html_template;
|
||||
void CreateTemplateFileName(const std::string & index_str);
|
||||
void ChangeTemplate(Item & item);
|
||||
void PutLog(Item & item);
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user