70 lines
1.2 KiB
C++
Executable File
70 lines
1.2 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 <arpa/inet.h>
|
|
|
|
#include "content.h"
|
|
#include "../core/request.h"
|
|
#include "../core/error.h"
|
|
#include "../core/db.h"
|
|
#include "../core/data.h"
|
|
|
|
|
|
|
|
/*
|
|
void Content::PostFunLoginAddLast()
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
*/
|
|
|
|
|
|
void Content::PostFunLogin()
|
|
{
|
|
try
|
|
{
|
|
std::string & login = request.PostVar("login");
|
|
std::string & pass = request.PostVar("password");
|
|
long user_id;
|
|
|
|
if( db.CheckUser(login, pass, user_id) )
|
|
{
|
|
request.session->puser = data.users.GetUser(user_id);
|
|
|
|
if( !request.session->puser )
|
|
{
|
|
log << log1 << "Content: user: " << login << " is in the database but is not in data.users" << logend;
|
|
return;
|
|
}
|
|
|
|
data.last.UserLogin(user_id, login, inet_addr(request.env_remote_addr), request.session->id);
|
|
|
|
log << log2 << "User " << login << " (id: " << user_id << ") logged" << logend;
|
|
}
|
|
|
|
// !! zglosic komunikat o nie poprawnym logowaniu
|
|
}
|
|
catch(const Error &)
|
|
{
|
|
}
|
|
|
|
|
|
if( request.is_item )
|
|
RedirectTo(request.item);
|
|
else
|
|
RedirectTo(*request.dir_table.back());
|
|
}
|
|
|
|
|
|
|