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