diff -Nur smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/userpanelEncfs.pm smeserver-shared-folders-0.1_mod/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/userpanelEncfs.pm --- smeserver-shared-folders-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/userpanelEncfs.pm 2011-07-18 13:30:00.000000000 +0200 +++ smeserver-shared-folders-0.1_mod/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/userpanelEncfs.pm 2011-07-18 13:38:10.000000000 +0200 @@ -24,6 +24,7 @@ our $accountdb = esmith::AccountsDB->open(); our $user = $ENV{'REMOTE_USER'}; $user = $1 if ($user =~ /^([a-z][\-a-z0-9]*)$/); +our @usergroups = $accountdb->user_group_list($user); *wherenext = \&CGI::FormMagick::wherenext; @@ -44,9 +45,8 @@ my @encfs = (); foreach (@shares){ - my @sharegroups = $_->prop('WriteGroups'), $_->prop('ReadGroups'); + my @sharegroups = split(/[,;]/, ($_->prop('WriteGroups') || '') .','. ($_->prop('ReadGroups') || '')); @sharegroups = keys %{{ map { $_ => 1 } @sharegroups }}; - my @usergroups = $accountdb->user_group_list($user); my %count = (); my @intersection = (); @@ -59,7 +59,7 @@ # and the user has at least read access if ((($_->prop('Encryption') || 'disabled') eq 'enabled') && ((scalar @intersection > 0 ) || $user eq 'admin')){ - push @encfs, $_ if (($_->prop('Encryption') || 'disabled') eq 'enabled'); + push @encfs, $_; } } unless ( scalar @encfs )