fm_api.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // Init
  3. //error_reporting(NULL);
  4. session_start();
  5. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  6. include($_SERVER['DOCUMENT_ROOT']."/file_manager/fm_core.php");
  7. // todo: set in session?
  8. if (empty($panel)) {
  9. $command = VESTA_CMD."v-list-user '".$user."' 'json'";
  10. exec ($command, $output, $return_var);
  11. if ( $return_var > 0 ) {
  12. header("Location: /error/");
  13. exit;
  14. }
  15. $panel = json_decode(implode('', $output), true);
  16. }
  17. $fm = new FileManager($user);
  18. $fm->setRootDir($panel[$user]['HOME']);
  19. $_REQUEST['action'] = empty($_REQUEST['action']) ? '' : $_REQUEST['action'];
  20. switch ($_REQUEST['action']) {
  21. case 'rename_file':
  22. $dir = $_REQUEST['dir'];
  23. $item = $_REQUEST['item'];
  24. $target_name = $_REQUEST['target_name'];
  25. print json_encode($fm->renameItem($dir, $item, $target_name));
  26. break;
  27. case 'delete_files':
  28. $dir = $_REQUEST['dir'];
  29. $item = $_REQUEST['item'];
  30. print json_encode($fm->deleteItems($dir, $item));
  31. break;
  32. case 'create_file':
  33. $dir = $_REQUEST['dir'];
  34. $filename = $_REQUEST['filename'];
  35. print json_encode($fm->createFile($dir, $filename));
  36. break;
  37. case 'create_dir':
  38. $dir = $_REQUEST['dir'];
  39. $dirname = $_REQUEST['dirname'];
  40. print json_encode($fm->createDir($dir, $dirname));
  41. break;
  42. case 'cd':
  43. $dir = $_REQUEST['dir'];
  44. print json_encode($fm->ls($dir));
  45. break;
  46. case 'open_file':
  47. $dir = $_REQUEST['dir'];
  48. print json_encode($fm->open_file($dir));
  49. break;
  50. case 'copy_files':
  51. $dir = $_REQUEST['dir'];
  52. $target_dir = $_REQUEST['dir_target'];
  53. $filename = $_REQUEST['filename'];
  54. print json_encode($fm->copyFile($dir, $target_dir, $filename));
  55. break;
  56. default:
  57. //print json_encode($fm->init());
  58. break;
  59. }