parent
641f2caaeb
commit
07ade37d01
@ -0,0 +1,113 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/../src/storage/UserRepository.php';
|
||||
|
||||
use MailServer\Storage\UserRepository;
|
||||
|
||||
session_start();
|
||||
|
||||
// 简单身份验证
|
||||
if (!isset($_SESSION['admin_logged_in'])) {
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$repo = new UserRepository();
|
||||
$action = $_GET['action'] ?? '';
|
||||
$message = '';
|
||||
|
||||
// 处理操作
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
switch ($_POST['action']) {
|
||||
case 'create':
|
||||
if ($repo->create($_POST['username'], $_POST['password'],
|
||||
isset($_POST['is_admin']), $_POST['mailbox_size'])) {
|
||||
$message = '用户创建成功';
|
||||
}
|
||||
break;
|
||||
case 'toggle':
|
||||
$repo->toggleActive($_POST['user_id'], $_POST['active']);
|
||||
break;
|
||||
case 'delete':
|
||||
$repo->delete($_POST['user_id']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$users = $repo->getAll();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>用户管理</title>
|
||||
<style>
|
||||
body { font-family: Arial; margin: 20px; }
|
||||
.success { color: green; padding: 10px; background: #e8f5e8; }
|
||||
table { border-collapse: collapse; width: 100%; margin: 20px 0; }
|
||||
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
|
||||
th { background: #f5f5f5; }
|
||||
.form-group { margin: 10px 0; }
|
||||
input, select { padding: 5px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1> 邮件服务器用户管理</h1>
|
||||
|
||||
<?php if ($message): ?>
|
||||
<div class="success"><?php echo htmlspecialchars($message); ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<h2>创建新用户</h2>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="action" value="create">
|
||||
<div class="form-group">
|
||||
<input type="email" name="username" placeholder="邮箱地址" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="password" name="password" placeholder="密码" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>
|
||||
<input type="checkbox" name="is_admin"> 管理员
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="number" name="mailbox_size" value="100" min="10" max="10240"> MB
|
||||
</div>
|
||||
<button type="submit">创建用户</button>
|
||||
</form>
|
||||
|
||||
<h2>用户列表</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th><th>邮箱</th><th>类型</th><th>状态</th><th>容量</th><th>创建时间</th><th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($users as $user): ?>
|
||||
<tr>
|
||||
<td><?php echo $user['id']; ?></td>
|
||||
<td><?php echo htmlspecialchars($user['username']); ?></td>
|
||||
<td><?php echo $user['is_admin'] ? '管理员' : '普通'; ?></td>
|
||||
<td><?php echo $user['is_active'] ? '激活' : '禁用'; ?></td>
|
||||
<td><?php echo $user['max_mailbox_size']; ?> MB</td>
|
||||
<td><?php echo $user['created_at']; ?></td>
|
||||
<td>
|
||||
<form method="POST" style="display:inline;">
|
||||
<input type="hidden" name="action" value="toggle">
|
||||
<input type="hidden" name="user_id" value="<?php echo $user['id']; ?>">
|
||||
<input type="hidden" name="active" value="<?php echo $user['is_active'] ? '0' : '1'; ?>">
|
||||
<button type="submit"><?php echo $user['is_active'] ? '禁用' : '启用'; ?></button>
|
||||
</form>
|
||||
<form method="POST" style="display:inline;">
|
||||
<input type="hidden" name="action" value="delete">
|
||||
<input type="hidden" name="user_id" value="<?php echo $user['id']; ?>">
|
||||
<button type="submit" onclick="return confirm('确定删除?')">删除</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in new issue