/* * 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" #include "../core/sessioncontainer.h" #include "../core/requestcontroller.h" #include "../core/misc.h" namespace TemplatesFunctions { static size_t who_reqid = 0; SessionContainer::Iterator who_iterator; size_t who_lp; bool who_init() { if( who_reqid != request.id ) { who_reqid = request.id; who_iterator = req_controller.SessionBegin(); who_lp = 1; } return who_iterator != req_controller.SessionEnd(); } void who_tab(Info & i) { who_init(); if( i.iter != 0 && who_iterator != req_controller.SessionEnd() ) { ++who_iterator; ++who_lp; } i.result = who_iterator != req_controller.SessionEnd(); } void who_tab_lp(Info & i) { if( !who_init() ) return; i.out << who_lp; } void who_tab_user(Info & i) { if( !who_init() ) return; if( who_iterator->puser ) i.out << who_iterator->puser->name; } void who_tab_time(Info & i) { if( !who_init() ) return; i.out << DateToStr( who_iterator->tm_time.tm_mon + 1, who_iterator->tm_time.tm_mday, who_iterator->tm_time.tm_hour, who_iterator->tm_time.tm_min, who_iterator->tm_time.tm_sec ); } void who_tab_last_time(Info & i) { if( !who_init() ) return; i.out << DateToStr( who_iterator->tm_last_time.tm_mon + 1, who_iterator->tm_last_time.tm_mday, who_iterator->tm_last_time.tm_hour, who_iterator->tm_last_time.tm_min, who_iterator->tm_last_time.tm_sec ); } } // namespace TemplatesFunctions