fusionpbx/resources/classes/user.php

100 lines
2.4 KiB
PHP

<?php
/*
* user class - used to store user groups, permissions, and other values
*/
class user {
private $database;
public $domain_uuid;
public $domain_name;
private $user_uuid;
private $permissions;
private $groups;
public $username;
public $user_email;
public $contact_uuid;
public function __construct(database $database, $domain_uuid, $user_uuid) {
//set the database variable
$this->database = $database;
//set the domain_uuid
if (isset($domain_uuid) && is_uuid($domain_uuid)) {
$this->domain_uuid = $domain_uuid;
}
//set the user_uuid
if (isset($user_uuid) && is_uuid($user_uuid)) {
$this->user_uuid = $user_uuid;
}
//set the user groups, permission and details
if (isset($domain_uuid) && is_uuid($domain_uuid) && isset($user_uuid) && is_uuid($user_uuid)) {
$this->set_groups();
$this->set_permissions();
$this->set_details();
}
}
/*
* set_details method sets the user assigned details
*/
public function set_details() {
$sql = "select d.domain_name, u.username, u.user_email, u.contact_uuid ";
$sql .= "from v_users as u, v_domains as d ";
$sql .= "where u.domain_uuid = :domain_uuid ";
$sql .= "and u.user_uuid = :user_uuid ";
$sql .= "and u.domain_uuid = d.domain_uuid ";
$sql .= "and u.user_setting_enabled = 'true' ";
$parameters['domain_uuid'] = $this->domain_uuid;
$parameters['user_uuid'] = $this->user_uuid;
$row = $this->database->select($sql, $parameters, 'row');
if (is_array($row)) {
$this->domain_name = $row['domain_name'];
$this->username = $row['username'];
$this->user_email = $row['user_email'];
$this->contact_uuid = $row['contact_uuid'];
}
}
/*
* get_user_uuid method gets the user_uuid
*/
public function get_user_uuid() {
return $this->user_uuid;
}
/*
* set_permissions method sets the user assigned permissions
*/
public function set_permissions() {
$this->permissions = new permissions($this->database, $this->domain_uuid, $this->user_uuid);
}
/*
* get_permissions method gets the user assigned permissions
*/
public function get_permissions() {
return $this->permissions->get_permissions();
}
/*
* set_groups method sets the user assigned groups
*/
public function set_groups() {
$this->groups = new groups($this->database, $this->domain_uuid, $this->user_uuid);
}
/*
* get_groups method gets the user assigned groups
*/
public function get_groups() {
return $this->groups->get_groups();
}
}
?>