2
0

my_group_put.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. #新增群组或项目
  3. require_once "../config.php";
  4. require_once "../public/_pdo.php";
  5. require_once '../public/function.php';
  6. require_once __DIR__."/../public/snowflakeid.php";
  7. $snowflake = new SnowFlakeId();
  8. $respond = array("status" => 0, "message" => "ok");
  9. set_exception_handler(function($e){
  10. $respond['status'] = 1;
  11. $respond['message'] = $e->getFile().$e->getLine().$e->getMessage();
  12. exit;
  13. });
  14. if (isset($_COOKIE["userid"])) {
  15. PDO_Connect(_FILE_DB_GROUP_);
  16. try{
  17. $PDO->beginTransaction();
  18. #先查询是否有重复的组名
  19. $query = "SELECT id FROM "._TABLE_GROUP_INFO_." WHERE name = ? ";
  20. $Fetch = PDO_FetchRow($query, array($_POST["name"]));
  21. if ($Fetch) {
  22. $respond['status'] = 1;
  23. $respond['message'] = "错误:有相同的组名称,请选择另一个名称。";
  24. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  25. exit;
  26. }
  27. $query = "INSERT INTO "._TABLE_GROUP_INFO_." ( id, uid , name , description , owner ,create_time,modify_time )
  28. VALUES ( ?, ? , ? , ? , ? , ? ,? ) ";
  29. $sth = $PDO->prepare($query);
  30. $newid = UUID::v4();
  31. $sth->execute(array($snowflake->id(),$newid, $_POST["name"], "", $_COOKIE["user_uid"], mTime(), mTime()));
  32. #将创建者添加到成员中
  33. $query = "INSERT INTO "._TABLE_GROUP_MEMBER_." (id, user_id , group_id , power , group_name , level , status )
  34. VALUES ( ? , ? , ? , ? , ? , ? ,? ) ";
  35. $sth = $PDO->prepare($query);
  36. $sth->execute(array($snowflake->id(),$_COOKIE["user_uid"], $newid, 0, $_POST["name"], 0, 1));
  37. $PDO->commit();
  38. }catch (Exception $e) {
  39. $PDO->rollBack();
  40. $respond['status']=1;
  41. $respond['message']="Failed: " . $e->getMessage();
  42. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  43. }
  44. }
  45. echo json_encode($respond, JSON_UNESCAPED_UNICODE);