Files
luos/workflow/engine/methods/roles/data_rolesPermissions.php

45 lines
1.3 KiB
PHP
Raw Normal View History

<?php
2015-03-18 13:47:30 -04:00
$filter = new InputFilter();
$_GET = $filter->xssFilterHard($_GET);
$_REQUEST = $filter->xssFilterHard($_REQUEST);
$ROL_UID = $_GET['rUID'];
$TYPE_DATA = $_GET["type"];
global $RBAC;
$filter = (isset($_REQUEST['textFilter'])) ? $_REQUEST['textFilter'] : '';
2011-01-28 22:30:25 +00:00
//BUG 7554: erik/ hook for existents environments that have not PM_CANCELCASE
if ($RBAC->permissionsObj->loadByCode('PM_CANCELCASE') === false) {
$RBAC->permissionsObj->create(array('PER_CODE' => 'PM_CANCELCASE', 'PER_CREATE_DATE' => date('Y-m-d H:i:s')
));
}
if ($TYPE_DATA == 'list') {
$oDataset = $RBAC->getRolePermissions($ROL_UID, $filter, 1);
}
if ($TYPE_DATA == 'show') {
$oDataset = $RBAC->getAllPermissions($ROL_UID, $RBAC->sSystem, $filter, 1);
}
$rows = [];
2022-12-19 13:19:36 -04:00
$rolesPermissions = new RolesPermissions();
$permissionsAdmin = $RBAC->loadPermissionAdmin();
while ($oDataset->next()) {
2013-04-11 09:51:39 -04:00
$row = $oDataset->getRow();
2022-12-19 13:19:36 -04:00
$rolesPermissions->setPerUid($row['PER_UID']);
// Get permission name
$row['PER_NAME'] = $rolesPermissions->getPermissionName();
// Define permission type
$row['TYPE'] = array_search($row['PER_UID'], array_column($permissionsAdmin, 'PER_UID')) !== false ? 'ADMIN' : 'CUSTOM';
2013-04-11 09:51:39 -04:00
$rows[] = $row;
}
2013-04-11 09:51:39 -04:00
$result = [
'permissions' => $rows
];
echo G::json_encode($result);