| Current Path : /home/smartconb/www/armencom33/acv2026/classes/ |
| Current File : /home/smartconb/www/armencom33/acv2026/classes/User.class.php |
<?php
/**
* User: zaven
* Date: 04.06.2018
* Time: 17:43
* Project: cnpa_mail
**/
class User
{
private $type = UserType::SiteGuest;
private $id = -1;
private $language_id = -1;
private $language_abbr = '';
private $displayName = '';
private $data = array();
/**
* User constructor.
* @param array $args
*/
function __construct(Array $args = array())
{
foreach ($args as $key => $val) {
if (property_exists($this, $key))
$this->$key = $val;
}
/*
if ($this->id > 0) {
switch ($this->type) {
case UserType::SiteSuperUser:
$this->userObject = SiteSuperUser::getById($this->id);
break;
default:
$this->userObject = SiteUser::getById($this->id);
}
$this->id = $this->userObject->getId();
$this->type = $this->userObject->getType();
$this->data = $this->userObject->getData();
}
*/
}
public static function getByUsernamePassword($username, $password)
{
$sql = "SELECT admin_id as id FROM #__admin WHERE admin_username='" . db_real_escape_string($username) . "' AND admin_passwd='" . db_real_escape_string(md5($password)) . "'";
$result = db_query($sql);
if ($result !== false && db_num_rows($result) > 0) {
$row = db_fetch_assoc($result);
$row['type'] = UserType::SiteSuperUser;
$row['displayName'] = TX_USER_ADMIN;
$row['language_id'] = getData('language', 'language_id', 'language_default', '1');
$row['language_abbr'] = getData('language', 'language_abbr', 'language_default', '1');
return new User($row);
} else {
$row = array();
$sql = "SELECT user_id AS id, user_firstname, user_lastname, language_id FROM #__user WHERE " .
"user_mail='" . db_real_escape_string($username) . "' AND user_password='" . db_real_escape_string(md5($password)) . "' ";
$result = db_query($sql);
if ($result !== false && db_num_rows($result) > 0) {
$row = db_fetch_assoc($result);
$userRow = array(
'id' => $row['id'],
'type' => UserType::SiteUser,
'language_id' => $row['language_id'],
'language_abbr' => getData('language', 'language_abbr', 'language_id', $row['language_id']),
'data' => array(),
);
$tmpName = trim($row['user_firstname'] . ' ' . $row['user_lastname']);
if ($tmpName != '') {
$userRow['displayName'] = $tmpName;
} else {
$userRow['displayName'] = $username;
}
$userRow['type'] = UserType::SiteUser;
$userRow['data'] = $row;
return new User($userRow);
} else {
return null;
}
//$row['type'] = UserType::SiteSuperUser;
//return new User($row);
}
}
/**
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return array
*/
public function getData()
{
return $this->data;
}
/**
* @return string
*/
public function getDisplayName()
{
return $this->displayName;
}
/**
* @return int
*/
public function getLanguageId()
{
return $this->language_id;
}
/**
* @return string
*/
public function getLanguageAbbr()
{
return $this->language_abbr;
}
}