From d750ec3f2989597ef191495d538cf6c2d2e7ca9d Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 26 Dec 2025 09:00:50 +0000 Subject: [PATCH] 1766739644493 --- assets/css/custom.css | 18 ++ assets/js/main.js | 1 + db/database.php | 24 ++ delete.php | 28 +++ index.php | 499 ++++++++++++++++++++++++++++++------------ 5 files changed, 429 insertions(+), 141 deletions(-) create mode 100644 assets/css/custom.css create mode 100644 assets/js/main.js create mode 100644 db/database.php create mode 100644 delete.php diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..c338ac9 --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,18 @@ +body { + background-color: #F8F9FA; +} + +.hero { + background: linear-gradient(135deg, #0D6EFD, #6f42c1); + color: white; + padding: 4rem 0; + text-align: center; +} + +.upload-section, .files-section { + background-color: #FFFFFF; + padding: 2rem; + border-radius: 0.5rem; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + margin-bottom: 2rem; +} diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..9ad8313 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1 @@ +// Future javascript for progress bars and dynamic uploads diff --git a/db/database.php b/db/database.php new file mode 100644 index 0000000..e68604a --- /dev/null +++ b/db/database.php @@ -0,0 +1,24 @@ +exec("CREATE DATABASE IF NOT EXISTS " . getenv('DB_NAME')); + $conn->exec("USE " . getenv('DB_NAME')); + + // Create table for files + $sql = "CREATE TABLE IF NOT EXISTS files ( + id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, + filename VARCHAR(255) NOT NULL, + filesize INT(11) NOT NULL, + filetype VARCHAR(50) NOT NULL, + upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP + )"; + $conn->exec($sql); + + echo "Database and table created successfully."; +} catch(PDOException $e) { + echo "Error: " . $e->getMessage(); +} +?> \ No newline at end of file diff --git a/delete.php b/delete.php new file mode 100644 index 0000000..77620f6 --- /dev/null +++ b/delete.php @@ -0,0 +1,28 @@ +prepare("DELETE FROM files WHERE filename = ?"); + $stmt->execute([$filename]); + header("Location: index.php?message=File+deleted+successfully&type=success"); + } catch (PDOException $e) { + header("Location: index.php?message=File+deleted+but+database+error:+" . $e->getMessage() . "&type=danger"); + } + } else { + header("Location: index.php?message=Error+deleting+file&type=danger"); + } + } else { + header("Location: index.php?message=File+not+found+or+invalid&type=danger"); + } +} else { + header("Location: index.php"); +} +?> \ No newline at end of file diff --git a/index.php b/index.php index 7205f3d..16db1c1 100644 --- a/index.php +++ b/index.php @@ -1,150 +1,367 @@ prepare("SELECT 1 FROM files WHERE filename = ?"); + $stmt->execute([basename($_FILES["fileToUpload"]["name"])]); + + if ($stmt->fetch()) { + $message = "Sorry, file already exists."; + $message_type = 'danger'; + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) { + $stmt = $conn->prepare("INSERT INTO files (filename, filesize, filetype) VALUES (?, ?, ?)"); + $stmt->execute([ + basename($_FILES["fileToUpload"]["name"]), + $_FILES["fileToUpload"]["size"], + $_FILES["fileToUpload"]["type"] + ]); + $message = "The file ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded."; + $message_type = 'success'; + } else { + $message = "Sorry, there was an error uploading your file."; + $message_type = 'danger'; + } + } + } elseif (isset($_POST['remote_url'])) { + $url = filter_var($_POST['remote_url'], FILTER_VALIDATE_URL); + if ($url) { + $fileName = basename(parse_url($url, PHP_URL_PATH)); + if (empty($fileName)) { + $fileName = 'remote_file_' . time(); + } + $targetFile = $uploadDir . $fileName; + + $stmt = $conn->prepare("SELECT 1 FROM files WHERE filename = ?"); + $stmt->execute([$fileName]); + + if ($stmt->fetch()) { + $message = "Sorry, a file with the name '{$fileName}' already exists."; + $message_type = 'danger'; + } else { + $content = @file_get_contents($url); + if ($content !== false) { + if (file_put_contents($targetFile, $content)) { + $stmt = $conn->prepare("INSERT INTO files (filename, filesize, filetype) VALUES (?, ?, ?)"); + $stmt->execute([ + $fileName, + strlen($content), + mime_content_type($targetFile) // Guess mime type + ]); + $message = "The file from URL has been uploaded as '{$fileName}'."; + $message_type = 'success'; + } else { + $message = "Sorry, there was an error saving the remote file."; + $message_type = 'danger'; + } + } else { + $message = "Sorry, could not retrieve the file from the specified URL."; + $message_type = 'danger'; + } + } + } else { + $message = "Invalid URL provided."; + $message_type = 'danger'; + } + } +} ?> - + - - - New Style - - - - - - - - - - - - - - - - - - - + + + My Files Cloud + + + + -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

+ +
+
+

My Files Cloud

+

Your personal cloud storage solution.

+
+
+ +
+ + + + +
+

Upload Files

+

Storage Capacity: Unlimited

+
+
+ +
+ + +
+
+
+
+ Max. file size: 9999 PB +
+
+ +
+
+ +
+ + +
+ + Max. file size: 9999 PB +
+
+
+ +
+
+

My Files

+
+ + +
+
+ +
+ prepare("SELECT id, filename, filesize, upload_date FROM files ORDER BY filename ASC"); + $stmt->execute(); + $files = $stmt->fetchAll(PDO::FETCH_ASSOC); + } catch (PDOException $e) { + $files = []; + $message = "Database error: " . $e->getMessage(); + $message_type = "danger"; + } + + if (empty($files)): + ?> +
+ +

No files uploaded yet.

+

Use the forms above to add your first file!

+
+ + +
+
+ +
+ +

+ Size: | Uploaded: +

+
+
+
+ + Download +
+ + +
+
+
+ + +
+
+
+ + + -
- + + + + + + - + \ No newline at end of file