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