<?php

namespace WPStaging\Pro\Backup\Dto\Traits;

trait IsExportingTrait
{
    /** @var bool */
    private $isExportingPlugins = false;

    /** @var bool */
    private $isExportingMuPlugins = false;

    /** @var bool */
    private $isExportingThemes = false;

    /** @var bool */
    private $isExportingUploads = false;

    /** @var bool */
    private $isExportingOtherWpContentFiles = false;

    /** @var bool */
    private $isExportingDatabase = false;

    /**
     * @return bool
     */
    public function getIsExportingPlugins()
    {
        return (bool)$this->isExportingPlugins;
    }

    /**
     * @param bool $isExportingPlugins
     */
    public function setIsExportingPlugins($isExportingPlugins)
    {
        $this->isExportingPlugins = $isExportingPlugins === true || $isExportingPlugins === 'true';
    }

    /**
     * @return bool
     */
    public function getIsExportingMuPlugins()
    {
        return (bool)$this->isExportingMuPlugins;
    }

    /**
     * @param bool $isExportingMuPlugins
     */
    public function setIsExportingMuPlugins($isExportingMuPlugins)
    {
        $this->isExportingMuPlugins = $isExportingMuPlugins === true || $isExportingMuPlugins === 'true';
    }

    /**
     * @return bool
     */
    public function getIsExportingThemes()
    {
        return (bool)$this->isExportingThemes;
    }

    /**
     * @param bool $isExportingThemes
     */
    public function setIsExportingThemes($isExportingThemes)
    {
        $this->isExportingThemes = $isExportingThemes === true || $isExportingThemes === 'true';
    }

    /**
     * @return bool
     */
    public function getIsExportingUploads()
    {
        return (bool)$this->isExportingUploads;
    }

    /**
     * @param bool $isExportingUploads
     */
    public function setIsExportingUploads($isExportingUploads)
    {
        $this->isExportingUploads = $isExportingUploads === true || $isExportingUploads === 'true';
    }

    /**
     * @return bool
     */
    public function getIsExportingOtherWpContentFiles()
    {
        return (bool)$this->isExportingOtherWpContentFiles;
    }

    /**
     * @param bool $isExportingOtherWpContentFiles
     */
    public function setIsExportingOtherWpContentFiles($isExportingOtherWpContentFiles)
    {
        $this->isExportingOtherWpContentFiles = $isExportingOtherWpContentFiles === true || $isExportingOtherWpContentFiles === 'true';
    }

    /**
     * @return bool
     */
    public function getIsExportingDatabase()
    {
        return (bool)$this->isExportingDatabase;
    }

    /**
     * @param bool $isExportingDatabase
     */
    public function setIsExportingDatabase($isExportingDatabase)
    {
        $this->isExportingDatabase = $isExportingDatabase === true || $isExportingDatabase === 'true';
    }
}
