Code Duplication    Length = 20-21 lines in 2 locations

lib/objects/ariadne_object.php 2 locations

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