Role Information

Role ID
Name
Description
TRUE, 'title' => 'Role Members']); $group_members = dbFetchRows("SELECT * FROM `roles_users` WHERE `role_id` = ? AND `auth_mechanism` = ?", [$role['role_id'], $config['auth_mechanism']]); $user_list = auth_user_list(); $memberlist = []; //bdump($user_list); if (!safe_empty($group_members)) { echo '
'; echo(''); $cols = [ [ '', 'class="state-marker"' ], 'username' => [ 'Name', 'style="width: 200px;"' ], 'email' => [ 'Users', 'style="width: 80px;"' ], 'level' => 'Description', ]; //echo(get_table_header($cols)); foreach ($group_members as $user) { $user = array_merge((array)$user, (array)$user_list[$user['user_id']]); $user['edit_url'] = generate_url(['page' => 'user_edit', 'user_id' => $user['user_id']]); //r($user); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $memberlist[] = $user['user_id']; } echo('
' . generate_tooltip_link($user['edit_url'], $user['username'], $user['realname'], NULL, [ 'target' => '_blank' ], TRUE) . '' . get_icon($user['icon']) . ' ' . $user['level_label'] . '' . escape_html($user['email']) . ''; $form = [ 'type' => 'simple', //'submit_by_key' => TRUE, //'url' => generate_url($vars) ]; // Elements $form['row'][0]['user_id'] = [ 'type' => 'hidden', 'value' => $user['user_id'] ]; $form['row'][0]['action'] = [ 'type' => 'hidden', 'value' => 'role_user_del' ]; $form['row'][0]['submit'] = [ 'type' => 'submit', 'name' => ' ', 'class' => 'btn-danger btn-mini', 'icon' => 'icon-trash', 'value' => 'role_user_del' ]; print_form($form); unset($form); echo '
'); } else { echo('

This role currently has no members

'); } $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_user_add' ]; $form_items['users'] = array_filter_key($user_list, $memberlist, '!='); //bdump($form_items['users']); $form['row'][0]['user_id'] = [ 'type' => 'multiselect', 'name' => 'Add Member', 'width' => '250px', 'values' => $form_items['users'] ]; // 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(); ?>
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(''); } 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('
' . 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); ?>
'; // placeholder for ajax form message echo(generate_box_open()); echo(''); $cols = [ ['', 'class="state-marker"'], 'role_id' => ['Role ID', 'style="width: 80px;"'], 'role_name' => ['Name', 'style="width: 200px;"'], 'role_count' => ['Users', 'style="width: 80px;"'], 'role_descr' => 'Description', 'role_del' => ['', 'style= "width: 40px;"'] ]; echo(get_table_header($cols)); foreach ($roles as $role) { humanize_user($role); $role['edit_url'] = generate_url(['page' => 'roles', 'role_id' => $role['role_id']]); $role['count'] = dbFetchCell("SELECT COUNT(*) FROM `roles_users` WHERE `role_id` = ? AND `auth_mechanism` = ?", [$role['role_id'], $config['auth_mechanism']]); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // Delete form $form_id = 'delete_role_' . $role['role_id']; $form = [ 'type' => 'simple', //'userlevel' => 10, // Minimum user level for display form 'id' => $form_id, 'style' => 'display:inline;', ]; $form['row'][0]['role_id'] = ['type' => 'hidden', 'value' => $role['role_id']]; $form['row'][0]['action'] = ['type' => 'hidden', 'value' => 'role_del']; $form['row'][99]['submit'] = [ 'type' => 'submit', //'icon_only' => TRUE, // hide button styles 'name' => 'Delete', //'icon' => $config['icon']['cancel'], //'right' => TRUE, 'class' => 'btn-danger btn-xs', // confirmation dialog 'attribs' => ['data-toggle' => 'confirm', // Enable confirmation dialog 'data-confirm-placement' => 'left', 'data-confirm-content' => 'Are you sure you want to delete this role "' . escape_html($role['role_name']) . '"?'], 'value' => 'role_del' ]; echo ''; echo ''; register_html_resource('script', '$("#' . $form_id . '").submit(processAjaxForm);'); } register_html_resource('js', 'js/jquery.serializejson.min.js'); echo('
' . $role['role_id'] . '' . escape_html($role['role_name']) . '' . escape_html($role['role_descr']) . ''; print_form($form); unset($form); echo '
'); echo(generate_box_close()); } else { print_warning('There are no roles in the database.'); } } // end if role_id // EOF