Joywork/engine/classes/Department.php
2026-05-22 21:21:54 +03:00

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;
}
}