/home/techb158/workloadmatch.com/Master
Edit: /home/techb158/workloadmatch.com/Master/addmanager.php (14495B)
prepare("SELECT Admin_ID FROM master_profile WHERE Master_ID = ?");
$q->bind_param("s", $Master_ID);
$q->execute();
$q->bind_result($Admin_ID);
$q->fetch();
$q->close();
// Handle toggle active/inactive
if (isset($_GET['toggle']) && isset($_GET['mid'])) {
$chk = $mysqli->prepare("SELECT User_Access FROM manager_profile WHERE Manager_ID = ? AND Admin_ID = ?");
$chk->bind_param("ss", $_GET['mid'], $Admin_ID);
$chk->execute();
$chk->bind_result($current_access);
$chk->fetch();
$chk->close();
if ($current_access !== null) {
$new_access = $current_access == 1 ? 0 : 1;
$upd = $mysqli->prepare("UPDATE manager_profile SET User_Access = ? WHERE Manager_ID = ?");
$upd->bind_param("ss", $new_access, $_GET['mid']);
$upd->execute();
$upd->close();
set_flash_msg('Manager status updated.', 'success');
}
header('Location: addmanager.php'); exit();
}
// Handle update
if (isset($_POST['update_manager'])) {
$mid = $_POST['mid'];
$fname = $_POST['First_Name'];
$lname = $_POST['Last_Name'];
$email = $_POST['email'];
$phone = $_POST['Phone'] ?? '';
$company = $_POST['Company_Name'] ?? '';
$access = $_POST['User_Access'] ?? 1;
$lang = $_POST['prof_lang'] ?? 'en';
$chk = $mysqli->prepare("SELECT Manager_ID FROM manager_profile WHERE Manager_ID = ? AND Admin_ID = ?");
$chk->bind_param("ss", $mid, $Admin_ID);
$chk->execute();
$chk->store_result();
if ($chk->num_rows == 1) {
$chk->close();
$upd = $mysqli->prepare("UPDATE manager_profile SET First_Name=?, Last_Name=?, Email=?, Phone=?, Company_Name=?, User_Access=?, prof_lang=? WHERE Manager_ID=?");
$upd->bind_param("ssssssss", $fname, $lname, $email, $phone, $company, $access, $lang, $mid);
if ($upd->execute()) {
set_flash_msg("Manager '$fname $lname' updated!", 'success');
} else {
set_flash_msg('Update failed.', 'warning');
}
$upd->close();
} else {
set_flash_msg('Manager not found or access denied.', 'warning');
$chk->close();
}
header('Location: addmanager.php'); exit();
}
// Handle add
if (isset($_POST['submit'])) {
$uname = $_POST['username'];
$fname = $_POST['First_Name'];
$lname = $_POST['Last_Name'];
$email = $_POST['email'];
$phone = $_POST['Phone'] ?? '';
$company = $_POST['Company_Name'] ?? '';
$access = $_POST['User_Access'] ?? 1;
$lang = $_POST['prof_lang'] ?? 'en';
$pwd = $_POST['p'];
if (strlen($pwd) != 128) {
set_flash_msg('Invalid password hash.', 'warning');
header('Location: addmanager.php'); exit();
}
$pwd = password_hash($pwd, PASSWORD_BCRYPT);
do {
$nid = mt_rand(10000, 999999);
$chk = $mysqli->prepare("SELECT Manager_ID FROM manager_profile WHERE Manager_ID = ?");
$chk->bind_param("i", $nid);
$chk->execute();
$chk->store_result();
$cnt = $chk->num_rows;
$chk->close();
} while ($cnt > 0);
$chk = $mysqli->prepare("SELECT Manager_ID FROM manager_profile WHERE User_Name = ?");
$chk->bind_param("s", $uname);
$chk->execute();
$chk->store_result();
if ($chk->num_rows > 0) {
set_flash_msg('Username already exists.', 'warning');
header('Location: addmanager.php'); exit();
}
$chk->close();
$dt = date('Y-m-d H:i:s');
$sql = "INSERT INTO manager_profile (Manager_ID, Admin_ID, Master_ID, First_Name, Last_Name, User_Name, Email, Phone, Company_Name, Password, User_Access, Reg_Date, prof_lang) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$ins = $mysqli->prepare($sql);
$ins->bind_param("sssssssssssss", $nid, $Admin_ID, $Master_ID, $fname, $lname, $uname, $email, $phone, $company, $pwd, $access, $dt, $lang);
if ($ins->execute()) {
set_flash_msg("Manager '$fname $lname' created successfully!", 'success');
} else {
set_flash_msg('Error: ' . $ins->error, 'warning');
}
$ins->close();
header('Location: addmanager.php'); exit();
}
?>
Master | Add Manager
| Name | Email | Company | Phone | Status | Actions |
prepare("SELECT Manager_ID, First_Name, Last_Name, Email, Company_Name, Phone, User_Access, prof_lang FROM manager_profile WHERE Admin_ID = ? ORDER BY First_Name");
$ml->bind_param("s", $Admin_ID);
$ml->execute();
$mr = $ml->get_result();
while ($m = $mr->fetch_assoc()) {
$st = $m['User_Access'] == 1 ? 'Active' : 'Inactive';
$toggle_label = $m['User_Access'] == 1 ? 'Deactivate' : 'Activate';
$toggle_class = $m['User_Access'] == 1 ? 'btn-warning' : 'btn-success';
$mid = htmlspecialchars($m['Manager_ID']);
$name = htmlspecialchars($m['First_Name'].' '.$m['Last_Name']);
$email = htmlspecialchars($m['Email']);
$company = htmlspecialchars($m['Company_Name']??'');
$phone = htmlspecialchars($m['Phone']??'');
$fname = htmlspecialchars($m['First_Name']);
$lname = htmlspecialchars($m['Last_Name']);
$plang = htmlspecialchars($m['prof_lang']??'en');
echo "
| $name |
$email |
$company |
$phone |
$st |
$toggle_label
|
";
}
$ml->close();
?>