diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..496ee2ca --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/app/Mockup.drawio b/app/Mockup.drawio new file mode 100644 index 00000000..e359a3aa --- /dev/null +++ b/app/Mockup.drawio @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/js/ajaxCreateFolder.js b/app/js/ajaxCreateFolder.js new file mode 100644 index 00000000..b833486b --- /dev/null +++ b/app/js/ajaxCreateFolder.js @@ -0,0 +1,28 @@ +function ajaxCreateFolder($newFolderName) { + $.ajax({ + url: "../../app/php/createFolder.php", + type: "post", + data: { + newFolderName: $newFolderName, + }, + success: function (response) { + if (response) { + Swal.fire({ + icon: "success", + title: "Folder created", + showConfirmButton: false, + timer: 1500, + }); + //?recharge table + $("#folderName").trigger("reset"); + loadSidebar(); + } else { + Swal.fire({ + icon: "error", + title: "Oops...", + text: "Something went wrong!", + }); + } + }, + }); +} diff --git a/app/js/ajaxDelete.js b/app/js/ajaxDelete.js new file mode 100644 index 00000000..922b2530 --- /dev/null +++ b/app/js/ajaxDelete.js @@ -0,0 +1,21 @@ +function ajaxDelete(fileUrl) { + $.ajax({ + url: "../../app/php/deleteFile.php", + type: "post", + data: { + filePath: fileUrl, + }, + success: function (response) { + if (response) { + Swal.fire({ + icon: "success", + title: "File deleted", + showConfirmButton: false, + timer: 1500, + }); + //?recharge table + loadTable(); + } + }, + }); +} diff --git a/app/js/ajaxGetCurrentFolder.js b/app/js/ajaxGetCurrentFolder.js new file mode 100644 index 00000000..0bbfef2e --- /dev/null +++ b/app/js/ajaxGetCurrentFolder.js @@ -0,0 +1,16 @@ +function ajaxGetCurrentFolder(fileUrl) { + $.ajax({ + url: "../../app/php/utils/getCurrentFolder.php", + type: "post", + data: { + filePath: fileUrl, + }, + success: function (response) { + if (response) { + console.log(response); + //?recharge table + loadTable(); + } + }, + }); +} diff --git a/app/js/ajaxOpenFile.js b/app/js/ajaxOpenFile.js new file mode 100644 index 00000000..9767f7f4 --- /dev/null +++ b/app/js/ajaxOpenFile.js @@ -0,0 +1,24 @@ +function ajaxOpenFile(fileUrl) { + $.ajax({ + url: "../../app/php/openFile.php", + type: "post", + data: { + filePath: fileUrl, + }, + success: function (response) { + if (response) { + console.log(response) + Swal.fire({ + html:`${response}` + }); + } else { + console.log(response) + Swal.fire({ + icon: "error", + title: "Oops...", + text: "Something went wrong!", + }); + } + }, + }); +} diff --git a/app/js/ajaxRename.js b/app/js/ajaxRename.js new file mode 100644 index 00000000..2aa3e0d3 --- /dev/null +++ b/app/js/ajaxRename.js @@ -0,0 +1,29 @@ +function ajaxRename(oldName, newName, file) { + $.ajax({ + url: "../../app/php/renameFile.php", + type: "post", + data: { + oldName: oldName, + newName: newName, + file: file, + }, + success: function (response) { + if (response) { + Swal.fire({ + icon: "success", + title: "File renamed", + showConfirmButton: false, + timer: 1500, + }); + //?recharge table + loadTable(); + } else { + Swal.fire({ + icon: "error", + title: "Oops...", + text: "Something went wrong!", + }); + } + }, + }); +} diff --git a/app/js/ajaxSetCurrentFolder.js b/app/js/ajaxSetCurrentFolder.js new file mode 100644 index 00000000..87e4c700 --- /dev/null +++ b/app/js/ajaxSetCurrentFolder.js @@ -0,0 +1,15 @@ +function ajaxSetCurrentFolder(fileUrl) { + $.ajax({ + url: "../../app/php/tableFillContent.php", + type: "post", + data: { + filePath: fileUrl, + }, + success: function (response) { + if (response) { + console.log(response); + //?recharge table + } + }, + }); +} diff --git a/app/js/ajaxUpload.js b/app/js/ajaxUpload.js new file mode 100644 index 00000000..3935f8b1 --- /dev/null +++ b/app/js/ajaxUpload.js @@ -0,0 +1,42 @@ +function ajaxUpload() { + event.preventDefault(); + var fd = new FormData(); + var files = $("#file")[0].files; + + if (files.length > 0) { + fd.append("file", files[0]); + + $.ajax({ + url: "../../app/php/uploadFile.php", + type: "post", + data: fd, + contentType: false, + processData: false, + success: function (response) { + console.log(response); + if (response) { + Swal.fire({ + icon: "success", + title: "File updated", + showConfirmButton: false, + timer: 1500, + }); + //?recharge table + loadTable(); + } else { + Swal.fire({ + icon: "error", + title: "Oops...", + text: "Something went wrong!", + }); + } + }, + }); + } else { + Swal.fire({ + icon: "error", + title: "Oops...", + text: "Something went wrong!", + }); + } +} diff --git a/app/js/loadSidebar.js b/app/js/loadSidebar.js new file mode 100644 index 00000000..063a0a8b --- /dev/null +++ b/app/js/loadSidebar.js @@ -0,0 +1,7 @@ +function loadSidebar() { + $(document).ready(function () { + $("#folderSidebar").load("sidebar.php"); + }); +} + +loadSidebar(); diff --git a/app/js/loadTable.js b/app/js/loadTable.js new file mode 100644 index 00000000..dd52bc54 --- /dev/null +++ b/app/js/loadTable.js @@ -0,0 +1,7 @@ +function loadTable() { + $(document).ready(function () { + $("#fileDataTable").load("table.php"); + }); +} + +loadTable(); diff --git a/app/php/createFolder.php b/app/php/createFolder.php new file mode 100644 index 00000000..2353e97e --- /dev/null +++ b/app/php/createFolder.php @@ -0,0 +1,13 @@ +"; + break; + case 'audio': + echo ""; + break; + case 'video': + echo ""; + break; + case 'text': + $file = fopen($file, "r"); + $content = fread($file, filesize($file)); + echo "

'$content'

"; + fclose($file); + break; + default: + # code... + break; +} + + + // fclose($file); + //txt -> // echo file_get_contents($file); diff --git a/app/php/renameFile.php b/app/php/renameFile.php new file mode 100644 index 00000000..49933100 --- /dev/null +++ b/app/php/renameFile.php @@ -0,0 +1,32 @@ +" . + "' . + "
"; + if (fileBrowser("$secondFolder/*")) { + echo + "'; + } else { + echo '
empty!!


'; + } + echo '
+ '; + } + } +} +?> + \ No newline at end of file diff --git a/app/php/tableFillContent.php b/app/php/tableFillContent.php new file mode 100644 index 00000000..0e8ad243 --- /dev/null +++ b/app/php/tableFillContent.php @@ -0,0 +1,81 @@ + + + + +

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/php/uploadFile.php b/app/php/uploadFile.php new file mode 100644 index 00000000..a728e87a --- /dev/null +++ b/app/php/uploadFile.php @@ -0,0 +1,17 @@ +' . $target; + $target_dir = $_SESSION['folderPath'] . '/'; + $target_file = $target_dir . basename($_FILES['file']['name']); + + if (move_uploaded_file($_FILES['file']['tmp_name'], $target_file)) { + echo $response; + } else { + + $response = false; + } + + exit; +} diff --git a/app/php/utils/fileBrowser.php b/app/php/utils/fileBrowser.php new file mode 100644 index 00000000..26d2928f --- /dev/null +++ b/app/php/utils/fileBrowser.php @@ -0,0 +1,6 @@ + 0) { + $i = 0; + $format = ["Kb", "Mb", "Gb"]; + while ($fileSize >= 1024) { + $fileSize = $fileSize / 1024; + $i++; + } + return round($fileSize, 2) . $format[$i - 1]; + } else { + return "0kb"; + } +} diff --git a/docs/FileSystem documentation.pdf b/docs/FileSystem documentation.pdf new file mode 100644 index 00000000..ac68140e Binary files /dev/null and b/docs/FileSystem documentation.pdf differ diff --git a/docs/Mockup.drawio b/docs/Mockup.drawio new file mode 100644 index 00000000..3fe5d2eb --- /dev/null +++ b/docs/Mockup.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 00000000..645a6283 --- /dev/null +++ b/index.php @@ -0,0 +1,3 @@ + + + + + + + + + + + + + + + + + + + + + File System + + + + + + +
+
+
+ +
+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/footer.php b/resources/views/footer.php new file mode 100644 index 00000000..5d3e2d6a --- /dev/null +++ b/resources/views/footer.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/resources/views/header.php b/resources/views/header.php new file mode 100644 index 00000000..d1b3606e --- /dev/null +++ b/resources/views/header.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/resources/views/modal.php b/resources/views/modal.php new file mode 100644 index 00000000..16013933 --- /dev/null +++ b/resources/views/modal.php @@ -0,0 +1,36 @@ + + + + diff --git a/resources/views/sidebar.php b/resources/views/sidebar.php new file mode 100644 index 00000000..8915ea32 --- /dev/null +++ b/resources/views/sidebar.php @@ -0,0 +1,40 @@ + + +

Folders

+ + \ No newline at end of file diff --git a/resources/views/table.php b/resources/views/table.php new file mode 100644 index 00000000..cc926b97 --- /dev/null +++ b/resources/views/table.php @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + +
NameTypeCreateModifySizeActions
+ + + \ No newline at end of file diff --git a/storage/12jhgfgbnm,.mp4 b/storage/12jhgfgbnm,.mp4 new file mode 100644 index 00000000..4a8554fd Binary files /dev/null and b/storage/12jhgfgbnm,.mp4 differ diff --git a/storage/example folder/folderinsidefolder/try123.txt b/storage/example folder/folderinsidefolder/try123.txt new file mode 100644 index 00000000..e69de29b