/*
* This file is part of PhpCompta.
*
* PhpCompta is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* PhpCompta is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PhpCompta; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* $Revision$ */
// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr
/*! \file
**************************************************
* \brief
* Data & function about connected users
*/
/*!
* \brief
* Data & function about connected users
*/
include_once("constant.php");
class cl_user {
var $id;
var $pass;
var $db;
var $admin;
var $valid;
function cl_user ($p_cn,$p_id=-1){
// if p_id is not set then check the connected user
if ( $p_id == -1 ) {
echo_debug('class_user.php',__LINE__," g_user = ".$_SESSION['g_user']);
$this->id=$_SESSION['g_user'];
$this->pass=$_SESSION['g_pass'];
$this->valid=(isset ($_SESSION['isValid']))?1:0;
$this->db=$p_cn;
if ( isset($_SESSION['g_theme']) )
$this->theme=$_SESSION['g_theme'];
$this->admin=( isset($_SESSION['use_admin']) )?$_SESSION['use_admin']:0;
if ( isset($_SESSION['use_name']) )
$this->name=$_SESSION['use_name'];
if ( isset($_SESSION['use_first_name']) )
$this->first_name=$_SESSION['use_first_name'];
}
else // if p_id is set get data of another user
{
echo_debug('class_user',__LINE__,"Info for use_id = $p_id");
$this->id=$p_id;
$this->db=$p_cn;
$Sql="select use_first_name,
use_name,
use_login,
use_active,
use_admin
from ac_users
where use_id=$p_id";
echo_debug('class_user',__LINE__,'SQL = '.$Sql);
$cn=DbConnect();
$Res=pg_exec($cn,$Sql);
if (($Max=pg_NumRows($Res)) == 0 ) return -1;
$row=pg_fetch_array($Res,0);
$this->first_name=$row['use_first_name'];
$this->name=$row['use_name'];
$this->active=$row['use_active'];
$this->login=$row['use_login'];
$this->admin=$row['use_admin'];
}
}
/*!
* \brief Check if user is active and exists in therepository
* Automatically redirect
*
++*/
function Check()
{
$res=0;
$pass5=md5($this->pass);
if ( $this->valid == 1 ) { return; }
$cn=DbConnect();
if ( $cn != false ) {
$sql="select ac_users.use_login,ac_users.use_active, ac_users.use_pass,
use_admin,use_first_name,use_name
from ac_users
where ac_users.use_login='$this->id'
and ac_users.use_active=1
and ac_users.use_pass='$pass5'";
echo_debug('class_user.php',__LINE__,"Sql = $sql");
$ret=pg_exec($cn,$sql);
$res=pg_NumRows($ret);
echo_debug('class_user.php',__LINE__,"Number of found rows : $res");
if ( $res >0 ) {
$r=pg_fetch_array($ret,0);
$_SESSION['use_admin']=$r['use_admin'];
$_SESSION['use_name']=$r['use_name'];
$_SESSION['use_first_name']=$r['use_first_name'];
$this->admin=$_SESSION['use_admin'];
$this->name=$_SESSION['use_name'];
$this->first_name=$_SESSION['use_first_name'];
$this->GetGlobalPref();
}
}
if ( $res == 0 ) {
echo '';
echo "
";
echo "