misuzu/public/manage/users/roles.php

44 lines
1.1 KiB
PHP
Raw Normal View History

2019-06-09 22:10:59 +00:00
<?php
2019-09-28 22:38:39 +00:00
namespace Misuzu;
2020-05-25 19:58:06 +00:00
use Misuzu\Users\User;
2019-06-09 22:10:59 +00:00
require_once '../../../misuzu.php';
2020-05-25 19:58:06 +00:00
if(!User::hasCurrent() || !perms_check_user(MSZ_PERMS_USER, User::getCurrent()->getId(), MSZ_PERM_USER_MANAGE_ROLES)) {
2019-06-09 22:10:59 +00:00
echo render_error(403);
return;
}
2019-09-28 22:38:39 +00:00
$manageRolesCount = (int)DB::query('
2019-06-09 22:10:59 +00:00
SELECT COUNT(`role_id`)
FROM `msz_roles`
')->fetchColumn();
$rolesPagination = new Pagination($manageRolesCount, 10);
2019-06-09 22:10:59 +00:00
if(!$rolesPagination->hasValidOffset()) {
2019-06-09 22:10:59 +00:00
echo render_error(404);
return;
}
2019-09-28 22:38:39 +00:00
$getManageRoles = DB::prepare('
2019-06-09 22:10:59 +00:00
SELECT
`role_id`, `role_colour`, `role_name`, `role_title`,
(
SELECT COUNT(`user_id`)
FROM `msz_user_roles` as ur
WHERE ur.`role_id` = r.`role_id`
) as `users`
FROM `msz_roles` as r
LIMIT :offset, :take
');
$getManageRoles->bind('offset', $rolesPagination->getOffset());
$getManageRoles->bind('take', $rolesPagination->getRange());
2019-09-28 22:38:39 +00:00
$manageRoles = $getManageRoles->fetchAll();
2019-06-09 22:10:59 +00:00
Template::render('manage.users.roles', [
2019-06-09 22:10:59 +00:00
'manage_roles' => $manageRoles,
'manage_roles_pagination' => $rolesPagination,
]);