added: ezc functions:

void dir_is_no(Info & i)
       void dir_level_is(Info & i)
       void dir_last_url_is_no(Info & i)
       void item_no_is(Info & i)
       void item_url_is_no(Info & i)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@878 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2012-08-26 22:30:25 +00:00
parent 260c12894d
commit 8f8e44fee5
4 changed files with 53 additions and 4 deletions

View File

@ -122,7 +122,8 @@ void dir_can_use_mkdir(Info & i)
static std::wstring dir_parents_str;
void dir_is(Info & i)
bool dir_is(const std::wstring & par)
{
dir_parents_str.clear();
@ -132,11 +133,23 @@ void dir_is(Info & i)
dir_parents_str += '/';
}
if( !i.par.empty() && i.par[i.par.size()-1] != '/' )
if( !par.empty() && par[par.size()-1] != '/' )
if( !dir_parents_str.empty() )
dir_parents_str.erase(dir_parents_str.size()-1);
i.res = (i.par == dir_parents_str);
return par == dir_parents_str;
}
void dir_is(Info & i)
{
i.res = dir_is(i.par);
}
void dir_is_no(Info & i)
{
i.res = !dir_is(i.par);
}
@ -154,6 +167,13 @@ void dir_has_parents(Info & i)
}
void dir_level_is(Info & i)
{
i.res = (cur->request->dir_tab.size() == size_t(Toi(i.par)));
}
static std::vector<Item*> dir_childs_table;
@ -337,6 +357,11 @@ void dir_last_url_is(Info & i)
i.res = cur->request->dir_tab.back()->url == i.par;
}
void dir_last_url_is_no(Info & i)
{
i.res = cur->request->dir_tab.back()->url != i.par;
}
void dir_last_date_creation(Info & i)
{

View File

@ -33,6 +33,11 @@ void item_is(Info & i)
}
void item_no_is(Info & i)
{
i.res = !cur->request->is_item;
}
void item_id(Info & i)
{
@ -162,6 +167,15 @@ void item_url_is(Info & i)
}
void item_url_is_no(Info & i)
{
if( !cur->request->is_item )
i.res = true;
else
i.res = (cur->request->item.url != i.par);
}
void item_link(Info & i)
{
doc_proto(i);

View File

@ -191,7 +191,9 @@ void Templates::CreateFunctions()
ezc_functions.Insert("dir_can_use_emacs", dir_can_use_emacs);
ezc_functions.Insert("dir_can_use_mkdir", dir_can_use_mkdir);
ezc_functions.Insert("dir_is", dir_is);
ezc_functions.Insert("dir_is_no", dir_is_no);
ezc_functions.Insert("dir_has_parents", dir_has_parents);
ezc_functions.Insert("dir_level_is", dir_level_is);
ezc_functions.Insert("dir_childs_tab", dir_childs_tab);
ezc_functions.Insert("dir_childs_is_parent", dir_childs_is_parent);
@ -210,6 +212,7 @@ void Templates::CreateFunctions()
ezc_functions.Insert("dir_last_user", dir_last_user);
ezc_functions.Insert("dir_last_url", dir_last_url);
ezc_functions.Insert("dir_last_url_is", dir_last_url_is);
ezc_functions.Insert("dir_last_url_is_no", dir_last_url_is_no);
ezc_functions.Insert("dir_last_date_creation", dir_last_date_creation);
ezc_functions.Insert("dir_last_date_modification", dir_last_date_modification);
ezc_functions.Insert("dir_last_date_creation_nice", dir_last_date_creation_nice);
@ -276,6 +279,7 @@ 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);
@ -288,6 +292,7 @@ void Templates::CreateFunctions()
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);

View File

@ -101,7 +101,9 @@ namespace TemplatesFunctions
void dir_can_use_emacs(Info & i);
void dir_can_use_mkdir(Info & i);
void dir_is(Info & i);
void dir_is_no(Info & i);
void dir_has_parents(Info & i);
void dir_level_is(Info & i);
void dir_childs_tab(Info & i);
void dir_childs_is_parent(Info & i);
@ -120,6 +122,7 @@ namespace TemplatesFunctions
void dir_last_user(Info & i);
void dir_last_url(Info & i);
void dir_last_url_is(Info & i);
void dir_last_url_is_no(Info & i);
void dir_last_date_creation(Info & i);
void dir_last_date_modification(Info & i);
void dir_last_date_creation_nice(Info & i);
@ -186,7 +189,8 @@ namespace TemplatesFunctions
/*
item
*/
void item_is(Info & i); // !! change to is_item lub na item_defined
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);
@ -201,6 +205,7 @@ namespace TemplatesFunctions
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);