Code Duplication    Length = 12-16 lines in 2 locations

src/Support/Authorizer.php 2 locations

@@ 186-197 (lines=12) @@
183
            } elseif (str_is('*.*.*::*.*', $permission)) {
184
                $end = trim(substr($permission, strpos($permission, '::') + 2), '.*');
185
186
                if (!$permissions = $this->config->get($addon . '::permissions.' . $end)) {
187
                    return true;
188
                } else {
189
                    $check = [];
190
191
                    foreach ($permissions as &$permission) {
192
                        $check[] = $addon . '::' . $end . '.' . $permission;
193
                    }
194
195
                    return $user->hasAnyPermission($check);
196
                }
197
            } else {
198
                if (!$permissions = $this->config->get($addon . '::permissions')) {
199
                    return true;
200
                } else {
@@ 197-212 (lines=16) @@
194
195
                    return $user->hasAnyPermission($check);
196
                }
197
            } else {
198
                if (!$permissions = $this->config->get($addon . '::permissions')) {
199
                    return true;
200
                } else {
201
                    $check = [];
202
203
                    foreach ($permissions as $group => &$permission) {
204
                        foreach ($permission as $access) {
205
                            $check[] = $addon . '::' . $group . '.' . $access;
206
                        }
207
                    }
208
209
                    return $user->hasAnyPermission($check);
210
                }
211
            }
212
        } else {
213
            $parts = explode('::', $permission);
214
215
            $end = array_pop($parts);