added: function: default

changes the default item in a directory


git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@473 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2008-12-31 18:28:12 +00:00
parent f6ad846927
commit 8a0ea59c77
16 changed files with 339 additions and 11 deletions

View File

@@ -96,6 +96,60 @@ void dir_tab_link(Info & i)
static Item dir_last_default_item;
static size_t dir_last_default_item_reqid = 0;
void dir_last_default_item_init()
{
if( dir_last_default_item_reqid == request.id )
return;
dir_last_default_item_reqid = request.id;
dir_last_default_item.Clear();
log << "inicjalizacja dir_last_default_item" << logend;
if( request.dir_table.empty() )
return;
long default_item = request.dir_table.back()->default_item;
if( default_item == -1 )
return;
std::vector<Item> item_table; // !! tymczasowo, nie bedzie tego po zmianie interfejsu dla Db
db.GetItem(item_table, default_item);
if( item_table.empty() )
return;
dir_last_default_item = item_table[0];
}
void dir_last_default_item_dir(Info & i)
{
dir_last_default_item_init();
std::string path;
if( dir_last_default_item.parent_id != -1 )
if( data.dirs.MakePath(dir_last_default_item.parent_id, path) )
HtmlEscape(i.out, path);
}
void dir_last_default_item_url(Info & i)
{
dir_last_default_item_init();
HtmlEscape(i.out, dir_last_default_item.url);
}
} // namespace TemplatesFunctions