52 lines
895 B
C++
52 lines
895 B
C++
|
/*
|
||
|
* 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 "content.h"
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
log << log2 << "User " << login << " (id: " << user_id << ") logged" << logend;
|
||
|
|
||
|
if( request.is_item )
|
||
|
{
|
||
|
RedirectTo(request.item);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
RedirectTo(*request.dir_table.back());
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
catch(const Error &)
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|