added: generic html template: index_generic.html

(config option: templates_index_generic)
this is a generic template without additional site-css (only uikit),
at the moment used only in ckeditor file browser

added: to Request class: index_template (std::wstring) - a name of an index html template
This commit is contained in:
Tomasz Sowa 2021-01-27 18:31:48 +01:00
parent 7a25e333db
commit 10e291bb39
12 changed files with 59 additions and 14 deletions

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -186,6 +186,7 @@ void Config::AssignValues(bool stdout_is_closed)
templates_fun_prefix = Text(L"templates_fun_prefix", L"fun_");
templates_fun_postfix = Text(L"templates_fun_postfix", L".html");
templates_index = Text(L"templates_index", L"index.html");
templates_index_generic = Text(L"templates_index_generic", L"index_generic.html");
templates_index_raw = Text(L"templates_index_raw", L"index_raw.html");
template_only_root_use_template_fun = Bool(L"template_only_root_use_template_fun", false);

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -181,6 +181,10 @@ public:
// default: index.html
std::wstring templates_index;
// html template used to send generic content - without site-css styles and markup (only uikit)
// default: index_generic.html
std::wstring templates_index_generic;
// html template used to send raw content
// default: index_raw.html
std::wstring templates_index_raw;

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2015, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -153,6 +153,8 @@ void Request::Clear()
ip = 0;
ip_str.clear();
use_200_status_for_not_found_and_permission_denied = false;
html_template.clear();
}

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -339,6 +339,8 @@ struct Request
bool gen_use_special_chars;
// index template name
std::wstring html_template;
/*

View File

@ -51,6 +51,9 @@ Cat::Cat()
void Cat::MakeGet()
{
// IMPROVE ME this probably should be set for all winix functions
cur->request->html_template = cur->request->last_item->html_template;
if( !cur->request->is_item )
{
log << log1 << "Content: cat function requires an item" << logend;

View File

@ -56,7 +56,7 @@ void Ls::MakeGet()
// this should be moved to ckeditor function (similarly the html content from fun_ls.html)
if( cur->request->IsParam(L"ckeditor_browse") )
{
cur->request->index_template = config->templates_index_generic;
cur->request->html_template = config->templates_index_generic;
}
if( !cur->request->is_item )

View File

@ -60,6 +60,9 @@ void Run::MakePost()
void Run::MakeGet()
{
// IMPROVE ME this probably should be set for all winix functions
cur->request->html_template = cur->request->last_item->html_template;
if( !cur->request->is_item )
{
log << log1 << "Content: Run function requires an item" << logend;

View File

@ -97,12 +97,17 @@ void Template::CreateTemplateFileName(const std::wstring & index_str)
}
else
if( index == 1 )
{
html_template = config->templates_index_generic;
}
else
if( index == 2 )
{
html_template = config->templates_index_raw;
}
else
{
index -= 2;
index -= 3;
Mount::ParamRow & par = system->mounts.pmount->param[system->mounts.MountParHtmlTemplate()];
if( !par.defined || (size_t)index >= par.arg.size() )

View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
[# minimalistic template]
<html lang="{language}">
<head>
[include "index_head_functions_add.html"]
<meta charset="UTF-8">
<title>[doc_title]</title>
</head>
<body>
[include "slog.html"]
[content]
</body>
</html>

View File

@ -91,8 +91,9 @@ void template_init()
// the first item in the html template is an empty string
// added in the html template
temp_tab.clear();
temp_tab.push_back(config->templates_index); // index: 0
temp_tab.push_back(config->templates_index_raw); // index: 1
temp_tab.push_back(config->templates_index); // index: 0 (indices are used in template.cpp in functions) !! IMPROVE ME it should be done better
temp_tab.push_back(config->templates_index_generic);// index: 1
temp_tab.push_back(config->templates_index_raw); // index: 2
Mount::ParamRow & par = system->mounts.pmount->param[system->mounts.MountParHtmlTemplate()];

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -46,7 +46,8 @@ namespace TemplatesFunctions
{
size_t pat_index; // main index pattern
size_t pat_index_raw; // pattern for a raw content
size_t pat_index_generic; // generic index pattern, without any css-site styles, only main css (uikit)
size_t pat_index_raw; // pattern for a raw content (raw content without html, body markup)
size_t pat_err_404; // 404 error
size_t pat_err_per_denied; // permission denied error
@ -964,6 +965,7 @@ using namespace TemplatesFunctions;
ezc_blocks.Clear();
pat_index = patterns.Add(config->templates_index);
pat_index_generic = patterns.Add(config->templates_index_generic);
pat_index_raw = patterns.Add(config->templates_index_raw);
pat_err_404 = patterns.Add(L"err_404.html"); // !! IMPROVE ME name to the config
pat_err_per_denied = patterns.Add(L"err_per_denied.html"); // !! IMPROVE ME name to the config
@ -1031,6 +1033,11 @@ using namespace TemplatesFunctions;
index = patterns.Get(pat_index, TemplatesFunctions::locale.GetCurLang());
}
else
if( template_name == config->templates_index_generic )
{
index = patterns.Get(pat_index_generic, TemplatesFunctions::locale.GetCurLang());
}
else
if( template_name == config->templates_index_raw )
{
index = patterns.Get(pat_index_raw, TemplatesFunctions::locale.GetCurLang());
@ -1058,9 +1065,9 @@ using namespace TemplatesFunctions;
Ezc::Pattern * index = 0;
if( (cur->request->function == &functions->fun_cat || cur->request->function == &functions->fun_run) && !cur->request->last_item->html_template.empty() )
if( !cur->request->html_template.empty() )
{
index = SelectIndexPattern(cur->request->last_item->html_template);
index = SelectIndexPattern(cur->request->html_template);
}
else
{

View File

@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -67,7 +67,8 @@ class Functions;
namespace TemplatesFunctions
{
extern size_t pat_index;
extern size_t pat_index_fullscreen;
extern size_t pat_index_generic;
extern size_t pat_index_raw;
extern size_t pat_err_404;
extern size_t pat_err_per_denied;