diff --git a/.env.example.ini b/.env.example.ini new file mode 100644 index 0000000..356f7d4 --- /dev/null +++ b/.env.example.ini @@ -0,0 +1,2 @@ +; Save request details in a SQLite database at this location +DB_POT="" \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16bb1cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,51 @@ +# Bootstrapping # +################# +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.ini +.env.backup +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +public/robots.txt + + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db +.directory + +# Tool specific files # +####################### +# vim +*~ +*.swp +*.swo +# sublime text & textmate +*.sublime-* +*.stTheme.cache +*.tmlanguage.cache +*.tmPreferences.cache +# Eclipse +.settings/* +# JetBrains, aka PHPStorm, IntelliJ IDEA +.idea/* +# NetBeans +nbproject/* +# Visual Studio Code +.vscode +# Sass preprocessor +.sass-cache/ diff --git a/assets/css/pages/document.css b/assets/css/pages/document.css new file mode 100644 index 0000000..293c2de --- /dev/null +++ b/assets/css/pages/document.css @@ -0,0 +1,104 @@ +:root { + --padding: 20px; + --color-accent: #00b0d0; +} + +* { + font-family: "Verdana", "Arial", sans-serif; + font-size: 12px; +} + +body { + margin: 0; + background: url("/assets/media/Inner-page_cut_02.png") repeat-x right top; +} + +a { + color: inherit; + text-decoration: none; +} + +/* ---- */ + +header, +section { + width: 100%; + display: grid; + align-items: center; + justify-items: center; +} + +header { + height: 100px; +} + +.container { + width: 100%; + max-width: 1000px; +} + +/* ---- */ + +header .container { + display: flex; + justify-content: space-between; +} + +header nav { + margin-left: auto; + display: flex; + align-items: flex-end; +} + +header nav p { + position: relative; + margin: 0; + padding: 5px 10px; + border-radius: 10px; + color: var(--color-accent); +} + +/* --- */ + +#title h1 { + color: white; + font-size: 17px; + margin-left: var(--padding); +} + +.content { + background-color: white; + box-sizing: border-box; + padding: var(--padding); + border-radius: 6px; + border: solid 1px #eee; + min-height: 450px; + box-shadow: 0 0 10px 5px #00000017; + border: solid 1px #e6e6e6; +} + +.content * { + margin: 0; +} + +@media (hover: hover) { + header nav p:hover { + background-color: var(--color-accent); + color: white; + } + + header nav p:hover::after { + --size: 7px; + content: ""; + position: absolute; + top: 100%; + left: 50%; + transform: translateX(-50%); + width: 0; + height: 0; + border-left: var(--size) solid transparent; + border-right: var(--size) solid transparent; + + border-top: var(--size) solid var(--color-accent); + } +} \ No newline at end of file diff --git a/assets/css/pages/index.css b/assets/css/pages/index.css new file mode 100644 index 0000000..46bc5a8 --- /dev/null +++ b/assets/css/pages/index.css @@ -0,0 +1,48 @@ +.content#login { + display: grid; + grid-template-columns: 1fr 300px; +} + +.content#login aside { + background-color: #f7f7f7; + box-sizing: border-box; + padding: var(--padding); + display: flex; + flex-direction: column; + gap: var(--padding); + border-radius: 6px; +} + +.content#login aside h2 { + color: var(--color-accent); + font-size: 17px; +} + +.content#login form { + max-width: 400px; + display: flex; + flex-direction: column; + gap: var(--padding); +} + +.content#login .error { + background-color: #ff000010; + color: red; + padding: 10px; +} + +.content#login input[type="submit"] { + width: 100px; + padding: 7px; + background: linear-gradient(0deg, rgba(0,134,167,1) 0%, rgba(0,176,208,1) 100%); + border-radius: 3px; + border: none; + color: white; + cursor: pointer; +} + +@media (hover: hover) { + .content#login input[type="submit"]:hover { + background: rgba(0,134,167,1); + } +} \ No newline at end of file diff --git a/assets/css/pages/partials/footer.css b/assets/css/pages/partials/footer.css new file mode 100644 index 0000000..c499231 --- /dev/null +++ b/assets/css/pages/partials/footer.css @@ -0,0 +1,25 @@ +footer { + margin-top: var(--padding); +} + +footer #footer_list { + --color: #888; + display: grid; + grid-template-columns: repeat(4, 1fr); + color: var(--color); +} + +footer #footer_list > div { + display: flex; + flex-direction: column; + padding-left: var(--padding); + color: var(--color); +} + +footer #footer_list > div p { + font-weight: bold; +} + +footer #footer_list > div:not(:first-child) { + border-left: solid 1px var(--color); +} \ No newline at end of file diff --git a/assets/js/pages/document.js b/assets/js/pages/document.js new file mode 100644 index 0000000..ed7003d --- /dev/null +++ b/assets/js/pages/document.js @@ -0,0 +1 @@ +globalThis.pragma.Interactions("document", {}); \ No newline at end of file diff --git a/assets/media/Inner-page_cut_02.png b/assets/media/Inner-page_cut_02.png new file mode 100644 index 0000000..52cc62c Binary files /dev/null and b/assets/media/Inner-page_cut_02.png differ diff --git a/assets/media/favicon.ico b/assets/media/favicon.ico new file mode 100644 index 0000000..6ca6812 Binary files /dev/null and b/assets/media/favicon.ico differ diff --git a/assets/media/loading.gif b/assets/media/loading.gif new file mode 100644 index 0000000..1a6908b Binary files /dev/null and b/assets/media/loading.gif differ diff --git a/assets/media/logo.gif b/assets/media/logo.gif new file mode 100644 index 0000000..fc056b2 Binary files /dev/null and b/assets/media/logo.gif differ diff --git a/database/Pot.php b/database/Pot.php new file mode 100644 index 0000000..b30f8d0 --- /dev/null +++ b/database/Pot.php @@ -0,0 +1,33 @@ + $_POST, + "SERVER" => $_SERVER + ]); + + // And save it! + $sql = "INSERT OR IGNORE INTO pot (id, data, version, created) VALUES (?, ?, ?, ?)"; + return $this->return_bool($sql, [ + crc32(uniqid($data, true)), + $data, + 1, + time() + ]); + } + } \ No newline at end of file diff --git a/database/SQLite b/database/SQLite new file mode 160000 index 0000000..6ded7c0 --- /dev/null +++ b/database/SQLite @@ -0,0 +1 @@ +Subproject commit 6ded7c0c2fc457ac5abe8c49f802918fdf005a16 diff --git a/database/init/POT.sql b/database/init/POT.sql new file mode 100644 index 0000000..36e5bae --- /dev/null +++ b/database/init/POT.sql @@ -0,0 +1,6 @@ +CREATE TABLE pot ( + id TEXT PRIMARY KEY NOT NULL, + data TEXT, + version INT NOT NULL, + created INT NOT NULL +); \ No newline at end of file diff --git a/pages/EN_EN/document.php b/pages/EN_EN/document.php new file mode 100644 index 0000000..904b92c --- /dev/null +++ b/pages/EN_EN/document.php @@ -0,0 +1,31 @@ + + + + + + mydlink + + + + +
+
+ + +
+
+
+ +
+ + + + + \ No newline at end of file diff --git a/pages/EN_EN/index.php b/pages/EN_EN/index.php new file mode 100644 index 0000000..1f318d9 --- /dev/null +++ b/pages/EN_EN/index.php @@ -0,0 +1,38 @@ +yoink(); + } + +?> + +
+
+

Sign In to mydlink

+
+
+
+
+
+ +

Invalid username or password. Please try again.

+ +
+ + +
+
+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/pages/EN_EN/partials/footer.php b/pages/EN_EN/partials/footer.php new file mode 100644 index 0000000..8c87596 --- /dev/null +++ b/pages/EN_EN/partials/footer.php @@ -0,0 +1,28 @@ + +
+ +
\ No newline at end of file