DNEnvironment::canBackup PHP Method

canBackup() public method

Allows only selected {@link Member} objects to backup this {@link DNEnvironment} to a {@link DNDataArchive} file.
public canBackup ( Member | null $member = null ) : boolean
$member Member | null The {@link Member} object to test against. If null, uses Member::currentMember();
return boolean true if $member can backup, and false if they can't.
    public function canBackup($member = null)
    {
        $project = $this->Project();
        if ($project->HasDiskQuota() && $project->HasExceededDiskQuota()) {
            return false;
        }
        if (!$member) {
            $member = Member::currentUser();
        }
        // Must be logged in to check permissions
        if (!$member) {
            return false;
        }
        if ($this->Usage === self::PRODUCTION || $this->Usage === self::UNSPECIFIED) {
            if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) {
                return true;
            }
        } else {
            if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) {
                return true;
            }
        }
        return $this->CanBackupMembers()->byID($member->ID) || $member->inGroups($this->CanBackupGroups());
    }