Viewing File: /usr/local/cpanel/whostmgr/docroot/cgi/ncssl/source/src/Service/Certificate/CertificateTransfer.php
<?php
namespace App\Service\Certificate;
use App\Entity\Certificate;
use App\Model\IssueData;
use App\Model\GetRenewRequestDTO;
class CertificateTransfer
{
public const NC_USER_PARAMETER_NAME = 'ncUser';
public const FILE_NAME_PARAMETER_NAME = 'fileName';
public const FILE_CONTENT_PARAMETER_NAME = 'fileContent';
private string $cPanelUser = '';
private string $cPanelServer = '';
private string $domainName = '';
private string $certType = '';
private mixed $certificateId = null;
private string $fileName = '';
private string $fileContent = '';
private string $ncUser = '';
private string $years;
private string $vendor;
private string $commonName;
private string $adminEmail;
private int $code = 0;
private int $freeTotal = 0;
private string $ncStatus = '';
/**
* CertificateTransfer constructor.
* @param array $params
*/
public function __construct(array $params = [])
{
$this->cPanelUser = trim($params['userName'] ?? '');
$this->cPanelServer = trim($params['cPanelServer'] ?? gethostname());
$this->setDomainName($params['domainName'] ?? '');
$this->certificateId = $params['certificateId'] ?? null;
$this->certType = trim($params['certificateType'] ?? Certificate::DEFAULT_CERTIFICATE_TYPE);
$this->years = trim($params['years'] ?? Certificate::DEFAULT_YEARS);
$this->vendor = trim($params['vendor'] ?? Certificate::DEFAULT_VENDOR);
$this->commonName = trim($params['commonName'] ?? $this->domainName);
$this->adminEmail = trim($params['adminEmail'] ?? '');
$this->setFileName($params[static::FILE_NAME_PARAMETER_NAME] ?? '');
$this->setFileContent($params[static::FILE_CONTENT_PARAMETER_NAME] ?? '');
$this->setNCUser($params[static::NC_USER_PARAMETER_NAME] ?? '');
}
/**
* @return string
*/
public function getCPanelUser(): string
{
return $this->cPanelUser;
}
/**
* @return string
*/
public function getCPanelServer(): string
{
return $this->cPanelServer;
}
/**
* @param string $domainName
*
* @return $this
*/
public function setDomainName(string $domainName): self
{
$this->domainName = trim($domainName);
return $this;
}
/**
* @return string
*/
public function getDomainName(): string
{
return $this->domainName;
}
/**
* @return string
*/
public function getCertType(): string
{
return $this->certType;
}
/**
* @param string $name
*
* @return $this
*/
public function setCPanelUser(string $name): self
{
$this->cPanelUser = trim($name);
return $this;
}
/**
* @param string $name
*
* @return $this
*/
public function setNCUser(string $name = ''): self
{
$this->ncUser = trim($name);
return $this;
}
/**
* @return string
*/
public function getNCUser(): string
{
return $this->ncUser;
}
/**
* @param int $id
*
* @return $this
*/
public function setCertificateId(int $id = 0): self
{
$this->certificateId = $id;
return $this;
}
/**
* @return int|null
*/
public function getCertificateId(): ?int
{
return $this->certificateId;
}
/**
* @param string $name
*
* @return $this
*/
public function setFileName(string $name = ''): self
{
$this->fileName = trim($name);
return $this;
}
/**
* @return string
*/
public function getFileName(): string
{
return $this->fileName;
}
/**
* @param string $content
*
* @return $this
*/
public function setFileContent(string $content = ''): self
{
$this->fileContent = $this->prepareFileContent($content);
return $this;
}
/**
* @return string
*/
public function getFileContent(): string
{
return $this->fileContent;
}
/**
* @return string
*/
public function getYears(): string
{
return $this->years;
}
/**
* @return string
*/
public function getVendor(): string
{
return $this->vendor;
}
/**
* @return string
*/
public function getCommonName(): string
{
return $this->commonName;
}
/**
* @return string
*/
public function getAdminEmail(): string
{
return $this->adminEmail;
}
/**
* @param int $code
*/
public function setCurrentCode(int $code): void
{
$this->code = $code;
}
/**
* @return int
*/
public function getCurrentCode(): int
{
return $this->code;
}
/**
* @param int $total
*/
public function setFreeTotal(int $total): void
{
$this->freeTotal = $total;
}
/**
* @return int
*/
public function getFreeTotal(): int
{
return $this->freeTotal;
}
/**
* @return string
*/
public function getNCStatus(): string
{
return $this->ncStatus;
}
/**
* @param string $status
*/
public function setNCStatus(string $status = ''): void
{
$this->ncStatus = $status;
}
/**
* @param IssueData $data
* @return array
*/
public static function prepareData(IssueData $data): array
{
return [
'domainName' => $data->domain,
'adminEmail' => $data->email,
'certificateId' => $data->cert->nc_id,
'certificateType' => $data->cert->type,
'years' => $data->cert->years
];
}
/**
* @param GetRenewRequestDTO $data
*
* @return array
*/
public static function prepareActivateParams(GetRenewRequestDTO $data): array
{
return [
'domainName' => $data->domain,
'certificateId' => $data->certificateId,
'certificateType' => $data->certificateType,
'ncUser' => $data->NCUser,
];
}
/**
* @param string $fileContent
*
* @return string
*/
private function prepareFileContent(string $fileContent): string
{
return trim(ltrim($fileContent, 'b'), "'");
}
}
Back to Directory
File Manager