2
0

member_del.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. require_once "../config.php";
  3. require_once "../public/_pdo.php";
  4. require_once '../public/function.php';
  5. $respond = array("status" => 0, "message" => "");
  6. if (!isset($_COOKIE["userid"])) {
  7. $respond['status'] = 1;
  8. $respond['message'] = "尚未登录";
  9. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  10. exit;
  11. }
  12. if (isset($_POST["groupid"])) {
  13. PDO_Connect("" . _FILE_DB_GROUP_);
  14. $mypower = 100;
  15. # 先查是否有删人权限
  16. $query = "SELECT * from group_info where id=?";
  17. $fc = PDO_FetchRow($query, array($_POST["groupid"]));
  18. if ($fc) {
  19. if ($fc["parent"] == 0) {
  20. if ($fc["owner"] == $_COOKIE["userid"]) {
  21. $mypower = 0;
  22. }
  23. } else {
  24. $query = "SELECT owner from group_info where id=?";
  25. $g_parent = PDO_FetchRow($query, array($fc["parent"]));
  26. if ($g_parent && $g_parent["owner"] == $_COOKIE["userid"]) {
  27. $mypower = 0;
  28. }
  29. }
  30. }
  31. if ($mypower != 0) {
  32. #非拥有者,看看是不是管理员
  33. $query = "SELECT power from group_member where user_id=? and group_id=? ";
  34. $power = PDO_FetchRow($query, array($_COOKIE["userid"], $_POST["groupid"]));
  35. if ($power) {
  36. $mypower = (int) $power["power"];
  37. }
  38. if ($mypower > 1) {
  39. $respond['status'] = 1;
  40. $respond['message'] = "no power to remove memeber";
  41. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  42. exit;
  43. }
  44. }
  45. # 查询被删除人的权限
  46. $query = "SELECT power from group_member where user_id=? and group_id=? ";
  47. $power = PDO_FetchRow($query, array($_POST["userid"], $_POST["groupid"]));
  48. $userpower = 0;
  49. if ($power) {
  50. $userpower = (int) $power["power"];
  51. }
  52. #操作人的权限不足
  53. if ($mypower >= $userpower) {
  54. $respond['status'] = 1;
  55. $respond['message'] = "can not removed";
  56. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  57. exit;
  58. }
  59. $query = "SELECT * from group_info where id=?";
  60. $fc = PDO_FetchRow($query, array($_POST["groupid"]));
  61. if ($fc) {
  62. $idList = array();
  63. $idList[] = $_POST["userid"];
  64. $idList[] = $_POST["groupid"];
  65. if ($fc["parent"] == 0) {
  66. //group
  67. $level = 0;
  68. #查询project
  69. $query = "SELECT id from group_info where parent=?";
  70. $g_project = PDO_FetchAll($query, array($_POST["groupid"]));
  71. foreach ($g_project as $key => $parentid) {
  72. # code...
  73. $idList[] = $parentid["id"];
  74. }
  75. }
  76. }
  77. #删除
  78. $place_holders = implode(',', array_fill(0, count($idList), '?'));
  79. $query = "DELETE from group_member where user_id=? and group_id IN ($place_holders)";
  80. PDO_Execute($query, $idList);
  81. if (!$sth || ($sth && $sth->errorCode() != 0)) {
  82. $error = PDO_ErrorInfo();
  83. $respond['status'] = 1;
  84. $respond['message'] = $error[2];
  85. }
  86. } else {
  87. $respond['status'] = 1;
  88. $respond['message'] = "参数不足";
  89. }
  90. echo json_encode($respond, JSON_UNESCAPED_UNICODE);