From 7dcd33cb1308d98145a391888a29b3c1006ad9a5 Mon Sep 17 00:00:00 2001 From: Cherrerotinoco Date: Mon, 8 Nov 2021 10:48:44 +0100 Subject: [PATCH 01/26] Add actions folder --- actions/createDirectory/index.php | 0 actions/createFile/index.php | 0 actions/deleteDirectory/index.php | 0 actions/deleteFile/index.php | 0 actions/modifyFile/index.php | 0 actions/renameDirectory/index.php | 0 actions/searchFiles/index.php | 0 actions/uploadFile/index.php | 0 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 actions/createDirectory/index.php create mode 100644 actions/createFile/index.php create mode 100644 actions/deleteDirectory/index.php create mode 100644 actions/deleteFile/index.php create mode 100644 actions/modifyFile/index.php create mode 100644 actions/renameDirectory/index.php create mode 100644 actions/searchFiles/index.php create mode 100644 actions/uploadFile/index.php diff --git a/actions/createDirectory/index.php b/actions/createDirectory/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/createFile/index.php b/actions/createFile/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/deleteDirectory/index.php b/actions/deleteDirectory/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/deleteFile/index.php b/actions/deleteFile/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/modifyFile/index.php b/actions/modifyFile/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/renameDirectory/index.php b/actions/renameDirectory/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/searchFiles/index.php b/actions/searchFiles/index.php new file mode 100644 index 00000000..e69de29b diff --git a/actions/uploadFile/index.php b/actions/uploadFile/index.php new file mode 100644 index 00000000..e69de29b From aa16b27457e5c7c05aca83360fda15a66c52cdda Mon Sep 17 00:00:00 2001 From: sanadriu Date: Mon, 8 Nov 2021 11:01:22 +0100 Subject: [PATCH 02/26] Added layout --- assets/images/Polygon Luminary.svg | 1 + assets/images/extensions/csv-svgrepo-com.svg | 56 + assets/images/extensions/doc-svgrepo-com.svg | 57 + .../images/extensions/folder-svgrepo-com.svg | 58 + assets/images/extensions/gif-svgrepo-com.svg | 83 + assets/images/extensions/jpg-svgrepo-com.svg | 56 + assets/images/extensions/m3u-svgrepo-com.svg | 53 + assets/images/extensions/mp3-svgrepo-com.svg | 54 + assets/images/extensions/mp4-svgrepo-com.svg | 53 + assets/images/extensions/odt-svgrepo-com.svg | 54 + assets/images/extensions/pdf-svgrepo-com.svg | 54 + assets/images/extensions/png-svgrepo-com.svg | 55 + assets/images/extensions/ppt-svgrepo-com.svg | 53 + assets/images/extensions/rar-svgrepo-com.svg | 54 + assets/images/extensions/svg-svgrepo-com.svg | 109 + assets/images/extensions/txt-svgrepo-com.svg | 51 + assets/images/extensions/zip-svgrepo-com.svg | 52 + assets/js/events.js | 14 + assets/js/init.js | 4 + assets/styles/css/main.css | 1781 +++++++++++++++++ assets/styles/css/main.css.map | 1 + assets/styles/sass/base/_body.scss | 6 + assets/styles/sass/base/_index.scss | 2 + assets/styles/sass/base/_reset.scss | 51 + assets/styles/sass/components/_index.scss | 2 + .../styles/sass/components/_list-group.scss | 11 + assets/styles/sass/components/_login.scss | 31 + assets/styles/sass/layout/_aside-nav.scss | 47 + .../styles/sass/layout/_folder-content.scss | 10 + assets/styles/sass/layout/_index.scss | 3 + assets/styles/sass/layout/_navbar.scss | 3 + assets/styles/sass/main.scss | 5 + assets/styles/sass/utilities/_breakpoint.scss | 7 + assets/styles/sass/utilities/_color.scss | 34 + assets/styles/sass/utilities/_dimension.scss | 11 + assets/styles/sass/utilities/_display.scss | 9 + assets/styles/sass/utilities/_flex.scss | 49 + assets/styles/sass/utilities/_font.scss | 66 + assets/styles/sass/utilities/_index.scss | 9 + assets/styles/sass/utilities/_radius.scss | 16 + assets/styles/sass/utilities/_spacing.scss | 66 + assets/styles/sass/utilities/_state.scss | 5 + assets/styles/sass/vendors/_index.scss | 1 + assets/styles/sass/vendors/_normalize.scss | 349 ++++ config.php | 3 + drive/test.txt | 0 index.php | 60 + layouts/aside.php | 49 + layouts/header.php | 14 + layouts/modalAddFile.php | 29 + layouts/modalAddFolder.php | 29 + layouts/modalDelete.php | 30 + layouts/modalRename.php | 30 + layouts/modalUploadFiles.php | 33 + layouts/notifications.php | 35 + layouts/table.php | 85 + modules/session.php | 56 + modules/validation.php | 61 + utils/getFileInfo.php | 14 + utils/getFolderContent.php | 54 + utils/getFormattedSize.php | 8 + utils/getUploadError.php | 28 + utils/getUploadedFiles.php | 16 + utils/joinPath.php | 24 + utils/url.php | 15 + 65 files changed, 4219 insertions(+) create mode 100644 assets/images/Polygon Luminary.svg create mode 100644 assets/images/extensions/csv-svgrepo-com.svg create mode 100644 assets/images/extensions/doc-svgrepo-com.svg create mode 100644 assets/images/extensions/folder-svgrepo-com.svg create mode 100644 assets/images/extensions/gif-svgrepo-com.svg create mode 100644 assets/images/extensions/jpg-svgrepo-com.svg create mode 100644 assets/images/extensions/m3u-svgrepo-com.svg create mode 100644 assets/images/extensions/mp3-svgrepo-com.svg create mode 100644 assets/images/extensions/mp4-svgrepo-com.svg create mode 100644 assets/images/extensions/odt-svgrepo-com.svg create mode 100644 assets/images/extensions/pdf-svgrepo-com.svg create mode 100644 assets/images/extensions/png-svgrepo-com.svg create mode 100644 assets/images/extensions/ppt-svgrepo-com.svg create mode 100644 assets/images/extensions/rar-svgrepo-com.svg create mode 100644 assets/images/extensions/svg-svgrepo-com.svg create mode 100644 assets/images/extensions/txt-svgrepo-com.svg create mode 100644 assets/images/extensions/zip-svgrepo-com.svg create mode 100644 assets/js/events.js create mode 100644 assets/js/init.js create mode 100644 assets/styles/css/main.css create mode 100644 assets/styles/css/main.css.map create mode 100644 assets/styles/sass/base/_body.scss create mode 100644 assets/styles/sass/base/_index.scss create mode 100644 assets/styles/sass/base/_reset.scss create mode 100644 assets/styles/sass/components/_index.scss create mode 100644 assets/styles/sass/components/_list-group.scss create mode 100644 assets/styles/sass/components/_login.scss create mode 100644 assets/styles/sass/layout/_aside-nav.scss create mode 100644 assets/styles/sass/layout/_folder-content.scss create mode 100644 assets/styles/sass/layout/_index.scss create mode 100644 assets/styles/sass/layout/_navbar.scss create mode 100644 assets/styles/sass/main.scss create mode 100644 assets/styles/sass/utilities/_breakpoint.scss create mode 100644 assets/styles/sass/utilities/_color.scss create mode 100644 assets/styles/sass/utilities/_dimension.scss create mode 100644 assets/styles/sass/utilities/_display.scss create mode 100644 assets/styles/sass/utilities/_flex.scss create mode 100644 assets/styles/sass/utilities/_font.scss create mode 100644 assets/styles/sass/utilities/_index.scss create mode 100644 assets/styles/sass/utilities/_radius.scss create mode 100644 assets/styles/sass/utilities/_spacing.scss create mode 100644 assets/styles/sass/utilities/_state.scss create mode 100644 assets/styles/sass/vendors/_index.scss create mode 100644 assets/styles/sass/vendors/_normalize.scss create mode 100644 config.php create mode 100644 drive/test.txt create mode 100644 index.php create mode 100644 layouts/aside.php create mode 100644 layouts/header.php create mode 100644 layouts/modalAddFile.php create mode 100644 layouts/modalAddFolder.php create mode 100644 layouts/modalDelete.php create mode 100644 layouts/modalRename.php create mode 100644 layouts/modalUploadFiles.php create mode 100644 layouts/notifications.php create mode 100644 layouts/table.php create mode 100644 modules/session.php create mode 100644 modules/validation.php create mode 100644 utils/getFileInfo.php create mode 100644 utils/getFolderContent.php create mode 100644 utils/getFormattedSize.php create mode 100644 utils/getUploadError.php create mode 100644 utils/getUploadedFiles.php create mode 100644 utils/joinPath.php create mode 100644 utils/url.php diff --git a/assets/images/Polygon Luminary.svg b/assets/images/Polygon Luminary.svg new file mode 100644 index 00000000..e129aae4 --- /dev/null +++ b/assets/images/Polygon Luminary.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/extensions/csv-svgrepo-com.svg b/assets/images/extensions/csv-svgrepo-com.svg new file mode 100644 index 00000000..ce7034ef --- /dev/null +++ b/assets/images/extensions/csv-svgrepo-com.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/doc-svgrepo-com.svg b/assets/images/extensions/doc-svgrepo-com.svg new file mode 100644 index 00000000..91918ef6 --- /dev/null +++ b/assets/images/extensions/doc-svgrepo-com.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/folder-svgrepo-com.svg b/assets/images/extensions/folder-svgrepo-com.svg new file mode 100644 index 00000000..5c8b693e --- /dev/null +++ b/assets/images/extensions/folder-svgrepo-com.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/gif-svgrepo-com.svg b/assets/images/extensions/gif-svgrepo-com.svg new file mode 100644 index 00000000..94df94a6 --- /dev/null +++ b/assets/images/extensions/gif-svgrepo-com.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/jpg-svgrepo-com.svg b/assets/images/extensions/jpg-svgrepo-com.svg new file mode 100644 index 00000000..e4fa39cb --- /dev/null +++ b/assets/images/extensions/jpg-svgrepo-com.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/m3u-svgrepo-com.svg b/assets/images/extensions/m3u-svgrepo-com.svg new file mode 100644 index 00000000..9487c86c --- /dev/null +++ b/assets/images/extensions/m3u-svgrepo-com.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/mp3-svgrepo-com.svg b/assets/images/extensions/mp3-svgrepo-com.svg new file mode 100644 index 00000000..611184c6 --- /dev/null +++ b/assets/images/extensions/mp3-svgrepo-com.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/mp4-svgrepo-com.svg b/assets/images/extensions/mp4-svgrepo-com.svg new file mode 100644 index 00000000..07a6efa2 --- /dev/null +++ b/assets/images/extensions/mp4-svgrepo-com.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/odt-svgrepo-com.svg b/assets/images/extensions/odt-svgrepo-com.svg new file mode 100644 index 00000000..55592089 --- /dev/null +++ b/assets/images/extensions/odt-svgrepo-com.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/pdf-svgrepo-com.svg b/assets/images/extensions/pdf-svgrepo-com.svg new file mode 100644 index 00000000..118e93ac --- /dev/null +++ b/assets/images/extensions/pdf-svgrepo-com.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/png-svgrepo-com.svg b/assets/images/extensions/png-svgrepo-com.svg new file mode 100644 index 00000000..cb229511 --- /dev/null +++ b/assets/images/extensions/png-svgrepo-com.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/ppt-svgrepo-com.svg b/assets/images/extensions/ppt-svgrepo-com.svg new file mode 100644 index 00000000..337f2461 --- /dev/null +++ b/assets/images/extensions/ppt-svgrepo-com.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/rar-svgrepo-com.svg b/assets/images/extensions/rar-svgrepo-com.svg new file mode 100644 index 00000000..d6485660 --- /dev/null +++ b/assets/images/extensions/rar-svgrepo-com.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/svg-svgrepo-com.svg b/assets/images/extensions/svg-svgrepo-com.svg new file mode 100644 index 00000000..10d28b37 --- /dev/null +++ b/assets/images/extensions/svg-svgrepo-com.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/txt-svgrepo-com.svg b/assets/images/extensions/txt-svgrepo-com.svg new file mode 100644 index 00000000..bbaf6939 --- /dev/null +++ b/assets/images/extensions/txt-svgrepo-com.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/extensions/zip-svgrepo-com.svg b/assets/images/extensions/zip-svgrepo-com.svg new file mode 100644 index 00000000..fff70d24 --- /dev/null +++ b/assets/images/extensions/zip-svgrepo-com.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/js/events.js b/assets/js/events.js new file mode 100644 index 00000000..28a5b887 --- /dev/null +++ b/assets/js/events.js @@ -0,0 +1,14 @@ +function setInputValueEvent(inputTargetSelector, eventTargetAction) { + const input = document.querySelector(inputTargetSelector); + + if (!input) return; + + document.addEventListener("click", function (event) { + if (event.target.dataset?.action !== eventTargetAction) return; + + input.value = event.target.dataset.payload; + console.log(event.target.dataset.payload); + }); +} + +export { setInputValueEvent }; diff --git a/assets/js/init.js b/assets/js/init.js new file mode 100644 index 00000000..223f1dd7 --- /dev/null +++ b/assets/js/init.js @@ -0,0 +1,4 @@ +import { setInputValueEvent } from "./events.js"; + +setInputValueEvent("#input_rename_path", "rename"); +setInputValueEvent("#input_delete_path", "delete"); diff --git a/assets/styles/css/main.css b/assets/styles/css/main.css new file mode 100644 index 00000000..a7a0b99a --- /dev/null +++ b/assets/styles/css/main.css @@ -0,0 +1,1781 @@ +@charset "UTF-8"; +* { + box-sizing: border-box; +} + +ul, +ol { + margin: 0; + padding: 0; + list-style: none; +} + +a { + color: inherit; + text-decoration: none; +} + +*::-webkit-scrollbar { + width: 8px; + /* Tamaño del scroll en vertical */ + height: 8px; + /* Tamaño del scroll en horizontal */ +} + +*::-webkit-scrollbar-thumb { + background: #cccccc; + border-radius: 4px; +} + +/* Cambiamos el fondo y agregamos una sombra cuando esté en hover */ +*::-webkit-scrollbar-thumb:hover { + background: #b3b3b3; + box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2); +} + +/* Cambiamos el fondo cuando esté en active */ +*::-webkit-scrollbar-thumb:active { + background-color: #999999; +} + +/* Ponemos un color de fondo y redondeamos las esquinas del track */ +*::-webkit-scrollbar-track { + background: #e0e0e0; + border-radius: 4px; +} + +/* Cambiamos el fondo cuando esté en active o hover */ +*::-webkit-scrollbar-track:hover, +*::-webkit-scrollbar-track:active { + background: #d4d4d4; +} + +.body { + background-image: url("../../../../assets/images/Polygon Luminary.svg"); + background-size: cover; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; +} + +.login { + width: 320px; + padding: 1.25rem; + background: rgba(255, 255, 255, 0.125); + backdrop-filter: blur(4px); + border-radius: 0.25rem; + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25); + color: white; +} +@media screen and (min-width: 480px) { + .login { + width: 480px; + } +} +@media screen and (min-width: 560px) { + .login { + width: 560px; + } +} +.login__form { + padding: 0; + margin: 0; +} +.login__label { + font-weight: 300; +} + +.list-group-item { + background: none; + color: white; +} +.list-group-item.disabled { + background: none; + color: silver; +} + +/* ===== Breakpoints ===== */ +/* ===== Colors ===== */ +/* ===== Color Classes ===== */ +.text-color-blue { + color: #0d6efd; +} + +.bg-color-blue { + background-color: #0d6efd; +} + +.border-color-blue { + border-color: #0d6efd; +} + +.text-color-indigo { + color: #6610f2; +} + +.bg-color-indigo { + background-color: #6610f2; +} + +.border-color-indigo { + border-color: #6610f2; +} + +.text-color-purple { + color: #6f42c1; +} + +.bg-color-purple { + background-color: #6f42c1; +} + +.border-color-purple { + border-color: #6f42c1; +} + +.text-color-pink { + color: #d63384; +} + +.bg-color-pink { + background-color: #d63384; +} + +.border-color-pink { + border-color: #d63384; +} + +.text-color-red { + color: #dc3545; +} + +.bg-color-red { + background-color: #dc3545; +} + +.border-color-red { + border-color: #dc3545; +} + +.text-color-orange { + color: #fd7e14; +} + +.bg-color-orange { + background-color: #fd7e14; +} + +.border-color-orange { + border-color: #fd7e14; +} + +.text-color-yellow { + color: #ffc107; +} + +.bg-color-yellow { + background-color: #ffc107; +} + +.border-color-yellow { + border-color: #ffc107; +} + +.text-color-green { + color: #198754; +} + +.bg-color-green { + background-color: #198754; +} + +.border-color-green { + border-color: #198754; +} + +.text-color-teal { + color: #20c997; +} + +.bg-color-teal { + background-color: #20c997; +} + +.border-color-teal { + border-color: #20c997; +} + +.text-color-cyan { + color: #0dcaf0; +} + +.bg-color-cyan { + background-color: #0dcaf0; +} + +.border-color-cyan { + border-color: #0dcaf0; +} + +.text-color-transparent { + color: transparent; +} + +.bg-color-transparent { + background-color: transparent; +} + +.border-color-transparent { + border-color: transparent; +} + +/* ===== Display Mode Classes ===== */ +.inline-block { + display: inline-block; +} + +.block { + display: block; +} + +.flex { + display: flex; +} + +.grid { + display: grid; +} + +/* ===== Flex Direction Classes ===== */ +.flex-row { + flex-direction: row; +} + +.flex-column { + flex-direction: column; +} + +.flex-row-reverse { + flex-direction: row-reverse; +} + +.flex-column-reverse { + flex-direction: column-reverse; +} + +/* ===== Flex Wrap Classes ===== */ +.flex-wrap { + flex-wrap: wrap; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse; +} + +/* ===== Flex Main Axis Alignment Classes ===== */ +.justify-content-start { + justify-content: start; +} + +.justify-content-end { + justify-content: end; +} + +.justify-content-center { + justify-content: center; +} + +.justify-content-space-between { + justify-content: space-between; +} + +.justify-content-space-evenly { + justify-content: space-evenly; +} + +.justify-content-space-around { + justify-content: space-around; +} + +/* ===== Flex Cross Axis Alignment Classes ===== */ +.align-items-start { + align-items: start; +} + +.align-items-end { + align-items: end; +} + +.align-items-center { + align-items: center; +} + +.align-items-stretch { + align-items: stretch; +} + +/* =====~ Flex Content Alignment Classes ===== */ +.align-content-start { + align-content: start; +} + +.align-content-end { + align-content: end; +} + +.align-content-center { + align-content: center; +} + +.align-content-space-between { + align-content: space-between; +} + +.align-content-space-evenly { + align-content: space-evenly; +} + +.align-content-space-around { + align-content: space-around; +} + +/* ===== Font Config Variables ===== */ +/* ===== Font Size Classes ===== */ +.font-size-100 { + font-size: 0.512rem; +} + +.font-size-200 { + font-size: 0.64rem; +} + +.font-size-300 { + font-size: 0.8rem; +} + +.font-size-400 { + font-size: 1rem; +} + +.font-size-500 { + font-size: 1.5625rem; +} + +.font-size-600 { + font-size: 1.953125rem; +} + +.font-size-700 { + font-size: 2.44140625rem; +} + +.font-size-800 { + font-size: 3.0517578125rem; +} + +.font-size-900 { + font-size: 3.8146972656rem; +} + +/* ===== Font Weight Classes ===== */ +.font-weight-100 { + font-weight: 100; +} + +.font-weight-200 { + font-weight: 200; +} + +.font-weight-300 { + font-weight: 300; +} + +.font-weight-400 { + font-weight: 400; +} + +.font-weight-500 { + font-weight: 500; +} + +.font-weight-600 { + font-weight: 600; +} + +.font-weight-700 { + font-weight: 700; +} + +.font-weight-800 { + font-weight: 800; +} + +.font-weight-900 { + font-weight: 900; +} + +/* ===== Font Style Classes ===== */ +.font-style-normal { + font-style: normal; +} + +.font-style-italic { + font-style: italic; +} + +/* ===== Text Align Classes ===== */ +.text-align-left { + text-align: left; +} + +.text-align-right { + text-align: right; +} + +.text-align-center { + text-align: center; +} + +.text-align-justify { + text-align: justify; +} + +/* ===== Text Decoration Classes ===== */ +.text-decoration-none { + text-decoration: "none"; +} + +.text-decoration-underline { + text-decoration: "underline"; +} + +/* ===== Border Radius Config Variables ===== */ +/* ===== Border Radius Classes ===== */ +.radius-0 { + border-radius: 0rem; +} + +.radius-1 { + border-radius: 0.125rem; +} + +.radius-2 { + border-radius: 0.25rem; +} + +.radius-3 { + border-radius: 0.375rem; +} + +.radius-4 { + border-radius: 0.5rem; +} + +.radius-5 { + border-radius: 0.625rem; +} + +.radius-6 { + border-radius: 0.75rem; +} + +.radius-7 { + border-radius: 0.875rem; +} + +.radius-8 { + border-radius: 1rem; +} + +.radius-9 { + border-radius: 1.125rem; +} + +.radius-10 { + border-radius: 1.25rem; +} + +.radius-round { + border-radius: 50%; +} + +/* ===== Spacing Config Variables ===== */ +/* ===== Padding Classes ===== */ +.p-0 { + padding: 0rem; +} + +.px-0 { + padding-left: 0rem; + padding-right: 0rem; +} + +.py-0 { + padding-top: 0rem; + padding-bottom: 0rem; +} + +.pl-0 { + padding-left: 0rem; +} + +.pr-0 { + padding-right: 0rem; +} + +.pt-0 { + padding-top: 0rem; +} + +.pb-0 { + padding-bottom: 0rem; +} + +.p-1 { + padding: 0.25rem; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.pl-1 { + padding-left: 0.25rem; +} + +.pr-1 { + padding-right: 0.25rem; +} + +.pt-1 { + padding-top: 0.25rem; +} + +.pb-1 { + padding-bottom: 0.25rem; +} + +.p-2 { + padding: 0.5rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.pl-2 { + padding-left: 0.5rem; +} + +.pr-2 { + padding-right: 0.5rem; +} + +.pt-2 { + padding-top: 0.5rem; +} + +.pb-2 { + padding-bottom: 0.5rem; +} + +.p-3 { + padding: 0.75rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.pl-3 { + padding-left: 0.75rem; +} + +.pr-3 { + padding-right: 0.75rem; +} + +.pt-3 { + padding-top: 0.75rem; +} + +.pb-3 { + padding-bottom: 0.75rem; +} + +.p-4 { + padding: 1rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.pl-4 { + padding-left: 1rem; +} + +.pr-4 { + padding-right: 1rem; +} + +.pt-4 { + padding-top: 1rem; +} + +.pb-4 { + padding-bottom: 1rem; +} + +.p-5 { + padding: 1.25rem; +} + +.px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} + +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + +.pl-5 { + padding-left: 1.25rem; +} + +.pr-5 { + padding-right: 1.25rem; +} + +.pt-5 { + padding-top: 1.25rem; +} + +.pb-5 { + padding-bottom: 1.25rem; +} + +.p-6 { + padding: 1.5rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.pl-6 { + padding-left: 1.5rem; +} + +.pr-6 { + padding-right: 1.5rem; +} + +.pt-6 { + padding-top: 1.5rem; +} + +.pb-6 { + padding-bottom: 1.5rem; +} + +.p-7 { + padding: 1.75rem; +} + +.px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} + +.py-7 { + padding-top: 1.75rem; + padding-bottom: 1.75rem; +} + +.pl-7 { + padding-left: 1.75rem; +} + +.pr-7 { + padding-right: 1.75rem; +} + +.pt-7 { + padding-top: 1.75rem; +} + +.pb-7 { + padding-bottom: 1.75rem; +} + +.p-8 { + padding: 2rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.pl-8 { + padding-left: 2rem; +} + +.pr-8 { + padding-right: 2rem; +} + +.pt-8 { + padding-top: 2rem; +} + +.pb-8 { + padding-bottom: 2rem; +} + +.p-9 { + padding: 2.25rem; +} + +.px-9 { + padding-left: 2.25rem; + padding-right: 2.25rem; +} + +.py-9 { + padding-top: 2.25rem; + padding-bottom: 2.25rem; +} + +.pl-9 { + padding-left: 2.25rem; +} + +.pr-9 { + padding-right: 2.25rem; +} + +.pt-9 { + padding-top: 2.25rem; +} + +.pb-9 { + padding-bottom: 2.25rem; +} + +.p-10 { + padding: 2.5rem; +} + +.px-10 { + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.pl-10 { + padding-left: 2.5rem; +} + +.pr-10 { + padding-right: 2.5rem; +} + +.pt-10 { + padding-top: 2.5rem; +} + +.pb-10 { + padding-bottom: 2.5rem; +} + +/* ===== Margin Classes ===== */ +.m-0 { + margin: 0rem; +} + +.mx-0 { + margin-left: 0rem; + margin-right: 0rem; +} + +.my-0 { + margin-top: 0rem; + margin-bottom: 0rem; +} + +.ml-0 { + margin-left: 0rem; +} + +.mr-0 { + margin-right: 0rem; +} + +.mt-0 { + margin-top: 0rem; +} + +.mb-0 { + margin-bottom: 0rem; +} + +.m-1 { + margin: 0.25rem; +} + +.mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +.my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} + +.ml-1 { + margin-left: 0.25rem; +} + +.mr-1 { + margin-right: 0.25rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mb-1 { + margin-bottom: 0.25rem; +} + +.m-2 { + margin: 0.5rem; +} + +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mb-2 { + margin-bottom: 0.5rem; +} + +.m-3 { + margin: 0.75rem; +} + +.mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} + +.my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} + +.ml-3 { + margin-left: 0.75rem; +} + +.mr-3 { + margin-right: 0.75rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.m-4 { + margin: 1rem; +} + +.mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.ml-4 { + margin-left: 1rem; +} + +.mr-4 { + margin-right: 1rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.m-5 { + margin: 1.25rem; +} + +.mx-5 { + margin-left: 1.25rem; + margin-right: 1.25rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.ml-5 { + margin-left: 1.25rem; +} + +.mr-5 { + margin-right: 1.25rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + +.mb-5 { + margin-bottom: 1.25rem; +} + +.m-6 { + margin: 1.5rem; +} + +.mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; +} + +.my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +.ml-6 { + margin-left: 1.5rem; +} + +.mr-6 { + margin-right: 1.5rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.m-7 { + margin: 1.75rem; +} + +.mx-7 { + margin-left: 1.75rem; + margin-right: 1.75rem; +} + +.my-7 { + margin-top: 1.75rem; + margin-bottom: 1.75rem; +} + +.ml-7 { + margin-left: 1.75rem; +} + +.mr-7 { + margin-right: 1.75rem; +} + +.mt-7 { + margin-top: 1.75rem; +} + +.mb-7 { + margin-bottom: 1.75rem; +} + +.m-8 { + margin: 2rem; +} + +.mx-8 { + margin-left: 2rem; + margin-right: 2rem; +} + +.my-8 { + margin-top: 2rem; + margin-bottom: 2rem; +} + +.ml-8 { + margin-left: 2rem; +} + +.mr-8 { + margin-right: 2rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.mb-8 { + margin-bottom: 2rem; +} + +.m-9 { + margin: 2.25rem; +} + +.mx-9 { + margin-left: 2.25rem; + margin-right: 2.25rem; +} + +.my-9 { + margin-top: 2.25rem; + margin-bottom: 2.25rem; +} + +.ml-9 { + margin-left: 2.25rem; +} + +.mr-9 { + margin-right: 2.25rem; +} + +.mt-9 { + margin-top: 2.25rem; +} + +.mb-9 { + margin-bottom: 2.25rem; +} + +.m-10 { + margin: 2.5rem; +} + +.mx-10 { + margin-left: 2.5rem; + margin-right: 2.5rem; +} + +.my-10 { + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} + +.ml-10 { + margin-left: 2.5rem; +} + +.mr-10 { + margin-right: 2.5rem; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-auto { + margin-top: auto; + margin-bottom: auto; +} + +/* ===== Grid/Flexbox Gap Classes ===== */ +.gap-0 { + gap: 0rem; +} + +.gap-1 { + gap: 0.25rem; +} + +.gap-2 { + gap: 0.5rem; +} + +.gap-3 { + gap: 0.75rem; +} + +.gap-4 { + gap: 1rem; +} + +.gap-5 { + gap: 1.25rem; +} + +.gap-6 { + gap: 1.5rem; +} + +.gap-7 { + gap: 1.75rem; +} + +.gap-8 { + gap: 2rem; +} + +.gap-9 { + gap: 2.25rem; +} + +.gap-10 { + gap: 2.5rem; +} + +/* ===== State Classes ===== */ +.is-hidden { + display: none !important; +} + +/* ===== Dimensional Classes ===== */ +.width-0 { + width: 0%; +} + +.height-0 { + height: 0%; +} + +.width-5 { + width: 5%; +} + +.height-5 { + height: 5%; +} + +.width-10 { + width: 10%; +} + +.height-10 { + height: 10%; +} + +.width-15 { + width: 15%; +} + +.height-15 { + height: 15%; +} + +.width-20 { + width: 20%; +} + +.height-20 { + height: 20%; +} + +.width-25 { + width: 25%; +} + +.height-25 { + height: 25%; +} + +.width-30 { + width: 30%; +} + +.height-30 { + height: 30%; +} + +.width-35 { + width: 35%; +} + +.height-35 { + height: 35%; +} + +.width-40 { + width: 40%; +} + +.height-40 { + height: 40%; +} + +.width-45 { + width: 45%; +} + +.height-45 { + height: 45%; +} + +.width-50 { + width: 50%; +} + +.height-50 { + height: 50%; +} + +.width-55 { + width: 55%; +} + +.height-55 { + height: 55%; +} + +.width-60 { + width: 60%; +} + +.height-60 { + height: 60%; +} + +.width-65 { + width: 65%; +} + +.height-65 { + height: 65%; +} + +.width-70 { + width: 70%; +} + +.height-70 { + height: 70%; +} + +.width-75 { + width: 75%; +} + +.height-75 { + height: 75%; +} + +.width-80 { + width: 80%; +} + +.height-80 { + height: 80%; +} + +.width-85 { + width: 85%; +} + +.height-85 { + height: 85%; +} + +.width-90 { + width: 90%; +} + +.height-90 { + height: 90%; +} + +.width-95 { + width: 95%; +} + +.height-95 { + height: 95%; +} + +.width-100 { + width: 100%; +} + +.height-100 { + height: 100%; +} + +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type=checkbox], +[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type=search] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +.navbar { + min-height: 5rem; +} + +.aside-nav { + min-height: 0; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); +} +@media screen and (min-width: 768px) { + .aside-nav { + min-height: calc(100vh - 5rem); + } +} +.aside-nav__button { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 1rem 1.25rem; + outline: none; + border: none; + background: rgba(75, 69, 69, 0.25); + box-shadow: 0 0 2px rgba(0, 0, 0, 0.25); + color: white; +} +.aside-nav__button--accordion:not(.collapsed) { + background: rgba(255, 255, 255, 0.25); +} +.aside-nav__button--accordion:not(.collapsed)::after { + background: none; + font-family: "Material Icons"; + content: "\e5cf"; +} +.aside-nav__button--accordion::after { + background: none; + font-family: "Material Icons"; + content: "\e5cf"; +} + +.folder-content { + height: 100%; + width: 100%; + padding: 1rem; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25); + border-radius: 0.25rem; +} + +/*# sourceMappingURL=main.css.map */ diff --git a/assets/styles/css/main.css.map b/assets/styles/css/main.css.map new file mode 100644 index 00000000..4bb8ff34 --- /dev/null +++ b/assets/styles/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../sass/base/_reset.scss","../sass/base/_body.scss","../sass/components/_login.scss","../sass/components/_list-group.scss","../sass/utilities/_breakpoint.scss","../sass/utilities/_color.scss","../sass/utilities/_display.scss","../sass/utilities/_flex.scss","../sass/utilities/_font.scss","../sass/utilities/_radius.scss","../sass/utilities/_spacing.scss","../sass/utilities/_state.scss","../sass/utilities/_dimension.scss","../sass/vendors/_normalize.scss","../sass/layout/_navbar.scss","../sass/layout/_aside-nav.scss","../sass/layout/_folder-content.scss"],"names":[],"mappings":"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;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAGb;AAGC;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AAjBZ;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;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","file":"main.css"} \ No newline at end of file diff --git a/assets/styles/sass/base/_body.scss b/assets/styles/sass/base/_body.scss new file mode 100644 index 00000000..4d7953ce --- /dev/null +++ b/assets/styles/sass/base/_body.scss @@ -0,0 +1,6 @@ +.body { + background-image: url("../../../../assets/images/Polygon\ Luminary.svg"); + background-size: cover; + + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} \ No newline at end of file diff --git a/assets/styles/sass/base/_index.scss b/assets/styles/sass/base/_index.scss new file mode 100644 index 00000000..748e7f52 --- /dev/null +++ b/assets/styles/sass/base/_index.scss @@ -0,0 +1,2 @@ +@forward "reset"; +@forward "body"; diff --git a/assets/styles/sass/base/_reset.scss b/assets/styles/sass/base/_reset.scss new file mode 100644 index 00000000..94fa6267 --- /dev/null +++ b/assets/styles/sass/base/_reset.scss @@ -0,0 +1,51 @@ +@use "sass:map"; + +* { + box-sizing: border-box; +} + +ul, +ol { + margin: 0; + padding: 0; + list-style: none; +} + +a { + color: inherit; + text-decoration: none; +} + + +*::-webkit-scrollbar { + width: 8px; /* Tamaño del scroll en vertical */ + height: 8px; /* Tamaño del scroll en horizontal */ +} + +*::-webkit-scrollbar-thumb { + background: rgb(204, 204, 204); + border-radius: 4px; +} + +/* Cambiamos el fondo y agregamos una sombra cuando esté en hover */ +*::-webkit-scrollbar-thumb:hover { + background: rgb(179, 179, 179); + box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2); +} + +/* Cambiamos el fondo cuando esté en active */ +*::-webkit-scrollbar-thumb:active { + background-color: rgb(153, 153, 153); +} + +/* Ponemos un color de fondo y redondeamos las esquinas del track */ +*::-webkit-scrollbar-track { + background: rgb(224, 224, 224); + border-radius: 4px; +} + +/* Cambiamos el fondo cuando esté en active o hover */ +*::-webkit-scrollbar-track:hover, +*::-webkit-scrollbar-track:active { +background: rgb(212, 212, 212); +} \ No newline at end of file diff --git a/assets/styles/sass/components/_index.scss b/assets/styles/sass/components/_index.scss new file mode 100644 index 00000000..01ae30c2 --- /dev/null +++ b/assets/styles/sass/components/_index.scss @@ -0,0 +1,2 @@ +@forward "login"; +@forward "list-group"; diff --git a/assets/styles/sass/components/_list-group.scss b/assets/styles/sass/components/_list-group.scss new file mode 100644 index 00000000..6c1c4d37 --- /dev/null +++ b/assets/styles/sass/components/_list-group.scss @@ -0,0 +1,11 @@ +.list-group { + &-item { + background: none; + color: white; + + &.disabled { + background: none; + color: rgb(192,192,192); + } + } +} \ No newline at end of file diff --git a/assets/styles/sass/components/_login.scss b/assets/styles/sass/components/_login.scss new file mode 100644 index 00000000..277b21a3 --- /dev/null +++ b/assets/styles/sass/components/_login.scss @@ -0,0 +1,31 @@ +$size-sm: 480px; +$size-md: 560px; + +.login { + width: 320px; + + @media screen and (min-width: $size-sm) { + width: $size-sm; + } + + @media screen and (min-width: $size-md) { + width: $size-md; + } + + padding: 1.25rem; + + background: rgba(255,255,255, 0.125); + backdrop-filter: blur(4px); + border-radius: 0.25rem; + box-shadow: 0 0 1rem rgba(0,0,0,0.25); + color: white; + + &__form { + padding: 0; + margin: 0; + } + + &__label { + font-weight: 300; + } +} \ No newline at end of file diff --git a/assets/styles/sass/layout/_aside-nav.scss b/assets/styles/sass/layout/_aside-nav.scss new file mode 100644 index 00000000..181ccee4 --- /dev/null +++ b/assets/styles/sass/layout/_aside-nav.scss @@ -0,0 +1,47 @@ +$size-threeshold: 768px; + +.aside-nav { + min-height: 0; + + @media screen and (min-width: $size-threeshold) { + + min-height: calc(100vh - 5rem); + } + + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + + &__button { + display: flex; + align-items: center; + justify-content: space-between; + + width: 100%; + padding: 1rem 1.25rem; + + outline: none; + border: none; + + background: rgba(75, 69, 69, 0.25); + box-shadow: 0 0 2px rgba(0,0,0,0.25); + color: white; + + &--accordion { + &:not(.collapsed) { + background: rgba(255,255,255,0.25); + + &::after { + background: none; + font-family: 'Material Icons'; + content: '\e5cf'; + } + } + + &::after { + background: none; + font-family: 'Material Icons'; + content: '\e5cf'; + } + } + } +} \ No newline at end of file diff --git a/assets/styles/sass/layout/_folder-content.scss b/assets/styles/sass/layout/_folder-content.scss new file mode 100644 index 00000000..23b44d36 --- /dev/null +++ b/assets/styles/sass/layout/_folder-content.scss @@ -0,0 +1,10 @@ +.folder-content { + height: 100%; + width: 100%; + padding: 1rem; + + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + box-shadow: 0 0 1rem rgba(0,0,0, 0.25); + border-radius: 0.25rem; +} \ No newline at end of file diff --git a/assets/styles/sass/layout/_index.scss b/assets/styles/sass/layout/_index.scss new file mode 100644 index 00000000..04a32a69 --- /dev/null +++ b/assets/styles/sass/layout/_index.scss @@ -0,0 +1,3 @@ +@forward "navbar"; +@forward "aside-nav"; +@forward "folder-content"; \ No newline at end of file diff --git a/assets/styles/sass/layout/_navbar.scss b/assets/styles/sass/layout/_navbar.scss new file mode 100644 index 00000000..11769882 --- /dev/null +++ b/assets/styles/sass/layout/_navbar.scss @@ -0,0 +1,3 @@ +.navbar { + min-height: 5rem; +} \ No newline at end of file diff --git a/assets/styles/sass/main.scss b/assets/styles/sass/main.scss new file mode 100644 index 00000000..ca01a953 --- /dev/null +++ b/assets/styles/sass/main.scss @@ -0,0 +1,5 @@ +@use "base"; +@use "components"; +@use "utilities"; +@use "vendors"; +@use "layout"; \ No newline at end of file diff --git a/assets/styles/sass/utilities/_breakpoint.scss b/assets/styles/sass/utilities/_breakpoint.scss new file mode 100644 index 00000000..01b69777 --- /dev/null +++ b/assets/styles/sass/utilities/_breakpoint.scss @@ -0,0 +1,7 @@ +/* ===== Breakpoints ===== */ + +$sm: 576px !default; +$md: 768px !default; +$lg: 992px !default; +$xl: 1200px !default; +$xxl: 1400px !default; \ No newline at end of file diff --git a/assets/styles/sass/utilities/_color.scss b/assets/styles/sass/utilities/_color.scss new file mode 100644 index 00000000..bda9266e --- /dev/null +++ b/assets/styles/sass/utilities/_color.scss @@ -0,0 +1,34 @@ +/* ===== Colors ===== */ + +$colors: ( + "blue": #0d6efd, + "indigo": #6610f2, + "purple": #6f42c1, + "pink": #d63384, + "red": #dc3545, + "orange": #fd7e14, + "yellow": #ffc107, + "green": #198754, + "teal": #20c997, + "cyan": #0dcaf0, + "transparent": transparent, +) !default; + +/* ===== Color Classes ===== */ + +@each $name, $value in $colors { + .text-color-#{$name} { + color: $value; + } + + .bg-color-#{$name} { + background-color: $value; + } + + .border-color-#{$name} { + border-color: $value; + } +} + + + diff --git a/assets/styles/sass/utilities/_dimension.scss b/assets/styles/sass/utilities/_dimension.scss new file mode 100644 index 00000000..0faf2beb --- /dev/null +++ b/assets/styles/sass/utilities/_dimension.scss @@ -0,0 +1,11 @@ +/* ===== Dimensional Classes ===== */ + +@for $i from 0 through 20 { + .width-#{$i * 5} { + width: $i * 5%; + } + + .height-#{$i * 5} { + height: $i * 5%; + } +} diff --git a/assets/styles/sass/utilities/_display.scss b/assets/styles/sass/utilities/_display.scss new file mode 100644 index 00000000..64e11108 --- /dev/null +++ b/assets/styles/sass/utilities/_display.scss @@ -0,0 +1,9 @@ +/* ===== Display Mode Classes ===== */ + +$_display-modes: inline-block, block, flex, grid; + +@each $display-mode in $_display-modes { + .#{$display-mode} { + display: $display-mode; + } +} diff --git a/assets/styles/sass/utilities/_flex.scss b/assets/styles/sass/utilities/_flex.scss new file mode 100644 index 00000000..b9aa79aa --- /dev/null +++ b/assets/styles/sass/utilities/_flex.scss @@ -0,0 +1,49 @@ +/* ===== Flex Direction Classes ===== */ + +$_direction-opts: row, column, row-reverse, column-reverse; + +@each $value in $_direction-opts { + .flex-#{$value} { + flex-direction: $value; + } +} + +/* ===== Flex Wrap Classes ===== */ + +$_wrap-opts: wrap, wrap-reverse; + +@each $value in $_wrap-opts { + .flex-#{$value} { + flex-wrap: $value; + } +} + +/* ===== Flex Main Axis Alignment Classes ===== */ + +$_justify-content-opts: start, end, center, space-between, space-evenly, space-around; + +@each $value in $_justify-content-opts { + .justify-content-#{$value} { + justify-content: $value; + } +} + +/* ===== Flex Cross Axis Alignment Classes ===== */ + +$_align-items-opts: start, end, center, stretch; + +@each $value in $_align-items-opts { + .align-items-#{$value} { + align-items: $value; + } +} + +/* =====~ Flex Content Alignment Classes ===== */ + +$_align-content-opts: start, end, center, space-between, space-evenly, space-around; + +@each $value in $_align-content-opts { + .align-content-#{$value} { + align-content: $value; + } +} diff --git a/assets/styles/sass/utilities/_font.scss b/assets/styles/sass/utilities/_font.scss new file mode 100644 index 00000000..10b94bea --- /dev/null +++ b/assets/styles/sass/utilities/_font.scss @@ -0,0 +1,66 @@ +@use "sass:math"; + +/* ===== Font Config Variables ===== */ + +$font-size-base: 1rem !default; +$font-size-scale: 1.25 !default; + +/* ===== Font Size Classes ===== */ + +$_font-sizes: ( + 100: $font-size-base * math.pow($font-size-scale, -3), + 200: $font-size-base * math.pow($font-size-scale, -2), + 300: $font-size-base * math.pow($font-size-scale, -1), + 400: $font-size-base, + 500: $font-size-base * math.pow($font-size-scale, 2), + 600: $font-size-base * math.pow($font-size-scale, 3), + 700: $font-size-base * math.pow($font-size-scale, 4), + 800: $font-size-base * math.pow($font-size-scale, 5), + 900: $font-size-base * math.pow($font-size-scale, 6) +); + +@each $name, $value in $_font-sizes { + .font-size-#{$name} { + font-size: $value; + } +} + +/* ===== Font Weight Classes ===== */ + +$_font-weights: 100, 200, 300, 400, 500, 600, 700, 800, 900; + +@each $value in $_font-weights { + .font-weight-#{$value} { + font-weight: $value; + } +} + +/* ===== Font Style Classes ===== */ + +$_font-styles: normal, italic; + +@each $value in $_font-styles { + .font-style-#{$value} { + font-style: $value; + } +} + +/* ===== Text Align Classes ===== */ + +$_text-aligns: left, right, center, justify; + +@each $value in $_text-aligns{ + .text-align-#{$value} { + text-align: $value; + } +} + +/* ===== Text Decoration Classes ===== */ + +$_text-decorations: "none", "underline"; + +@each $value in $_text-decorations { + .text-decoration-#{$value} { + text-decoration: $value; + } +} \ No newline at end of file diff --git a/assets/styles/sass/utilities/_index.scss b/assets/styles/sass/utilities/_index.scss new file mode 100644 index 00000000..97c44bef --- /dev/null +++ b/assets/styles/sass/utilities/_index.scss @@ -0,0 +1,9 @@ +@forward "breakpoint"; +@forward "color"; +@forward "display"; +@forward "flex"; +@forward "font"; +@forward "radius"; +@forward "spacing"; +@forward "state"; +@forward "dimension"; \ No newline at end of file diff --git a/assets/styles/sass/utilities/_radius.scss b/assets/styles/sass/utilities/_radius.scss new file mode 100644 index 00000000..296cb565 --- /dev/null +++ b/assets/styles/sass/utilities/_radius.scss @@ -0,0 +1,16 @@ +/* ===== Border Radius Config Variables ===== */ + +$radius-gap: 0.125rem !default; +$radius-iterations: 10 !default; + +/* ===== Border Radius Classes ===== */ + +@for $i from 0 through $radius-iterations { + .radius-#{$i} { + border-radius: $radius-gap * $i; + } +} + +.radius-round { + border-radius: 50%; +} \ No newline at end of file diff --git a/assets/styles/sass/utilities/_spacing.scss b/assets/styles/sass/utilities/_spacing.scss new file mode 100644 index 00000000..1f099807 --- /dev/null +++ b/assets/styles/sass/utilities/_spacing.scss @@ -0,0 +1,66 @@ +/* ===== Spacing Config Variables ===== */ + +$spacer-gap: 0.25rem !default; +$spacer-iterations: 10 !default; + +/* ===== Padding Classes ===== */ + +@for $i from 0 through $spacer-iterations { + .p-#{$i} { + padding: $i * $spacer-gap; + } // Full + + .px-#{$i} { + padding-left: $i * $spacer-gap; + padding-right: $i * $spacer-gap; + } // Horizontal + + .py-#{$i} { + padding-top: $i * $spacer-gap; + padding-bottom: $i * $spacer-gap; + } // Vertical + + .pl-#{$i} { padding-left: $i * $spacer-gap; } // Left + .pr-#{$i} { padding-right: $i * $spacer-gap; } // Right + .pt-#{$i} { padding-top: $i * $spacer-gap; } // Top + .pb-#{$i} { padding-bottom: $i * $spacer-gap; } // Bottom +} + +/* ===== Margin Classes ===== */ + +@for $i from 0 through $spacer-iterations{ + .m-#{$i} { + margin: $i * $spacer-gap; + } // Full + + .mx-#{$i} { + margin-left: $i * $spacer-gap; + margin-right: $i * $spacer-gap; + } // Horizontal + + .my-#{$i} { + margin-top: $i * $spacer-gap; + margin-bottom: $i * $spacer-gap; + } // Vertical + + .ml-#{$i} { margin-left: $i * $spacer-gap; } // Left + .mr-#{$i} { margin-right: $i * $spacer-gap; } // Right + .mt-#{$i} { margin-top: $i * $spacer-gap; } // Top + .mb-#{$i} { margin-bottom: $i * $spacer-gap; } // Bottom +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} // Horizontal Centered + +.my-auto { + margin-top: auto; + margin-bottom: auto; +} + +/* ===== Grid/Flexbox Gap Classes ===== */ + +@for $i from 0 through $spacer-iterations { + .gap-#{$i} { gap: $i * $spacer-gap; } +} \ No newline at end of file diff --git a/assets/styles/sass/utilities/_state.scss b/assets/styles/sass/utilities/_state.scss new file mode 100644 index 00000000..db6b8232 --- /dev/null +++ b/assets/styles/sass/utilities/_state.scss @@ -0,0 +1,5 @@ +/* ===== State Classes ===== */ + +.is-hidden { + display: none !important; +} \ No newline at end of file diff --git a/assets/styles/sass/vendors/_index.scss b/assets/styles/sass/vendors/_index.scss new file mode 100644 index 00000000..a6ceee71 --- /dev/null +++ b/assets/styles/sass/vendors/_index.scss @@ -0,0 +1 @@ +@forward "normalize"; \ No newline at end of file diff --git a/assets/styles/sass/vendors/_normalize.scss b/assets/styles/sass/vendors/_normalize.scss new file mode 100644 index 00000000..b6eb8216 --- /dev/null +++ b/assets/styles/sass/vendors/_normalize.scss @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} \ No newline at end of file diff --git a/config.php b/config.php new file mode 100644 index 00000000..d8140e64 --- /dev/null +++ b/config.php @@ -0,0 +1,3 @@ + + + + + + + + + + FileSystem Explorer + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/layouts/aside.php b/layouts/aside.php new file mode 100644 index 00000000..6b36a22d --- /dev/null +++ b/layouts/aside.php @@ -0,0 +1,49 @@ + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/layouts/table.php b/layouts/table.php new file mode 100644 index 00000000..58ba5bb3 --- /dev/null +++ b/layouts/table.php @@ -0,0 +1,85 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeSizeLast access dateLast modification dateActions
-svgrepo-com.svg" width="32" alt="" /> +
+ + +
+
folderFolder + "> + + north_east + + +
+ +
+ Oops! Something went wrong :( +
+ +
+ +|]+\/?)*$/", $path)) return false; + if (preg_match("/\.{2}\//", $path)) return false; + + return true; +} + +function validateName($name) +{ + if (!preg_match("/^[^\/\\:*?\"<>|]+$/", $name)) return false; + + return true; +} + +function validateUploadedFile($file) +{ + $type = $file['type']; + $code = $file['error']; + + $FILE_TYPES = [ + 'application/msword', + 'application/vnd.ms-powerpoint', + 'application/vnd.ms-excel', + 'image/svg+xml', + 'image/jpg', + 'image/jpeg', + 'image/png', + 'text/csv', + 'text/plain', + 'application/vnd.oasis.opendocument.text', + 'application/pdf', + 'application/zip', + 'application/vnd.rar', + 'application/x-msdownload', + 'audio/mpeg', + 'video/mp4', + ]; + + if ($code) return $code; + if (!in_array($type, $FILE_TYPES)) return 9; + + return 0; +} diff --git a/utils/getFileInfo.php b/utils/getFileInfo.php new file mode 100644 index 00000000..63f919e5 --- /dev/null +++ b/utils/getFileInfo.php @@ -0,0 +1,14 @@ + $name, "size" => $size, "type" => $type, "modtime" => $modtime, "acctime" => $acctime]; +} diff --git a/utils/getFolderContent.php b/utils/getFolderContent.php new file mode 100644 index 00000000..c164294c --- /dev/null +++ b/utils/getFolderContent.php @@ -0,0 +1,54 @@ + [], "folders" => []]; + $folderPathFull = joinPath([ROOT_DIRECTORY, $urlFolderPath]); + + try { + $fileNames = scandir($folderPathFull, SCANDIR_SORT_ASCENDING); + + foreach ($fileNames as $fileName) { + if (in_array($fileName, [".", ".."])) continue; + + $urlPath = joinPath([$urlFolderPath, $fileName]); + $filePath = joinPath([$folderPathFull, $fileName]); + $info = getFileInfo($filePath); + + $list = is_dir($filePath) ? "folders" : "files"; + + array_push( + $content[$list], + [ + "path" => $urlPath, + "name" => $info["name"], + "size" => $info["size"], + "type" => $info["type"], + "modtime" => $info["modtime"], + "acctime" => $info["acctime"], + ] + ); + } + + if ($urlFolderPath !== "/") { + $parentpath = preg_replace("/\/[^\/:*?\"<>|]*$/", "", $urlFolderPath); + + array_push($content["folders"], [ + "path" => $parentpath ? $parentpath : "/", + "name" => "..", + "type" => "", + "size" => "", + "modtime" => "", + "acctime" => "" + ]); + } + + return $content; + } catch (Throwable $e) { + var_dump($e->getMessage()); + return null; + } +} diff --git a/utils/getFormattedSize.php b/utils/getFormattedSize.php new file mode 100644 index 00000000..3cf3d5dc --- /dev/null +++ b/utils/getFormattedSize.php @@ -0,0 +1,8 @@ + Date: Mon, 8 Nov 2021 12:11:40 +0100 Subject: [PATCH 03/26] and --- actions/createDirectory/index.php | 0 actions/createFile/index.php | 0 actions/uploadFile/index.php | 0 createDirectory.action.php | 55 +++++++++++++++++++++++++ createFile.action.php | 56 ++++++++++++++++++++++++++ layouts/modalAddFolder.php | 4 +- layouts/modalDelete.php | 2 +- layouts/modalRename.php | 2 +- layouts/modalView.php | 22 ++++++++++ uploadFile.action.php | 67 +++++++++++++++++++++++++++++++ utils/joinPath.php | 13 ------ 11 files changed, 204 insertions(+), 17 deletions(-) delete mode 100644 actions/createDirectory/index.php delete mode 100644 actions/createFile/index.php delete mode 100644 actions/uploadFile/index.php create mode 100644 createDirectory.action.php create mode 100644 createFile.action.php create mode 100644 layouts/modalView.php create mode 100644 uploadFile.action.php diff --git a/actions/createDirectory/index.php b/actions/createDirectory/index.php deleted file mode 100644 index e69de29b..00000000 diff --git a/actions/createFile/index.php b/actions/createFile/index.php deleted file mode 100644 index e69de29b..00000000 diff --git a/actions/uploadFile/index.php b/actions/uploadFile/index.php deleted file mode 100644 index e69de29b..00000000 diff --git a/createDirectory.action.php b/createDirectory.action.php new file mode 100644 index 00000000..38dbc730 --- /dev/null +++ b/createDirectory.action.php @@ -0,0 +1,55 @@ +getMessage()); + } +} + +setSessionValue("errorList", $errorList); +setSessionValue("successList", $successList); + +header("Location: ./index.php"); diff --git a/createFile.action.php b/createFile.action.php new file mode 100644 index 00000000..1bb996df --- /dev/null +++ b/createFile.action.php @@ -0,0 +1,56 @@ +getMessage()); + } +} + +setSessionValue("errorList", $errorList); +setSessionValue("successList", $successList); + +header("Location: ./index.php"); diff --git a/layouts/modalAddFolder.php b/layouts/modalAddFolder.php index 8d9cda43..74f102eb 100644 --- a/layouts/modalAddFolder.php +++ b/layouts/modalAddFolder.php @@ -14,8 +14,8 @@ function renderModalAddFolder()