You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

124 lines
3.4 KiB

<?php
require_once './config.php';
use nzedb\Users;
$page = new AdminPage();
$user = ['id' => '', 'username' => '', 'firstname' => '', 'lastname' => '', 'email' => '', 'password' => ''];
$error = '';
// Get the user roles.
$userRoles = $page->users->getRoles();
$roles = [];
$defaultRole = Users::ROLE_USER;
$defaultInvites = Users::DEFAULT_INVITES;
foreach ($userRoles as $userRole) {
$roles[$userRole['id']] = $userRole['name'];
if ($userRole['isdefault'] == 1) {
$defaultRole = $userRole['id'];
$defaultInvites = $userRole['defaultinvites'];
}
}
switch ((isset($_REQUEST['action']) ? $_REQUEST['action'] : 'view')) {
case 'add':
$user += [
'role' => $defaultRole,
'invites' => $defaultInvites,
'movieview' => '1',
'xxxview' => '1',
'musicview' => '1',
'consoleview' => '1',
'gameview' => '1',
'bookview' => '1'
];
break;
case 'submit':
if ($_POST["id"] == '') {
$invites = $defaultInvites;
foreach ($userRoles as $role) {
if ($role['id'] == $_POST['role']) {
$invites = $role['defaultinvites'];
}
}
$ret = $page->users->signUp(
$_POST["username"], $_POST["firstname"], $_POST["lastname"], $_POST["password"],
$_POST["email"], '', $_POST["role"], $invites, '', true
);
} else {
$ret = $page->users->update(
$_POST["id"], $_POST["username"], $_POST["firstname"], $_POST["lastname"], $_POST["email"],
$_POST["grabs"], $_POST["role"], $_POST["invites"], (isset($_POST['movieview']) ? '1' : '0'),
(isset($_POST['xxxview']) ? '1' : '0'), (isset($_POST['musicview']) ? '1' : '0'),
(isset($_POST['consoleview']) ? '1' : '0'), (isset($_POST['gameview']) ? '1' : '0'),
(isset($_POST['bookview']) ? '1' : '0')
);
if ($_POST['password'] != '') {
$page->users->updatePassword($_POST["id"], $_POST['password']);
}
}
if ($ret >= 0) {
header("Location:" . WWW_TOP . "/user-list.php");
} else {
switch ($ret) {
case Users::ERR_SIGNUP_BADUNAME:
$error = "Bad username. Try a better one.";
break;
case Users::ERR_SIGNUP_BADPASS:
$error = "Bad password. Try a longer one.";
break;
case Users::ERR_SIGNUP_BADEMAIL:
$error = "Bad email.";
break;
case Users::ERR_SIGNUP_UNAMEINUSE:
$error = "Username in use.";
break;
case Users::ERR_SIGNUP_EMAILINUSE:
$error = "Email in use.";
break;
default:
$error = "Unknown save error.";
break;
}
$user = [
'id' => $_POST["id"],
'username' => $_POST["username"],
'firstname' => $_POST["firstname"],
'lastname' => $_POST["lastname"],
'email' => $_POST["email"],
'grabs' => (isset($_POST["grabs"]) ? $_POST["grabs"] : '0'),
'role' => $_POST["role"],
'invites' => (isset($_POST["invites"]) ? $_POST["invites"] : '0'),
'movieview' => $_POST["movieview"]
];
}
break;
case 'view':
default:
if (isset($_GET["id"])) {
$page->title = "User Edit";
$user = $page->users->getById($_GET["id"]);
}
break;
}
$page->smarty->assign('error', $error);
$page->smarty->assign('user', $user);
$page->smarty->assign('yesno_ids', [1, 0]);
$page->smarty->assign('yesno_names', ['Yes', 'No']);
$page->smarty->assign('role_ids', array_keys($roles));
$page->smarty->assign('role_names', $roles);
$page->content = $page->smarty->fetch('user-edit.tpl');
$page->render();