| Server IP : 198.54.126.135 / Your IP : 216.73.216.217 Web Server : Apache System : Linux host11.registrar-servers.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : linearpo ( 12988) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/linearpo/public_html/app/ |
Upload File : |
<?php
// users.php - User Management (Admin Only)
require_once 'config.php';
checkAdmin();
$success = '';
$error = '';
// Handle Add User
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['action']) && $_POST['action'] == 'add') {
$username = $conn->real_escape_string($_POST['username']);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$full_name = $conn->real_escape_string($_POST['full_name']);
$phone = $conn->real_escape_string($_POST['phone']);
$role = $conn->real_escape_string($_POST['role']);
$check = $conn->query("SELECT id FROM users WHERE username = '$username'");
if ($check->num_rows > 0) {
$error = 'Username already exists';
} else {
$sql = "INSERT INTO users (username, password, full_name, phone, role)
VALUES ('$username', '$password', '$full_name', '$phone', '$role')";
if ($conn->query($sql)) {
$success = 'User created successfully';
} else {
$error = 'Error creating user: ' . $conn->error;
}
}
}
// Handle Toggle Status
if (isset($_GET['toggle'])) {
$id = intval($_GET['toggle']);
$conn->query("UPDATE users SET status = IF(status='active', 'inactive', 'active') WHERE id = $id");
header("Location: users.php");
exit();
}
// Handle Reset Password
if (isset($_GET['reset'])) {
$id = intval($_GET['reset']);
$new_pass = password_hash('agent123', PASSWORD_DEFAULT);
$conn->query("UPDATE users SET password = '$new_pass' WHERE id = $id");
$success = 'Password reset to: agent123';
}
$page_title = "User Management";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $page_title; ?> - M-Pesa Agent System</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css" rel="stylesheet">
<style>
:root { --mpesa-green: #00a650; }
body { background-color: #f8f9fa; }
.navbar { background: linear-gradient(135deg, var(--mpesa-green) 0%, #008f43 100%); }
.sidebar { min-height: calc(100vh - 56px); background: white; box-shadow: 2px 0 10px rgba(0,0,0,0.1); }
.sidebar .nav-link { color: #333; padding: 15px 20px; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background-color: rgba(0, 166, 80, 0.1); color: var(--mpesa-green); border-right: 3px solid var(--mpesa-green); }
.sidebar .nav-link i { margin-right: 10px; width: 20px; }
.user-card { background: white; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.08); }