/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2009, Tomasz Sowa * All rights reserved. * */ #include #include "content.h" #include "../core/request.h" #include "../core/error.h" #include "../core/db.h" #include "../core/data.h" void Content::LoginUser(long user_id, bool remember_me) { request.session->puser = data.users.GetUser(user_id); request.session->spam_score = 0; if( !request.session->puser ) { log << log1 << "Content: user id: " << user_id << " is not in data.users" << logend; return; } request.session->remember_me = remember_me; data.last.UserLogin(user_id, request.session->puser->name, inet_addr(request.env_remote_addr), request.session->id); data.how_many_logged += 1; log << log2 << "User " << request.session->puser->name << " (id: " << user_id << ") logged" << logend; } void Content::PostFunLogin() { try { std::string * login = request.PostVar("login"); std::string * pass = request.PostVar("password"); std::string * remem = request.PostVar("rememberme"); long user_id; if( login && pass && db.CheckUser(*login, *pass, user_id) ) LoginUser(user_id, remem != 0); // !! moze zglosic komunikat o nie poprawnym logowaniu } catch(const Error &) { } if( request.is_item ) RedirectTo(request.item); else RedirectTo(*request.dir_table.back()); } void Content::FunLogin() { }