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…
-
-
= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWizzy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.
-
This page will update automatically as the plan is implemented.
-
Runtime: PHP = htmlspecialchars($phpVersion) ?> — UTC = htmlspecialchars($now) ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ Upload Files
+ Storage Capacity: Unlimited
+
+
+
+
+
+
+
+
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:
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+