Code Duplication    Length = 19-21 lines in 2 locations

code/Model/SiteTree.php 2 locations

@@ 1073-1091 (lines=19) @@
1070
     * @param Member $member
1071
     * @return bool
1072
     */
1073
    public function canPublish($member = null)
1074
    {
1075
        if (!$member) {
1076
            $member = Security::getCurrentUser();
1077
        }
1078
1079
        // Check extension
1080
        $extended = $this->extendedCan('canPublish', $member);
1081
        if ($extended !== null) {
1082
            return $extended;
1083
        }
1084
1085
        if (Permission::checkMember($member, "ADMIN")) {
1086
            return true;
1087
        }
1088
1089
        // Default to relying on edit permission
1090
        return $this->canEdit($member);
1091
    }
1092
1093
    /**
1094
     * This function should return true if the current user can delete this page. It can be overloaded to customise the
@@ 1208-1228 (lines=21) @@
1205
     *                       unit tests)
1206
     * @return bool True if the current user can edit this page
1207
     */
1208
    public function canEdit($member = null)
1209
    {
1210
        if (!$member) {
1211
            $member = Security::getCurrentUser();
1212
        }
1213
1214
        // Standard mechanism for accepting permission changes from extensions
1215
        $extended = $this->extendedCan('canEdit', $member);
1216
        if ($extended !== null) {
1217
            return $extended;
1218
        }
1219
1220
        // Default permissions
1221
        if (Permission::checkMember($member, "SITETREE_EDIT_ALL")) {
1222
            return true;
1223
        }
1224
1225
        // Check inherited permissions
1226
        return static::getPermissionChecker()
1227
            ->canEdit($this->ID, $member);
1228
    }
1229
1230
    /**
1231
     * Stub method to get the site config, unless the current class can provide an alternate.