/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2012, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_core_session #define headerfile_winix_core_session #include #include #include #include "item.h" #include "error.h" #include "user.h" #include "plugindata.h" #include "rebus.h" #include "textstream.h" #include "date/date.h" struct Session { Session(); Session(const Session & ses); Session & operator=(const Session & ses); void SetTimesTo(time_t time); void Clear(bool clear_plugin_data = true); // 0 - means that there is a temporary session long id; // true if the session was created now bool new_session; // when this session was created // (the same values) time_t start_time; PT::Date start_date; // when this session was last used // (the same values) time_t last_time; PT::Date last_date; // when there was a last get request // (used to calculate spam) time_t last_time_get; // how many seconds should be added/substructed from the universal time // to create the local time for this session/user // it has combined time zone offset and daylight saving time // so when reading a value from a user (e.g. in html form) you should // substract tz_add and when printing you should add it time_t tz_add; // 0 - means that nobody is logged User * puser; // if false the session will end when the user browser is shutdown bool remember_me; // rebus - set by rebus_question(Info & i) from templates Rebus::Item * rebus_item; bool rebus_checked; int spam_score; // if true then this session will be removed by SessionManager // without checking the time expiration bool remove_me; PluginData plugin_data; // buffer for the session log TextStream log_buffer; // table with css files // used by some javascript wysiwyg editors (ckeditor, tinymce) std::vector last_css; }; #endif