@@ 993-1013 (lines=21) @@ | ||
990 | } |
|
991 | $AR->user->groups["owner"]->data->config->usergrants = $AR->user->ownergrants; |
|
992 | } |
|
993 | foreach($AR->user->groups as $group){ |
|
994 | $groupgrants=array(); |
|
995 | if (is_object($group)) { |
|
996 | $group->FindGrants($path, $groupgrants, $userpath); |
|
997 | if (isset($grants) && is_array($grants)) { |
|
998 | foreach($groupgrants as $gkey => $gval ){ |
|
999 | if (isset($grants[$gkey]) && is_array($grants[$gkey]) && is_array($gval)) { |
|
1000 | $grants[$gkey]=array_merge($gval, $grants[$gkey]); |
|
1001 | } else |
|
1002 | if ($gval && !is_array($gval)) { |
|
1003 | $grants[$gkey] = $gval; |
|
1004 | } else |
|
1005 | if ($gval && !$grants[$gkey]) { |
|
1006 | $grants[$gkey] = $gval; |
|
1007 | } |
|
1008 | } |
|
1009 | } else { |
|
1010 | $grants = $groupgrants; |
|
1011 | } |
|
1012 | } |
|
1013 | } |
|
1014 | } |
|
1015 | if(isset($AR->sgGrants) && is_array($AR->sgGrants) ) { |
|
1016 | ksort($AR->sgGrants); |
|
@@ 1018-1037 (lines=20) @@ | ||
1015 | if(isset($AR->sgGrants) && is_array($AR->sgGrants) ) { |
|
1016 | ksort($AR->sgGrants); |
|
1017 | $ppath = $this->make_path($path); |
|
1018 | foreach( $AR->sgGrants as $sgpath => $sggrants) { |
|
1019 | $sgpath = $this->make_path($sgpath); |
|
1020 | if( substr($ppath, 0, strlen($sgpath)) == $sgpath ) { // sgpath is parent of ppath or equal to ppath |
|
1021 | if (isset($grants) && is_array($grants)) { |
|
1022 | foreach($sggrants as $gkey => $gval ){ |
|
1023 | if (isset($grants[$gkey]) && is_array($grants[$gkey]) && is_array($gval)) { |
|
1024 | $grants[$gkey]=array_merge($gval, $grants[$gkey]); |
|
1025 | } else |
|
1026 | if ($gval && !is_array($gval)) { |
|
1027 | $grants[$gkey] = $gval; |
|
1028 | } else |
|
1029 | if ($gval && !$grants[$gkey]) { |
|
1030 | $grants[$gkey] = $gval; |
|
1031 | } |
|
1032 | } |
|
1033 | } else { |
|
1034 | $grants = $sggrants; |
|
1035 | } |
|
1036 | } |
|
1037 | } |
|
1038 | } |
|
1039 | $AR->user->grants[$path]=$grants; |
|
1040 | } |