/home/techb158/workloadmatch.com/Admin
NameSizeModeActions
dashboard.php105150644editdlrm
logs.php100170644editdlrm
main-header-inc.php11950644editdlrm
main-header.php75270644editdlrm
managers.php215240644editdlrm
masters.php217050644editdlrm
pages.php158220644editdlrm
pages_ajax.php6300644editdlrm
reports.php91930644editdlrm
roles.php158330644editdlrm
roles_ajax.php10070644editdlrm
settings.php45750644editdlrm
teachers.php278500644editdlrm
teacher_absence.php3050644editdlrm
Edit: /home/techb158/workloadmatch.com/Admin/masters.php (21705B)
verifyRequest(); if (isset($_POST['action'])) { $action = $_POST['action']; if ($action === 'add_master') { $firstName = trim($_POST['first_name']); $lastName = trim($_POST['last_name']); $email = trim($_POST['email']); $phone = trim($_POST['phone']); $password = trim($_POST['password']); $address = trim($_POST['address']); $roleId = intval($_POST['role_id']); $masterId = uniqid('MST-'); $salt = bin2hex(openssl_random_pseudo_bytes(32)); $hashedPassword = hash('sha512', $password . $salt); $adminId = $_SESSION['user_id']; $stmt = $mysqli->prepare("INSERT INTO master_profile (Master_ID, Admin_ID, First_Name, Last_Name, Email, Phone, Password, salt, Address, role_id, User_Access, Reg_Date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, NOW())"); if ($stmt) { $stmt->bind_param('sssssssssi', $masterId, $adminId, $firstName, $lastName, $email, $phone, $hashedPassword, $salt, $address, $roleId); if ($stmt->execute()) { set_flash_msg('Master added successfully.', 'success'); log_activity($mysqli, 'Created Master', 'Master', $masterId, $firstName . ' ' . $lastName); } else { set_flash_msg('Failed to add master: ' . $stmt->error, 'error'); } $stmt->close(); } else { set_flash_msg('Database error.', 'error'); } header('Location: ' . $_SERVER['PHP_SELF']); exit; } if ($action === 'edit_master') { $masterId = $_POST['master_id']; $firstName = trim($_POST['first_name']); $lastName = trim($_POST['last_name']); $email = trim($_POST['email']); $phone = trim($_POST['phone']); $address = trim($_POST['address']); $roleId = intval($_POST['role_id']); $stmt = $mysqli->prepare("UPDATE master_profile SET First_Name = ?, Last_Name = ?, Email = ?, Phone = ?, Address = ?, role_id = ? WHERE Master_ID = ?"); if ($stmt) { $stmt->bind_param('sssssis', $firstName, $lastName, $email, $phone, $address, $roleId, $masterId); if ($stmt->execute()) { set_flash_msg('Master updated successfully.', 'success'); log_activity($mysqli, 'Updated Master', 'Master', $masterId, $firstName . ' ' . $lastName); } else { set_flash_msg('Failed to update master: ' . $stmt->error, 'error'); } $stmt->close(); } header('Location: ' . $_SERVER['PHP_SELF']); exit; } if ($action === 'toggle_master') { $masterId = $_POST['master_id']; $newStatus = intval($_POST['status']); $stmt = $mysqli->prepare("SELECT First_Name, Last_Name FROM master_profile WHERE Master_ID = ?"); $name = ''; if ($stmt) { $stmt->bind_param('s', $masterId); $stmt->execute(); $stmt->bind_result($fn, $ln); $stmt->fetch(); $name = $fn . ' ' . $ln; $stmt->close(); } if (toggle_user_status($mysqli, 'master_profile', 'Master_ID', $masterId, $newStatus)) { set_flash_msg('Master status updated.', 'success'); log_activity($mysqli, $newStatus ? 'Enabled Master' : 'Disabled Master', 'Master', $masterId, $name); } else { set_flash_msg('Failed to update status.', 'error'); } header('Location: ' . $_SERVER['PHP_SELF']); exit; } if ($action === 'delete_master') { $masterId = $_POST['master_id']; $stmt = $mysqli->prepare("SELECT First_Name, Last_Name FROM master_profile WHERE Master_ID = ?"); $name = ''; if ($stmt) { $stmt->bind_param('s', $masterId); $stmt->execute(); $stmt->bind_result($fn, $ln); $stmt->fetch(); $name = $fn . ' ' . $ln; $stmt->close(); } $stmt = $mysqli->prepare("UPDATE master_profile SET is_archived = 1 WHERE Master_ID = ?"); if ($stmt) { $stmt->bind_param('s', $masterId); if ($stmt->execute()) { set_flash_msg('Master archived successfully.', 'success'); log_activity($mysqli, 'Archived Master', 'Master', $masterId, $name); } else { set_flash_msg('Failed to archive master.', 'error'); } $stmt->close(); } header('Location: ' . $_SERVER['PHP_SELF']); exit; } } } // Fetch counts $totalStmt = $mysqli->query("SELECT COUNT(*) AS cnt FROM master_profile WHERE is_archived IS NULL OR is_archived = 0"); $totalMasters = $totalStmt ? $totalStmt->fetch_assoc()['cnt'] : 0; $activeStmt = $mysqli->query("SELECT COUNT(*) AS cnt FROM master_profile WHERE User_Access = 1 AND (is_archived IS NULL OR is_archived = 0)"); $activeMasters = $activeStmt ? $activeStmt->fetch_assoc()['cnt'] : 0; $disabledStmt = $mysqli->query("SELECT COUNT(*) AS cnt FROM master_profile WHERE User_Access = 0 AND (is_archived IS NULL OR is_archived = 0)"); $disabledMasters = $disabledStmt ? $disabledStmt->fetch_assoc()['cnt'] : 0; // Fetch roles for dropdown $roles = []; $roleResult = $mysqli->query("SELECT role_id, role_name FROM roles ORDER BY role_name"); if ($roleResult) { while ($r = $roleResult->fetch_assoc()) { $roles[] = $r; } } ?> Course Management System | Masters

Masters Manage all Master accounts

Total Masters

Active Masters

Disabled Masters

Master List

query($query); while ($row = $result->fetch_assoc()): $statusLabel = $row['User_Access'] == 1 ? 'Active' : 'Disabled'; $roleName = get_role_name($mysqli, $row['role_id']); $fullName = htmlspecialchars($row['First_Name'] . ' ' . $row['Last_Name']); ?>
Master ID Name Email Phone Managers Count Status Role Actions