| @@ 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 | } |
|