madeITBelgium/Laravel-VestaCP

View on GitHub
src/Object/WebDomain.php

Summary

Maintainability
B
5 hrs
Test Coverage
<?php

namespace MadeITBelgium\VestaCP\Object;

/**
 * VestaCP API.
 *
 * @version    0.0.1
 *
 * @copyright  Copyright (c) 2019 Made I.T. (http://www.madeit.be)
 * @author     Made I.T. <info@madeit.be>
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-3.txt    LGPL
 */
class WebDomain
{
    use GeneralDomain;
    use DateTime;

    private $uDisk;
    private $uBandwidth;
    private $template;
    private $alias;
    private $stats;
    private $statsUser;
    private $ssl;
    private $sslHome;
    private $letsencrypt;
    private $ftp_user;
    private $ftp_path;
    private $auth_user;
    private $backend;
    private $proxy;
    private $proxyExt;
    private $docroot;

    public function __construct()
    {
    }

    public function loadData($command, $data)
    {
        if ($command == 'list-web') {
            return $this->listWebDomains($data);
        } elseif ($command == 'get-web') {
            return $this->listWebDomains($data)[0];
        }
    }

    private function listWebDomains($data)
    {
        $result = [];
        foreach ($data as $domainname => $data) {
            $obj = $this->parseWebDomain($domainname, $data);
            $result[] = $obj;
        }

        return $result;
    }

    private function parseWebDomain($domainname, $data)
    {
        $obj = new self();
        $obj->setDomainname($domainname);
        $obj->setIp($data['IP']);
        if (isset($data['IP6'])) {
            $obj->setIp6($data['IP6']);
        }
        $obj->setUDisk($data['U_DISK']);
        $obj->setUBandwidth($data['U_BANDWIDTH']);
        $obj->setTemplate($data['TPL']);
        $obj->setAlias($data['ALIAS']);
        $obj->setStats($data['STATS']);
        $obj->setStatsUser($data['STATS_USER']);
        $obj->setSsl($data['SSL'] == 'yes');
        $obj->setSslHome($data['SSL_HOME']);
        $obj->setLetsencrypt($data['LETSENCRYPT'] == 'yes');
        $obj->setFtp_user($data['FTP_USER']);
        $obj->setFtp_path($data['FTP_PATH']);
        $obj->setAuth_user($data['AUTH_USER']);
        $obj->setBackend($data['BACKEND']);
        $obj->setProxy($data['PROXY']);
        $obj->setProxyExt($data['PROXY_EXT']);
        $obj->setSuspended($data['SUSPENDED'] == 'yes');
        $obj->setTime($data['TIME']);
        $obj->setDate($data['DATE']);
        if (isset($data['DOCROOT'])) {
            $obj->setDocroot($data['DOCROOT']);
        }

        return $obj;
    }

    public function getUDisk()
    {
        return $this->uDisk;
    }

    public function setUDisk($uDisk)
    {
        $this->uDisk = $uDisk;
    }

    public function getUBandwidth()
    {
        return $this->uBandwidth;
    }

    public function setUBandwidth($uBandwidth)
    {
        $this->uBandwidth = $uBandwidth;
    }

    public function getTemplate()
    {
        return $this->template;
    }

    public function setTemplate($template)
    {
        $this->template = $template;
    }

    public function getAlias()
    {
        return $this->alias;
    }

    public function setAlias($alias)
    {
        $this->alias = $alias;
    }

    public function getStats()
    {
        return $this->stats;
    }

    public function setStats($stats)
    {
        $this->stats = $stats;
    }

    public function getStatsUser()
    {
        return $this->statsUser;
    }

    public function setStatsUser($statsUser)
    {
        $this->statsUser = $statsUser;
    }

    public function getSsl()
    {
        return $this->ssl;
    }

    public function setSsl($ssl)
    {
        $this->ssl = $ssl;
    }

    public function getSslHome()
    {
        return $this->sslHome;
    }

    public function setSslHome($sslHome)
    {
        $this->sslHome = $sslHome;
    }

    public function getLetsencrypt()
    {
        return $this->letsencrypt;
    }

    public function setLetsencrypt($letsencrypt)
    {
        $this->letsencrypt = $letsencrypt;
    }

    public function getFtp_user()
    {
        return $this->ftp_user;
    }

    public function setFtp_user($ftp_user)
    {
        $this->ftp_user = $ftp_user;
    }

    public function getFtp_path()
    {
        return $this->ftp_path;
    }

    public function setFtp_path($ftp_path)
    {
        $this->ftp_path = $ftp_path;
    }

    public function getAuth_user()
    {
        return $this->auth_user;
    }

    public function setAuth_user($auth_user)
    {
        $this->auth_user = $auth_user;
    }

    public function getBackend()
    {
        return $this->backend;
    }

    public function setBackend($backend)
    {
        $this->backend = $backend;
    }

    public function getProxy()
    {
        return $this->proxy;
    }

    public function setProxy($proxy)
    {
        $this->proxy = $proxy;
    }

    public function getProxyExt()
    {
        return $this->proxyExt;
    }

    public function setProxyExt($proxyExt)
    {
        $this->proxyExt = $proxyExt;
    }

    public function getDocroot()
    {
        return $this->docroot;
    }

    public function setDocroot($docroot)
    {
        $this->docroot = $docroot;
    }

    public function getSuspended()
    {
        return $this->suspended;
    }
}