2
0

coop.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <style>
  2. #coop_selector_title{
  3. margin-top: 15px;
  4. padding-top: 10px;
  5. border-top: 1px solid var(--border-line-color);
  6. }
  7. #coop_u_list li{
  8. display:flex;
  9. justify-content: space-between;
  10. }
  11. </style>
  12. <?php
  13. /*
  14. *
  15. list (doc_id)
  16. add (doc_id ,userid)
  17. del (doc_id, userid)
  18. set (doc_id ,userid ,value)
  19. *
  20. */
  21. require_once "../config.php";
  22. require_once "../public/_pdo.php";
  23. require_once "../public/function.php";
  24. require_once "../public/load_lang.php";
  25. require_once "../ucenter/function.php";
  26. require_once "../group/function.php";
  27. $userid = "";
  28. $isLogin = false;
  29. if ($_COOKIE["userid"]) {
  30. $userid = $_COOKIE["userid"];
  31. $isLogin = true;
  32. }
  33. if ($_GET["do"]) {
  34. $_do = $_GET["do"];
  35. } else {
  36. echo "Error:缺乏必要的参数 do";
  37. exit;
  38. }
  39. if ($_GET["doc_id"]) {
  40. $_doc_id = $_GET["doc_id"];
  41. } else {
  42. echo "Error:缺乏必要的参数 doc_id";
  43. exit;
  44. }
  45. $powerlist["10"] = "仅阅读";
  46. //$powerlist["20"] = "建议";
  47. $powerlist["30"] = "可修改";
  48. //$powerlist["40"] = "管理员";
  49. PDO_Connect(_FILE_DB_FILEINDEX_);
  50. echo "<input id='doc_coop_docid' type='hidden' value='{$_doc_id}' />";
  51. $query = "SELECT * from fileindex where id = ? ";
  52. $Fetch = PDO_FetchAll($query, array($_doc_id));
  53. $iFetch = count($Fetch);
  54. if ($iFetch > 0) {
  55. $owner = $Fetch[0]["user_id"];
  56. $uid = $_COOKIE["uid"];
  57. if ($owner == $uid) {
  58. //自己的文档
  59. switch ($_do) {
  60. case "list":
  61. break;
  62. case "add":
  63. $query = "INSERT INTO power ('id','doc_id','user','power','status','create_time','modify_time','receive_time','type')
  64. VALUES (?,?,?,?,?,?,?,?,?)";
  65. $stmt = $PDO->prepare($query);
  66. $stmt->execute(
  67. array(UUID::v4(),
  68. $_GET["doc_id"],
  69. $_GET["user_id"],
  70. 10,
  71. 1,
  72. mTime(),
  73. mTime(),
  74. mTime(),
  75. $_GET["type"],
  76. )
  77. );
  78. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  79. $error = PDO_ErrorInfo();
  80. echo "error - $error[2] <br>";
  81. }
  82. break;
  83. case "del":
  84. $query = "DELETE FROM power WHERE doc_id = ? AND user = ? ";
  85. $stmt = $PDO->prepare($query);
  86. $stmt->execute(
  87. array($_GET["doc_id"],
  88. $_GET["user_id"])
  89. );
  90. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  91. $error = PDO_ErrorInfo();
  92. echo "error - $error[2] <br>";
  93. }
  94. break;
  95. case "set":
  96. $query = "UPDATE power SET power = ? , modify_time = ? WHERE doc_id = ? AND user = ? ";
  97. $stmt = $PDO->prepare($query);
  98. $stmt->execute(
  99. array($_GET["value"],
  100. mTime(),
  101. $_GET["doc_id"],
  102. $_GET["user_id"])
  103. );
  104. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  105. $error = PDO_ErrorInfo();
  106. echo "error - $error[2] <br>";
  107. }
  108. break;
  109. }
  110. $query = "SELECT * from power where doc_id = ? ";
  111. $Fetch = PDO_FetchAll($query, array($_doc_id));
  112. echo "<ul id='coop_u_list'>";
  113. foreach ($Fetch as $row) {
  114. echo "<li>";
  115. echo "<span>";
  116. if ($row["type"] == 0) {
  117. //个人
  118. echo "<svg class='icon' style='margin: 0 5px;'>";
  119. echo '<use xlink:href="./svg/icon.svg#ic_person"></use>';
  120. echo "</svg>";
  121. echo ucenter_getA($row["user"], "username");
  122. } else if ($row["type"] == 1) {
  123. //群组
  124. echo "<svg class='icon' style='margin: 0 5px;'>";
  125. echo '<use xlink:href="./svg/icon.svg#ic_two_person"></use>';
  126. echo "</svg>";
  127. echo group_get_name($row["user"]);
  128. }
  129. echo "</span>";
  130. echo "<span>";
  131. echo "<select onchange=\"coop_power_change('{$row["user"]}',this)\">";
  132. foreach ($powerlist as $key => $value) {
  133. echo "<option value='{$key}' ";
  134. if ($row["power"] == $key) {
  135. echo "selected";
  136. }
  137. echo ">{$value}</option>";
  138. }
  139. echo "</select>";
  140. echo "<button onclick=\"coop_del('{$row["user"]}')\">" . $_local->gui->delete . "</button>";
  141. echo "</span>";
  142. echo "</li>";
  143. }
  144. echo "</ul>";
  145. ?>
  146. <div id="coop_selector_title">
  147. <?php echo $_local->gui->add . " " . $_local->gui->cooperators; ?>
  148. <input type="radio" id="cooperator_type_user" name="cooperator_type" checked><?php echo $_local->gui->person; ?>
  149. <input type="radio" id="cooperator_type_group" name="cooperator_type"><?php echo $_local->gui->group; ?>
  150. </div>
  151. <div id="wiki_search" style="width:100%;">
  152. <div><input id="username_input" type="input" placeholder="<?php echo $_local->gui->username; ?>" onkeyup="username_search_keyup(event,this)"/></div>
  153. <div id="search_result">
  154. </div>
  155. </div>
  156. <?php
  157. } else {
  158. //别人的的文档
  159. echo "<a href='fork.php?doc_id={$doc_id}'>[复刻]</a>";
  160. }
  161. }
  162. ?>