Code Duplication    Length = 29-32 lines in 2 locations

code/SiteConfig.php 2 locations

@@ 345-373 (lines=29) @@
342
     * @param Member $member
343
     * @return boolean
344
     */
345
    public function canEditPages($member = null)
346
    {
347
        if (!$member) {
348
            $member = Security::getCurrentUser();
349
        }
350
351
        if ($member && Permission::checkMember($member, "ADMIN")) {
352
            return true;
353
        }
354
355
        $extended = $this->extendedCan('canEditPages', $member);
356
        if ($extended !== null) {
357
            return $extended;
358
        }
359
360
        // check for any logged-in users with CMS access
361
        if ($this->CanEditType === 'LoggedInUsers'
362
            && Permission::checkMember($member, $this->config()->get('required_permission'))
363
        ) {
364
            return true;
365
        }
366
367
            // check for specific groups
368
        if ($this->CanEditType === 'OnlyTheseUsers' && $member && $member->inGroups($this->EditorGroups())) {
369
            return true;
370
        }
371
372
        return false;
373
    }
374
375
    public function canEdit($member = null)
376
    {
@@ 410-441 (lines=32) @@
407
     * @param Member $member
408
     * @return boolean
409
     */
410
    public function canCreateTopLevel($member = null)
411
    {
412
        if (!$member) {
413
            $member = Security::getCurrentUser();
414
        }
415
416
        if ($member && Permission::checkMember($member, "ADMIN")) {
417
            return true;
418
        }
419
420
        $extended = $this->extendedCan('canCreateTopLevel', $member);
421
        if ($extended !== null) {
422
            return $extended;
423
        }
424
425
        // check for any logged-in users with CMS permission
426
        if ($this->CanCreateTopLevelType === 'LoggedInUsers'
427
            && Permission::checkMember($member, $this->config()->get('required_permission'))
428
        ) {
429
            return true;
430
        }
431
432
        // check for specific groups
433
        if ($this->CanCreateTopLevelType === 'OnlyTheseUsers'
434
            && $member
435
            && $member->inGroups($this->CreateTopLevelGroups())
436
        ) {
437
            return true;
438
        }
439
440
        return false;
441
    }
442
443
    /**
444
     * Add $SiteConfig to all SSViewers