TRUE, 'title' => 'Platform Permissions']);
// Cache group permissions
$role_perms['permission'] = [];
foreach (dbFetchRows("SELECT * FROM `roles_permissions` WHERE `role_id` = ?", [ $vars['role_id'] ]) as $perm) {
$role_perms['permission'][$perm['permission']] = TRUE;
}
if (!safe_empty($role_perms['permission'])) {
echo('
' . PHP_EOL);
foreach ($role_perms['permission'] as $perm => $status) {
echo(' |
' . $perm . '
' . $config['permissions'][$perm]['descr'] . ' |
');
$form = [
'type' => 'simple',
//'submit_by_key' => TRUE,
//'url' => generate_url($vars)
];
// Elements
$form['row'][0]['role_id'] = ['type' => 'hidden', 'value' => $role['role_id']];
$form['row'][0]['permission'] = ['type' => 'hidden', 'value' => $perm];
$form['row'][0]['action'] = ['type' => 'hidden', 'value' => 'role_permission_del'];
$form['row'][0]['submit'] = ['type' => 'submit',
'name' => ' ',
'class' => 'btn-danger btn-mini',
'icon' => 'icon-trash',
'value' => 'role_permission_del'];
print_form($form);
unset($form);
echo(' |
');
}
echo('
' . PHP_EOL);
} else {
echo('
This role currently has no permissions
');
//print_warning("This user currently has no permitted groups");
}
// Permissions Selector
$permissions_list = array_keys((array)$role_perms['permission']);
$form = [
'type' => 'simple',
'style' => 'padding: 7px; margin: 0px;',
//'submit_by_key' => TRUE,
//'url' => generate_url($vars)
];
// Elements
$form['row'][0]['role_id'] = ['type' => 'hidden', 'value' => $role['role_id']];
$form['row'][0]['action'] = ['type' => 'hidden', 'value' => 'role_permission_add'];
$form_items['perms'] = [];
foreach ($config['permissions'] as $perm => $perm_data) {
if (!in_array($perm, $permissions_list, TRUE)) {
$form_items['perms'][$perm] = [
'name' => $perm,
'subtext' => $perm_data['descr']
];
}
}
$form['row'][0]['permission'] = [
'type' => 'multiselect',
'name' => 'Add Permission',
'width' => '250px',
//'value' => $vars['entity_id'],
'values' => $form_items['perms']
];
// add button
$form['row'][0]['Submit'] = [
'type' => 'submit',
'name' => 'Add',
'icon' => $config['icon']['plus'],
'right' => TRUE,
'value' => 'Add'
];
print_form($form);
unset($form);
echo generate_box_close();
}
// End platform permissions
// Cache entity permissions
foreach (dbFetchRows("SELECT * FROM `roles_entity_permissions` WHERE `role_id` = ?", [$vars['role_id']]) as $entity) {
$role_perms[$entity['entity_type']][$entity['entity_id']] = $entity['access'];
}
//print_vars($role_perms);
if (OBSERVIUM_EDITION !== 'community') {
// Bill Permissions
print_billing_permission_box('role', $role_perms, $role);
// Entity group permissions
print_group_permission_box('role', $role_perms, $role);
}
// Device permissions
print_device_permission_box('role', $role_perms, $role);
// Port permissions
print_port_permission_box('role', $role_perms, $role);
// Sensor permissions
print_sensor_permission_box('role', $role_perms, $role);
?>