commit 040af80ad6f602f61d1a5dfd466785dee31375cf Author: 5803024009 Date: Wed Aug 27 06:21:40 2025 -0400 Upload files to "/" diff --git a/hello.php b/hello.php new file mode 100644 index 0000000..9cbccd5 --- /dev/null +++ b/hello.php @@ -0,0 +1,742 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +} catch (PDOException $e) { + die("Connection failed: " . $e->getMessage()); +} + +// Create tables if they don't exist +$create_groups_table = "CREATE TABLE IF NOT EXISTS groups ( + group_id SERIAL PRIMARY KEY, + group_name VARCHAR(255) NOT NULL UNIQUE +)"; + +$create_tasks_table = "CREATE TABLE IF NOT EXISTS tasks ( + task_id SERIAL PRIMARY KEY, + group_id INT NOT NULL, + task VARCHAR(255) NOT NULL, + isdone BOOLEAN DEFAULT FALSE, + task_desc VARCHAR(255) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE +)"; + +$conn->exec($create_groups_table); +$conn->exec($create_tasks_table); + +// Handle form submissions +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + if (isset($_POST['add_group'])) { + $group_name = trim($_POST['group_name']); + if (!empty($group_name)) { + try { + $stmt = $conn->prepare("INSERT INTO groups (group_name) VALUES (?)"); + $stmt->execute([$group_name]); + } catch (PDOException $e) { + $error_message = "Error adding group: Group name might already exist."; + } + } + } + + if (isset($_POST['add_task'])) { + $group_id = $_POST['group_id']; + $task = trim($_POST['task']); + $task_desc = trim($_POST['task_desc']); + if (!empty($task) && !empty($group_id)) { + // If task_desc is empty, provide a default value since it's NOT NULL + if (empty($task_desc)) { + $task_desc = "No description provided"; + } + $stmt = $conn->prepare("INSERT INTO tasks (group_id, task, task_desc, isdone) VALUES (?, ?, ?, FALSE)"); + $stmt->execute([$group_id, $task, $task_desc]); + } + } + + if (isset($_POST['toggle_task'])) { + $task_id = $_POST['task_id']; + $stmt = $conn->prepare("UPDATE tasks SET isdone = NOT isdone WHERE task_id = ?"); + $stmt->execute([$task_id]); + } + + if (isset($_POST['delete_task'])) { + $task_id = $_POST['task_id']; + $stmt = $conn->prepare("DELETE FROM tasks WHERE task_id = ?"); + $stmt->execute([$task_id]); + } + + if (isset($_POST['delete_group'])) { + $group_id = $_POST['group_id']; + $stmt = $conn->prepare("DELETE FROM groups WHERE group_id = ?"); + $stmt->execute([$group_id]); + } + + if (isset($_POST['edit_task'])) { + $task_id = $_POST['task_id']; + $task = trim($_POST['task']); + $task_desc = trim($_POST['task_desc']); + if (!empty($task)) { + // If task_desc is empty, provide a default value since it's NOT NULL + if (empty($task_desc)) { + $task_desc = "No description provided"; + } + $stmt = $conn->prepare("UPDATE tasks SET task = ?, task_desc = ? WHERE task_id = ?"); + $stmt->execute([$task, $task_desc, $task_id]); + } + } +} + +// Fetch all groups +$groups_result = $conn->query("SELECT * FROM groups ORDER BY group_name"); +$groups = $groups_result->fetchAll(PDO::FETCH_ASSOC); + +// Fetch all tasks with group names and creation date +$tasks_result = $conn->query(" + SELECT t.task_id, t.group_id, t.task, t.isdone, t.task_desc, t.created_at, g.group_name + FROM tasks t + JOIN groups g ON t.group_id = g.group_id + ORDER BY g.group_name, t.created_at DESC +"); +$tasks_data = $tasks_result->fetchAll(PDO::FETCH_ASSOC); + +// Group tasks by group name +$tasks = []; +foreach ($tasks_data as $row) { + $tasks[$row['group_name']][] = $row; +} + +// Get task statistics +$stats_result = $conn->query(" + SELECT + g.group_name, + COUNT(t.task_id) as total_tasks, + COUNT(CASE WHEN t.isdone = TRUE THEN 1 END) as completed_tasks, + COUNT(CASE WHEN t.isdone = FALSE THEN 1 END) as pending_tasks + FROM groups g + LEFT JOIN tasks t ON g.group_id = t.group_id + GROUP BY g.group_id, g.group_name + ORDER BY g.group_name +"); +$stats = $stats_result->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + + + Enhanced Task Manager + + + + +
+

Enhanced Task Manager

+ + +
+ + + + +
+ +
+

Total Tasks

+
+
+
+

Completed

+
+
+
+

Pending

+
+
+
+

Groups

+
+
+
+ + +
+ +
+

Add New Group

+
+
+ + +
+ +
+
+ + +
+

Add New Task

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + +
+

Your Task Lists

+ +
+

No tasks yet. Create a group and add some tasks to get started!

+
+ + $group_tasks): ?> + +
+

+
+ +
+ Total: + Completed: + Pending: +
+
+
+ + +
+

+ + +
+
+
+ + +
+ +
+
+ +
+
+ +
+
+ Created: +
+
+ +
+ +
+ + +
+
+
+ + +
+

Edit Task

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