-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgroups.php
More file actions
138 lines (128 loc) · 5.69 KB
/
Copy pathgroups.php
File metadata and controls
138 lines (128 loc) · 5.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
session_start();
$is_logged_in = isset($_SESSION['user_id']);
include("db.php");
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit;
}
$user_id = $_SESSION['user_id'];
function isUserInGroup($group_id, $user_id) {
global $conn;
$query = "SELECT * FROM group_members WHERE group_id = '$group_id' AND user_id = '$user_id'";
$result = mysqli_query($conn, $query);
return mysqli_num_rows($result) > 0;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['create_group'])) {
$group_name = mysqli_real_escape_string($conn, $_POST['group_name']);
$subject = mysqli_real_escape_string($conn, $_POST['subject']);
$query = "INSERT INTO discussion_groups (group_name, subject, created_by) VALUES ('$group_name', '$subject', '$user_id')";
mysqli_query($conn, $query);
$group_id = mysqli_insert_id($conn);
mysqli_query($conn, "INSERT INTO group_members (group_id, user_id) VALUES ('$group_id', '$user_id')");
header("Location: groups.php");
exit();
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['delete_group'])) {
$group_id = intval($_POST['group_id']);
$group_query = mysqli_query($conn, "SELECT created_by FROM discussion_groups WHERE id = '$group_id'");
$group_data = mysqli_fetch_assoc($group_query);
if ($group_data && $group_data['created_by'] == $user_id) {
mysqli_query($conn, "DELETE FROM group_messages WHERE group_id = '$group_id'");
mysqli_query($conn, "DELETE FROM group_members WHERE group_id = '$group_id'");
mysqli_query($conn, "DELETE FROM discussion_groups WHERE id = '$group_id'");
}
header("Location: groups.php");
exit();
}
if (isset($_GET['join'])) {
$group_id = intval($_GET['join']);
if (!isUserInGroup($group_id, $user_id)) {
mysqli_query($conn, "INSERT INTO group_members (group_id, user_id) VALUES ('$group_id', '$user_id')");
}
header("Location: chat.php?group_id=$group_id");
exit();
}
$groups = mysqli_query($conn, "SELECT discussion_groups.*, users.username FROM discussion_groups JOIN users ON discussion_groups.created_by = users.id");
$user_groups = mysqli_query($conn, "SELECT discussion_groups.* FROM discussion_groups JOIN group_members ON discussion_groups.id = group_members.group_id WHERE group_members.user_id = '$user_id'");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Study Groups</title>
<link rel="stylesheet" href="css/group.css">
</head>
<body>
<div class="navbar">
<div class="container">
<h1 class="name">Virtual Study Buddy</h1>
<nav>
<ul>
<li><a href="index.php" >Home</a></li>
<li><a href="planner.php">Study Planner</a></li>
<li><a href="scholarships.php">Scholarships</a></li>
<li><a href="groups.php" class="active" >Study Groups</a></li>
<li><a href="resources.php">Resources</a></li>
<?php if ($is_logged_in): ?>
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="logout.php">Logout</a></li>
<?php else: ?>
<li><a href="login.php">Login</a></li>
<li><a href="register.php">Sign Up</a></li>
<?php endif; ?>
</ul>
</nav>
</div>
</div>
<div class="container">
<h2>Your Groups</h2>
<div class="group-list">
<?php while ($row = mysqli_fetch_assoc($user_groups)) : ?>
<div class="form-card group-item">
<h4><?= htmlspecialchars($row['group_name']) ?></h4>
<p><?= htmlspecialchars($row['subject']) ?></p>
<div class="group-actions">
<a href="chat.php?group_id=<?= $row['id'] ?>" class="btn">Go to Chat</a>
<?php if ($row['created_by'] == $user_id) : ?>
<form method="POST" class="inline-form" onsubmit="return confirm('Delete this group? This action cannot be undone.')">
<input type="hidden" name="group_id" value="<?= $row['id'] ?>">
<button type="submit" name="delete_group" class="btn btn-danger">Delete Group</button>
</form>
<?php endif; ?>
</div>
</div>
<?php endwhile; ?>
</div>
<h2>All Groups</h2>
<div class="group-list">
<?php while ($row = mysqli_fetch_assoc($groups)) : ?>
<div class="form-card group-item">
<h4><?= htmlspecialchars($row['group_name']) ?></h4>
<p><?= htmlspecialchars($row['subject']) ?></p>
<small>Created by: <?= htmlspecialchars($row['username']) ?></small>
<div class="group-actions">
<?php if (!isUserInGroup($row['id'], $user_id)) : ?>
<a href="groups.php?join=<?= $row['id'] ?>" class="btn">Join Group</a>
<?php else : ?>
<a href="chat.php?group_id=<?= $row['id'] ?>" class="btn">Go to Chat</a>
<?php endif; ?>
<?php if ($row['created_by'] == $user_id) : ?>
<form method="POST" class="inline-form" onsubmit="return confirm('Delete this group? This action cannot be undone.')">
<input type="hidden" name="group_id" value="<?= $row['id'] ?>">
<button type="submit" name="delete_group" class="btn btn-danger">Delete Group</button>
</form>
<?php endif; ?>
</div>
</div>
<?php endwhile; ?>
</div>
<h2>Create New Group</h2>
<form method="POST" class="form-card">
<input type="text" name="group_name" placeholder="Group Name" required>
<input type="text" name="subject" placeholder="Subject" required>
<button type="submit" name="create_group" class="btn">Create Group</button>
</form>
</div>
</body>
</html>