diff --git a/core/groups/app_languages.php b/core/groups/app_languages.php index 72e4e9cedd..a703294a8c 100644 --- a/core/groups/app_languages.php +++ b/core/groups/app_languages.php @@ -2374,4 +2374,25 @@ $text['button-restore_default']['ru-ru'] = "Восстановить значе $text['button-restore_default']['sv-se'] = "Återställ Standard"; $text['button-restore_default']['uk-ua'] = "Відновити значення за замовчуванням"; -?> +$text['message-permissions_reloaded']['en-us'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['en-gb'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['ar-eg'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['de-at'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['de-ch'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['de-de'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['es-cl'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['es-mx'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['fr-ca'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['fr-fr'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['he-il'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['it-it'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['nl-nl'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['pl-pl'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['pt-br'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['pt-pt'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['ro-ro'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['ru-ru'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['sv-se'] = "Permissions Reloaded"; +$text['message-permissions_reloaded']['uk-ua'] = "Permissions Reloaded"; + +?> \ No newline at end of file diff --git a/core/groups/group_permissions.php b/core/groups/group_permissions.php index e09be9465f..b7b4e3bed2 100644 --- a/core/groups/group_permissions.php +++ b/core/groups/group_permissions.php @@ -57,6 +57,42 @@ $language = new text; $text = $language->get(); +//process permission reload + if ($_GET['action'] == 'reload' && is_uuid($_GET['group_uuid'])) { + if (is_array($_SESSION["groups"]) && @sizeof($_SESSION["groups"]) != 0) { + //clear current permissions + unset($_SESSION['permissions'], $_SESSION['user']['permissions']); + //get the permissions assigned to the groups that the current user is a member of, set the permissions in session variables + $x = 0; + $sql = "select distinct(permission_name) from v_group_permissions "; + $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) "; + foreach ($_SESSION["groups"] as $field) { + if (strlen($field['group_name']) > 0) { + $sql_where_or[] = "group_name = :group_name_".$x; + $parameters['group_name_'.$x] = $field['group_name']; + $x++; + } + } + if (is_array($sql_where_or) && @sizeof($sql_where_or) != 0) { + $sql .= "and (".implode(' or ', $sql_where_or).") "; + } + $parameters['domain_uuid'] = $_SESSION["domain_uuid"]; + $database = new database; + $result = $database->select($sql, $parameters, 'all'); + if (is_array($result) && @sizeof($result) != 0) { + foreach ($result as $row) { + $_SESSION['permissions'][$row["permission_name"]] = true; + $_SESSION["user"]["permissions"][$row["permission_name"]] = true; + } + } + unset($sql, $parameters, $result, $row); + //set message and redirect + message::add($text['message-permissions_reloaded'],'positive'); + header('Location: group_permissions.php?group_uuid='.urlencode($_GET['group_uuid'])); + exit; + } + } + //get the http post data if (is_array($_POST['group_permissions'])) { $action = $_POST['action']; @@ -205,9 +241,10 @@ echo "
\n"; echo "
".$text['title-group_permissions']." (".escape($group_name).")
\n"; echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-sm-dn','link'=>'groups.php']); + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','collapse'=>'hide-sm-dn','link'=>'groups.php']); + echo button::create(['type'=>'button','label'=>$text['button-reload'],'icon'=>'key','link'=>'?group_uuid='.urlencode($group_uuid).'&action=reload']); if (permission_exists('group_member_view')) { - echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','style'=>'margin-left: 15px;','link'=>'groupmembers.php?group_uuid='.urlencode($group_uuid)]); + echo button::create(['type'=>'button','label'=>$text['button-members'],'icon'=>'users','link'=>'groupmembers.php?group_uuid='.urlencode($group_uuid)]); } echo "