winix/templates/doc.cpp

98 lines
1.2 KiB
C++
Executable File

/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2008-2009, Tomasz Sowa
* All rights reserved.
*
*/
#include "templates.h"
#include "../core/data.h"
#include "../core/request.h"
#include "../core/misc.h"
namespace TemplatesFunctions
{
void doc_title(Info & i)
{
size_t a;
// from 1 means skipping the root directory
for(a = 1 ; a<request.dir_table.size() ; ++a)
{
HtmlEscape(i.out, request.dir_table[a]->subject);
if( a < request.dir_table.size()-1 )
i.out << data.title_separator;
}
if( request.is_item )
{
i.out << data.title_separator;
HtmlEscape(i.out, request.item.subject);
}
}
void doc_base_url(Info & i)
{
i.out << data.base_url;
}
void doc_base_url_static(Info & i)
{
i.out << data.base_url_static;
}
void doc_base_url_static_ext(Info & i)
{
i.out << data.base_url_static_ext;
}
void doc_base_url_static_auth(Info & i)
{
i.out << data.base_url_static_auth;
}
void doc_current_url(Info & i)
{
i.out << request.env_request_uri;
}
void doc_is_error(Info & i)
{
i.result = request.status != Error::ok;
}
void doc_status(Info & i)
{
i.out << static_cast<int>( request.status );
}
} // namespace TemplatesFunctions