99 lines
3.1 KiB
PHP
99 lines
3.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
/*
|
||
|
|
* To change this license header, choose License Headers in Project Properties.
|
||
|
|
* To change this template file, choose Tools | Templates
|
||
|
|
* and open the template in the editor.
|
||
|
|
*/
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Description of Department
|
||
|
|
*
|
||
|
|
* @author Ira
|
||
|
|
*/
|
||
|
|
class Department {
|
||
|
|
private $id;
|
||
|
|
private $agencyId;
|
||
|
|
|
||
|
|
public function __construct(){
|
||
|
|
//$this->db = $db;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public function getRole($role_id){
|
||
|
|
$roles = array();
|
||
|
|
$sql = "SELECT * FROM roles WHERE id = $role_id";
|
||
|
|
|
||
|
|
$q = mysql_query($sql);
|
||
|
|
|
||
|
|
if(mysql_num_rows($q) > 0){
|
||
|
|
$roles = mysql_fetch_assoc($q);;
|
||
|
|
}
|
||
|
|
return $roles;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function getDepartment($user_id){
|
||
|
|
|
||
|
|
$department = array();
|
||
|
|
$department['role'] = '';
|
||
|
|
$department['admin'] = 0;
|
||
|
|
|
||
|
|
$sql = "SELECT role_id, department_id FROM users WHERE id = $user_id";
|
||
|
|
|
||
|
|
$q = mysql_query($sql);
|
||
|
|
$r = mysql_fetch_assoc($q);
|
||
|
|
$role = $this->getRole($r['role_id']);
|
||
|
|
if(!empty($role)){
|
||
|
|
$department['role'] = $role['role'];
|
||
|
|
if($role['role'] == 'admin_department'){
|
||
|
|
$department['admin'] = $user_id;
|
||
|
|
} else {
|
||
|
|
if((int)$r['role_id'] > 0 && $r['department_id'] > 0){
|
||
|
|
$sql_d = "SELECT id FROM roles WHERE department_id = $r[department_id] AND role = 'admin_department'";
|
||
|
|
$q_d = mysql_query($sql_d);
|
||
|
|
if(mysql_num_rows($q_d) > 0){
|
||
|
|
$role_admin = (int) mysql_fetch_assoc($q_d)['id'];
|
||
|
|
$sql_u = "SELECT id FROM users WHERE role_id = $role_admin";
|
||
|
|
$q_u = mysql_query($sql_u);
|
||
|
|
if(mysql_num_rows($q_u) > 0){
|
||
|
|
$department['admin'] = (int)mysql_fetch_assoc($q_u)['id'];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if($department['admin'] == 0){
|
||
|
|
$sql_u = "SELECT id, id_manager FROM users WHERE id = $user_id";
|
||
|
|
$q_u = mysql_query($sql_u);
|
||
|
|
$r_u = mysql_fetch_assoc($q_u);
|
||
|
|
if(mysql_num_rows($q_u) > 0 && $r_u['id_manager'] > 0){
|
||
|
|
$department['admin'] = $r_u['id_manager'];
|
||
|
|
} else {
|
||
|
|
$department['admin'] = $user_id;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return $department;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public function getDepartments($user_id = null, $department_id = 0) {
|
||
|
|
$user = new User;
|
||
|
|
|
||
|
|
if (is_null($user_id))
|
||
|
|
$user_id = $_SESSION['id'];
|
||
|
|
|
||
|
|
$user->get($user_id);
|
||
|
|
$sql_d = "SELECT d.name as dep_name, r.name as role_name, r.role, r.department_id, r.id FROM departments as d left join roles as r on d.id = r.department_id WHERE d.agency_id = ".$user->agencyId;
|
||
|
|
if($department_id > 0) {
|
||
|
|
$sql_d .= " AND d.id = $department_id";
|
||
|
|
}
|
||
|
|
$q_d = mysql_query($sql_d);
|
||
|
|
$departments = array();
|
||
|
|
$dep_arr = array();
|
||
|
|
while($r_d = mysql_fetch_assoc($q_d)){
|
||
|
|
$departments[$r_d['id']] = $r_d;
|
||
|
|
}
|
||
|
|
return $departments;
|
||
|
|
}
|
||
|
|
}
|