file_index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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. $time = time();
  42. $query = "select * from fileindex where user_id='$uid' AND id='{$_POST["doc_id"]}'";
  43. $Fetch = PDO_FetchAll($query);
  44. $iFetch = count($Fetch);
  45. if ($iFetch > 0) {
  46. echo json_encode($Fetch[0], JSON_UNESCAPED_UNICODE);
  47. }
  48. break;
  49. case "set";
  50. //修改文件索引数据库
  51. if ($field == "accese_time") {
  52. $value = mTime();
  53. }
  54. $doc_id = $_POST["doc_id"];
  55. $query = "UPDATE fileindex SET $field='$value' where user_id='$uid' AND id='{$doc_id}'";
  56. $stmt = @PDO_Execute($query);
  57. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  58. $error = PDO_ErrorInfo();
  59. echo json_encode(array("error" => $error[2], "message" => $query), JSON_UNESCAPED_UNICODE);
  60. } else {
  61. echo json_encode(array("error" => false, "message" => $query), JSON_UNESCAPED_UNICODE);
  62. }
  63. break;
  64. case "share":
  65. //修改文件索引数据库
  66. if (isset($_POST["file"])) {
  67. if (isset($_POST["share"])) {
  68. $share = $_POST["share"];
  69. } else {
  70. $share = 0;
  71. }
  72. $fileList = $_POST["file"];
  73. $aFileList = str_getcsv($fileList);
  74. if (count($aFileList) > 0) {
  75. $strFileList = "(";
  76. foreach ($aFileList as $file) {
  77. $strFileList .= "'{$file}',";
  78. }
  79. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  80. $strFileList .= ")";
  81. $query = "UPDATE fileindex SET share='$share' where user_id='$uid' AND id in $strFileList";
  82. $stmt = @PDO_Execute($query);
  83. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  84. $error = PDO_ErrorInfo();
  85. echo "error:{$error[2]}";
  86. } else {
  87. echo "ok" . $query;
  88. }
  89. }
  90. }
  91. break;
  92. case "delete": //移到回收站
  93. {
  94. if (isset($_POST["file"])) {
  95. $fileList = $_POST["file"];
  96. $aFileList = str_getcsv($fileList);
  97. if (count($aFileList) > 0) {
  98. $strFileList = "(";
  99. foreach ($aFileList as $file) {
  100. $strFileList .= "'{$file}',";
  101. }
  102. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  103. $strFileList .= ")";
  104. $query = "UPDATE fileindex SET status='0',share='0' where user_id='$uid' AND id in $strFileList";
  105. $stmt = @PDO_Execute($query);
  106. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  107. $error = PDO_ErrorInfo();
  108. echo "error:{$error[2]}";
  109. } else {
  110. echo "ok";
  111. }
  112. }
  113. }
  114. break;
  115. }
  116. case "restore": //从回收站中恢复
  117. if (isset($_POST["file"])) {
  118. $fileList = $_POST["file"];
  119. $aFileList = str_getcsv($fileList);
  120. if (count($aFileList) > 0) {
  121. $strFileList = "(";
  122. foreach ($aFileList as $file) {
  123. $strFileList .= "'{$file}',";
  124. }
  125. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  126. $strFileList .= ")";
  127. $query = "UPDATE fileindex SET status='1' where user_id='$uid' AND id in $strFileList";
  128. $stmt = @PDO_Execute($query);
  129. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  130. $error = PDO_ErrorInfo();
  131. echo "error:{$error[2]}";
  132. } else {
  133. echo "ok";
  134. }
  135. }
  136. }
  137. break;
  138. case "remove":
  139. //彻底删除文件
  140. if (isset($_POST["file"])) {
  141. $fileList = $_POST["file"];
  142. $aFileList = str_getcsv($fileList);
  143. if (count($aFileList) > 0) {
  144. $strFileList = "(";
  145. //删除文件
  146. foreach ($aFileList as $file) {
  147. if (!unlink($dir . $file)) {
  148. echo ("Error deleting $file");
  149. }
  150. $strFileList .= "'{$file}',";
  151. }
  152. $strFileList = mb_substr($strFileList, 0, mb_strlen($strFileList, "UTF-8") - 1, "UTF-8");
  153. $strFileList .= ")";
  154. //删除记录
  155. $query = "DELETE FROM fileindex WHERE user_id='$uid' AND id in $strFileList";
  156. $stmt = @PDO_Execute($query);
  157. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  158. $error = PDO_ErrorInfo();
  159. echo "error:{$error[2]}";
  160. } else {
  161. echo "删除" . count($aFileList) . "个文件。";
  162. }
  163. }
  164. }
  165. break;
  166. case "remove_all":
  167. // 清空回收站
  168. break;
  169. }