some ezc functions from templates/item.cpp moved to Item and ItemContent

methods HasAccess() HasReadAccess() and similar moved from System to Item and ItemContent
This commit is contained in:
2021-06-18 19:18:13 +02:00
parent ebd791a256
commit ec94dff7d7
32 changed files with 1255 additions and 544 deletions

View File

@@ -53,151 +53,152 @@ static EzcGen ezc_generator;
void item_is(Info & i)
{
i.res = cur->request->is_item;
}
//void item_is(Info & i)
//{
// i.res = cur->request->is_item;
//}
void item_no_is(Info & i)
{
i.res = !cur->request->is_item;
}
//void item_no_is(Info & i)
//{
// i.res = !cur->request->is_item;
//}
void item_id(Info & i)
{
i.out << cur->request->last_item->id;
}
//void item_id(Info & i)
//{
// i.out << cur->request->last_item->id;
//}
void item_subject(Info & i)
{
i.out << cur->request->last_item->subject;
}
//void item_subject(Info & i)
//{
// i.out << cur->request->last_item->subject;
//}
void item_subject_noescape(Info & i)
{
i.out << R(cur->request->last_item->subject);
}
//void item_subject_noescape(Info & i)
//{
// i.out << R(cur->request->last_item->subject);
//}
void item_content(Info & i)
{
i.out << cur->request->last_item->item_content.content_raw;
}
//void item_content(Info & i)
//{
// i.out << cur->request->last_item->item_content.content_raw;
//}
void item_content_noescape(Info & i)
{
i.out << R(cur->request->last_item->item_content.content_raw);
}
//void item_content_noescape(Info & i)
//{
// i.out << R(cur->request->last_item->item_content.content_raw);
//}
void item_content_type_is(Item & item, Info & i)
{
i.res = false;
if( item.item_content.content_raw_type == ItemContent::ct_text && i.par == L"text" )
i.res = true;
else
if( item.item_content.content_raw_type == ItemContent::ct_formatted_text && i.par == L"formatted text" )
i.res = true;
else
if( item.item_content.content_raw_type == ItemContent::ct_html && i.par == L"html" )
i.res = true;
else
if( item.item_content.content_raw_type == ItemContent::ct_bbcode && i.par == L"bbcode" )
i.res = true;
else
if( item.item_content.content_raw_type == ItemContent::ct_other && i.par == L"other" )
i.res = true;
}
//void item_content_type_is(Item & item, Info & i)
//{
// i.res = false;
//
// if( item.item_content.content_raw_type == ItemContent::ct_text && i.par == L"text" )
// i.res = true;
// else
// if( item.item_content.content_raw_type == ItemContent::ct_formatted_text && i.par == L"formatted text" )
// i.res = true;
// else
// if( item.item_content.content_raw_type == ItemContent::ct_html && i.par == L"html" )
// i.res = true;
// else
// if( item.item_content.content_raw_type == ItemContent::ct_bbcode && i.par == L"bbcode" )
// i.res = true;
// else
// if( item.item_content.content_raw_type == ItemContent::ct_other && i.par == L"other" )
// i.res = true;
//}
//
//
//void item_content_type_is(Info & i)
//{
// item_content_type_is(*cur->request->last_item, i);
//}
void item_content_type_is(Info & i)
{
item_content_type_is(*cur->request->last_item, i);
}
//void item_content_is_empty(Info & i)
//{
// i.res = cur->request->last_item->item_content.content_raw.empty();
//}
void item_content_is_empty(Info & i)
{
i.res = cur->request->last_item->item_content.content_raw.empty();
}
//void item_privileges(Info & i)
//{
// i.out << Toa(cur->request->last_item->item_content.privileges, 8);
//}
void item_privileges(Info & i)
{
i.out << Toa(cur->request->last_item->item_content.privileges, 8);
}
// RENAMED TO item.dir_link
//void item_dir(Info & i)
//{
// dir(i);
//}
void item_dir(Info & i)
{
dir(i);
}
//void item_url(Info & i)
//{
// i.out << cur->request->last_item->url;
//}
void item_url(Info & i)
{
i.out << cur->request->last_item->url;
}
//void item_url_is(Info & i)
//{
// i.res = (cur->request->last_item->url == i.par);
//}
void item_url_is(Info & i)
{
i.res = (cur->request->last_item->url == i.par);
}
//void item_url_is_no(Info & i)
//{
// i.res = (cur->request->last_item->url != i.par);
//}
void item_url_is_no(Info & i)
{
i.res = (cur->request->last_item->url != i.par);
}
void item_link(Info & i)
{
doc_proto(i);
if( !cur->request->subdomain.empty() )
i.out << cur->request->subdomain << '.';
i.out << config->base_url;
item_dir(i);
item_url(i);
}
//void item_link(Info & i)
//{
// doc_proto(i);
//
// if( !cur->request->subdomain.empty() )
// i.out << cur->request->subdomain << '.';
//
// i.out << config->base_url;
// item_dir(i);
// item_url(i);
//}
void item_filetype_is_none(Info & i)
{
i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_NONE;
}
//void item_filetype_is_none(Info & i)
//{
// i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_NONE;
//}
//
//
//void item_filetype_is_image(Info & i)
//{
// i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_IMAGE;
//}
void item_filetype_is_image(Info & i)
{
i.res = cur->request->last_item->item_content.file_type == WINIX_ITEM_FILETYPE_IMAGE;
}
//void item_has_static_file(Info & i)
//{
// i.res = cur->request->last_item->item_content.file_type != WINIX_ITEM_FILETYPE_NONE && !cur->request->last_item->item_content.file_path.empty();
//}
void item_has_static_file(Info & i)
{
i.res = cur->request->last_item->item_content.file_type != WINIX_ITEM_FILETYPE_NONE && !cur->request->last_item->item_content.file_path.empty();
}
void item_has_thumb(Info & i)
{
i.res = cur->request->last_item->item_content.file_has_thumb;
}
//void item_has_thumb(Info & i)
//{
// i.res = cur->request->last_item->item_content.file_has_thumb;
//}
void item_can_read(Info & i)
@@ -220,11 +221,11 @@ void item_can_remove(Info & i)
}
void item_user(Info & i)
{
User * puser = system->users.GetUser(cur->request->last_item->item_content.user_id);
print_user_name(i, puser, cur->request->last_item->item_content.guest_name);
}
//void item_user(Info & i)
//{
// User * puser = system->users.GetUser(cur->request->last_item->item_content.user_id);
// print_user_name(i, puser, cur->request->last_item->item_content.guest_name);
//}
@@ -325,22 +326,22 @@ void item_has_html_template(Info & i)
}
void item_type_is_dir(Info & i)
{
i.res = cur->request->last_item->type == Item::dir;
}
void item_type_is_file(Info & i)
{
i.res = cur->request->last_item->type == Item::file;
}
void item_type_is_symlink(Info & i)
{
i.res = cur->request->last_item->type == Item::symlink;
}
//void item_type_is_dir(Info & i)
//{
// i.res = cur->request->last_item->type == Item::dir;
//}
//
//
//void item_type_is_file(Info & i)
//{
// i.res = cur->request->last_item->type == Item::file;
//}
//
//
//void item_type_is_symlink(Info & i)
//{
// i.res = cur->request->last_item->type == Item::symlink;
//}
void item_is_link_to(Info & i)

