diff options
-rw-r--r-- | admin/cat_perm.php | 42 | ||||
-rw-r--r-- | admin/themes/default/template/cat_perm.tpl | 32 | ||||
-rw-r--r-- | language/en_UK/admin.lang.php | 9 | ||||
-rw-r--r-- | language/fr_FR/admin.lang.php | 9 |
4 files changed, 73 insertions, 19 deletions
diff --git a/admin/cat_perm.php b/admin/cat_perm.php index 7b555e3be..d5c41edf7 100644 --- a/admin/cat_perm.php +++ b/admin/cat_perm.php @@ -280,35 +280,39 @@ SELECT user_id, group_id } $user_granted_by_group_ids = array(); - + foreach ($granted_groups as $group_users) { - $user_granted_by_group_ids = array_merge($user_granted_by_group_ids, - $group_users); + $user_granted_by_group_ids = array_merge($user_granted_by_group_ids, $group_users); } - $user_granted_by_group_ids = array_unique($user_granted_by_group_ids); + $user_granted_by_group_ids = array_unique($user_granted_by_group_ids); - $user_granted_indirect_ids = array_diff($user_granted_by_group_ids, - $user_granted_direct_ids); - $user_granted_indirect_ids = - order_by_name($user_granted_indirect_ids, $users); - foreach ($user_granted_indirect_ids as $user_id) + $user_granted_indirect_ids = array_diff( + $user_granted_by_group_ids, + $user_granted_direct_ids + ); + + $template->assign('nb_users_granted_indirect', count($user_granted_indirect_ids)); + + foreach ($granted_groups as $group_id => $group_users) { - foreach ($granted_groups as $group_id => $group_users) + $group_usernames = array(); + foreach ($group_users as $user_id) { - if (in_array($user_id, $group_users)) + if (in_array($user_id, $user_granted_indirect_ids)) { - $template->append( - 'user_granted_indirects', - array( - 'USER'=>$users[$user_id], - 'GROUP'=>$groups[$group_id] - ) - ); - break; + array_push($group_usernames, $users[$user_id]); } } + + $template->append( + 'user_granted_indirect_groups', + array( + 'group_name' => $groups[$group_id], + 'group_users' => implode(', ', $group_usernames), + ) + ); } } diff --git a/admin/themes/default/template/cat_perm.tpl b/admin/themes/default/template/cat_perm.tpl index 728669894..718c7ba47 100644 --- a/admin/themes/default/template/cat_perm.tpl +++ b/admin/themes/default/template/cat_perm.tpl @@ -18,6 +18,20 @@ jQuery(document).ready(function() { jQuery("#selectStatus").change(function() { checkStatusOptions(); }); + + jQuery("#indirectPermissionsDetailsShow").click(function(){ + jQuery("#indirectPermissionsDetailsShow").hide(); + jQuery("#indirectPermissionsDetailsHide").show(); + jQuery("#indirectPermissionsDetails").show(); + return false; + }); + + jQuery("#indirectPermissionsDetailsHide").click(function(){ + jQuery("#indirectPermissionsDetailsShow").show(); + jQuery("#indirectPermissionsDetailsHide").hide(); + jQuery("#indirectPermissionsDetails").hide(); + return false; + }); }); {/literal}{/footer_script} @@ -41,11 +55,15 @@ jQuery(document).ready(function() { <legend>{'Groups and users'|@translate}</legend> <p> +{if count($groups) > 0} <strong>{'Permission granted for groups'|@translate}</strong> <br> <select data-placeholder="{'Select groups...'|@translate}" class="chzn-select" multiple style="width:700px;" name="groups[]"> {html_options options=$groups selected=$groups_selected} </select> +{else} + {'There is no group in this gallery.'|@translate} <a href="admin.php?page=group_list" class="externalLink">{'Group management'|@translate}</a> +{/if} </p> <p> @@ -56,6 +74,20 @@ jQuery(document).ready(function() { </select> </p> +{if isset($nb_users_granted_indirect)} + <p> + {'%u users have automatic permission because they belong to a granted group.'|@translate|@sprintf:$nb_users_granted_indirect} + <a href="#" id="indirectPermissionsDetailsHide" style="display:none">{'hide details'|@translate}</a> + <a href="#" id="indirectPermissionsDetailsShow">{'show details'|@translate}</a> + + <ul id="indirectPermissionsDetails" style="display:none"> + {foreach from=$user_granted_indirect_groups item=group_details} + <li><strong>{$group_details.group_name}</strong> : {$group_details.group_users}</li> + {/foreach} + </ul> + </p> +{/if} + {* <h4>{'Groups'|@translate}</h4> diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index b355e96c5..1a0de75cd 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -864,4 +864,13 @@ $lang['ReGalAndroid (RemoteGallery client for Android) is an open source (GPL v3 $lang['Features include gallery browsing, album creation and photo upload.'] = 'Features include gallery browsing, album creation and photo upload.'; $lang['Generate multiple size images']='Generate multiple size images'; $lang['Delete multiple size images']='Delete multiple size images'; +$lang['any visitor can see this album'] = 'any visitor can see this album'; +$lang['visitors need to login and have the appropriate permissions to see this album'] = 'visitors need to login and have the appropriate permissions to see this album'; +$lang['Groups and users'] = 'Groups and users'; +$lang['Permission granted for groups'] = 'Permission granted for groups'; +$lang['Select groups...'] = 'Select groups...'; +$lang['There is no group in this gallery.'] = 'There is no group in this gallery.'; +$lang['Permission granted for users'] = 'Permission granted for users'; +$lang['Select users...'] = 'Select users...'; +$lang['%u users have automatic permission because they belong to a granted group.'] = '%u users have automatic permission because they belong to a granted group.'; ?>
\ No newline at end of file diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php index 54c42756e..5b87ed512 100644 --- a/language/fr_FR/admin.lang.php +++ b/language/fr_FR/admin.lang.php @@ -879,4 +879,13 @@ $lang['Aperture is designed for professional photographers with iPhoto simplicit $lang['The Piwigo export plugin allows you to create albums and export photos.'] = 'Le plugin d\'export Piwigo vous permet de créer des albums et d\'y ajouter vos photos.'; $lang['ReGalAndroid (RemoteGallery client for Android) is an open source (GPL v3) Piwigo client for the Android platform.'] = 'ReGalAndroid (RemoteGallery Android) est un client libre (GPL v3) pour Piwigo sur Android.'; $lang['Features include gallery browsing, album creation and photo upload.'] = 'Ses fonctionnalités incluent la navigation sur la galerie, la création d\'albums et l\'ajout de photos.'; +$lang['any visitor can see this album'] = 'n\'importe quel visiteur peut voir cet album'; +$lang['visitors need to login and have the appropriate permissions to see this album'] = 'les visiteurs doivent se connecter et avoir les permissions nécessaires pour voir cet album'; +$lang['Groups and users'] = 'Groupes et utilisateurs'; +$lang['Permission granted for groups'] = 'Permission accordée pour les groupes'; +$lang['Select groups...'] = 'Sélectionnez les groupes...'; +$lang['There is no group in this gallery.'] = 'Il n\'y a pas de groupe dans cette galerie.'; +$lang['Permission granted for users'] = 'Permission accordée pour les utilisateurs'; +$lang['Select users...'] = 'Sélectionnez les utilisateurs...'; +$lang['%u users have automatic permission because they belong to a granted group.'] = '%u utilisateurs ont automatiquement la permission car ils appartiennent à un groupe autorisé.'; ?>
\ No newline at end of file |