winix/templates/doc.cpp

90 lines
1.1 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_language(Info & i)
{
// at the moment only Polish language
i.out << "pl";
}
void doc_title(Info & i)
{
size_t a = 0;
// from 1 means skipping the root directory
for(a = 1 ; a<request.dir_table.size() ; ++a)
{
i.out << " / ";
HtmlEscape(i.out, request.dir_table[a]->subject);
}
if( request.is_item )
{
i.out << " / ";
HtmlEscape(i.out, request.item.subject);
}
}
void doc_charset(Info & i)
{
i.out << "iso-8859-2";
}
void doc_base_url(Info & i)
{
i.out << data.base_url;
}
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