[dev] Specific configuration based on the group of the user

Jan Schneider jan at horde.org
Thu Sep 25 09:33:40 UTC 2014


Zitat von Alex Lanz <alex.lanz at rolmail.net>:

> Hi,
>
> I have a problem with the configurations. I want to allow sharing  
> only for a specific group of users. In the conf.php file the value  
> for sharing can be set with the following line:
>
> $conf['share']['no_sharing'] = true;
>
> Although I want to allow sharing for advanced user that are in the  
> group "advanced". My first try was add the following lines to the  
> conf.local.php file:
>
> $conf['share']['no_sharing'] = (isAdvancedUser() ? false : true);
>
> The function "isAdvancedUser" contains these lines:
>
> function isAdvancedUser() {
>   global $registry, $injector;
>   $groups = $injector->getInstance('Horde_Group');
>   $myGroups = $groups->listAll($registry->getAuth());
>   return in_array('advanced', $myGroups);
> }
>
> The problem is that the session is not started when the  
> configuration files are read. Is there a point in the code where I  
> can modify this value based on the user's group?
>
> Thanks
> Alex

The postauthenticate hook might be a good place. Make sure you use the  
global $session object to change the cached configuration values.

-- 
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject



More information about the dev mailing list