Edit APIs
This commit is contained in:
parent
8b7e465796
commit
1e037cd6a2
@ -289,11 +289,11 @@ function addActivationCodes($count): array
|
||||
$output = ["Status" => "Fail"]; // Default Status is "Fail"
|
||||
|
||||
if (is_numeric($count) && $count > 0 && $_SESSION["privilege_level"] >= $routerConfig["user_admin_permission_level"] && isLoggedIn()) {
|
||||
$stmt = $mysqli->prepare("UPDATE Users SET ActivationToken = ?, CreatedAt = NOW(), CreatedBy = ? WHERE ID = ?");
|
||||
$stmt = $mysqli->prepare("INSERT INTO Users VALUES ActivationToken = ?, CreatedAt = NOW(), CreatedBy = ?");
|
||||
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$activationCode = generateActivationToken();
|
||||
$stmt->bind_param("sii", $activationCode, $_SESSION["ID"], $_SESSION["ID"]);
|
||||
$stmt->bind_param("si", $activationCode, $_SESSION["ID"]);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->affected_rows > 0) {
|
||||
@ -342,20 +342,44 @@ function listActivationCodes(): array
|
||||
|
||||
if (isUserAdmin()) {
|
||||
$activationCodes = [];
|
||||
$result = $mysqli->query("SELECT ActivationToken, CreatedAt, CreatedBy FROM Users");
|
||||
|
||||
// Check if the query executed Successfully
|
||||
if ($result) {
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$activationCodes[] = $row;
|
||||
// Use placeholders in the query
|
||||
$query = "SELECT ActivationToken, CreatedAt, CreatedBy FROM Users WHERE isActivated = 0";
|
||||
$stmt = $mysqli->prepare($query);
|
||||
|
||||
if ($stmt) {
|
||||
// Bind the result variables
|
||||
$activationToken = "";
|
||||
$createdAt = "";
|
||||
$createdBy = "";
|
||||
$stmt->bind_result($activationToken, $createdAt, $createdBy);
|
||||
|
||||
// Execute the prepared statement
|
||||
$stmt->execute();
|
||||
|
||||
// Fetch the results into the bound variables
|
||||
while ($stmt->fetch()) {
|
||||
$activationCodes[] = [
|
||||
'ActivationToken' => $activationToken,
|
||||
'CreatedAt' => $createdAt,
|
||||
'CreatedBy' => $createdBy
|
||||
];
|
||||
}
|
||||
$output["Status"] = "Success";
|
||||
$output["ActivationCodes"] = $activationCodes;
|
||||
|
||||
// Check if any results were fetched
|
||||
if (!empty($activationCodes)) {
|
||||
$output["Status"] = "Success";
|
||||
$output["ActivationCodes"] = $activationCodes;
|
||||
}
|
||||
|
||||
// Close the statement
|
||||
$stmt->close();
|
||||
}
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
function deleteUser($userID): array
|
||||
{
|
||||
global $mysqli, $routerConfig;
|
||||
|
@ -1,12 +1,14 @@
|
||||
<script>
|
||||
function addActivationCodes() {
|
||||
async function addActivationCodes() {
|
||||
const count = document.getElementById("activationCodeCount").value;
|
||||
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "add_activation_codes");
|
||||
data.append("count", count);
|
||||
|
||||
doAccountAction(data, "Activation codes added Successfully!", "Activation codes addition failed.");
|
||||
const result = await doAccountAction(data, "Activation codes added Successfully!", "Activation codes addition failed.");
|
||||
|
||||
displayUserList(result.ActivationCodes);
|
||||
}
|
||||
|
||||
async function listUsers() {
|
||||
@ -48,11 +50,13 @@
|
||||
tableContainer.appendChild(table);
|
||||
}
|
||||
|
||||
function listActivationCodes() {
|
||||
async function listActivationCodes() {
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "list_activation_codes");
|
||||
|
||||
doAccountAction(data, "Activation code list retrieved Successfully!", "Activation code list retrieval failed.");
|
||||
const result = await doAccountAction(data, "Activation code list retrieved Successfully!", "Activation code list retrieval failed.");
|
||||
|
||||
displayUserList(result.ActivationCodes);
|
||||
}
|
||||
|
||||
function deleteUser() {
|
||||
@ -82,7 +86,7 @@
|
||||
<h1>Add Activation Codes</h1>
|
||||
<form>
|
||||
<label for="activationCodeCount">Activation Code Count:</label>
|
||||
<input type="text" id="activationCodeCount" name="activationCodeCount" required>
|
||||
<input type="text" id="activationCodeCount" name="activationCodeCount" required><br>
|
||||
|
||||
<button type="button" onclick="addActivationCodes()">Add Activation Codes</button>
|
||||
</form>
|
||||
@ -106,7 +110,7 @@
|
||||
<h1>Delete User</h1>
|
||||
<form>
|
||||
<label for="userId">User ID:</label>
|
||||
<input type="text" id="userId" name="userId" required>
|
||||
<input type="text" id="userId" name="userId" required><br>
|
||||
|
||||
<button type="button" onclick="deleteUser()">Delete User</button>
|
||||
</form>
|
||||
@ -116,7 +120,7 @@
|
||||
<h1>Delete Activation Code</h1>
|
||||
<form>
|
||||
<label for="activationCode">Activation Code:</label>
|
||||
<input type="text" id="activationCode" name="activationCode" required>
|
||||
<input type="text" id="activationCode" name="activationCode" required><br>
|
||||
|
||||
<button type="button" onclick="deleteActivationCode()">Delete Activation Code</button>
|
||||
</form>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<script>
|
||||
function changePassword() {
|
||||
const userId = document.getElementById("changeUserId").value;
|
||||
const oldPassword = document.getElementById("changeoldPassword").value;
|
||||
const newPassword = document.getElementById("changeNewPassword").value;
|
||||
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "change_password");
|
||||
data.append("user_id", userId);
|
||||
data.append("old_password", oldPassword);
|
||||
data.append("new_password", newPassword);
|
||||
|
||||
doChangePassword(data, "Password change Successful!", "Password change failed.");
|
||||
@ -87,56 +87,53 @@
|
||||
<div class="form-container" id="changePasswordForm">
|
||||
<h1>Change Password</h1>
|
||||
<form>
|
||||
<label for="changeUserId">User ID:</label>
|
||||
<input type="text" id="changeUserId" name="changeUserId" required>
|
||||
|
||||
<label for="changeOldPassword">Old Password:</label>
|
||||
<input type="password" id="changeOldPassword" name="changeOldPassword" required>
|
||||
<input type="password" id="changeOldPassword" name="changeOldPassword" required><br>
|
||||
|
||||
<label for="changeNewPassword">New Password:</label>
|
||||
<input type="password" id="changeNewPassword" name="changeNewPassword" required>
|
||||
<input type="password" id="changeNewPassword" name="changeNewPassword" required><br>
|
||||
|
||||
<button type="button" onclick="changePassword()">Change Password</button>
|
||||
</form>
|
||||
</form><br>
|
||||
</div>
|
||||
|
||||
<div class="form-container" id="updateUserProfileForm">
|
||||
<h1>Update User Profile</h1>
|
||||
<form>
|
||||
<label for="updateUserIdProfile">User ID:</label>
|
||||
<input type="text" id="updateUserIdProfile" name="updateUserIdProfile" required>
|
||||
<input type="text" id="updateUserIdProfile" name="updateUserIdProfile" required><br>
|
||||
|
||||
<label for="updateFirstName">First Name:</label>
|
||||
<input type="text" id="updateFirstName" name="updateFirstName" required>
|
||||
<input type="text" id="updateFirstName" name="updateFirstName" required><br>
|
||||
|
||||
<label for="updateLastName">Last Name:</label>
|
||||
<input type="text" id="updateLastName" name="updateLastName" required>
|
||||
<input type="text" id="updateLastName" name="updateLastName" required><br>
|
||||
|
||||
<label for="updateNickname">Nickname:</label>
|
||||
<input type="text" id="updateNickname" name="updateNickname" required>
|
||||
<input type="text" id="updateNickname" name="updateNickname" required><br>
|
||||
|
||||
<label for="updateMinecraftNick">Minecraft Nick:</label>
|
||||
<input type="text" id="updateMinecraftNick" name="updateMinecraftNick" required>
|
||||
<input type="text" id="updateMinecraftNick" name="updateMinecraftNick" required><br>
|
||||
|
||||
<button type="button" onclick="updateUserProfile()">Update Profile</button>
|
||||
</form>
|
||||
</form><br>
|
||||
</div>
|
||||
|
||||
<div class="form-container" id="getUserInfoForm">
|
||||
<h1>Get User Info</h1>
|
||||
<form>
|
||||
<button type="button" onclick="getUserInfo()">Get User Info</button>
|
||||
</form>
|
||||
</form><br>
|
||||
</div>
|
||||
|
||||
<div class="form-container" id="updateUserEmailForm">
|
||||
<h1>Update User Email</h1>
|
||||
<form>
|
||||
<label for="updateNewEmail">New Email:</label>
|
||||
<input type="email" id="updateNewEmail" name="updateNewEmail" required>
|
||||
<input type="email" id="updateNewEmail" name="updateNewEmail" required><br>
|
||||
|
||||
<button type="button" onclick="updateEmail()">Update Email</button>
|
||||
</form>
|
||||
</form><br>
|
||||
</div>
|
||||
|
||||
<button type="button" onclick="logout()">Logout</button>
|
||||
<button type="button" onclick="logout()">Logout</button><br>
|
||||
|
Loading…
Reference in New Issue
Block a user