Update user_edit.php

This commit is contained in:
FusionPBX 2019-07-26 01:09:58 -06:00 committed by GitHub
parent 0a46263b94
commit 1188194d0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 16 deletions

View File

@ -375,18 +375,24 @@
$group_data = explode('|', $group_uuid_name);
$group_uuid = $group_data[0];
$group_name = $group_data[1];
//only a superadmin can add other superadmins or admins, admins can only add other admins
switch ($group_name) {
case "superadmin": if (!if_group("superadmin")) { break; }
case "admin": if (!if_group("superadmin") && !if_group("admin")) { break; }
default: //add group user to array for insert
$array['user_groups'][$n]['user_group_uuid'] = uuid();
$array['user_groups'][$n]['domain_uuid'] = $domain_uuid;
$array['user_groups'][$n]['group_name'] = $group_name;
$array['user_groups'][$n]['group_uuid'] = $group_uuid;
$array['user_groups'][$n]['user_uuid'] = $user_uuid;
$n++;
//compare the group level to only add groups at the same level or lower than the user
$sql = "select * from v_groups ";
$sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
$sql .= "and group_uuid = :group_uuid ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['group_uuid'] = $group_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row');
if ($row['group_level'] <= $_SESSION['user']['group_level']) {
$array['user_groups'][$n]['user_group_uuid'] = uuid();
$array['user_groups'][$n]['domain_uuid'] = $domain_uuid;
$array['user_groups'][$n]['group_name'] = $group_name;
$array['user_groups'][$n]['group_uuid'] = $group_uuid;
$array['user_groups'][$n]['user_uuid'] = $user_uuid;
$n++;
}
unset($parameters);
}
//update domain, if changed
@ -943,11 +949,11 @@
echo "<select name='group_uuid_name' class='formfld' style='width: auto; margin-right: 3px;' ".($action == 'add' ? "required='required'" : null).">\n";
echo " <option value=''></option>\n";
foreach($groups as $field) {
if ($field['group_name'] == "superadmin" && !if_group("superadmin")) { continue; } //only show the superadmin group to other superadmins
if ($field['group_name'] == "admin" && (!if_group("superadmin") && !if_group("admin") )) { continue; } //only show the admin group to other admins
if ( !isset($assigned_groups) || (isset($assigned_groups) && !in_array($field["group_uuid"], $assigned_groups)) ) {
if ($group_uuid_name == $field['group_uuid']."|".$field['group_name']) { $selected = "selected='selected'"; } else { $selected = ''; }
echo " <option value='".$field['group_uuid']."|".$field['group_name']."' $selected>".$field['group_name'].(($field['domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['domain_uuid']]['domain_name'] : null)."</option>\n";
if ($field['group_level'] <= $_SESSION['user']['group_level']) {
if (!isset($assigned_groups) || (isset($assigned_groups) && !in_array($field["group_uuid"], $assigned_groups))) {
if ($group_uuid_name == $field['group_uuid']."|".$field['group_name']) { $selected = "selected='selected'"; } else { $selected = ''; }
echo " <option value='".$field['group_uuid']."|".$field['group_name']."' $selected>".$field['group_name'].(($field['domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['domain_uuid']]['domain_name'] : null)."</option>\n";
}
}
}
echo "</select>";