getDepartments(); $result = array(); $clientId = (int)$data->client_id; $reqId = (int)$data->req_id; $sql_cl = "SELECT doers, doers_confirm, who_work FROM clients WHERE id=".$clientId; if($reqId > 0){ $sql_cl = "SELECT doers, doers_confirm, who_work FROM requisitions WHERE id=".$reqId; } $q_cl = mysql_query($sql_cl); $r_cl = mysql_fetch_assoc($q_cl); $doers = json_decode(html_entity_decode($r_cl['doers'])); //$result['doers'] = $doers; $res_doers = array(); $user = new User; $userId = $_SESSION['id']; $user->get($userId); //var_dump($userId); //if($_SESSION['users_admin']){ $userId = $user->agencyId; //} //echo $userId; $user->get($userId); $usersArr = array(); if ($user->agencyId > 0) { $sql_head = "SELECT * FROM users WHERE id = {$user->agencyId} AND blocked = 0"; $res_head = mysql_query($sql_head); if ($head = mysql_fetch_assoc($res_head)) { if (!in_array($head['id'], $usersArr)) { $usersArr[] = $head['id']; if ($head['role_id'] > 0) { $result['emp'][] = array( 'code' => $head['id'], 'date_employe' => htmlspecialchars_decode(trim($head['last_name'] . ' ' . $head['first_name'] . ' ' . $head['middle_name']) . ' (' . $departments[$head['role_id']]['role_name'] . ' ' . $departments[$head['role_id']]['dep_name'] . ')') ); } else { $result['emp'][] = array( 'code' => $head['id'], 'date_employe' => htmlspecialchars_decode(trim($head['last_name'] . ' ' . $head['first_name'] . ' ' . $head['middle_name']) . ' (руководитель агентства)') ); } } } } if($user->agency || $_SESSION['users_admin']){ $agentsOfAgency = User::getAllAgents($user->agencyId); $agentsOfManager = User::getAllManagers($user->agencyId); } else if ($user->manager){ $agentsOfAgency = User::getAllAgents($userId); } else if ($user->id_manager) { $agentsOfAgency = User::getAllAgents($user->id_manager); $sql = "SELECT * FROM users WHERE manager=1 AND id=$user->id_manager AND blocked=0"; $agentsOfManager = array(); $rez = mysql_query($sql); while($manager = mysql_fetch_assoc($rez)) $agentsOfManager[] = $manager; //$agentsOfManager = User::getMyManagers(); } if($agentsOfManager) { foreach($agentsOfManager as $mngr) { if($mngr['id'] != $r_cll['who_work']){ if(!in_array($mngr['id'], $usersArr)){ $usersArr[] = $mngr['id']; if($mngr['role_id'] > 0){ $result['emp'][] = array('code' => $mngr['id'], 'date_employe' => htmlspecialchars_decode(trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name']).' ('.$departments[$mngr['role_id']]['role_name'].' '.$departments[$mngr['role_id']]['dep_name'].')')); } else { $result['emp'][] = array('code' => $mngr['id'], 'date_employe' => htmlspecialchars_decode(trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name']).' (менеджер)')); } } } if((int)$mngr['role_id'] > 0 && (int)$mngr['department_id'] > 0){ $role_user = $depClass->getRole((int)$mngr['role_id']); if($role_user['role'] == 'admin_department'){ $menagerDep = User::getDepManagers($role_user['department_id']); foreach($menagerDep as $md){ if(!in_array($md['id'], $usersArr)){ $usersArr[] = $md['id']; $result['emp'][] = array('code' => $md['id'], 'date_employe' => htmlspecialchars_decode(trim($md['last_name'] . ' ' . $md['first_name'] . ' ' . $md['middle_name']).' ('.$departments[$md['role_id']]['role_name'].' '.$departments[$md['role_id']]['dep_name'].')')); } $thisAgents = User::getAgentsOfAgency($md['id'], true); foreach($thisAgents as $da){ if (!in_array($da['id'], $usersArr)) { $usersArr[] = $da['id']; $result['emp'][] = array('code' => $da['id'], 'date_employe' => htmlspecialchars_decode(trim($da['last_name'] . ' ' . $da['first_name'] . ' ' . $da['middle_name']).' ('.$departments[$da['role_id']]['role_name'].' '.$departments[$da['role_id']]['dep_name'].')')); } } } } } } } if($agentsOfAgency) { foreach($agentsOfAgency as $agent) { if($agent['id'] != $r_cl['who_work']){ if (!in_array($agent['id'], $usersArr)){ $usersArr[] = $agent['id']; if($agent['role_id'] > 0){ $result['emp'][] = array('code' => $agent['id'], 'date_employe' => htmlspecialchars_decode(trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name']).' ('.$departments[$agent['role_id']]['role_name'].' '.$departments[$agent['role_id']]['dep_name'].')')); } else { $result['emp'][] = array('code' => $agent['id'], 'date_employe' => htmlspecialchars_decode(trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name']))); } } } /* if(isset($doers -> {$agent['id']})){ $res_doers[] = array('code' => $agent['id'], 'date_employe' => $agent['fio']); }*/ } } foreach($doers as $key => $doer){ if($key != $r_cl['who_work']){ $sql_user = "SELECT * from users WHERE id = ".$key; $q_user = mysql_query($sql_user); $r_user = mysql_fetch_assoc($q_user); if($r_user['role_id'] > 0){ $res_doers[] = array('code' => $r_user['id'], 'date_employe' => htmlspecialchars_decode(trim($r_user['last_name'] . ' ' . $r_user['first_name'] . ' ' . $r_user['middle_name']).' ('.$departments[$r_user['role_id']]['role_name'].' '.$departments[$r_user['role_id']]['dep_name'].')')); } else { $res_doers[] = array('code' => $key, 'date_employe' => htmlspecialchars_decode(trim($r_user['last_name'] . ' ' . $r_user['first_name'] . ' ' . $r_user['middle_name']))); } } } $result['doers'] = $res_doers; header('Content-Type: application/json'); echo json_encode($result, JSON_UNESCAPED_UNICODE); ?>