Added tournament list to admin panel, with capability to edit them. Future ability to delete coming soon!

This commit is contained in:
FractalParadigm 2025-03-15 17:00:47 -04:00
parent 40f1dcee6e
commit 578326cb03
5 changed files with 177 additions and 3 deletions

View File

@ -25,6 +25,7 @@
<body id="generalBody">
<div id="informationContentPanel">
<hr class="regularLine">
<h3>USER MANAGEMENT</h3>
<div class="navPanel" id="userManagementPanel">
<a href="user_management/user_form.php" target="dataFrame" class="navLink">CREATE USER</a>
@ -32,18 +33,27 @@
<!-- <a href="user_management/create_safe_admin.php" target="dataFrame" class="navLink">CREATE PERMA-ADMIN</a> -->
</div>
<p>&nbsp;</p>
<hr class="regularLine">
<h3>DATA MANAGEMENT</h3>
<div class="navPanel" id="tourneyManagementPanel">
<h4 class="underlined">GAMES</h4>
<p class="newLineThin"></p>
<a href="data_management/game_form.php" target="dataFrame" class="navLink">ADD GAME</a>
<p class="newLine"></p>
<h4 class="underlined">TOURNAMENTS</h4>
<p class="newLineThin"></p>
<a href="data_management/tourney_form.php" target="dataFrame" class="navLink">ADD TOURNAMENT</a>
<a href="data_management/tourney_display_frame.php" target="dataFrame" class="navLink">VIEW TOURNAMENTS</a>
</div>
<p>&nbsp;</p>
<hr class="regularLine">
<h3>!!!!! DANGER ZONE !!!!!</h3>
<div class="navPanel" id="dbManagementPanel">
<a href="db_management/conn_check.php" target="dataFrame" class="navLink">CHECK DB CONNECTION</a>
<!-- <a href="db_management/reinitialise.php" target="dataFrame" class="navLink">REINITIALISE DB</a> -->
</div>
<p>&nbsp;</p>
<hr class="regularLine">
</div>
</body>
</html>

View File

@ -0,0 +1,92 @@
<?php
include("../db_config.php"); // Include database
/*
function getIDfromName($name) {
$key = array_search('Test Tourney V6 EDIT', array_column($tourneyIndex, 'name'));
echo ($tourneyIndex[$key]['id']) . " - ";
echo ($tourneyIndex[$key]['name']);
}*/
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="/styles/primary.css" />
<link rel="stylesheet" href="/styles/admin.css" />
<link rel="stylesheet" href="/styles/admin_nav.css" />
<link rel="stylesheet" href="/styles/tourney_management.css" />
<link rel="stylesheet" href="https://code.jquery.com/ui/1.14.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script src="https://code.jquery.com/ui/1.14.1/jquery-ui.js"></script>
<script src="/scripts/tourney_management.js"></script>
<script src="/scripts/tools.js"></script>
<script>verifyPageInFrame()</script>
<title>TOURNEY EDITING FORM</title>
</head>
<body id="generalBody">
<div id="tourneyEditPanel">
<h2>TOURNEY EDITING</h2>
<p>Edit tournaments here</p>
<hr>
<p></p>
<div class="tourneyListPanel">
<p class="tournamentIDCol"><b>ID</b></p>
<p class="tournamentNameCol"><b>Name</b></p>
<p class="editTournamentCol">&nbsp;</p>
<p class="deleteTournamentCol">&nbsp;</p>
<p class="newLineThin"></p>
<?php
try { // Try opening the SQL database connection
$conn = new PDO("mysql:host=$servername; dbname=$dbName", $dbUsername, $dbPassword);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Grab the list of users from the user list
$sqlGetUserData = $conn->prepare("SELECT tournamentID,tournamentUID,tournamentName FROM " . $tournamentDataTableName . " ORDER BY tournamentID DESC");
// Execute SQL query
$sqlGetUserData->execute();
// Get results from the USERS table
$results = $sqlGetUserData->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) { // failed connection
echo "Connection failed: " . $e->getMessage();
}
foreach ($results as $result) {
$tournamentID = $result["tournamentID"];
$tournamentUID = $result["tournamentUID"];
$tournamentName = $result["tournamentName"];
echo "<p class=\"tournamentIDCol\">$tournamentID</p>";
echo "<p class=\"tournamentNameCol\"><a href=\"/tournament/$tournamentUID\" class=\"plainLinkBlack\" onclick=\"redirect('this', '/tournament/$tournamentUID')\">$tournamentName</a></p>";
echo "<p class=\"editTournamentCol\"><a href=\"/tournament/edit?tournamentID=$tournamentID\" class=\"plainLinkBlack\" onclick=\"redirect('this', '/tournament/edit.php?tournamentID=$tournamentID')\">EDIT</a></p>";
echo "<p class=\"deleteTournamentCol\">DELETE</p>";
echo "<p class=\"newLineThin\"></p>";
}
?>
</div>
<div id="tourneyEditFrameDiv">
</div>
<p>&nbsp;</p>
</div>
</body>
</html>

View File

@ -75,9 +75,9 @@ session_start();
if (!isset($_SESSION["userID"])){
echo "<iframe src=\"../user/login_page.php?redirect=admin\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);\"></iframe>";
} else if (isset($_SESSION["userID"]) && $_SESSION["privileges"] == 1) {
echo "<iframe src=\"admin_nav.php\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);\"></iframe>";
echo "<iframe src=\"admin_nav.html\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);\"></iframe>";
} else {
echo "<iframe src=\"not_admin.php\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);\"></iframe>";
echo "<iframe src=\"not_admin.html\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);\"></iframe>";
}
}
?>

View File

@ -63,4 +63,15 @@ function checkIfScoreTied() {
optionsToShow[i].style.visibility = "hidden";
}
}
}
}
function editTourney(id) {
var div = document.getElementById("tourneyEditFrameDiv");
var tournamentID = document.getElementById("tournament").value;
var html = "";
html += "<iframe src=\"/admin/data_management/tourney_edit_form.php?tournamentID=" + tournamentID + "\" name=\"dataFrame\" class=\"dataFrame\" id=\"dataFrame\" onload=\"resizeIframe(this);resizeIframe(parent.document.getElementById('dataFrame'));\"></iframe>";
div.innerHTML = html;
}

View File

@ -20,6 +20,15 @@
text-align: center;
}
#tourneyEditPanel {
width: 95%;
min-height: 400px;
margin: auto;
text-align: center;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.optionsArea {
display: flex;
flex-wrap: wrap;
@ -178,6 +187,58 @@
font-weight: bold;
}
.tourneyListPanel {
display: flex;
flex-direction: row;
flex-wrap: wrap;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
width: 98%;
justify-content: center;
margin: auto;
border-collapse: collapse;
}
.tournamentIDCol {
width: 2.25em;
text-align: center;
outline: 1px solid black;
margin: auto;
margin-left: 1px;
margin-top: 1px;
}
.tournamentNameCol {
width: 0;
text-align: left;
outline: 1px solid black;
flex-grow: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-left: 0.5em;
padding-right: 0.5em;
margin: auto;
margin-left: 1px;
margin-top: 1px;
}
.editTournamentCol {
width: 3em;
outline: 1px solid black;
margin: auto;
margin-left: 1px;
margin-top: 1px;
}
.deleteTournamentCol {
width: 4.5em;
outline: 1px solid black;
margin: auto;
margin-left: 1px;
margin-top: 1px;
}
/*
This section affects the auto-complete menu for player names
*/