get_dept_user.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. session_start();
  3. include('../permission/connect_sql.php');
  4. $user_id = $_SESSION['UserID'];
  5. $sql = "SELECT [GroupID] FROM [permissions].[dbo].[UserGroup] WHERE [UserID] = ?;";
  6. $stmt = sqlsrv_query($conn, $sql, array($user_id));
  7. $is_admin = false;
  8. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  9. if ($row["GroupID"] == 'Admin') {
  10. $is_admin = true;
  11. }
  12. }
  13. $user_list = array();
  14. $users = array();
  15. $permissions = array();
  16. if ($is_admin) {
  17. $sql = "SELECT DISTINCT [User].[UserID],[Account],[UserName],[DepartmentID],[Group].[GroupID],[GroupName] FROM [User]
  18. LEFT JOIN [UserGroup] ON [User].[UserID] = [UserGroup].[UserID]
  19. LEFT JOIN [Group] ON [UserGroup].[GroupID] = [Group].[GroupID]
  20. LEFT JOIN [GroupRight] ON [GroupRight].[GroupID] = [Group].[GroupID]
  21. LEFT JOIN [WebPage] ON [WebPage].[PgroupID] = [GroupRight].[PgroupID]
  22. ORDER BY [GroupName]";
  23. $stmt = sqlsrv_query($conn, $sql);
  24. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  25. if (in_array($row["UserID"], $user_list)) {
  26. $index = array_search($row["UserID"], $user_list);
  27. array_push($users[$index]["GroupID"], $row["GroupID"]);
  28. array_push($users[$index]["GroupName"], $row["GroupName"]);
  29. } else {
  30. $temp = array();
  31. $temp["UserID"] = $row["UserID"];
  32. $temp["Account"] = $row["Account"];
  33. $temp["UserName"] = $row["UserName"];
  34. $temp["DepartmentID"] = $row["DepartmentID"];
  35. $temp["GroupID"] = array($row["GroupID"]);
  36. $temp["GroupName"] = array($row["GroupName"]);
  37. array_push($users, $temp);
  38. array_push($user_list, $row["UserID"]);
  39. }
  40. }
  41. $sql = "SELECT [GroupID],[GroupName] FROM [Group] WHERE [GroupID] != 'Admin'";
  42. $stmt = sqlsrv_query($conn, $sql, array($_SESSION['UserID']));
  43. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  44. $temp = array();
  45. $temp["GroupID"] = $row["GroupID"];
  46. $temp["GroupName"] = $row["GroupName"];
  47. array_push($permissions, $temp);
  48. }
  49. } else {
  50. $sql = "SELECT DISTINCT [User].[UserID],[Account],[UserName],[DepartmentID],[Group].[GroupID],[GroupName] FROM [User]
  51. LEFT JOIN [UserGroup] ON [User].[UserID] = [UserGroup].[UserID]
  52. LEFT JOIN [Group] ON [UserGroup].[GroupID] = [Group].[GroupID]
  53. LEFT JOIN [GroupRight] ON [GroupRight].[GroupID] = [Group].[GroupID]
  54. LEFT JOIN [WebPage] ON [WebPage].[PgroupID] = [GroupRight].[PgroupID]
  55. WHERE [DepartmentID] = (SELECT [DepartmentID] FROM [User] WHERE [UserID] = ?) AND [Group].[GroupID] != 'Admin' ORDER BY [GroupName]";
  56. $stmt = sqlsrv_query($conn, $sql, array($_SESSION['UserID']));
  57. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  58. if (in_array($row["UserID"], $user_list)) {
  59. $index = array_search($row["UserID"], $user_list);
  60. array_push($users[$index]["GroupID"], $row["GroupID"]);
  61. array_push($users[$index]["GroupName"], $row["GroupName"]);
  62. } else {
  63. $temp = array();
  64. $temp["UserID"] = $row["UserID"];
  65. $temp["Account"] = $row["Account"];
  66. $temp["UserName"] = $row["UserName"];
  67. $temp["DepartmentID"] = $row["DepartmentID"];
  68. $temp["GroupID"] = array($row["GroupID"]);
  69. $temp["GroupName"] = array($row["GroupName"]);
  70. array_push($users, $temp);
  71. array_push($user_list, $row["UserID"]);
  72. }
  73. }
  74. $sql = "SELECT [GroupID],[GroupName] FROM [Group] WHERE [GroupID] != 'Admin'";
  75. $stmt = sqlsrv_query($conn, $sql, array($_SESSION['UserID']));
  76. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  77. $temp = array();
  78. $temp["GroupID"] = $row["GroupID"];
  79. $temp["GroupName"] = $row["GroupName"];
  80. array_push($permissions, $temp);
  81. }
  82. }
  83. $data["users"] = $users;
  84. $data["permissions"] = $permissions;
  85. echo json_encode($data);