/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008, Tomasz Sowa * All rights reserved. * */ #include "templates.h" namespace TemplatesFunctions { void item_is(Info & i) { i.result = request.is_item; } void item_id(Info & i) { i.out << request.item.id; } void item_subject(Info & i) { HtmlEscape(i.out, request.item.subject); } void item_subject_noescape(Info & i) { i.out << request.item.subject; } void item_content(Info & i) { HtmlEscape(i.out, request.item.content); } void item_content_noescape(Info & i) { i.out << request.item.content; } void item_privileges(Info & i) { i.out << std::setbase(8) << request.item.privileges << std::setbase(10); } void item_dir(Info & i) { dir(i); } void item_url(Info & i) { HtmlEscape(i.out, request.item.url); } void item_link(Info & i) { HtmlEscape(i.out, data.base_url); item_dir(i); item_url(i); } void item_old_id(Info & i) { i.out << request.session->item.id; } void item_old_subject(Info & i) { HtmlEscape(i.out, request.session->item.subject); } void item_old_subject_noescape(Info & i) { i.out << request.session->item.subject; } void item_old_content(Info & i) { HtmlEscape(i.out, request.session->item.content); } void item_old_content_noescape(Info & i) { i.out << request.session->item.content; } void item_old_privileges(Info & i) { i.out << std::setbase(8) << request.session->item.privileges << std::setbase(10); } void item_old_dir(Info & i) { std::string path; if( data.dirs.MakePath(request.session->item.parent_id, path) ) HtmlEscape(i.out, path); else i.out << "/the path does not exist/"; } void item_old_url(Info & i) { HtmlEscape(i.out, request.session->item.url); } void item_old_link(Info & i) { HtmlEscape(i.out, data.base_url); item_old_dir(i); item_old_url(i); } static size_t item_index; void item_tab(Info & i) { item_index = i.iter; i.result = item_index < request.item_table.size(); } void item_tab_id(Info & i) { if( item_index < request.item_table.size() ) i.out << request.item_table[item_index].id; } void item_tab_subject(Info & i) { if( item_index < request.item_table.size() ) HtmlEscape(i.out, request.item_table[item_index].subject); } void item_tab_subject_noescape(Info & i) { if( item_index < request.item_table.size() ) i.out << request.item_table[item_index].subject; } void item_tab_content(Info & i) { if( item_index < request.item_table.size() ) HtmlEscape(i.out, request.item_table[item_index].content); } void item_tab_content_noescape(Info & i) { if( item_index < request.item_table.size() ) i.out << request.item_table[item_index].content; } void item_tab_privileges(Info & i) { if( item_index < request.item_table.size() ) i.out << std::setbase(8) << request.item_table[item_index].privileges << std::setbase(10); } void item_tab_dir(Info & i) { if( item_index < request.item_table.size() ) { std::string path; if( data.dirs.MakePath(request.item_table[item_index].parent_id, path) ) HtmlEscape(i.out, path); else i.out << "/the path does not exist/"; } } void item_tab_url(Info & i) { if( item_index < request.item_table.size() ) HtmlEscape(i.out, request.item_table[item_index].url); } void item_tab_link(Info & i) { if( item_index < request.item_table.size() ) { HtmlEscape(i.out, data.base_url); item_tab_dir(i); item_tab_url(i); } } } // namespace TemplatesFunctions