Code Duplication    Length = 20-21 lines in 4 locations

app/PrivilegeUtil.php 4 locations

@@ 1089-1108 (lines=20) @@
1086
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdGrps];
1087
			}
1088
			//Get roles from Us2Us
1089
			foreach (static::getDatashare('user2user', $modTabId, $userid) as $row) {
1090
				$shareUserId = (int) $row['share_userid'];
1091
				$shareIdUsers = [];
1092
				$shareIdUsers[] = $shareUserId;
1093
				if ((int) $row['permission'] === 1) {
1094
					if ($modDefOrgShare === 3) {
1095
						if (!isset($grpReadPer[$shareUserId])) {
1096
							$grpReadPer[$shareUserId] = [$shareUserId];
1097
						}
1098
					}
1099
					if (!isset($grpWritePer[$shareUserId])) {
1100
						$grpWritePer[$shareUserId] = [$shareUserId];
1101
					}
1102
				} elseif ((int) $row['permission'] === 0 && $modDefOrgShare === 3) {
1103
					if (!isset($grpReadPer[$shareUserId])) {
1104
						$grpReadPer[$shareUserId] = [$shareUserId];
1105
					}
1106
				}
1107
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1108
			}
1109
			//Get roles from Us2Grp
1110
			foreach (static::getDatashare('user2group', $modTabId, $groupList) as $row) {
1111
				$shareUserId = (int) $row['share_userid'];
@@ 1110-1129 (lines=20) @@
1107
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1108
			}
1109
			//Get roles from Us2Grp
1110
			foreach (static::getDatashare('user2group', $modTabId, $groupList) as $row) {
1111
				$shareUserId = (int) $row['share_userid'];
1112
				$shareIdUsers = [];
1113
				$shareIdUsers[] = $shareUserId;
1114
				if ((int) $row['permission'] === 1) {
1115
					if ($modDefOrgShare === 3) {
1116
						if (!isset($grpReadPer[$shareUserId])) {
1117
							$grpReadPer[$shareUserId] = [$shareUserId];
1118
						}
1119
					}
1120
					if (!isset($grpWritePer[$shareUserId])) {
1121
						$grpWritePer[$shareUserId] = [$shareUserId];
1122
					}
1123
				} elseif ((int) $row['permission'] === 0 && $modDefOrgShare === 3) {
1124
					if (!isset($grpReadPer[$shareUserId])) {
1125
						$grpReadPer[$shareUserId] = [$shareUserId];
1126
					}
1127
				}
1128
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1129
			}
1130
			//Get roles from Us2role
1131
			foreach (static::getDatashare('user2role', $modTabId, $currentUserRoles) as $row) {
1132
				$shareUserId = (int) $row['share_userid'];
@@ 1131-1151 (lines=21) @@
1128
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1129
			}
1130
			//Get roles from Us2role
1131
			foreach (static::getDatashare('user2role', $modTabId, $currentUserRoles) as $row) {
1132
				$shareUserId = (int) $row['share_userid'];
1133
				$shareIdUsers = [];
1134
				$shareIdUsers[] = $shareUserId;
1135
				if ((int) $row['permission'] === 1) {
1136
					if ($modDefOrgShare === 3) {
1137
						if (!isset($grpReadPer[$shareUserId])) {
1138
							$grpReadPer[$shareUserId] = [$shareUserId];
1139
						}
1140
					}
1141
					if (!isset($grpWritePer[$shareUserId])) {
1142
						$grpWritePer[$shareUserId] = [$shareUserId];
1143
					}
1144
				} elseif ((int) $row['permission'] === 0 && $modDefOrgShare === 3) {
1145
					if (!isset($grpReadPer[$shareUserId])) {
1146
						$grpReadPer[$shareUserId] = [$shareUserId];
1147
					}
1148
				}
1149
1150
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1151
			}
1152
			//Get roles from Us2rs
1153
			foreach (static::getDatashare('user2rs', $modTabId, $parRoleList) as $row) {
1154
				$shareUserId = (int) $row['share_userid'];
@@ 1153-1172 (lines=20) @@
1150
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1151
			}
1152
			//Get roles from Us2rs
1153
			foreach (static::getDatashare('user2rs', $modTabId, $parRoleList) as $row) {
1154
				$shareUserId = (int) $row['share_userid'];
1155
				$shareIdUsers = [];
1156
				$shareIdUsers[] = $shareUserId;
1157
				if ((int) $row['permission'] === 1) {
1158
					if ($modDefOrgShare === 3) {
1159
						if (!isset($grpReadPer[$shareUserId])) {
1160
							$grpReadPer[$shareUserId] = [$shareUserId];
1161
						}
1162
					}
1163
					if (!isset($grpWritePer[$shareUserId])) {
1164
						$grpWritePer[$shareUserId] = [$shareUserId];
1165
					}
1166
				} elseif ((int) $row['permission'] === 0 && $modDefOrgShare === 3) {
1167
					if (!isset($grpReadPer[$shareUserId])) {
1168
						$grpReadPer[$shareUserId] = [$shareUserId];
1169
					}
1170
				}
1171
				$shareIdMembers[$row['shareid']] = ['GROUP' => $shareIdUsers];
1172
			}
1173
			$modShareReadPermission['GROUP'] = $grpReadPer;
1174
			$modShareWritePermission['GROUP'] = $grpWritePer;
1175
		}