file_index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. require_once 'checklogin.inc';
  3. require_once "../path.php";
  4. require_once "../public/_pdo.php";
  5. require_once "../public/function.php";
  6. if (isset($_POST["op"])) {
  7. $op = $_POST["op"];
  8. }
  9. if (isset($_POST["id"])) {
  10. $id = $_POST["id"];
  11. }
  12. if (isset($_POST["filename"])) {
  13. $filename = $_POST["filename"];
  14. }
  15. if (isset($_POST["doc_id"])) {
  16. $doc_id = $_POST["doc_id"];
  17. }
  18. if (isset($_POST["field"])) {
  19. $field = $_POST["field"];
  20. }
  21. if (isset($_POST["value"])) {
  22. $value = $_POST["value"];
  23. }
  24. if ($_COOKIE["uid"]) {
  25. $uid = $_COOKIE["uid"];
  26. } else {
  27. echo "尚未登录";
  28. exit;
  29. }
  30. PDO_Connect( _FILE_DB_FILEINDEX_);
  31. switch ($op) {
  32. case "list":
  33. break;
  34. case "get";
  35. $query = "select * from fileindex where user_id='$uid' AND id='{$doc_id}'";
  36. $Fetch = PDO_FetchAll($query);
  37. echo json_encode($Fetch, JSON_UNESCAPED_UNICODE);
  38. break;
  39. case "getall";
  40. //
  41. $query = "select * from fileindex where user_id='$uid' AND id='{$_POST["doc_id"]}'";
  42. $Fetch = PDO_FetchAll($query);
  43. $iFetch = count($Fetch);
  44. if ($iFetch > 0) {
  45. echo json_encode($Fetch[0], JSON_UNESCAPED_UNICODE);
  46. }
  47. break;
  48. case "set";
  49. //修改文件索引数据库
  50. if ($field == "accese_time") {
  51. $value = mTime();
  52. }
  53. $doc_id = $_POST["doc_id"];
  54. $query = "UPDATE fileindex SET $field='$value' where user_id='$uid' AND id='{$doc_id}'";
  55. $stmt = @PDO_Execute($query);
  56. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  57. $error = PDO_ErrorInfo();
  58. echo json_encode(array("error" => $error[2], "message" => $query), JSON_UNESCAPED_UNICODE);
  59. } else {
  60. echo json_encode(array("error" => false, "message" => $query), JSON_UNESCAPED_UNICODE);
  61. }
  62. break;
  63. case "share":
  64. //修改文件索引数据库
  65. if (isset($_POST["file"])) {
  66. if (isset($_POST["share"])) {
  67. $share = $_POST["share"];
  68. } else {
  69. $share = 0;
  70. }
  71. $fileList = $_POST["file"];
  72. $aFileList = str_getcsv($fileList);
  73. if (count($aFileList) > 0) {
  74. $strFileList = "(";
  75. foreach ($aFileList as $file) {
  76. $strFileList .= "'{$file}',";
  77. }
  78. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  79. $strFileList .= ")";
  80. $query = "UPDATE fileindex SET share='$share' where user_id='$uid' AND id in $strFileList";
  81. $stmt = @PDO_Execute($query);
  82. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  83. $error = PDO_ErrorInfo();
  84. echo "error:{$error[2]}";
  85. } else {
  86. echo "ok" . $query;
  87. }
  88. }
  89. }
  90. break;
  91. case "delete": //移到回收站
  92. {
  93. if (isset($_POST["file"])) {
  94. $fileList = $_POST["file"];
  95. $aFileList = str_getcsv($fileList);
  96. if (count($aFileList) > 0) {
  97. $strFileList = "(";
  98. foreach ($aFileList as $file) {
  99. $strFileList .= "'{$file}',";
  100. }
  101. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  102. $strFileList .= ")";
  103. $query = "UPDATE fileindex SET status='0',share='0' where user_id='$uid' AND id in $strFileList";
  104. $stmt = @PDO_Execute($query);
  105. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  106. $error = PDO_ErrorInfo();
  107. echo "error:{$error[2]}";
  108. } else {
  109. echo "ok";
  110. }
  111. }
  112. }
  113. break;
  114. }
  115. case "restore": //从回收站中恢复
  116. if (isset($_POST["file"])) {
  117. $fileList = $_POST["file"];
  118. $aFileList = str_getcsv($fileList);
  119. if (count($aFileList) > 0) {
  120. $strFileList = "(";
  121. foreach ($aFileList as $file) {
  122. $strFileList .= "'{$file}',";
  123. }
  124. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  125. $strFileList .= ")";
  126. $query = "UPDATE fileindex SET status='1' where user_id='$uid' AND id in $strFileList";
  127. $stmt = @PDO_Execute($query);
  128. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  129. $error = PDO_ErrorInfo();
  130. echo "error:{$error[2]}";
  131. } else {
  132. echo "ok";
  133. }
  134. }
  135. }
  136. break;
  137. case "remove":
  138. //彻底删除文件
  139. if (isset($_POST["file"])) {
  140. $fileList = $_POST["file"];
  141. $aFileList = str_getcsv($fileList);
  142. if (count($aFileList) > 0) {
  143. $strFileList = "(";
  144. //删除文件
  145. foreach ($aFileList as $file) {
  146. if (!unlink($dir . $file)) {
  147. echo ("Error deleting $file");
  148. }
  149. $strFileList .= "'{$file}',";
  150. }
  151. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  152. $strFileList .= ")";
  153. //删除记录
  154. $query = "DELETE FROM fileindex WHERE user_id='$uid' AND id in $strFileList";
  155. $stmt = @PDO_Execute($query);
  156. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  157. $error = PDO_ErrorInfo();
  158. echo "error:{$error[2]}";
  159. } else {
  160. echo "删除" . count($aFileList) . "个文件。";
  161. }
  162. }
  163. }
  164. break;
  165. case "remove_all":
  166. // 清空回收站
  167. break;
  168. }