Skip to content

Commit 16469ec

Browse files
committed
Chat, Announcement, Scoreboard, Map and full working notification
0 parents  commit 16469ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+3525
-0
lines changed

.project

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>secgen</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
</buildSpec>
9+
<natures>
10+
<nature>com.aptana.projects.webnature</nature>
11+
<nature>com.aptana.editor.php.phpNature</nature>
12+
</natures>
13+
</projectDescription>

admin.php

Lines changed: 335 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
<?php
2+
if(!isset($_GET['option'])){
3+
header('location:admin.php?option=team');
4+
}
5+
6+
?>
7+
<!DOCTYPE html>
8+
<html>
9+
<head>
10+
<meta charset="UTF-8" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimal-ui" />
12+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
13+
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
14+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
15+
<link href="https://fonts.googleapis.com/css?family=Iceland|Orbitron" rel="stylesheet">
16+
<link href="css/admin.css" type="text/css" rel="stylesheet" />
17+
</head>
18+
<body style="background:url('images/bgadmin.png');">
19+
20+
<div id="wrapper">
21+
<h1 id="head">Admin Portal</h1>
22+
<div id="menu">
23+
<h1>Options</h1>
24+
<a href="admin.php?option=team"><span>TEAM</span></a>
25+
<a href="admin.php?option=team-members"><span>TEAM MEMBERS</span></a>
26+
<a href="admin.php?option=token"><span>CREATE & VIEW TOKENS</span></a>
27+
<a href="admin.php?option=flags"><span>FLAGS</span></a>
28+
<a href="admin.php?option=options"><span>OPTIONS</span></a>
29+
<a href="admin.php?option=announce"><span>ANNOUNCE</span></a>
30+
<a href="admin.php?option=import-secgen"><span>IMPORT SECGEN</span></a>
31+
<a href="template/logout.php"><span>LOGOUT</span></a>
32+
</div>
33+
<div id="content">
34+
<!-- <h1>Manage Flags and Options</h1> -->
35+
<?php
36+
37+
38+
if(isset($_GET['option'])){
39+
$command = $_GET['option'];
40+
include 'template/connection.php';
41+
switch($command){
42+
case "announce":
43+
?>
44+
<h1>Announce</h1>
45+
<form method="post" action="admin.php?option=announce">
46+
<textarea rows="10" placeholder="Enter your message for announcement" name="team_announce"></textarea>
47+
<input id="ann_submit" type="submit" value="Send" name="a_send"/>
48+
</form>
49+
<?php
50+
if(isset($_POST['a_send'])){
51+
if(!empty($_POST['team_announce'])){
52+
$ann_post = $_POST['team_announce'];
53+
$announce_insert = mysqli_query($connection, "UPDATE options SET value='$ann_post' WHERE name='ANNOUNCE'");
54+
if($announce_insert){
55+
$ann_updater = mysqli_query($connection, "UPDATE updater SET ANNOUNCE='1'");
56+
if($ann_updater){
57+
echo "<p style='color:green;margin-left:10%;'>Announcement Successful</p>";
58+
}else{
59+
echo "<p style='color:maroon;margin-left:10%;'>Failed to set updater</p>";
60+
}
61+
}else{
62+
echo "<p style='color:maroon;margin-left:10%;'>Failed to Announce</p>";
63+
}
64+
65+
}else{
66+
echo "<p style='color:maroon;margin-left:10%;'>Textarea is empty</p>";
67+
}
68+
}
69+
break;
70+
71+
case "team":
72+
?>
73+
<h1>Team</h1>
74+
<table>
75+
<tr class="table_heading">
76+
<th>Team Code</th>
77+
<th>Team Name</th>
78+
<th>Logo</th>
79+
</tr>
80+
<?php
81+
$team_list = mysqli_query($connection, "SELECT * FROM team");
82+
while($team_list_row = mysqli_fetch_assoc($team_list)){
83+
?>
84+
<tr>
85+
<td><?php echo $team_list_row['TEAM'];?></td>
86+
<td><?php echo $team_list_row['TEAMNAME'];?></td>
87+
<td><?php echo $team_list_row['LOGO'];?></td>
88+
</tr>
89+
<?php
90+
}
91+
echo "</table>";?>
92+
<div id="token-div-add">
93+
<form method="post" action="admin.php?option=team">
94+
<table style="width:100%;">
95+
<tr>
96+
<th>
97+
<h1>Create Team</h1>
98+
</th>
99+
<th>
100+
<input type="text" name="team-create" placeholder="Team Name"/>
101+
</th>
102+
<th id="team-submit-btn">
103+
<input type="submit" name="team-create-submit" value="Create"/>
104+
</th>
105+
</tr>
106+
</table>
107+
</form>
108+
</div>
109+
<?php
110+
if(isset($_POST['team-create-submit'])){
111+
if(!empty($_POST['team-create'])){
112+
$team_create = $_POST['team-create'];
113+
$team_create_count = mysqli_num_rows(mysqli_query($connection, "SELECT TEAM FROM team")) + 1;
114+
$team_create_res = mysqli_query($connection, "INSERT INTO team (TEAM, TEAMNAME) VALUES ('$team_create_count','$team_create')");
115+
if($team_create_res){
116+
echo "<p style='color:green;margin-left:10%;'>Team Creation Successful</p>";
117+
118+
}else{
119+
echo "<p style='color:maroon;margin-left:10%;'>Failed to create team</p>";
120+
}
121+
122+
}else{
123+
echo "<p style='color:maroon;margin-left:10%;'>Team name is empty</p>";
124+
}
125+
}
126+
break;
127+
128+
case "team-members":
129+
?>
130+
<h1>Team Members</h1>
131+
<div id="team1-div">
132+
<table>
133+
<tr class="table_heading">
134+
<th>Team Code</th>
135+
<th>Team Members</th>
136+
</tr>
137+
<tr>
138+
<?php
139+
140+
$team_members_res = mysqli_query($connection, "SELECT DISTINCT TEAM FROM users ORDER BY TEAM ASC");
141+
while($team_members_row = mysqli_fetch_assoc($team_members_res)){
142+
$team_mem_code = $team_members_row['TEAM'];
143+
$team_members_list = mysqli_query($connection, "SELECT USERNAME FROM users WHERE TEAM='$team_mem_code'");
144+
$count_members = mysqli_num_rows($team_members_list);
145+
$team_name_getter = mysqli_query($connection, "SELECT TEAMNAME FROM team WHERE TEAM='$team_mem_code'");
146+
while($team_name_getter_row = mysqli_fetch_assoc($team_name_getter)){
147+
echo "<td rowspan='$count_members'>".$team_name_getter_row['TEAMNAME']."</td>";
148+
}
149+
while($team_members_list_row = mysqli_fetch_assoc($team_members_list)){
150+
$username = $team_members_list_row['USERNAME'];
151+
if(empty($username)){
152+
echo "<td>Not Registered</td></tr>";
153+
}else{
154+
echo "<td>".$username."</td></tr>";
155+
}
156+
157+
}
158+
}
159+
160+
?>
161+
162+
</table>
163+
</div>
164+
<?php
165+
break;
166+
167+
case "token":
168+
?>
169+
<h1>Generate Token</h1>
170+
<div id="token-div-add">
171+
<form method="post" action="admin.php?option=token">
172+
<table style="width:100%;">
173+
<tr>
174+
<th>
175+
<input type="hidden" value="token" name="option" />
176+
<select name="token_gen_team">
177+
<?php
178+
$token_team_list = mysqli_query($connection, "SELECT TEAM, TEAMNAME FROM team");
179+
while($token_team_list_row = mysqli_fetch_assoc($token_team_list)){
180+
$token_team = $token_team_list_row['TEAM'];
181+
$token_team_name = $token_team_list_row['TEAMNAME'];
182+
echo "<option value='$token_team'>$token_team_name</option>";
183+
}
184+
?>
185+
</select>
186+
</th>
187+
<th>
188+
<input type="number" name="token_gen_num" placeholder="Number of Token" id="token-input-1" maxlength="2"/>
189+
</th>
190+
<th>
191+
<input type="submit" name="token_gen_submit" value="Generate" id="token-input-2"/>
192+
</th>
193+
</tr>
194+
</table>
195+
</form>
196+
<?php
197+
if(isset($_POST['token_gen_submit'])){
198+
if(isset($_POST['option']) && isset($_POST['token_gen_team']) && isset($_POST['token_gen_num'])){
199+
$token_counter = $_POST['token_gen_num'];
200+
$token_team = $_POST['token_gen_team'];
201+
if($token_counter > 0 && $token_counter < 10){
202+
for($int = 0; $int <$token_counter; $int++){
203+
$randomKey = strtoupper(md5(bin2hex(openssl_random_pseudo_bytes(16)).time()));
204+
$insertToken = mysqli_query($connection, "INSERT INTO users (TEAM, TYPE, TOKEN, TOKEN_ACT) VALUES ('$token_team','N','$randomKey','0')");
205+
if($insertToken){
206+
207+
}else{
208+
echo "<p style='color:maroon;'>Failed to Insert</p>";
209+
}
210+
}
211+
}else{
212+
echo "<p style='color:maroon;'>Team should be between 1-10</p>";
213+
}
214+
}
215+
}
216+
?>
217+
</div>
218+
<h1>Available & Registered Token</h1>
219+
<div id="token-div">
220+
<table>
221+
<tr class="table_heading">
222+
<th>Team Code</th>
223+
<th>Username</th>
224+
<th>Token</th>
225+
</tr>
226+
<tr>
227+
<?php
228+
$team_members_res = mysqli_query($connection, "SELECT DISTINCT TEAM FROM users ORDER BY TEAM ASC");
229+
while($team_members_row = mysqli_fetch_assoc($team_members_res)){
230+
$team_mem_code = $team_members_row['TEAM'];
231+
$team_members_list = mysqli_query($connection, "SELECT USERNAME,TOKEN,TOKEN_ACT FROM users WHERE TEAM='$team_mem_code'");
232+
$count_members = mysqli_num_rows($team_members_list);
233+
echo "<td rowspan='$count_members'>$team_mem_code</td>";
234+
while($team_members_list_row = mysqli_fetch_assoc($team_members_list)){
235+
$username = $team_members_list_row['USERNAME'];
236+
$token = $team_members_list_row['TOKEN'];
237+
$token_stat = $team_members_list_row['TOKEN_ACT'];
238+
239+
if($token_stat == 1){
240+
echo "<td style='background:#5e842e;color:black;'>".$username."</td>";
241+
echo "<td style='background:#5e842e;color:black;'>".$token."</td></tr>";
242+
}else{
243+
echo "<td style='background:#ff9999;color:black;'>".$username."</td>";
244+
echo "<td style='background:#ff9999;color:black;'>".$token."</td></tr>";
245+
}
246+
}
247+
}
248+
?>
249+
250+
</table>
251+
</div>
252+
<?php
253+
break;
254+
255+
case "options":
256+
?>
257+
<h1>Event Options</h1>
258+
<div id="token-div-add">
259+
<form method="post" action="admin.php?option=options">
260+
<table style="width:100%;">
261+
<tr>
262+
<th>
263+
<h1>Homepage Date</h1>
264+
</th>
265+
<th>
266+
<input type="datetime-local" name="homepage-date" />
267+
</th>
268+
<th>
269+
<input type="submit" name="homepage-submit" value="Update"/>
270+
</th>
271+
</tr>
272+
</table>
273+
</form>
274+
<form method="post" action="admin.php?option=options">
275+
<table style="width:100%;">
276+
<tr>
277+
<th>
278+
<h1>CTF Game End Time</h1>
279+
</th>
280+
<th>
281+
<input type="datetime-local" name="ctf-date" />
282+
</th>
283+
<th>
284+
<input type="submit" name="ctf-submit" value="Update"/>
285+
</th>
286+
</tr>
287+
</table>
288+
</form>
289+
</div>
290+
291+
<?php
292+
if(isset($_POST['homepage-submit'])){
293+
if(!empty($_POST['homepage-date'])){
294+
$home_date = $_POST['homepage-date'];
295+
$home_date_result = mysqli_query($connection, "UPDATE options SET value='$home_date' WHERE name='HOME_TIME'");
296+
if($home_date_result){
297+
echo "<p style='color:green;margin-left:10%;'>Home Time Successful</p>";
298+
299+
}else{
300+
echo "<p style='color:maroon;margin-left:10%;'>Failed to update hometime</p>";
301+
}
302+
303+
}else{
304+
echo "<p style='color:maroon;margin-left:10%;'>Time is empty</p>";
305+
}
306+
}
307+
308+
if(isset($_POST['ctf-submit'])){
309+
if(!empty($_POST['ctf-date'])){
310+
$ctf_date = $_POST['ctf-date'];
311+
$ctf_date_result = mysqli_query($connection, "UPDATE options SET value='$ctf_date' WHERE name='END_TIME'");
312+
if($ctf_date_result){
313+
echo "<p style='color:green;margin-left:10%;'>CTF Time Successful</p>";
314+
315+
}else{
316+
echo "<p style='color:maroon;margin-left:10%;'>Failed to update CTF time</p>";
317+
}
318+
319+
}else{
320+
echo "<p style='color:maroon;margin-left:10%;'>Time is empty</p>";
321+
}
322+
}
323+
break;
324+
325+
default:
326+
header('location:admin.php?option=team');
327+
break;
328+
}
329+
}
330+
331+
?>
332+
</div>
333+
</div>
334+
</body>
335+
</html>

0 commit comments

Comments
 (0)