View File

@@ -155,6 +155,7 @@ void print_user_name(Info & i, User & user)
}
// IMPROVEME move me to User class
void print_user_name(Info & i, User * puser, const std::wstring & guest_name)
{
if( puser )

View File

@@ -47,6 +47,9 @@ namespace Winix
class User;
// Ezc::FunInfo<> will be renamed to Ezc::Env<> in the future
typedef Ezc::FunInfo<HtmlTextStream> EzcEnv;
namespace TemplatesFunctions
{
@@ -54,7 +57,7 @@ namespace TemplatesFunctions
typedef Ezc::Functions<HtmlTextStream> EzcFun;
typedef Ezc::Generator<HtmlTextStream> EzcGen;
typedef Ezc::FunInfo<HtmlTextStream> Info;
typedef Ezc::FunInfo<HtmlTextStream> Info; // deprecated
template<class RawType>
HtmlTextStream::RawText<RawType> R(const RawType & par)

View File

@@ -432,30 +432,30 @@ void Templates::CreateFunctions()
/*
item
*/
ezc_functions.Insert("item_is", item_is);
ezc_functions.Insert("item_no_is", item_no_is);
ezc_functions.Insert("item_id", item_id);
ezc_functions.Insert("item_subject", item_subject);
ezc_functions.Insert("item_subject_noescape", item_subject_noescape);
ezc_functions.Insert("item_content_is_empty", item_content_is_empty);
ezc_functions.Insert("item_content", item_content);
ezc_functions.Insert("item_content_noescape", item_content_noescape);
ezc_functions.Insert("item_content_type_is", item_content_type_is);
ezc_functions.Insert("item_privileges", item_privileges);
ezc_functions.Insert("item_dir", item_dir);
ezc_functions.Insert("item_url", item_url);
ezc_functions.Insert("item_url_is", item_url_is);
ezc_functions.Insert("item_url_is_no", item_url_is_no);
ezc_functions.Insert("item_link", item_link);
ezc_functions.Insert("item_filetype_is_none", item_filetype_is_none);
ezc_functions.Insert("item_filetype_is_image", item_filetype_is_image);
ezc_functions.Insert("item_has_static_file", item_has_static_file);
ezc_functions.Insert("item_has_thumb", item_has_thumb);
//ezc_functions.Insert("item_is", item_is);
//ezc_functions.Insert("item_no_is", item_no_is);
// ezc_functions.Insert("item_id", item_id);
// ezc_functions.Insert("item_subject", item_subject);
// ezc_functions.Insert("item_subject_noescape", item_subject_noescape);
// ezc_functions.Insert("item_content_is_empty", item_content_is_empty);
// ezc_functions.Insert("item_content", item_content);
// ezc_functions.Insert("item_content_noescape", item_content_noescape);
// ezc_functions.Insert("item_content_type_is", item_content_type_is);
//ezc_functions.Insert("item_privileges", item_privileges);
// ezc_functions.Insert("item_dir", item_dir);
// ezc_functions.Insert("item_url", item_url);
// ezc_functions.Insert("item_url_is", item_url_is);
// ezc_functions.Insert("item_url_is_no", item_url_is_no);
// ezc_functions.Insert("item_link", item_link);
// ezc_functions.Insert("item_filetype_is_none", item_filetype_is_none);
// ezc_functions.Insert("item_filetype_is_image", item_filetype_is_image);
//ezc_functions.Insert("item_has_static_file", item_has_static_file);
// ezc_functions.Insert("item_has_thumb", item_has_thumb);
ezc_functions.Insert("item_can_read", item_can_read);
ezc_functions.Insert("item_can_write", item_can_write);
ezc_functions.Insert("item_can_remove", item_can_remove);
ezc_functions.Insert("item_user", item_user);
//ezc_functions.Insert("item_user", item_user);
ezc_functions.Insert("item_modification_user", item_modification_user);
ezc_functions.Insert("item_users_different", item_users_different);
ezc_functions.Insert("item_date_creation", item_date_creation);
@@ -467,9 +467,9 @@ void Templates::CreateFunctions()
ezc_functions.Insert("item_guest_name", item_guest_name);
ezc_functions.Insert("item_html_template", item_html_template);
ezc_functions.Insert("item_has_html_template", item_has_html_template);
ezc_functions.Insert("item_type_is_dir", item_type_is_dir);
ezc_functions.Insert("item_type_is_file", item_type_is_file);
ezc_functions.Insert("item_type_is_symlink", item_type_is_symlink);
// ezc_functions.Insert("item_type_is_dir", item_type_is_dir);
// ezc_functions.Insert("item_type_is_file", item_type_is_file);
// ezc_functions.Insert("item_type_is_symlink", item_type_is_symlink);
ezc_functions.Insert("item_is_link_to", item_is_link_to);
ezc_functions.Insert("item_link_to", item_link_to);
ezc_functions.Insert("item_is_link_redirect", item_is_link_redirect);

View File

@@ -322,30 +322,30 @@ namespace TemplatesFunctions
/*
item
*/
void item_is(Info & i);
void item_no_is(Info & i);
void item_id(Info & i);
void item_subject(Info & i);
void item_subject_noescape(Info & i);
void item_content(Info & i);
void item_content_noescape(Info & i);
void item_content_type_is(Item & item, Info & i);
void item_content_type_is(Info & i);
void item_content_is_empty(Info & i);
void item_privileges(Info & i);
void item_dir(Info & i);
void item_url(Info & i);
void item_url_is(Info & i);
void item_url_is_no(Info & i);
void item_link(Info & i);
void item_filetype_is_none(Info & i);
void item_filetype_is_image(Info & i);
void item_has_static_file(Info & i);
void item_has_thumb(Info & i);
//void item_is(Info & i);
//void item_no_is(Info & i);
//void item_id(Info & i);
//void item_subject(Info & i);
//void item_subject_noescape(Info & i);
//void item_content(Info & i);
//void item_content_noescape(Info & i);
//void item_content_type_is(Item & item, Info & i);
//void item_content_type_is(Info & i);
//void item_content_is_empty(Info & i);
//void item_privileges(Info & i);
//void item_dir(Info & i); // RENAMED TO item.dir_link
//void item_url(Info & i);
//void item_url_is(Info & i);
//void item_url_is_no(Info & i);
//void item_link(Info & i);
//void item_filetype_is_none(Info & i);
//void item_filetype_is_image(Info & i);
//void item_has_static_file(Info & i);
//void item_has_thumb(Info & i);
void item_can_read(Info & i);
void item_can_write(Info & i);
void item_can_remove(Info & i);
void item_user(Info & i);
//void item_user(Info & i);
void item_modification_user(Info & i);
void item_users_different(Info & i);
void item_date_creation(Info & i);
@@ -357,9 +357,9 @@ namespace TemplatesFunctions
void item_guest_name(Info & i);
void item_html_template(Info & i);
void item_has_html_template(Info & i);
void item_type_is_dir(Info & i);
void item_type_is_file(Info & i);
void item_type_is_symlink(Info & i);
//void item_type_is_dir(Info & i);
//void item_type_is_file(Info & i);
//void item_type_is_symlink(Info & i);
void item_is_link_to(Info & i);
void item_link_to(Info & i);
void item_is_link_redirect(Info & i);