winix/templates/sys.cpp

101 lines
1.5 KiB
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2011, Tomasz Sowa
* All rights reserved.
*
*/
#include "templates.h"
#include "core/request.h"
#include "core/version.h"
#include "core/plugin.h"
namespace TemplatesFunctions
{
void sys_ver_major(Info & i)
{
i.out << WINIX_VER_MAJOR;
}
void sys_ver_minor(Info & i)
{
i.out << WINIX_VER_MINOR;
}
void sys_ver_revision(Info & i)
{
i.out << WINIX_VER_REVISION;
}
static size_t sys_plugin_index = 0;
void sys_plugin_tab(Info & i)
{
sys_plugin_index = i.iter;
i.res = sys_plugin_index < plugin.GetPlugins()->size();
}
void sys_plugin_tab_has_name(Info & i)
{
if( sys_plugin_index < plugin.GetPlugins()->size() )
i.res = (*plugin.GetPlugins())[sys_plugin_index].plugin_name != 0;
}
void sys_plugin_tab_name(Info & i)
{
if( sys_plugin_index < plugin.GetPlugins()->size() )
{
const wchar_t * name = (*plugin.GetPlugins())[sys_plugin_index].plugin_name;
if( name )
i.out << name;
}
}
static size_t sys_user_index = 0;
void sys_user_tab(Info & i)
{
sys_user_index = i.iter;
i.res = sys_user_index < system->users.Size();
}
void sys_user_tab_is_current(Info & i)
{
if( !cur->session->puser )
return;
if( sys_user_index < system->users.Size() )
i.res = (cur->session->puser->id == system->users[sys_user_index].id);
}
void sys_user_tab_name(Info & i)
{
if( sys_user_index < system->users.Size() )
i.out << system->users[sys_user_index].name;
}
} // namespace TemplatesFunctions