Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace App\Controller\Frontend; use Symfony\Component\HttpFoundation\Reques..
Decoded Output download
<?php
namespace App\Controller\Frontend;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\Form;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Component\Validator\ConstraintViolationList;
use App\Controller\Controller;
use App\Event\EventQueue;
use App\Service\Logger;
use App\Entity\Site as SiteEntity;
use App\Entity\Certificate as CertificateEntity;
use App\Entity\NodejsSettings as NodejsSettingsEntity;
use App\Entity\PhpSettings as PhpSettingsEntity;
use App\Entity\PythonSettings as PythonSettingsEntity;
use App\Entity\Database as DatabaseEntity;
use App\Entity\DatabaseUser as DatabaseUserEntity;
use App\Entity\DatabaseServer as DatabaseServerEntity;
use App\Entity\User as UserEntity;
use App\Entity\Manager\ConfigManager;
use App\Entity\Manager\SiteManager as SiteEntityManager;
use App\Entity\Manager\CertificateManager as CertificateEntityManager;
use App\Entity\Manager\DatabaseManager as DatabaseEntityManager;
use App\Entity\Manager\DatabaseUserManager as DatabaseUserEntityManager;
use App\Entity\Manager\DatabaseServerManager as DatabaseServerEntityManager;
use App\Entity\Manager\VhostTemplateManager as VhostTemplateEntityManager;
use App\Database\Connection as DatabaseConnection;
use App\Database\Manager as DatabaseManager;
use App\Site\Nginx\Vhost\StaticTemplate as StaticVhostTemplate;
use App\Site\Nginx\Vhost\PhpTemplate as PhpVhostTemplate;
use App\Site\Nginx\Vhost\PythonTemplate as PythonVhostTemplate;
use App\Site\Nginx\Vhost\ReverseProxyTemplate as ReverseProxyVhostTemplate;
use App\Site\Nginx\Vhost\Processor\RedirectDomain as RedirectDomainProcessor;
use App\Site\Nginx\Vhost\Processor\RedirectServerName as RedirectServerNameProcessor;
use App\Site\Nginx\Vhost\Processor\ServerName as ServerNameProcessor;
use App\Site\Parser\DomainName as DomainNameParser;
use App\Site\Ssl\Generator\RsaKeyGenerator;
use App\Site\Creator\NodejsSite as NodejsSiteCreator;
use App\Site\Creator\StaticSite as StaticSiteCreator;
use App\Site\Creator\PhpSite as PhpSiteCreator;
use App\Site\Creator\PythonSite as PythonSiteCreator;
use App\Site\Creator\ReverseProxySite as ReverseProxySiteCreator;
use App\Site\Ssl\DistinguishedName;
use App\Site\Ssl\Generator\CsrGenerator;
use App\Site\Ssl\Util\Openssl;
use App\Site\NodejsSite;
use App\Site\StaticSite;
use App\Site\PhpSite;
use App\Site\PythonSite;
use App\Site\ReverseProxySite;
use App\Util\PasswordGenerator;
use App\Site\Application\WordPressInstaller;
use App\Service\Crypto;
class NewSiteController extends Controller
{
private const WORDPRESS_VHOST_TEMPLATE_NAME = "WordPress";
private const NODEJS_VHOST_TEMPLATE_NAME = "Nodejs";
private const STATIC_SITE_VHOST_TEMPLATE_NAME = "Static";
private const PYTHON_VHOST_TEMPLATE_NAME = "Python";
private const REVERSE_PROXY_VHOST_TEMPLATE_NAME = "ReverseProxy";
private const VARNISH_CACHE_SERVER = "127.0.0.1:6081";
private const PASSWORD_LENGTH = 20;
private ConfigManager $configManager;
private SiteEntityManager $siteEntityManager;
private CertificateEntityManager $certificateEntityManager;
private DatabaseEntityManager $databaseEntityManager;
private DatabaseUserEntityManager $databaseUserEntityManager;
private DatabaseServerEntityManager $databaseServerEntityManager;
private DomainNameParser $domainNameParser;
private VhostTemplateEntityManager $vhostTemplateEntityManager;
private ValidatorInterface $validator;
private array $wordPressDefaultConfigValues = ["FS_METHOD" => ["value" => "direct", "raw" => false], "WP_DEBUG_DISPLAY" => ["value" => "false", "raw" => true], "WP_DEBUG_LOG" => ["value" => "true", "raw" => true], "CONCATENATE_SCRIPTS" => ["value" => "false", "raw" => true], "AUTOSAVE_INTERVAL" => ["value" => 600, "raw" => true], "WP_POST_REVISIONS" => ["value" => 5, "raw" => true], "EMPTY_TRASH_DAYS" => ["value" => 21, "raw" => true]];
private array $wordPressMultiSiteConfigValues = ["WP_ALLOW_MULTISITE" => ["value" => "true", "raw" => true], "MULTISITE" => ["value" => "true", "raw" => true], "SUBDOMAIN_INSTALL" => ["value" => "false", "raw" => true], "DOMAIN_CURRENT_SITE" => ["value" => '', "raw" => false], "PATH_CURRENT_SITE" => ["value" => "/", "raw" => false], "SITE_ID_CURRENT_SITE" => ["value" => 1, "raw" => true], "BLOG_ID_CURRENT_SITE" => ["value" => 1, "raw" => true]];
public function __construct(ConfigManager $configManager, SiteEntityManager $siteEntityManager, CertificateEntityManager $certificateEntityManager, DatabaseEntityManager $databaseEntityManager, DatabaseUserEntityManager $databaseUserEntityManager, DatabaseServerEntityManager $databaseServerEntityManager, VhostTemplateEntityManager $vhostTemplateEntityManager, DomainNameParser $domainNameParser, ValidatorInterface $validator, TranslatorInterface $translator, Logger $logger)
{
goto B9664;
d0920:
$this->siteEntityManager = $siteEntityManager;
goto b6880;
f5e2f:
$this->domainNameParser = $domainNameParser;
goto Ad32c;
b6880:
$this->certificateEntityManager = $certificateEntityManager;
goto A1821;
E0890:
$this->databaseUserEntityManager = $databaseUserEntityManager;
goto F7ef0;
Ad32c:
$this->validator = $validator;
goto F3021;
B9664:
$this->configManager = $configManager;
goto d0920;
F3021:
parent::__construct($translator, $logger);
goto afa25;
A1821:
$this->databaseEntityManager = $databaseEntityManager;
goto E0890;
F7ef0:
$this->databaseServerEntityManager = $databaseServerEntityManager;
goto ac055;
ac055:
$this->vhostTemplateEntityManager = $vhostTemplateEntityManager;
goto f5e2f;
afa25:
}
public function index(Request $request): Response
{
goto D7a6f;
Bd796:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto b49fc;
D529e:
$user = $this->getUser();
goto Bb201;
d06f4:
if (true === $hasPermissions) {
goto ccb01;
}
goto Bd796;
e4f2b:
cd106:
goto C1722;
b49fc:
goto cd106;
goto Ec5c0;
Ec5c0:
ccb01:
goto D529e;
D7a6f:
$hasPermissions = $this->hasPermissions();
goto d06f4;
C1722:
return $response;
goto cd231;
Bb201:
$response = $this->render("Frontend/Site/New/index.html.twig", ["user" => $user]);
goto e4f2b;
cd231:
}
public function newPythonSite(Request $request): Response
{
goto E8364;
E8364:
$hasPermissions = $this->hasPermissions();
goto Cb543;
bdf46:
return $response;
goto b9ac9;
C904c:
$response = $this->handleCreatePythonSiteForm($request, $form);
goto fe6e2;
Ebade:
$form = $this->createPythonSiteForm($pythonSettings);
goto bd1a3;
B5407:
fdb05:
goto f9146;
E242c:
d1428:
goto D11ac;
d0542:
ac837:
goto bdf46;
e8f44:
$user = $this->getUser();
goto c6513;
a2a36:
return $response;
goto E242c;
f1d25:
$form->handleRequest($request);
goto A6d14;
f9146:
$response = $this->render("Frontend/Site/New/python.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto d0542;
c6513:
$pythonSettings = new PythonSettingsEntity();
goto Ebade;
Cb543:
if (true === $hasPermissions) {
goto B3a20;
}
goto b4458;
A7e09:
B3a20:
goto e8f44;
ffbc8:
goto ac837;
goto A7e09;
A6d14:
if (!(true === $form->isSubmitted())) {
goto becfc;
}
goto C904c;
bd1a3:
if (!(true === $request->isMethod("POST"))) {
goto fdb05;
}
goto f1d25;
D11ac:
becfc:
goto B5407;
b4458:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto ffbc8;
fe6e2:
if (!(false === is_null($response))) {
goto d1428;
}
goto a2a36;
b9ac9:
}
private function createPythonSiteForm(PythonSettingsEntity $pythonSettings): Form
{
goto A07b2;
A07b2:
$form = $this->createForm("App\Form\SiteNewPythonType", $pythonSettings, ["action" => $this->generateUrl("clp_site_python_new"), "method" => "POST", "attr" => ["id" => "new-python-site-form"]]);
goto d90cb;
d90cb:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto b750d;
b750d:
return $form;
goto c5eaa;
c5eaa:
}
private function handleCreatePythonSiteForm(Request $request, Form $form)
{
goto a8908;
B2e26:
$this->formErrors = $this->getErrorMessages($form);
goto b303f;
E5b3d:
E47b1:
goto E8cd0;
b303f:
goto F0803;
goto E5b3d;
c9153:
F0803:
goto d96b5;
E8cd0:
try {
goto c3d5a;
c779d:
$pythonVersion = $form->get("pythonVersion")->getData();
goto d8200;
c3d5a:
$session = $request->getSession();
goto C1001;
C183f:
return $response;
goto e5aa7;
d8200:
$port = $form->get("port")->getData();
goto c3f08;
a494b:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "pythonVersion" => $pythonVersion, "port" => $port];
goto E65e1;
e9867:
goto d40c4;
goto D8fe6;
c3f08:
$siteUser = $form->get("siteUser")->getData();
goto A08f3;
e5aa7:
d40c4:
goto A998e;
A190d:
$this->createPythonSite($domainName, $pythonVersion, $port, $siteUser, $siteUserPassword);
goto a494b;
B2efd:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto e9867;
Db00a:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto C183f;
acb8a:
$user = $this->getUser();
goto A190d;
C1001:
$domainName = $form->get("domainName")->getData();
goto c779d;
Fdffc:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto Db00a;
E646f:
$vhostTemplateName = self::PYTHON_VHOST_TEMPLATE_NAME;
goto a4844;
D8fe6:
Db45b:
goto acb8a;
A08f3:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto E646f;
E65e1:
EventQueue::addEvent(EventQueue::EVENT_SITE_PYTHON_CREATE, $user, $eventData, $request);
goto Fdffc;
a4844:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c99fb;
c99fb:
if (false === is_null($vhostTemplateEntity)) {
goto Db45b;
}
goto B2efd;
A998e:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto c9153;
a8908:
if (true === $form->isValid()) {
goto E47b1;
}
goto B2e26;
d96b5:
}
public function newReverseProxy(Request $request): Response
{
goto D2e36;
Cd126:
if (!(true === $request->isMethod("POST"))) {
goto Aa278;
}
goto D0a57;
Ae22c:
c1479:
goto f6df5;
E5186:
$form = $this->createReverseProxyForm();
goto Cd126;
d4f73:
return $response;
goto Ae22c;
c7fe2:
if (!(true === $form->isSubmitted())) {
goto Afd51;
}
goto E40c4;
Bb4cc:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto beb3d;
Efdeb:
ed7ac:
goto E5846;
E5846:
$user = $this->getUser();
goto E5186;
a4079:
if (true === $hasPermissions) {
goto ed7ac;
}
goto Bb4cc;
B7f62:
Aa278:
goto c8e6b;
f2b3b:
d0cc0:
goto Bcbb0;
D2e36:
$hasPermissions = $this->hasPermissions();
goto a4079;
D0a57:
$form->handleRequest($request);
goto c7fe2;
c8e6b:
$response = $this->render("Frontend/Site/New/reverse-proxy.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto f2b3b;
E40c4:
$response = $this->handleReverseProxyForm($request, $form);
goto B748d;
B748d:
if (!(false === is_null($response))) {
goto c1479;
}
goto d4f73;
beb3d:
goto d0cc0;
goto Efdeb;
f6df5:
Afd51:
goto B7f62;
Bcbb0:
return $response;
goto F62fe;
F62fe:
}
private function createReverseProxyForm(): Form
{
goto F252e;
F36f9:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto Cfe2b;
F252e:
$form = $this->createForm("App\Form\SiteNewReverseProxyType", [], ["action" => $this->generateUrl("clp_site_reverse_proxy_new"), "method" => "POST", "attr" => ["id" => "new-reverse-proxy-form"]]);
goto F36f9;
Cfe2b:
return $form;
goto de069;
de069:
}
private function handleReverseProxyForm(Request $request, Form $form)
{
goto F051c;
B0019:
goto Eaf9e;
goto Cef43;
Cef43:
f0da0:
goto F91a1;
F051c:
if (true === $form->isValid()) {
goto f0da0;
}
goto db89c;
db89c:
$this->formErrors = $this->getErrorMessages($form);
goto B0019;
da1bd:
Eaf9e:
goto F4def;
F91a1:
try {
goto D3f46;
D5d2b:
goto b762e;
goto a2509;
C9023:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto E172c;
D3f46:
$session = $request->getSession();
goto d6c19;
E8130:
return $response;
goto D2c88;
C1bbf:
$reverseProxyUrl = $form->get("reverseProxyUrl")->getData();
goto daf30;
C2d1e:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto E8130;
a90a3:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto D5d2b;
daf30:
$vhostTemplateName = self::REVERSE_PROXY_VHOST_TEMPLATE_NAME;
goto C9023;
a2509:
b522c:
goto db031;
D40cb:
$siteUser = $form->get("siteUser")->getData();
goto bef27;
a96be:
EventQueue::addEvent(EventQueue::EVENT_SITE_REVERSE_PROXY_CREATE, $user, $eventData, $request);
goto abe52;
E172c:
if (false === is_null($vhostTemplateEntity)) {
goto b522c;
}
goto a90a3;
D2c88:
b762e:
goto A7078;
d6c19:
$domainName = $form->get("domainName")->getData();
goto D40cb;
abe52:
$session->getFlashBag()->set("success", $this->translator->trans("Reverse Proxy has been created."));
goto C2d1e;
db031:
$user = $this->getUser();
goto C9d02;
c0bfe:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "reverseProxyUrl" => $reverseProxyUrl];
goto a96be;
bef27:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto C1bbf;
C9d02:
$this->createReverseProxySite($domainName, $reverseProxyUrl, $siteUser, $siteUserPassword);
goto c0bfe;
A7078:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto da1bd;
F4def:
}
public function newNodejsSite(Request $request): Response
{
goto D8085;
E2d61:
$nodejsSettings = new NodejsSettingsEntity();
goto af98d;
Cd8f5:
return $response;
goto ae1b7;
a1032:
goto F3d00;
goto be5bd;
D68b5:
if (!(true === $form->isSubmitted())) {
goto Ea9a1;
}
goto dc96d;
D8085:
$hasPermissions = $this->hasPermissions();
goto cd4e4;
ababe:
$response = $this->render("Frontend/Site/New/nodejs.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto F689c;
A1750:
if (!(false === is_null($response))) {
goto D2b46;
}
goto Cba5c;
be5bd:
A11e2:
goto Ed2be;
Ca5d8:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto a1032;
e0623:
if (!(true === $request->isMethod("POST"))) {
goto bcdbe;
}
goto F3163;
c4a23:
Ea9a1:
goto c4d74;
Cba5c:
return $response;
goto E6f99;
Ed2be:
$user = $this->getUser();
goto E2d61;
af98d:
$form = $this->createNodejsSiteForm($nodejsSettings);
goto e0623;
c4d74:
bcdbe:
goto ababe;
F689c:
F3d00:
goto Cd8f5;
E6f99:
D2b46:
goto c4a23;
F3163:
$form->handleRequest($request);
goto D68b5;
dc96d:
$response = $this->handleCreateNodejsSiteForm($request, $form);
goto A1750;
cd4e4:
if (true === $hasPermissions) {
goto A11e2;
}
goto Ca5d8;
ae1b7:
}
private function createNodejsSiteForm(NodejsSettingsEntity $nodejsSettings): Form
{
goto ca11f;
e8cbc:
return $form;
goto Ccff7;
ca11f:
$form = $this->createForm("App\Form\SiteNewNodejsType", $nodejsSettings, ["action" => $this->generateUrl("clp_site_nodejs_new"), "method" => "POST", "attr" => ["id" => "new-nodejs-site-form"]]);
goto cdade;
cdade:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto e8cbc;
Ccff7:
}
private function handleCreateNodejsSiteForm(Request $request, Form $form)
{
goto B19fe;
E73e9:
goto eb7df;
goto Ee087;
B19fe:
if (true === $form->isValid()) {
goto Ce745;
}
goto d939f;
B97a0:
try {
goto E8fff;
c2763:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto Ba5da;
Fe28b:
return $response;
goto e95bf;
Fa47a:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto cec82;
e95bf:
c3d1d:
goto A0227;
cec82:
goto c3d1d;
goto Cae70;
B203f:
$siteUser = $form->get("siteUser")->getData();
goto aa40f;
E3cba:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "nodejsVersion" => $nodejsVersion, "port" => $port];
goto Bda84;
aa40f:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto Ac2b0;
Caa29:
$domainName = $form->get("domainName")->getData();
goto Fba88;
fde57:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto e5893;
Ba5da:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto Fe28b;
e5893:
if (false === is_null($vhostTemplateEntity)) {
goto B1251;
}
goto Fa47a;
E8fff:
$session = $request->getSession();
goto Caa29;
Bda84:
EventQueue::addEvent(EventQueue::EVENT_SITE_NODEJS_CREATE, $user, $eventData, $request);
goto c2763;
Cae70:
B1251:
goto daae0;
F5cc2:
$port = $form->get("port")->getData();
goto B203f;
daae0:
$user = $this->getUser();
goto Cd16f;
Ac2b0:
$vhostTemplateName = self::NODEJS_VHOST_TEMPLATE_NAME;
goto fde57;
Fba88:
$nodejsVersion = $form->get("nodejsVersion")->getData();
goto F5cc2;
Cd16f:
$this->createNodejsSite($domainName, $nodejsVersion, $port, $siteUser, $siteUserPassword);
goto E3cba;
A0227:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto a3e89;
d939f:
$this->formErrors = $this->getErrorMessages($form);
goto E73e9;
Ee087:
Ce745:
goto B97a0;
a3e89:
eb7df:
goto D3026;
D3026:
}
public function newStaticSite(Request $request): Response
{
goto ccf72;
b1788:
$response = $this->render("Frontend/Site/New/static.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto D4d6e;
E3e9b:
return $response;
goto c2bc6;
ccf72:
$hasPermissions = $this->hasPermissions();
goto fcf0d;
D4d6e:
cbb1c:
goto B9e73;
fcf0d:
if (true === $hasPermissions) {
goto ba8fd;
}
goto ce359;
C056a:
$user = $this->getUser();
goto Cf045;
Cf045:
$form = $this->createStaticSiteForm();
goto ddb53;
B9e73:
return $response;
goto c124b;
aed29:
$response = $this->handleCreateStaticSiteForm($request, $form);
goto b1cfb;
c8fdc:
if (!(true === $form->isSubmitted())) {
goto fe3c4;
}
goto aed29;
c2bc6:
B1eaa:
goto E5734;
ce359:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto d4a39;
ddb53:
if (!(true === $request->isMethod("POST"))) {
goto f93e0;
}
goto D8340;
Fe858:
ba8fd:
goto C056a;
Fcac5:
f93e0:
goto b1788;
b1cfb:
if (!(false === is_null($response))) {
goto B1eaa;
}
goto E3e9b;
d4a39:
goto cbb1c;
goto Fe858;
D8340:
$form->handleRequest($request);
goto c8fdc;
E5734:
fe3c4:
goto Fcac5;
c124b:
}
private function createStaticSiteForm(): Form
{
goto cd0cf;
E8b39:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto fd8c9;
fd8c9:
return $form;
goto A61bd;
cd0cf:
$form = $this->createForm("App\Form\SiteNewStaticType", [], ["action" => $this->generateUrl("clp_site_static_new"), "method" => "POST", "attr" => []]);
goto E8b39;
A61bd:
}
private function handleCreateStaticSiteForm(Request $request, Form $form)
{
goto Fac5d;
D786a:
goto B2aea;
goto E4488;
Fac5d:
if (true === $form->isValid()) {
goto c4d5b;
}
goto A81b9;
E4488:
c4d5b:
goto aa2e5;
A81b9:
$this->formErrors = $this->getErrorMessages($form);
goto D786a;
aa2e5:
try {
goto B64b0;
ff772:
$vhostTemplateName = self::STATIC_SITE_VHOST_TEMPLATE_NAME;
goto bb4e1;
b20ed:
EventQueue::addEvent(EventQueue::EVENT_SITE_STATIC_CREATE, $user, $eventData, $request);
goto A062b;
Cae4a:
$domainName = $form->get("domainName")->getData();
goto A2bb9;
A2bb9:
$siteUser = $form->get("siteUser")->getData();
goto Eef31;
E350d:
A6d29:
goto ae501;
B64b0:
$session = $request->getSession();
goto Cae4a;
c9682:
if (false === is_null($vhostTemplateEntity)) {
goto A6d29;
}
goto Db931;
bb4e1:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c9682;
ba2da:
goto Cfb4c;
goto E350d;
E1a78:
$this->createStaticSite($domainName, $siteUser, $siteUserPassword);
goto C0712;
A062b:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto E4b60;
ae318:
Cfb4c:
goto a49bc;
c3dbf:
return $response;
goto ae318;
Db931:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto ba2da;
Eef31:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto ff772;
C0712:
$eventData = ["site" => $domainName, "siteUser" => $siteUser];
goto b20ed;
ae501:
$user = $this->getUser();
goto E1a78;
E4b60:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto c3dbf;
a49bc:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto Ef1cc;
Ef1cc:
B2aea:
goto cd434;
cd434:
}
public function newPhpSite(Request $request): Response
{
goto b13ed;
ea7db:
if (!(false === is_null($response))) {
goto B9704;
}
goto Ff31d;
b13ed:
$hasPermissions = $this->hasPermissions();
goto eda7b;
Afe0a:
$form->handleRequest($request);
goto d62b3;
Fceca:
$form = $this->createPhpSiteForm();
goto a9707;
a776b:
return $response;
goto Ed885;
F0fbc:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto d4721;
Ff31d:
return $response;
goto d4cf1;
d62b3:
if (!(true === $form->isSubmitted())) {
goto Ef16b;
}
goto d59c1;
Fedb9:
eff5b:
goto a776b;
d4721:
goto eff5b;
goto F0e48;
f5a53:
Fccfd:
goto f22f5;
d4cf1:
B9704:
goto A0964;
F512d:
$user = $this->getUser();
goto Fceca;
eda7b:
if (true === $hasPermissions) {
goto df877;
}
goto F0fbc;
A0964:
Ef16b:
goto f5a53;
F0e48:
df877:
goto F512d;
a9707:
if (!(true === $request->isMethod("POST"))) {
goto Fccfd;
}
goto Afe0a;
d59c1:
$response = $this->handleCreatePhpSiteForm($request, $form);
goto ea7db;
f22f5:
$response = $this->render("Frontend/Site/New/php.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto Fedb9;
Ed885:
}
private function createPhpSiteForm(): Form
{
goto ee030;
Aa391:
return $form;
goto A82b0;
ee030:
$form = $this->createForm("App\Form\SiteNewPhpType", [], ["action" => $this->generateUrl("clp_site_php_new"), "method" => "POST", "attr" => []]);
goto E0df4;
E0df4:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto Aa391;
A82b0:
}
private function handleCreatePhpSiteForm(Request $request, Form $form)
{
goto f1ccb;
f8fd9:
Fbd40:
goto F43f6;
f1ccb:
if (true === $form->isValid()) {
goto E9037;
}
goto Ae225;
Ae225:
$this->formErrors = $this->getErrorMessages($form);
goto ccb63;
ee34b:
try {
goto C6372;
b5bd3:
$domainName = $form->get("domainName")->getData();
goto C0d25;
fa559:
F7c2c:
goto F266b;
D2910:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto Cd76a;
Cc987:
$this->createPhpSite($domainName, $rootDirectory, $phpVersion, $vhostTemplateName, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto f4384;
bbf95:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto ee449;
E2f25:
$varnishCacheSettings = (array) json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto F1e49;
F266b:
$varnishCacheSettings = [];
goto c56b4;
Cd76a:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto ae1c7;
c56b4:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto A83b3;
}
goto E2f25;
e9fdc:
EventQueue::addEvent(EventQueue::EVENT_SITE_PHP_CREATE, $user, $eventData, $request);
goto c4ce9;
Eefe7:
$rootDirectory = sprintf("%s/%s", $rootDirectory, ltrim(rtrim($vhostTemplateEntity->getRootDirectory(), "/"), "/"));
goto fa559;
F1e49:
A83b3:
goto Cc987;
b37b8:
if (!(false === empty($vhostTemplateEntity->getRootDirectory()))) {
goto F7c2c;
}
goto Eefe7;
e02d2:
$user = $this->getUser();
goto e74e7;
C666b:
C1002:
goto e02d2;
ee449:
goto Bd5d9;
goto C666b;
a919d:
return $response;
goto Cbce7;
ae1c7:
if (false === is_null($vhostTemplateEntity)) {
goto C1002;
}
goto bbf95;
C6372:
$session = $request->getSession();
goto E752d;
Cbce7:
Bd5d9:
goto F79f0;
C0d25:
$phpVersion = $form->get("phpVersion")->getData();
goto Ada4f;
E752d:
$vhostTemplateName = $form->get("application")->getData();
goto b5bd3;
Ada4f:
$siteUser = $form->get("siteUser")->getData();
goto D2910;
a9f14:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto a919d;
e74e7:
$rootDirectory = $domainName;
goto b37b8;
c4ce9:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto a9f14;
f4384:
$eventData = ["site" => $domainName, "vhostTemplateName" => $vhostTemplateName, "phpVersion" => $phpVersion, "siteUser" => $siteUser];
goto e9fdc;
F79f0:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto f8fd9;
ab99b:
E9037:
goto ee34b;
ccb63:
goto Fbd40;
goto ab99b;
F43f6:
}
public function newWordPressSite(Request $request): Response
{
goto D85c4;
eb53b:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto cd42f;
cd42f:
goto b912c;
goto A5497;
D7675:
$user = $this->getUser();
goto F855d;
De4db:
b912c:
goto E8f64;
c9b50:
F2365:
goto cbd11;
C658a:
if (!(false === is_null($response))) {
goto D1b50;
}
goto c8fdf;
A5497:
E0d29:
goto D7675;
C893d:
$response = $this->handleCreateWordPressSiteForm($request, $form);
goto C658a;
b8d5c:
if (!(true === $form->isSubmitted())) {
goto A62f7;
}
goto C893d;
d06f3:
if (true === $hasPermissions) {
goto E0d29;
}
goto eb53b;
ad96d:
if (!(true === $request->isMethod("POST"))) {
goto F2365;
}
goto Aebb8;
ba5de:
A62f7:
goto c9b50;
F855d:
$form = $this->createWordPressSiteForm();
goto ad96d;
D85c4:
$hasPermissions = $this->hasPermissions();
goto d06f3;
Aebb8:
$form->handleRequest($request);
goto b8d5c;
E8f64:
return $response;
goto D81a8;
c8fdf:
return $response;
goto ce0b5;
ce0b5:
D1b50:
goto ba5de;
cbd11:
$response = $this->render("Frontend/Site/New/wordpress.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto De4db;
D81a8:
}
private function createWordPressSiteForm(): Form
{
goto B4c9a;
cc9ed:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto A9244;
A9244:
return $form;
goto F1f98;
B4c9a:
$form = $this->createForm("App\Form\SiteNewWordPressType", [], ["action" => $this->generateUrl("clp_site_wordpress_new"), "method" => "POST", "attr" => ["id" => "new-wordpress-site-form"]]);
goto cc9ed;
F1f98:
}
private function handleCreateWordPressSiteForm(Request $request, Form $form)
{
goto e9410;
e9410:
if (true === $form->isValid()) {
goto bdeee;
}
goto B3328;
ca1e6:
bdeee:
goto Fb414;
Fb414:
try {
goto a91bd;
E14ef:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto C6379;
c1e2a:
$siteEntity = $this->createPhpSite($domainName, $domainName, $phpVersion, self::WORDPRESS_VHOST_TEMPLATE_NAME, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto fd837;
Fea3a:
$databaseEntity = $this->databaseEntityManager->createEntity();
goto B462f;
a56f0:
$title = $form->get("siteTitle")->getData();
goto dbd9c;
f2465:
$databaseUserEntity->setPassword(Crypto::encrypt($databaseUserPassword));
goto c85fb;
B2160:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Fea3a;
A1040:
EventQueue::addEvent(EventQueue::EVENT_SITE_WORDPRESS_CREATE, $user, $eventData, $request);
goto Fc8c1;
C52c2:
$siteCredentials["WordPress"] = [$this->translator->trans("Admin E-Mail") => $adminEmail, $this->translator->trans("Admin User Name") => $adminUserName, $this->translator->trans("Admin Password") => $adminPassword, $this->translator->trans("Admin Url") => sprintf("https://%s/wp-admin/", rtrim($domainName, "/"))];
goto F156c;
Aa5a3:
$siteEntity->addDatabase($databaseEntity);
goto d6cbe;
df798:
ebeec:
goto c1e2a;
B462f:
$databaseEntity->setDatabaseServer($activeDatabaseServerEntity);
goto A62d9;
C6379:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::WORDPRESS_VHOST_TEMPLATE_NAME);
goto c7de7;
d1cb6:
$databaseUserName = $this->getUniqueDatabaseUserName($generatedName);
goto a6598;
d8b0f:
$this->siteEntityManager->updateEntity($siteEntity);
goto bf2e4;
F485b:
$session->set("siteCredentials", $siteCredentials);
goto D6f89;
c1d49:
$adminPassword = $form->get("adminPassword")->getData();
goto f5af8;
f5af8:
$adminEmail = $form->get("adminEmail")->getData();
goto f417e;
a6598:
$databaseUserPassword = PasswordGenerator::generate(self::PASSWORD_LENGTH);
goto D53f9;
c7de7:
$phpVersion = $vhostTemplateEntity->getPhpVersion();
goto Aa140;
f4e7a:
$databaseEntity->addUser($databaseUserEntity);
goto Aa5a3;
d0817:
$generatedName = $this->generateNameFromDomainName($domainName);
goto d196f;
D6f89:
$eventData = ["site" => $domainName, "siteUser" => $siteUser];
goto A1040;
A791e:
$session = $request->getSession();
goto F3dfe;
Fc8c1:
$response = $this->redirect($this->generateUrl("clp_site_wordpress_installed"));
goto F84bf;
da7da:
if (!(false === is_null($siteEntity))) {
goto b051d;
}
goto fa3f5;
f417e:
$isMultiSite = $form->get("multiSite")->getData();
goto B2160;
d6cbe:
$databaseManager = new DatabaseManager($activeDatabaseServerEntity);
goto B6f17;
a74aa:
$databaseManager->createUser($databaseUserEntity);
goto d8b0f;
F156c:
b051d:
goto F485b;
F3dfe:
$domainName = $form->get("domainName")->getData();
goto d0817;
dbd9c:
$adminUserName = $form->get("adminUserName")->getData();
goto c1d49;
Fff11:
$siteCredentials = [$this->translator->trans("Site") => [$this->translator->trans("IP Address") => $instance->getIpv4PublicIp(), $this->translator->trans("Domain Name") => sprintf("https://%s", $domainName), $this->translator->trans("Site User") => $siteUser, $this->translator->trans("Password") => $siteUserPassword]];
goto da7da;
c85fb:
$databaseUserEntity->setPermissions(DatabaseUserEntity::PERMISSIONS_READ_WRITE);
goto a83b8;
B6f17:
$databaseManager->createDatabase($databaseEntity);
goto a74aa;
fd837:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ce564;
d34e8:
$varnishCacheSettings = (array) json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto df798;
C9408:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto ebeec;
}
goto d34e8;
Aa140:
$varnishCacheSettings = [];
goto C9408;
D53f9:
$url = sprintf("https://%s", $siteEntity->getDomainName());
goto a56f0;
abfc5:
$databaseUserEntity = $this->databaseUserEntityManager->createEntity();
goto f5445;
fa3f5:
$databaseName = $this->getUniqueDatabaseName($generatedName);
goto d1cb6;
d196f:
$siteUser = $form->get("siteUser")->getData();
goto E14ef;
F84bf:
return $response;
goto D90b1;
f5445:
$databaseUserEntity->setUserName($databaseUserName);
goto f2465;
bf2e4:
$this->installWordPress($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail, $siteEntity, $activeDatabaseServerEntity, $databaseEntity, $databaseUserEntity);
goto D21ac;
bc0d4:
$databaseEntity->setSite($siteEntity);
goto abfc5;
A62d9:
$databaseEntity->setName($databaseName);
goto bc0d4;
D21ac:
$siteCredentials[$this->translator->trans("Database")] = [$this->translator->trans("Host") => $activeDatabaseServerEntity->getHost(), $this->translator->trans("Port") => $activeDatabaseServerEntity->getPort(), $this->translator->trans("Database Name") => $databaseName, $this->translator->trans("Database User Name") => $databaseUserName, $this->translator->trans("Database User Password") => $databaseUserPassword];
goto C52c2;
a91bd:
$user = $this->getUser();
goto A791e;
a83b8:
$databaseUserEntity->setDatabase($databaseEntity);
goto f4e7a;
Ce564:
$instance = $request->attributes->get("instance");
goto Fff11;
D90b1:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("danger", $this->translator->trans("An error has occurred, error message: %errorMessage%", ["%errorMessage%" => $e->getMessage()]));
}
goto Ef2f7;
A2e8e:
goto e8cfd;
goto ca1e6;
Ef2f7:
e8cfd:
goto Bdd5c;
B3328:
$this->formErrors = $this->getErrorMessages($form);
goto A2e8e;
Bdd5c:
}
private function installWordPress(bool $isMultiSite, string $url, string $title, string $adminUserName, string $adminPassword, string $adminEmail, SiteEntity $siteEntity, DatabaseServerEntity $databaseServerEntity, DatabaseEntity $databaseEntity, DatabaseUserEntity $databaseUserEntity): void
{
goto b2dcf;
e1136:
F7361:
goto Ef1af;
F9cad:
$wordPressInstaller->installCore($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail);
goto F2cfb;
a80d9:
c0d19:
goto f07b2;
bbd56:
$wordPressInstaller->createConfig($databaseHost, $databaseName, $databaseUserName, $databaseUserPassword);
goto F9cad;
eae61:
$wordPressInstaller = new WordPressInstaller($siteEntity);
goto F9a58;
b2dcf:
$databaseHost = sprintf("%s:%s", $databaseServerEntity->getHost(), $databaseServerEntity->getPort());
goto E4751;
f07b2:
if (!(true === $isMultiSite)) {
goto F7361;
}
goto ffb5a;
F2cfb:
foreach ($this->wordPressDefaultConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["value"], $config["raw"]);
F6459:
}
goto a80d9;
ffb5a:
$this->wordPressMultiSiteConfigValues["DOMAIN_CURRENT_SITE"]["value"] = $siteEntity->getDomainName();
goto Ca533;
D0df7:
F9c65:
goto e1136;
F9a58:
$wordPressInstaller->downloadAndExtractLatestVersion();
goto bbd56;
Ef1af:
$wordPressInstaller->resetPermissions();
goto f17cc;
Ca533:
foreach ($this->wordPressMultiSiteConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["value"], $config["raw"]);
a6a29:
}
goto D0df7;
E4751:
$databaseName = $databaseEntity->getName();
goto D02e3;
Ff1b4:
$databaseUserPassword = Crypto::decrypt($databaseUserEntity->getPassword());
goto eae61;
D02e3:
$databaseUserName = $databaseUserEntity->getUserName();
goto Ff1b4;
f17cc:
}
private function createPhpSite(string $domainName, string $rootDirectory, string $phpVersion, string $vhostTemplateName, string $siteUser, string $siteUserPassword, array $varnishCacheSettings = []): SiteEntity
{
goto ba490;
f762b:
$certificateEntity->setDefaultCertificate(true);
goto Fc90c;
Fd577:
$phpSiteCreator->createPhpFpmPool();
goto f0400;
F4200:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto e1819;
Dca7f:
Cda25:
goto c3720;
dad14:
$phpSiteCreator->createPrivateKeyAndCertificate();
goto Fd577;
A5e6a:
$siteEntity->setVarnishCache(true);
goto Dca7f;
Ae904:
$vhostTemplate->build();
goto Bdd94;
Dac3c:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto c1703;
E5e84:
$siteConstraints = $this->validator->validate($siteEntity);
goto Cf3c8;
b13c5:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto dc1af;
c1703:
$certificateEntity->setSite($siteEntity);
goto ecc37;
Fe49b:
$certificateEntity->setCertificate($selfSignedCertificate);
goto F1387;
C4909:
$siteEntity->setDomainName($domainName);
goto c40ee;
A6dd0:
return $siteEntity;
goto c1b51;
c3720:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto C4fa1;
}
goto d20d8;
efec4:
$siteEntity = $this->siteEntityManager->createEntity();
goto Be44d;
D304a:
$defaultVarnishCacheSettings = ["enabled" => false, "server" => self::VARNISH_CACHE_SERVER, "cacheTagPrefix" => substr(md5(time()), 0, 4)];
goto E37cd;
F970a:
$subjectAlternativeNames = [];
goto c6638;
B083b:
$phpSite->setRegistrableDomain($registrableDomain);
goto a9f0a;
aae5b:
$vhostTemplate = new PhpVhostTemplate($phpSite);
goto bb378;
F7ff3:
f997b:
goto d8a7a;
b0818:
$siteEntity->setUserPassword($siteUserPassword);
goto Dea9f;
f4fdb:
$phpSiteCreator->createRootDirectory();
goto ccee5;
Fc90c:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto ccdd4;
ba490:
$varnishCache = false === empty($varnishCacheSettings) ? true : false;
goto Fa54e;
d8042:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto aa43f;
D255a:
$phpSite->setCertificate($certificateEntity);
goto D078a;
e1819:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F0b2e;
d2e78:
$phpSite = new PhpSite();
goto dbd43;
a4f74:
$phpSiteCreator->reloadNginxService();
goto A9feb;
E37cd:
$varnishCacheSettings = array_merge($defaultVarnishCacheSettings, $varnishCacheSettings);
goto E3273;
F0b2e:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto Bc8b4;
F1387:
$siteEntity->setCertificate($certificateEntity);
goto d2e78;
ea9d3:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto ecb24;
c9610:
if (!(false === empty($varnishCache))) {
goto Cda25;
}
goto A5e6a;
C7ceb:
$siteEntity->setPhpSettings($phpSettingsEntity);
goto bf4ab;
bcab7:
$phpSite->setVarnishCacheSettings($varnishCacheSettings);
goto B2a0a;
b2553:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Ae904;
Bdd94:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto bf985;
b5482:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto F4200;
aa43f:
$csr = $csrGenerator->generate();
goto f2fb3;
d20d8:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto d2b6f;
d624c:
$phpSettingsEntity = new PhpSettingsEntity();
goto C7ceb;
Bc8b4:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto efec4;
C9537:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto F970a;
f2fb3:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto f762b;
A184f:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto c08ff;
}
goto B94ac;
Be44d:
$siteEntity->setType(SiteEntity::TYPE_PHP);
goto C4909;
d2b6f:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto f21f1;
Ed6f2:
$this->siteEntityManager->updateEntity($siteEntity);
goto A6dd0;
ee8b7:
$phpSiteCreator->createNginxVhost();
goto a4f74;
ccee5:
$phpSiteCreator->createLogrotateFile();
goto Bd357;
D078a:
$phpSite->setPhpSettings($phpSettingsEntity);
goto ca899;
b8454:
e5343:
goto Dac3c;
Bd357:
$phpSiteCreator->createIndexPhp();
goto dad14;
f21f1:
if (!(false === empty($redirectionVhostTemplate))) {
goto f997b;
}
goto Cba3d;
Dea9f:
$siteEntity->setRootDirectory($rootDirectory);
goto c9610;
bb378:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto C91b5;
C483a:
$phpSite->setVarnishCache(true);
goto D304a;
dbd43:
$phpSite->setUser($siteEntity->getUser());
goto F267c;
E3273:
$phpSiteCreator->createVarnishCacheStructure($varnishCacheSettings);
goto bcab7;
e851e:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Fe49b;
c60c2:
$phpSiteCreator = new PhpSiteCreator($phpSite);
goto A7c73;
f0400:
$phpSiteCreator->reloadPhpFpmService();
goto e0cff;
be483:
$constraintViolationList = new ConstraintViolationList();
goto Ce64c;
Cf3c8:
$phpSettingsConstraints = $this->validator->validate($phpSettingsEntity);
goto Ab39a;
B2a0a:
bfe4a:
goto ee8b7;
ccdd4:
$certificateEntity->setCsr($csr);
goto e851e;
B2073:
$phpSettingsEntity->setSite($siteEntity);
goto E5e84;
Cba3d:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto F7ff3;
Fa54e:
$rootDirectory = trim(rtrim(ltrim($rootDirectory, "/")), "/");
goto c84c7;
c6638:
if (!(true === is_null($subdomain))) {
goto e672f;
}
goto A561b;
ca899:
$phpSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto c60c2;
A561b:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto d777f;
c40ee:
$siteEntity->setUser($siteUser);
goto b0818;
d777f:
e672f:
goto A184f;
dc1af:
throw new \Exception(implode("; ", $errorMessages));
goto b8454;
a9f0a:
$phpSite->setSubdomain($subdomain);
goto B4641;
B94ac:
$subjectAlternativeNames[] = $registrableDomain;
goto ddeab;
ecc37:
$rsaKeyGenerator = new RsaKeyGenerator();
goto C9537;
d8a7a:
C4fa1:
goto cd14a;
bf4ab:
$phpSettingsEntity->setPhpVersion($phpVersion);
goto B2073;
bf985:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ed6f2;
F267c:
$phpSite->setUserPassword($siteEntity->getUserPassword());
goto F3d43;
A9feb:
$phpSiteCreator->resetPermissions();
goto aae5b;
F3d43:
$phpSite->setDomainName($domainName);
goto B083b;
Ab39a:
if (!(count($siteConstraints) || count($phpSettingsConstraints))) {
goto e5343;
}
goto be483;
C91b5:
$vhostTemplate->resetProcessors();
goto ea9d3;
ecb24:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto b2553;
cbb3b:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto d8042;
B4641:
$phpSite->setRootDirectory($siteEntity->getRootDirectory());
goto D255a;
ddeab:
c08ff:
goto cbb3b;
cd14a:
$siteEntity->setVhostTemplate($vhostTemplate);
goto d624c;
Ce64c:
$constraintViolationList->addAll($siteConstraints);
goto cfc99;
e0cff:
if (!(true === $varnishCache)) {
goto bfe4a;
}
goto C483a;
cfc99:
$constraintViolationList->addAll($phpSettingsConstraints);
goto b13c5;
A7c73:
$phpSiteCreator->createUser();
goto f4fdb;
c84c7:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto b5482;
c1b51:
}
private function createNodejsSite(string $domainName, string $nodejsVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto D1f2b;
B97c2:
$nodejsSite->setSubdomain($subdomain);
goto C8702;
D08af:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto C42d1;
b6646:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto B8c15;
acd9d:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto febe1;
D5526:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto F0f40;
bcadd:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Eefdb;
E5af5:
a5112:
goto a476d;
dabc6:
$vhostTemplate = new StaticVhostTemplate($nodejsSite);
goto eca54;
f75c5:
$nodejsSiteCreator->createPrivateKeyAndCertificate();
goto F4350;
a7152:
$nodejsSiteCreator->installNodejs();
goto f75c5;
B0dc7:
$nodejsSettingsEntity->setSite($siteEntity);
goto Cc725;
b53e2:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto E6b52;
eca54:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto Bbc49;
b3c3c:
if (!(false === empty($redirectionVhostTemplate))) {
goto Fba8e;
}
goto b6646;
f8429:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Ade05;
F4350:
$nodejsSiteCreator->createNginxVhost();
goto Bafcf;
f59fd:
$nodejsSite->setUser($siteEntity->getUser());
goto a9532;
Bbc49:
$vhostTemplate->resetProcessors();
goto F865b;
B5a6d:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto afb12;
a43fb:
Cadff:
goto e7441;
D8bb5:
$nodejsSiteCreator = new NodejsSiteCreator($nodejsSite);
goto B0f3f;
C8702:
$nodejsSite->setRootDirectory($siteEntity->getRootDirectory());
goto B71f9;
Ab0c5:
$nodejsSiteCreator->resetPermissions();
goto dabc6;
F0f40:
$certificateEntity->setDefaultCertificate(true);
goto D08af;
afb12:
$subjectAlternativeNames = [];
goto b70f2;
a1a2d:
if (!(count($siteConstraints) || count($nodejsSettingsConstraints))) {
goto A80f4;
}
goto c9ff2;
C94d2:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto F1686;
a29ab:
$nodejsSiteCreator->createNvmDirectory();
goto a7152;
dd8f6:
$constraintViolationList->addAll($nodejsSettingsConstraints);
goto b78e2;
Ade05:
$siteEntity->setCertificate($certificateEntity);
goto f38fb;
bb175:
throw new \Exception(implode("; ", $errorMessages));
goto fd229;
fa01d:
return $siteEntity;
goto F7fce;
Fece8:
$siteEntity->setVhostTemplate($vhostTemplate);
goto b4b90;
a9532:
$nodejsSite->setUserPassword($siteEntity->getUserPassword());
goto ef353;
b33fb:
$nodejsSettingsEntity->setPort($port);
goto B0dc7;
C01a0:
$nodejsSettingsConstraints = $this->validator->validate($nodejsSettingsEntity);
goto a1a2d;
ef353:
$nodejsSite->setDomainName($domainName);
goto Abdbe;
c2594:
B40c5:
goto Fece8;
de8fd:
$siteEntity->setDomainName($domainName);
goto ff3c4;
cb597:
$rsaKeyGenerator = new RsaKeyGenerator();
goto B5a6d;
E15af:
$nodejsSettingsEntity->setNodejsVersion($nodejsVersion);
goto b33fb;
b4b90:
$nodejsSettingsEntity = new NodejsSettingsEntity();
goto Fe3d4;
Dce2d:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto E94a4;
B7457:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto B40c5;
}
goto acd9d;
Eefdb:
$siteEntity = $this->siteEntityManager->createEntity();
goto Dafb6;
db44c:
$nodejsSiteCreator->createRootDirectory();
goto D96f7;
F5db6:
$nodejsSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto D8bb5;
B0f3f:
$nodejsSiteCreator->createUser();
goto db44c;
C42d1:
$certificateEntity->setCsr($csr);
goto Babb2;
bfd2c:
$vhostTemplate->build();
goto b53e2;
D96f7:
$nodejsSiteCreator->createLogrotateFile();
goto a29ab;
e7441:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto D63bc;
Cc725:
$siteConstraints = $this->validator->validate($siteEntity);
goto C01a0;
B6d90:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto bfd2c;
ce8fe:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto E5af5;
E94a4:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto C1931;
A1ede:
$siteEntity->setUserPassword($siteUserPassword);
goto E7b39;
Bafcf:
$nodejsSiteCreator->reloadNginxService();
goto Ab0c5;
Ac3a1:
$this->siteEntityManager->updateEntity($siteEntity);
goto fa01d;
b70f2:
if (!(true === is_null($subdomain))) {
goto a5112;
}
goto ce8fe;
c9ff2:
$constraintViolationList = new ConstraintViolationList();
goto feb80;
F1686:
$certificateEntity->setSite($siteEntity);
goto cb597;
E6b52:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ac3a1;
fd229:
A80f4:
goto C94d2;
Fe3d4:
$siteEntity->setNodejsSettings($nodejsSettingsEntity);
goto E15af;
Abdbe:
$nodejsSite->setRegistrableDomain($registrableDomain);
goto B97c2;
b78e2:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto bb175;
B8779:
$nodejsSite->setNodejsSettings($nodejsSettingsEntity);
goto F5db6;
Fd64b:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Dce2d;
f38fb:
$nodejsSite = new NodejsSite();
goto f59fd;
D1f2b:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Fd64b;
febe1:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto b3c3c;
a476d:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto Cadff;
}
goto d8d0e;
B71f9:
$nodejsSite->setCertificate($certificateEntity);
goto B8779;
C1931:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::NODEJS_VHOST_TEMPLATE_NAME);
goto bcadd;
Dafb6:
$siteEntity->setType(SiteEntity::TYPE_NODEJS);
goto de8fd;
B8c15:
Fba8e:
goto c2594;
E7b39:
$siteEntity->setRootDirectory($domainName);
goto B7457;
F865b:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto Ea6fc;
Ea6fc:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto B6d90;
d8d0e:
$subjectAlternativeNames[] = $registrableDomain;
goto a43fb;
D63bc:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto d95f1;
feb80:
$constraintViolationList->addAll($siteConstraints);
goto dd8f6;
d95f1:
$csr = $csrGenerator->generate();
goto D5526;
Babb2:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto f8429;
ff3c4:
$siteEntity->setUser($siteUser);
goto A1ede;
F7fce:
}
private function createPythonSite(string $domainName, string $pythonVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto A9110;
dd777:
$pythonSite->setUserPassword($siteEntity->getUserPassword());
goto A5c91;
F84b8:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Cd715;
B59df:
e7b37:
goto Ffa57;
Ab2b2:
$pythonSite = new PythonSite();
goto ef895;
Bb96b:
$pythonSite->setCertificate($certificateEntity);
goto e1920;
c723d:
$pythonSiteCreator->resetPermissions();
goto Ef250;
Cd715:
$pythonSettingsEntity = new PythonSettingsEntity();
goto Cd6c1;
Baeca:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto dee18;
Ab0c3:
c4e55:
goto Bf2b8;
Bff53:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto E7b78;
}
goto Fe48c;
Fe48c:
$subjectAlternativeNames[] = $registrableDomain;
goto Dd505;
A990c:
$certificateEntity->setDefaultCertificate(true);
goto ec94e;
b9a51:
$pythonSiteCreator->createLogrotateFile();
goto b0cd0;
e48cd:
$siteEntity->setUser($siteUser);
goto Aa66c;
Bb983:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto aca8b;
E8ddb:
$certificateEntity->setSite($siteEntity);
goto a0b79;
cf1c1:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto C25b2;
Dd505:
E7b78:
goto Ce951;
F7efa:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::PYTHON_VHOST_TEMPLATE_NAME);
goto A3092;
Cd499:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto d3237;
d0c79:
$pythonSiteCreator->createRootDirectory();
goto b9a51;
Fc101:
$pythonSite->setRootDirectory($siteEntity->getRootDirectory());
goto Bb96b;
Da1e9:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto f06e5;
dee18:
return $siteEntity;
goto Ee586;
eb933:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Ac334;
fd245:
$siteEntity->setType(SiteEntity::TYPE_PYTHON);
goto be2db;
e1920:
$pythonSite->setPythonSettings($pythonSettingsEntity);
goto e7ad8;
bec69:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto cad2e;
c7524:
$csr = $csrGenerator->generate();
goto f8d89;
e88c1:
$certificateEntity->setCsr($csr);
goto Cd499;
D5088:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto c7524;
A9110:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto eb933;
D6afa:
$constraintViolationList->addAll($pythonSettingsConstraints);
goto Da1e9;
Aa66c:
$siteEntity->setUserPassword($siteUserPassword);
goto a1977;
c7e9b:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto C9e74;
A3092:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto E1241;
be2db:
$siteEntity->setDomainName($domainName);
goto e48cd;
b9153:
$pythonSettingsEntity->setSite($siteEntity);
goto a9b97;
A327c:
$pythonSiteCreator->createUser();
goto d0c79;
cc354:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto B1869;
f3ac0:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F7efa;
da4f0:
$pythonSiteCreator->reloadNginxService();
goto c723d;
ef895:
$pythonSite->setUser($siteEntity->getUser());
goto dd777;
C25b2:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto c7e9b;
Ffa57:
fd480:
goto F84b8;
Cd6c1:
$siteEntity->setPythonSettings($pythonSettingsEntity);
goto ba99f;
f8d89:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto A990c;
c1a71:
$pythonSiteCreator->createNginxVhost();
goto da4f0;
E1241:
$siteEntity = $this->siteEntityManager->createEntity();
goto fd245;
Ce951:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto D5088;
d3237:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c9b79;
C9e74:
$vhostTemplate->build();
goto Bb983;
A433a:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto Edc7e;
ddcb4:
Fc318:
goto Bff53;
Ef250:
$vhostTemplate = new PythonVhostTemplate($pythonSite);
goto cc354;
cad2e:
if (!(false === empty($redirectionVhostTemplate))) {
goto e7b37;
}
goto c5acb;
A5c91:
$pythonSite->setDomainName($domainName);
goto C538d;
aca8b:
$this->siteEntityManager->updateEntity($siteEntity);
goto Baeca;
dc283:
$pythonSettingsEntity->setPort($port);
goto b9153;
c9b79:
$siteEntity->setCertificate($certificateEntity);
goto Ab2b2;
B4e6e:
$constraintViolationList->addAll($siteConstraints);
goto D6afa;
a9b97:
$siteConstraints = $this->validator->validate($siteEntity);
goto Cb6f9;
c5e7e:
if (!(true === is_null($subdomain))) {
goto Fc318;
}
goto F398d;
ec94e:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto e88c1;
b2faa:
if (!(count($siteConstraints) || count($pythonSettingsConstraints))) {
goto c4e55;
}
goto D1acb;
c5acb:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto B59df;
a1977:
$siteEntity->setRootDirectory($domainName);
goto E4a4a;
f06e5:
throw new \Exception(implode("; ", $errorMessages));
goto Ab0c3;
e7ad8:
$pythonSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto bcdf6;
B1869:
$vhostTemplate->resetProcessors();
goto cf1c1;
F398d:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto ddcb4;
Edc7e:
$subjectAlternativeNames = [];
goto c5e7e;
C538d:
$pythonSite->setRegistrableDomain($registrableDomain);
goto d7b2b;
d7b2b:
$pythonSite->setSubdomain($subdomain);
goto Fc101;
afc10:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto bec69;
Bf2b8:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto E8ddb;
E4a4a:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto fd480;
}
goto afc10;
bcdf6:
$pythonSiteCreator = new PythonSiteCreator($pythonSite);
goto A327c;
Ac334:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto f3ac0;
ba99f:
$pythonSettingsEntity->setPythonVersion($pythonVersion);
goto dc283;
Cb6f9:
$pythonSettingsConstraints = $this->validator->validate($pythonSettingsEntity);
goto b2faa;
b0cd0:
$pythonSiteCreator->writePythonVersionFile();
goto fdfaa;
a0b79:
$rsaKeyGenerator = new RsaKeyGenerator();
goto A433a;
D1acb:
$constraintViolationList = new ConstraintViolationList();
goto B4e6e;
fdfaa:
$pythonSiteCreator->createPrivateKeyAndCertificate();
goto c1a71;
Ee586:
}
private function createStaticSite(string $domainName, string $siteUser, string $siteUserPassword): SiteEntity
{
goto D3e99;
ba979:
$staticSite->setCertificate($certificateEntity);
goto b93fb;
D65bf:
$subjectAlternativeNames = [];
goto B63fb;
d9eb9:
$siteEntity->setCertificate($certificateEntity);
goto B23dd;
C7b71:
$vhostTemplate->resetProcessors();
goto aa637;
faeca:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto f9b0a;
e0f5d:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::STATIC_SITE_VHOST_TEMPLATE_NAME);
goto e54c6;
ce7ed:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto Daec0;
}
goto D3bcd;
Adde9:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto fbdd4;
}
goto C5e64;
a4a6d:
$constraintViolationList = new ConstraintViolationList();
goto a05f4;
b2d55:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto adc25;
e2653:
Daec0:
goto E3ba2;
D0141:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto a5af1;
a292f:
$siteEntity->setUser($siteUser);
goto bd207;
a05f4:
$constraintViolationList->addAll($siteConstraints);
goto D0141;
d032e:
fbdd4:
goto f8413;
D915c:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto dfc6d;
E553d:
$staticSiteCreator->createLogrotateFile();
goto d3f3f;
b17d8:
$vhostTemplate = new StaticVhostTemplate($staticSite);
goto D6f5f;
e0107:
$certificateEntity->setCertificate($selfSignedCertificate);
goto d9eb9;
Ad23c:
ee426:
goto D2b81;
Aa4a2:
$staticSiteCreator->resetPermissions();
goto b17d8;
a5af1:
throw new \Exception(implode("; ", $errorMessages));
goto Ad23c;
b3022:
$siteConstraints = $this->validator->validate($siteEntity);
goto d63d9;
Bf839:
$this->siteEntityManager->updateEntity($siteEntity);
goto eb69a;
E95dd:
$staticSiteCreator->createNginxVhost();
goto Ea955;
d3f3f:
$staticSiteCreator->createIndexHtml();
goto Dd599;
B23dd:
$staticSite = new StaticSite();
goto e9f98;
A66fc:
e7fbc:
goto ce7ed;
e9f98:
$staticSite->setUser($siteEntity->getUser());
goto f59d8;
f59d8:
$staticSite->setUserPassword($siteEntity->getUserPassword());
goto eb7fd;
Ebcef:
$staticSite->setRootDirectory($siteEntity->getRootDirectory());
goto ba979;
E3ba2:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto F295e;
D2b81:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto Db24d;
adc25:
$certificateEntity->setCsr($csr);
goto d14bb;
dfc6d:
if (!(false === empty($redirectionVhostTemplate))) {
goto Ff639;
}
goto b8365;
D22fb:
$staticSite->setRegistrableDomain($registrableDomain);
goto F4f5a;
f277d:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto d630e;
e18b9:
$rsaKeyGenerator = new RsaKeyGenerator();
goto fe03b;
Dd599:
$staticSiteCreator->createPrivateKeyAndCertificate();
goto E95dd;
f3989:
Ff639:
goto d032e;
a16e9:
$staticSiteCreator->createUser();
goto f8770;
d14bb:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto e0107;
B4296:
$siteEntity->setDomainName($domainName);
goto a292f;
db9fc:
$siteEntity->setRootDirectory($domainName);
goto Adde9;
f8770:
$staticSiteCreator->createRootDirectory();
goto E553d;
cfea5:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto faeca;
e738b:
$siteEntity = $this->siteEntityManager->createEntity();
goto fa3eb;
fa3eb:
$siteEntity->setType(SiteEntity::TYPE_STATIC);
goto B4296;
F295e:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto Eb512;
b8365:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto f3989;
D3e99:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto cfea5;
A68c7:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto c37cb;
Db24d:
$certificateEntity->setSite($siteEntity);
goto e18b9;
C5e64:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto D915c;
d630e:
$certificateEntity->setDefaultCertificate(true);
goto b2d55;
B8ea9:
$vhostTemplate->build();
goto e2a19;
e2a19:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto e7065;
e6af1:
$staticSiteCreator = new StaticSiteCreator($staticSite);
goto a16e9;
F2ff0:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto A66fc;
F4f5a:
$staticSite->setSubdomain($subdomain);
goto Ebcef;
f9b0a:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto e0f5d;
B63fb:
if (!(true === is_null($subdomain))) {
goto e7fbc;
}
goto F2ff0;
fe03b:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto D65bf;
e54c6:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto e738b;
d63d9:
if (!count($siteConstraints)) {
goto ee426;
}
goto a4a6d;
aa637:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto A68c7;
Ea955:
$staticSiteCreator->reloadNginxService();
goto Aa4a2;
bd207:
$siteEntity->setUserPassword($siteUserPassword);
goto db9fc;
b93fb:
$staticSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto e6af1;
eb69a:
return $siteEntity;
goto ea6f8;
e7065:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Bf839;
f8413:
$siteEntity->setVhostTemplate($vhostTemplate);
goto b3022;
c37cb:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto B8ea9;
D3bcd:
$subjectAlternativeNames[] = $registrableDomain;
goto e2653;
D6f5f:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto C7b71;
eb7fd:
$staticSite->setDomainName($domainName);
goto D22fb;
Eb512:
$csr = $csrGenerator->generate();
goto f277d;
ea6f8:
}
private function createReverseProxySite(string $domainName, string $reverseProxyUrl, string $siteUser, string $siteUserPassword): SiteEntity
{
goto B67cc;
Cd601:
if (!(false === empty($redirectionVhostTemplate))) {
goto ac54a;
}
goto C48f8;
D3f58:
$siteEntity->setUserPassword($siteUserPassword);
goto D6962;
e022a:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto Fa919;
b1aff:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Aa99a;
d3572:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto a8c02;
B5b17:
$reversProxySiteCreator->createRootDirectory();
goto b980a;
C2002:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Dd917;
B1211:
$siteEntity->setDomainName($domainName);
goto a755e;
Fad7a:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto C2002;
Aa99a:
$siteConstraints = $this->validator->validate($siteEntity);
goto e8720;
C93c8:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c189e;
B70e0:
$constraintViolationList->addAll($siteConstraints);
goto A435e;
A3049:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto D81f8;
Be9ee:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto C93c8;
e5f90:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto c05bf;
A77de:
$reverseProxySite->setVhostTemplate($siteEntity->getVhostTemplate());
goto C3d5e;
ac6be:
$reverseProxySite->setCertificate($certificateEntity);
goto b169e;
D1be5:
$certificateEntity->setCsr($csr);
goto Be9ee;
A7645:
$certificateEntity->setSite($siteEntity);
goto c0442;
D72e3:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto f4dc6;
f4dc6:
D28bb:
goto Aba72;
Dd917:
$this->siteEntityManager->updateEntity($siteEntity);
goto aeec4;
c0442:
$rsaKeyGenerator = new RsaKeyGenerator();
goto F60ef;
fb2d2:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto D1be5;
D6962:
$siteEntity->setRootDirectory($domainName);
goto d51ef;
E5011:
$csr = $csrGenerator->generate();
goto e5f90;
C95ca:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto A7645;
ea495:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto b0978;
}
goto db8b9;
F36b4:
$reverseProxySite->setRootDirectory($siteEntity->getRootDirectory());
goto ac6be;
e0b93:
E32f5:
goto f90a4;
de1f7:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto a7541;
e8720:
if (!count($siteConstraints)) {
goto A866f;
}
goto bb4c7;
Fa919:
$vhostTemplate->resetProcessors();
goto e10db;
b169e:
$reverseProxySite->setReverseProxyUrl($reverseProxyUrl);
goto A77de;
C6ab2:
$vhostTemplate->build();
goto Fad7a;
Ff78d:
$reversProxySiteCreator->createPrivateKeyAndCertificate();
goto c32e8;
a8c02:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto C6ab2;
a755e:
$siteEntity->setUser($siteUser);
goto D3f58;
Cc571:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto Cd601;
C3d5e:
$reversProxySiteCreator = new ReverseProxySiteCreator($reverseProxySite);
goto a042a;
E99bc:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto E5011;
D81f8:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::REVERSE_PROXY_VHOST_TEMPLATE_NAME);
goto ef2fc;
Bbac0:
b0978:
goto b1aff;
a7541:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto A3049;
e03fe:
if (!(true === is_null($subdomain))) {
goto D28bb;
}
goto D72e3;
b980a:
$reversProxySiteCreator->createLogrotateFile();
goto Ff78d;
F60ef:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto d1929;
dd6de:
ac54a:
goto Bbac0;
B8ee0:
$reverseProxySite->setRegistrableDomain($registrableDomain);
goto e88f4;
A435e:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto B8dcf;
c2f3b:
$reverseProxySite->setUserPassword($siteEntity->getUserPassword());
goto f8cb3;
aeec4:
return $siteEntity;
goto F779e;
B67cc:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto de1f7;
Aba72:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto E32f5;
}
goto f827b;
c189e:
$siteEntity->setCertificate($certificateEntity);
goto Baf31;
Baf31:
$reverseProxySite = new ReverseProxySite();
goto f2f9f;
fc7a2:
$siteEntity = $this->siteEntityManager->createEntity();
goto A285f;
d51ef:
$siteEntity->setReverseProxyUrl($reverseProxyUrl);
goto ea495;
A70dd:
$reversProxySiteCreator->resetPermissions();
goto e7ffb;
c05bf:
$certificateEntity->setDefaultCertificate(true);
goto fb2d2;
a042a:
$reversProxySiteCreator->createUser();
goto B5b17;
B8dcf:
throw new \Exception(implode("; ", $errorMessages));
goto f455a;
C48f8:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto dd6de;
f827b:
$subjectAlternativeNames[] = $registrableDomain;
goto e0b93;
c32e8:
$reversProxySiteCreator->createNginxVhost();
goto a2847;
e88f4:
$reverseProxySite->setSubdomain($subdomain);
goto F36b4;
A285f:
$siteEntity->setType(SiteEntity::TYPE_REVERSE_PROXY);
goto B1211;
db8b9:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto Cc571;
bb4c7:
$constraintViolationList = new ConstraintViolationList();
goto B70e0;
a2847:
$reversProxySiteCreator->reloadNginxService();
goto A70dd;
f455a:
A866f:
goto C95ca;
e10db:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto d3572;
d1929:
$subjectAlternativeNames = [];
goto e03fe;
ef2fc:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto fc7a2;
f8cb3:
$reverseProxySite->setDomainName($domainName);
goto B8ee0;
f2f9f:
$reverseProxySite->setUser($siteEntity->getUser());
goto c2f3b;
e7ffb:
$vhostTemplate = new ReverseProxyVhostTemplate($reverseProxySite);
goto e022a;
f90a4:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto E99bc;
F779e:
}
public function installedWordPressSite(Request $request): Response
{
goto a1c29;
E0574:
ace6b:
goto F330c;
bd1b1:
return $response;
goto c5bc5;
B1e42:
$response = $this->render("Frontend/Site/New/wordpress-installed.html.twig", ["siteCredentials" => $siteCredentials]);
goto f8df2;
C7732:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto Fee5c;
F330c:
$siteCredentials = $this->renderSiteCredentials($siteCredentials);
goto B1e42;
a12b5:
fd6c5:
goto bd1b1;
a1c29:
$session = $request->getSession();
goto D6a37;
f8df2:
return $response;
goto a12b5;
B6d88:
if (false === empty($siteCredentials)) {
goto ace6b;
}
goto C7732;
D6a37:
$siteCredentials = $session->get("siteCredentials");
goto B6d88;
Fee5c:
goto fd6c5;
goto E0574;
c5bc5:
}
private function renderSiteCredentials(array $siteCredentials): string
{
goto Ccb02;
ebfed:
return $renderedCredentials;
goto Af6c2;
Cf4f6:
foreach ($siteCredentials as $section => $sectionData) {
goto B032d;
F8b28:
B79e7:
goto Eb776;
B032d:
$renderedCredentials .= $section . PHP_EOL;
goto C4423;
b0dc7:
foreach ($sectionData as $key => $value) {
$renderedCredentials .= sprintf("%s: %s", $key, $value) . PHP_EOL;
F1507:
}
goto ab463;
ab463:
De8b1:
goto e71ce;
C4423:
$renderedCredentials .= "------------------------------------------------------" . PHP_EOL;
goto b0dc7;
e71ce:
$renderedCredentials .= PHP_EOL;
goto F8b28;
Eb776:
}
goto e60ea;
e60ea:
f50c9:
goto ebfed;
Ccb02:
$renderedCredentials = '';
goto Cf4f6;
Af6c2:
}
private function getVhostTemplateEntity(string $name): mixed
{
goto b72c0;
b72c0:
$vhostTemplateEntity = $this->vhostTemplateEntityManager->findOneByName($name);
goto ebd9d;
A455a:
return $vhostTemplateEntity;
goto c262b;
ebd9d:
if (!(true === is_null($vhostTemplateEntity))) {
goto F25ca;
}
goto Befb1;
Befb1:
throw new \Exception($this->translator->trans("Vhost Template %vhostTemplate% does not exist.", ["%vhostTemplate%" => $name]));
goto C715e;
C715e:
F25ca:
goto A455a;
c262b:
}
private function getConstraintViolationListErrorMessages(ConstraintViolationList $constraintViolationList): array
{
goto ba8b3;
eb88d:
return $errorMessages;
goto Ee538;
e4051:
foreach ($constraintViolationList as $constraint) {
$errorMessages[] = sprintf("%s: %s", $constraint->getPropertyPath(), $constraint->getMessage());
E843d:
}
goto E17fe;
ba8b3:
$errorMessages = [];
goto e4051;
E17fe:
Df0fa:
goto eb88d;
Ee538:
}
private function generateNameFromDomainName(string $domainName): string
{
goto F7ed1;
Ceac2:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto B4207;
e894c:
if ("www" == $subdomain) {
goto Bdd5f;
}
goto D770b;
Cff42:
return $name;
goto C6c64;
F7ed1:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Ceac2;
D9290:
$name = sprintf("%s-%s", $explodedRegistrableDomain[0] ?? '', implode("-", $explodedSubdomain));
goto Ff044;
f5533:
Bdd5f:
goto ff406;
efd29:
$explodedSubdomain = explode(".", $subdomain);
goto D9290;
b2d1c:
if (!(false === empty($subdomain))) {
goto E16b4;
}
goto efd29;
B4207:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto D1851;
afdb3:
B8914:
goto Cff42;
B7ce9:
goto B8914;
goto f5533;
D770b:
$name = $explodedRegistrableDomain[0] ?? '';
goto b2d1c;
ff406:
$name = $explodedRegistrableDomain[0] ?? '';
goto afdb3;
D1851:
$explodedRegistrableDomain = explode(".", $registrableDomain);
goto e894c;
Ff044:
E16b4:
goto B7ce9;
C6c64:
}
private function getUniqueDatabaseName(string $databaseName): string
{
goto Cba79;
d8f44:
Be4ad:
goto Ad666;
D7a61:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto f8d0b;
d38f2:
B140f:
goto E7100;
ce429:
if (true === $databaseExists) {
goto B6f0a;
}
goto d38f2;
e955e:
$i = 0;
goto D7a61;
b0c9a:
if (!(0 < $i)) {
goto Be4ad;
}
goto b0bb6;
b0bb6:
$uniqueDatabaseName = sprintf("%s-%s", $databaseName, $i);
goto d8f44;
f8d0b:
$databaseConnection = new DatabaseConnection($activeDatabaseServerEntity);
goto af252;
Cba79:
$uniqueDatabaseName = $databaseName;
goto Affd9;
e3709:
$i++;
goto ce429;
af252:
$databases = $databaseConnection->getDatabases();
goto f678b;
E7100:
return $uniqueDatabaseName;
goto a9b5e;
Affd9:
if (!(strlen($uniqueDatabaseName) <= 3)) {
goto Fae1c;
}
goto a97b5;
f678b:
B6f0a:
goto b0c9a;
Ad666:
$databaseExists = in_array($uniqueDatabaseName, $databases);
goto e3709;
ddf7e:
Fae1c:
goto e955e;
a97b5:
$uniqueDatabaseName = sprintf("%s-db", $uniqueDatabaseName);
goto ddf7e;
a9b5e:
}
private function getUniqueDatabaseUserName(string $databaseUserName): string
{
goto aa609;
a339e:
bc226:
goto c84a4;
C1149:
if (!(0 < $i)) {
goto ec5c0;
}
goto Ea227;
aa609:
$uniqueDatabaseUserName = $databaseUserName;
goto F1d3c;
F1d3c:
if (!(strlen($uniqueDatabaseUserName) <= 3)) {
goto bc226;
}
goto Cce4a;
ba99a:
return $uniqueDatabaseUserName;
goto Ab8c7;
Cce4a:
$uniqueDatabaseUserName = sprintf("%s-db", $uniqueDatabaseUserName);
goto a339e;
a47e5:
$databaseUserEntity = $this->databaseUserEntityManager->findOneByUserName($uniqueDatabaseUserName);
goto a8db4;
Ea227:
$uniqueDatabaseUserName = sprintf("%s-%s", $databaseUserName, $i);
goto Fd786;
Fd786:
ec5c0:
goto a47e5;
A0f2c:
Ecf8c:
goto ba99a;
c1866:
if (false === is_null($databaseUserEntity)) {
goto ac3b0;
}
goto A0f2c;
c84a4:
$i = 0;
goto E01cb;
E01cb:
ac3b0:
goto C1149;
a8db4:
$i++;
goto c1866;
Ab8c7:
}
private function hasPermissions(): bool
{
goto Eda82;
D7700:
C5b15:
goto B03ad;
dff50:
if (!(UserEntity::ROLE_USER != $user->getRole())) {
goto C5b15;
}
goto Fc1b0;
Eda82:
$user = $this->getUser();
goto dff50;
B03ad:
return false;
goto F0fcd;
Fc1b0:
return true;
goto D7700;
F0fcd:
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace App\Controller\Frontend;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\Form;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Component\Validator\ConstraintViolationList;
use App\Controller\Controller;
use App\Event\EventQueue;
use App\Service\Logger;
use App\Entity\Site as SiteEntity;
use App\Entity\Certificate as CertificateEntity;
use App\Entity\NodejsSettings as NodejsSettingsEntity;
use App\Entity\PhpSettings as PhpSettingsEntity;
use App\Entity\PythonSettings as PythonSettingsEntity;
use App\Entity\Database as DatabaseEntity;
use App\Entity\DatabaseUser as DatabaseUserEntity;
use App\Entity\DatabaseServer as DatabaseServerEntity;
use App\Entity\User as UserEntity;
use App\Entity\Manager\ConfigManager;
use App\Entity\Manager\SiteManager as SiteEntityManager;
use App\Entity\Manager\CertificateManager as CertificateEntityManager;
use App\Entity\Manager\DatabaseManager as DatabaseEntityManager;
use App\Entity\Manager\DatabaseUserManager as DatabaseUserEntityManager;
use App\Entity\Manager\DatabaseServerManager as DatabaseServerEntityManager;
use App\Entity\Manager\VhostTemplateManager as VhostTemplateEntityManager;
use App\Database\Connection as DatabaseConnection;
use App\Database\Manager as DatabaseManager;
use App\Site\Nginx\Vhost\StaticTemplate as StaticVhostTemplate;
use App\Site\Nginx\Vhost\PhpTemplate as PhpVhostTemplate;
use App\Site\Nginx\Vhost\PythonTemplate as PythonVhostTemplate;
use App\Site\Nginx\Vhost\ReverseProxyTemplate as ReverseProxyVhostTemplate;
use App\Site\Nginx\Vhost\Processor\RedirectDomain as RedirectDomainProcessor;
use App\Site\Nginx\Vhost\Processor\RedirectServerName as RedirectServerNameProcessor;
use App\Site\Nginx\Vhost\Processor\ServerName as ServerNameProcessor;
use App\Site\Parser\DomainName as DomainNameParser;
use App\Site\Ssl\Generator\RsaKeyGenerator;
use App\Site\Creator\NodejsSite as NodejsSiteCreator;
use App\Site\Creator\StaticSite as StaticSiteCreator;
use App\Site\Creator\PhpSite as PhpSiteCreator;
use App\Site\Creator\PythonSite as PythonSiteCreator;
use App\Site\Creator\ReverseProxySite as ReverseProxySiteCreator;
use App\Site\Ssl\DistinguishedName;
use App\Site\Ssl\Generator\CsrGenerator;
use App\Site\Ssl\Util\Openssl;
use App\Site\NodejsSite;
use App\Site\StaticSite;
use App\Site\PhpSite;
use App\Site\PythonSite;
use App\Site\ReverseProxySite;
use App\Util\PasswordGenerator;
use App\Site\Application\WordPressInstaller;
use App\Service\Crypto;
class NewSiteController extends Controller
{
private const WORDPRESS_VHOST_TEMPLATE_NAME = "\127\x6f\162\x64\120\162\145\163\163";
private const NODEJS_VHOST_TEMPLATE_NAME = "\x4e\157\144\145\x6a\x73";
private const STATIC_SITE_VHOST_TEMPLATE_NAME = "\x53\x74\x61\x74\x69\x63";
private const PYTHON_VHOST_TEMPLATE_NAME = "\x50\171\x74\x68\157\x6e";
private const REVERSE_PROXY_VHOST_TEMPLATE_NAME = "\x52\x65\x76\x65\x72\163\145\120\162\157\170\171";
private const VARNISH_CACHE_SERVER = "\61\62\67\56\x30\x2e\60\x2e\x31\x3a\x36\x30\70\61";
private const PASSWORD_LENGTH = 20;
private ConfigManager $configManager;
private SiteEntityManager $siteEntityManager;
private CertificateEntityManager $certificateEntityManager;
private DatabaseEntityManager $databaseEntityManager;
private DatabaseUserEntityManager $databaseUserEntityManager;
private DatabaseServerEntityManager $databaseServerEntityManager;
private DomainNameParser $domainNameParser;
private VhostTemplateEntityManager $vhostTemplateEntityManager;
private ValidatorInterface $validator;
private array $wordPressDefaultConfigValues = ["\106\123\137\115\x45\124\110\x4f\104" => ["\x76\141\154\165\x65" => "\x64\151\162\x65\x63\164", "\162\x61\x77" => false], "\x57\120\x5f\x44\x45\102\x55\x47\137\104\x49\123\120\114\101\131" => ["\166\141\154\x75\x65" => "\146\x61\154\163\145", "\162\141\x77" => true], "\127\120\137\x44\x45\x42\x55\107\x5f\x4c\117\x47" => ["\x76\141\154\x75\x65" => "\x74\x72\x75\x65", "\162\x61\x77" => true], "\103\x4f\116\103\x41\124\x45\x4e\101\124\105\137\123\103\x52\111\120\x54\123" => ["\x76\x61\154\x75\x65" => "\x66\141\x6c\x73\145", "\162\141\x77" => true], "\101\x55\124\117\x53\101\x56\x45\x5f\x49\x4e\x54\105\x52\126\x41\114" => ["\166\141\x6c\165\145" => 600, "\162\141\167" => true], "\127\x50\x5f\x50\117\x53\124\137\122\105\126\111\123\111\117\116\123" => ["\x76\141\154\x75\x65" => 5, "\x72\x61\167" => true], "\105\x4d\120\x54\x59\x5f\124\122\x41\123\x48\137\104\x41\x59\123" => ["\x76\141\154\x75\x65" => 21, "\x72\x61\x77" => true]];
private array $wordPressMultiSiteConfigValues = ["\127\x50\137\101\x4c\114\117\127\x5f\115\x55\114\124\x49\123\111\124\x45" => ["\x76\x61\154\x75\145" => "\164\162\x75\x65", "\x72\x61\167" => true], "\115\125\x4c\124\x49\x53\x49\x54\x45" => ["\166\141\x6c\x75\x65" => "\164\x72\165\145", "\x72\x61\x77" => true], "\x53\x55\102\x44\x4f\115\x41\x49\116\x5f\x49\116\123\124\101\x4c\x4c" => ["\166\141\154\x75\x65" => "\146\141\x6c\x73\x65", "\x72\x61\167" => true], "\104\x4f\115\101\111\x4e\x5f\x43\125\122\x52\105\116\124\137\123\111\x54\x45" => ["\166\x61\154\x75\x65" => '', "\162\x61\x77" => false], "\120\101\124\x48\137\103\x55\x52\122\x45\x4e\124\137\x53\x49\124\x45" => ["\166\x61\x6c\165\x65" => "\x2f", "\162\x61\x77" => false], "\123\x49\124\x45\x5f\x49\x44\137\x43\x55\122\122\105\116\x54\x5f\x53\x49\x54\105" => ["\x76\141\x6c\165\145" => 1, "\x72\x61\167" => true], "\102\114\117\107\137\111\x44\x5f\103\x55\122\x52\x45\x4e\x54\x5f\123\111\124\x45" => ["\166\x61\154\165\145" => 1, "\162\x61\167" => true]];
public function __construct(ConfigManager $configManager, SiteEntityManager $siteEntityManager, CertificateEntityManager $certificateEntityManager, DatabaseEntityManager $databaseEntityManager, DatabaseUserEntityManager $databaseUserEntityManager, DatabaseServerEntityManager $databaseServerEntityManager, VhostTemplateEntityManager $vhostTemplateEntityManager, DomainNameParser $domainNameParser, ValidatorInterface $validator, TranslatorInterface $translator, Logger $logger)
{
goto B9664;
d0920:
$this->siteEntityManager = $siteEntityManager;
goto b6880;
f5e2f:
$this->domainNameParser = $domainNameParser;
goto Ad32c;
b6880:
$this->certificateEntityManager = $certificateEntityManager;
goto A1821;
E0890:
$this->databaseUserEntityManager = $databaseUserEntityManager;
goto F7ef0;
Ad32c:
$this->validator = $validator;
goto F3021;
B9664:
$this->configManager = $configManager;
goto d0920;
F3021:
parent::__construct($translator, $logger);
goto afa25;
A1821:
$this->databaseEntityManager = $databaseEntityManager;
goto E0890;
F7ef0:
$this->databaseServerEntityManager = $databaseServerEntityManager;
goto ac055;
ac055:
$this->vhostTemplateEntityManager = $vhostTemplateEntityManager;
goto f5e2f;
afa25:
}
public function index(Request $request): Response
{
goto D7a6f;
Bd796:
$response = $this->redirect($this->generateUrl("\143\154\160\137\163\151\164\145\163"));
goto b49fc;
D529e:
$user = $this->getUser();
goto Bb201;
d06f4:
if (true === $hasPermissions) {
goto ccb01;
}
goto Bd796;
e4f2b:
cd106:
goto C1722;
b49fc:
goto cd106;
goto Ec5c0;
Ec5c0:
ccb01:
goto D529e;
D7a6f:
$hasPermissions = $this->hasPermissions();
goto d06f4;
C1722:
return $response;
goto cd231;
Bb201:
$response = $this->render("\x46\162\157\156\x74\x65\156\144\x2f\x53\x69\x74\x65\x2f\x4e\x65\x77\57\151\156\144\x65\x78\x2e\150\164\155\x6c\56\164\167\151\x67", ["\x75\x73\145\162" => $user]);
goto e4f2b;
cd231:
}
public function newPythonSite(Request $request): Response
{
goto E8364;
E8364:
$hasPermissions = $this->hasPermissions();
goto Cb543;
bdf46:
return $response;
goto b9ac9;
C904c:
$response = $this->handleCreatePythonSiteForm($request, $form);
goto fe6e2;
Ebade:
$form = $this->createPythonSiteForm($pythonSettings);
goto bd1a3;
B5407:
fdb05:
goto f9146;
E242c:
d1428:
goto D11ac;
d0542:
ac837:
goto bdf46;
e8f44:
$user = $this->getUser();
goto c6513;
a2a36:
return $response;
goto E242c;
f1d25:
$form->handleRequest($request);
goto A6d14;
f9146:
$response = $this->render("\x46\162\157\x6e\x74\145\156\144\57\x53\151\164\x65\x2f\116\145\x77\57\x70\x79\x74\150\157\x6e\x2e\150\164\x6d\x6c\x2e\x74\167\x69\147", ["\x75\163\x65\162" => $user, "\146\x6f\162\x6d" => $form->createView(), "\x66\157\162\155\x45\162\x72\157\x72\x73" => $this->formErrors]);
goto d0542;
c6513:
$pythonSettings = new PythonSettingsEntity();
goto Ebade;
Cb543:
if (true === $hasPermissions) {
goto B3a20;
}
goto b4458;
A7e09:
B3a20:
goto e8f44;
ffbc8:
goto ac837;
goto A7e09;
A6d14:
if (!(true === $form->isSubmitted())) {
goto becfc;
}
goto C904c;
bd1a3:
if (!(true === $request->isMethod("\120\117\x53\124"))) {
goto fdb05;
}
goto f1d25;
D11ac:
becfc:
goto B5407;
b4458:
$response = $this->redirect($this->generateUrl("\x63\154\160\137\163\151\x74\x65\163"));
goto ffbc8;
fe6e2:
if (!(false === is_null($response))) {
goto d1428;
}
goto a2a36;
b9ac9:
}
private function createPythonSiteForm(PythonSettingsEntity $pythonSettings): Form
{
goto A07b2;
A07b2:
$form = $this->createForm("\101\x70\x70\x5c\106\x6f\x72\155\x5c\x53\x69\x74\x65\x4e\145\x77\x50\x79\x74\150\x6f\156\x54\x79\160\x65", $pythonSettings, ["\141\x63\x74\151\157\156" => $this->generateUrl("\x63\154\160\137\x73\151\x74\x65\137\160\x79\164\x68\x6f\x6e\x5f\156\145\167"), "\x6d\x65\x74\x68\157\x64" => "\120\117\x53\124", "\x61\x74\164\x72" => ["\x69\x64" => "\156\x65\x77\55\160\171\164\150\x6f\x6e\55\163\151\164\145\x2d\x66\x6f\162\x6d"]]);
goto d90cb;
d90cb:
$form->add("\x73\165\x62\x6d\151\x74", SubmitType::class, ["\141\x74\164\162" => ["\x63\x6c\141\163\163" => "\x62\164\156\x20\x62\164\156\55\154\147\40\142\164\x6e\55\142\154\x75\145"], "\x6c\x61\142\145\x6c" => "\x43\x72\x65\x61\164\x65"]);
goto b750d;
b750d:
return $form;
goto c5eaa;
c5eaa:
}
private function handleCreatePythonSiteForm(Request $request, Form $form)
{
goto a8908;
B2e26:
$this->formErrors = $this->getErrorMessages($form);
goto b303f;
E5b3d:
E47b1:
goto E8cd0;
b303f:
goto F0803;
goto E5b3d;
c9153:
F0803:
goto d96b5;
E8cd0:
try {
goto c3d5a;
c779d:
$pythonVersion = $form->get("\x70\171\164\150\x6f\156\x56\x65\162\163\x69\157\x6e")->getData();
goto d8200;
c3d5a:
$session = $request->getSession();
goto C1001;
C183f:
return $response;
goto e5aa7;
d8200:
$port = $form->get("\160\157\x72\164")->getData();
goto c3f08;
a494b:
$eventData = ["\163\151\x74\145" => $domainName, "\x73\151\x74\145\125\163\145\162" => $siteUser, "\x70\171\164\x68\157\x6e\x56\145\x72\x73\x69\x6f\156" => $pythonVersion, "\x70\x6f\162\x74" => $port];
goto E65e1;
e9867:
goto d40c4;
goto D8fe6;
c3f08:
$siteUser = $form->get("\163\151\164\x65\125\x73\x65\162")->getData();
goto A08f3;
e5aa7:
d40c4:
goto A998e;
A190d:
$this->createPythonSite($domainName, $pythonVersion, $port, $siteUser, $siteUserPassword);
goto a494b;
B2efd:
throw new \Exception(sprintf("\126\x68\157\163\164\x20\x74\145\x6d\160\154\141\164\x65\40\x22\x25\163\42\40\156\157\164\x20\146\157\165\x6e\x64\x2e", $vhostTemplateName));
goto e9867;
Db00a:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\137\163\x69\164\145\163"));
goto C183f;
acb8a:
$user = $this->getUser();
goto A190d;
C1001:
$domainName = $form->get("\x64\157\x6d\x61\x69\x6e\x4e\x61\155\145")->getData();
goto c779d;
Fdffc:
$session->getFlashBag()->set("\x73\165\x63\x63\x65\x73\163", $this->translator->trans("\123\x69\x74\x65\x20\x68\141\x73\x20\142\145\145\156\x20\143\162\x65\141\164\145\x64\x2e"));
goto Db00a;
E646f:
$vhostTemplateName = self::PYTHON_VHOST_TEMPLATE_NAME;
goto a4844;
D8fe6:
Db45b:
goto acb8a;
A08f3:
$siteUserPassword = $form->get("\x73\x69\x74\x65\x55\163\x65\162\x50\141\x73\x73\167\157\162\x64")->getData();
goto E646f;
E65e1:
EventQueue::addEvent(EventQueue::EVENT_SITE_PYTHON_CREATE, $user, $eventData, $request);
goto Fdffc;
a4844:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c99fb;
c99fb:
if (false === is_null($vhostTemplateEntity)) {
goto Db45b;
}
goto B2efd;
A998e:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\144\141\156\x67\145\x72", $this->translator->trans("\x41\156\40\145\162\x72\x6f\x72\40\150\x61\163\x20\x6f\x63\x63\x75\x72\x72\145\144\x2c\40\145\162\162\157\x72\40\x6d\x65\x73\163\x61\147\145\72\40\45\145\162\x72\157\x72\x4d\x65\x73\x73\141\147\145\45", ["\x25\x65\x72\x72\157\162\115\x65\x73\163\141\147\145\45" => $e->getMessage()]));
}
goto c9153;
a8908:
if (true === $form->isValid()) {
goto E47b1;
}
goto B2e26;
d96b5:
}
public function newReverseProxy(Request $request): Response
{
goto D2e36;
Cd126:
if (!(true === $request->isMethod("\x50\117\x53\124"))) {
goto Aa278;
}
goto D0a57;
Ae22c:
c1479:
goto f6df5;
E5186:
$form = $this->createReverseProxyForm();
goto Cd126;
d4f73:
return $response;
goto Ae22c;
c7fe2:
if (!(true === $form->isSubmitted())) {
goto Afd51;
}
goto E40c4;
Bb4cc:
$response = $this->redirect($this->generateUrl("\x63\154\x70\137\x73\x69\x74\x65\x73"));
goto beb3d;
Efdeb:
ed7ac:
goto E5846;
E5846:
$user = $this->getUser();
goto E5186;
a4079:
if (true === $hasPermissions) {
goto ed7ac;
}
goto Bb4cc;
B7f62:
Aa278:
goto c8e6b;
f2b3b:
d0cc0:
goto Bcbb0;
D2e36:
$hasPermissions = $this->hasPermissions();
goto a4079;
D0a57:
$form->handleRequest($request);
goto c7fe2;
c8e6b:
$response = $this->render("\x46\162\157\x6e\x74\145\x6e\x64\x2f\123\x69\164\145\57\116\x65\167\57\162\145\x76\x65\162\163\x65\x2d\x70\x72\x6f\170\171\56\x68\x74\155\154\56\164\167\151\147", ["\x75\163\x65\162" => $user, "\x66\x6f\162\x6d" => $form->createView(), "\x66\157\162\x6d\105\x72\162\157\162\x73" => $this->formErrors]);
goto f2b3b;
E40c4:
$response = $this->handleReverseProxyForm($request, $form);
goto B748d;
B748d:
if (!(false === is_null($response))) {
goto c1479;
}
goto d4f73;
beb3d:
goto d0cc0;
goto Efdeb;
f6df5:
Afd51:
goto B7f62;
Bcbb0:
return $response;
goto F62fe;
F62fe:
}
private function createReverseProxyForm(): Form
{
goto F252e;
F36f9:
$form->add("\x73\165\142\x6d\151\x74", SubmitType::class, ["\x61\x74\164\162" => ["\x63\x6c\x61\163\x73" => "\x62\164\156\x20\x62\x74\156\x2d\154\x67\x20\142\x74\x6e\x2d\x62\x6c\165\x65"], "\x6c\x61\x62\x65\154" => "\103\x72\x65\141\164\145"]);
goto Cfe2b;
F252e:
$form = $this->createForm("\x41\160\x70\134\106\x6f\x72\155\x5c\123\151\164\145\116\145\x77\x52\x65\166\x65\162\163\x65\x50\162\x6f\170\x79\124\171\160\x65", [], ["\x61\143\x74\151\157\x6e" => $this->generateUrl("\x63\x6c\160\137\163\x69\164\145\x5f\x72\x65\x76\145\162\x73\x65\x5f\x70\162\157\170\171\137\x6e\145\167"), "\155\145\164\x68\x6f\x64" => "\x50\117\x53\x54", "\x61\x74\x74\x72" => ["\x69\x64" => "\x6e\145\167\55\x72\x65\x76\x65\x72\163\x65\55\x70\162\x6f\170\171\x2d\146\157\162\155"]]);
goto F36f9;
Cfe2b:
return $form;
goto de069;
de069:
}
private function handleReverseProxyForm(Request $request, Form $form)
{
goto F051c;
B0019:
goto Eaf9e;
goto Cef43;
Cef43:
f0da0:
goto F91a1;
F051c:
if (true === $form->isValid()) {
goto f0da0;
}
goto db89c;
db89c:
$this->formErrors = $this->getErrorMessages($form);
goto B0019;
da1bd:
Eaf9e:
goto F4def;
F91a1:
try {
goto D3f46;
D5d2b:
goto b762e;
goto a2509;
C9023:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto E172c;
D3f46:
$session = $request->getSession();
goto d6c19;
E8130:
return $response;
goto D2c88;
C1bbf:
$reverseProxyUrl = $form->get("\162\145\166\145\x72\x73\145\x50\x72\x6f\x78\x79\x55\x72\x6c")->getData();
goto daf30;
C2d1e:
$response = $this->redirect($this->generateUrl("\x63\x6c\160\137\163\151\x74\145\x73"));
goto E8130;
a90a3:
throw new \Exception(sprintf("\x56\150\x6f\x73\164\40\x74\145\x6d\160\154\x61\x74\145\40\42\x25\x73\42\x20\156\x6f\x74\x20\146\x6f\165\156\x64\x2e", $vhostTemplateName));
goto D5d2b;
daf30:
$vhostTemplateName = self::REVERSE_PROXY_VHOST_TEMPLATE_NAME;
goto C9023;
a2509:
b522c:
goto db031;
D40cb:
$siteUser = $form->get("\163\151\164\145\x55\x73\145\x72")->getData();
goto bef27;
a96be:
EventQueue::addEvent(EventQueue::EVENT_SITE_REVERSE_PROXY_CREATE, $user, $eventData, $request);
goto abe52;
E172c:
if (false === is_null($vhostTemplateEntity)) {
goto b522c;
}
goto a90a3;
D2c88:
b762e:
goto A7078;
d6c19:
$domainName = $form->get("\144\157\x6d\x61\x69\x6e\x4e\141\155\145")->getData();
goto D40cb;
abe52:
$session->getFlashBag()->set("\163\x75\x63\x63\x65\x73\163", $this->translator->trans("\x52\x65\166\x65\162\x73\x65\x20\120\162\157\x78\x79\x20\150\x61\163\40\x62\x65\145\156\x20\x63\x72\x65\141\164\145\x64\x2e"));
goto C2d1e;
db031:
$user = $this->getUser();
goto C9d02;
c0bfe:
$eventData = ["\163\151\164\145" => $domainName, "\163\x69\x74\x65\125\x73\145\x72" => $siteUser, "\x72\145\166\145\x72\x73\x65\120\162\157\x78\x79\125\x72\x6c" => $reverseProxyUrl];
goto a96be;
bef27:
$siteUserPassword = $form->get("\x73\151\164\145\125\163\x65\162\120\x61\163\163\x77\157\x72\144")->getData();
goto C1bbf;
C9d02:
$this->createReverseProxySite($domainName, $reverseProxyUrl, $siteUser, $siteUserPassword);
goto c0bfe;
A7078:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\141\x6e\x67\x65\162", $this->translator->trans("\x41\156\x20\x65\162\162\157\162\x20\x68\141\163\x20\157\x63\143\165\162\162\x65\144\54\40\145\162\162\x6f\162\x20\x6d\x65\x73\163\x61\147\145\x3a\40\x25\x65\x72\x72\x6f\x72\115\x65\163\163\141\147\x65\45", ["\x25\x65\x72\162\x6f\x72\x4d\x65\x73\x73\141\x67\x65\x25" => $e->getMessage()]));
}
goto da1bd;
F4def:
}
public function newNodejsSite(Request $request): Response
{
goto D8085;
E2d61:
$nodejsSettings = new NodejsSettingsEntity();
goto af98d;
Cd8f5:
return $response;
goto ae1b7;
a1032:
goto F3d00;
goto be5bd;
D68b5:
if (!(true === $form->isSubmitted())) {
goto Ea9a1;
}
goto dc96d;
D8085:
$hasPermissions = $this->hasPermissions();
goto cd4e4;
ababe:
$response = $this->render("\106\162\x6f\156\164\x65\156\x64\x2f\123\x69\x74\x65\57\x4e\x65\x77\57\156\x6f\144\x65\x6a\x73\56\x68\164\155\154\56\164\167\x69\x67", ["\165\x73\145\162" => $user, "\x66\157\162\x6d" => $form->createView(), "\146\x6f\x72\155\x45\x72\162\x6f\x72\x73" => $this->formErrors]);
goto F689c;
A1750:
if (!(false === is_null($response))) {
goto D2b46;
}
goto Cba5c;
be5bd:
A11e2:
goto Ed2be;
Ca5d8:
$response = $this->redirect($this->generateUrl("\x63\154\160\x5f\x73\x69\x74\x65\163"));
goto a1032;
e0623:
if (!(true === $request->isMethod("\120\x4f\123\x54"))) {
goto bcdbe;
}
goto F3163;
c4a23:
Ea9a1:
goto c4d74;
Cba5c:
return $response;
goto E6f99;
Ed2be:
$user = $this->getUser();
goto E2d61;
af98d:
$form = $this->createNodejsSiteForm($nodejsSettings);
goto e0623;
c4d74:
bcdbe:
goto ababe;
F689c:
F3d00:
goto Cd8f5;
E6f99:
D2b46:
goto c4a23;
F3163:
$form->handleRequest($request);
goto D68b5;
dc96d:
$response = $this->handleCreateNodejsSiteForm($request, $form);
goto A1750;
cd4e4:
if (true === $hasPermissions) {
goto A11e2;
}
goto Ca5d8;
ae1b7:
}
private function createNodejsSiteForm(NodejsSettingsEntity $nodejsSettings): Form
{
goto ca11f;
e8cbc:
return $form;
goto Ccff7;
ca11f:
$form = $this->createForm("\x41\x70\160\134\x46\157\x72\x6d\x5c\x53\x69\x74\x65\x4e\145\167\116\157\144\x65\152\x73\x54\x79\160\145", $nodejsSettings, ["\141\143\164\151\x6f\156" => $this->generateUrl("\143\154\x70\137\x73\x69\164\x65\137\156\x6f\144\x65\x6a\x73\x5f\x6e\145\x77"), "\x6d\x65\x74\150\157\144" => "\120\117\x53\x54", "\141\164\x74\162" => ["\151\144" => "\156\145\167\55\x6e\x6f\144\145\152\163\x2d\x73\151\164\x65\x2d\146\x6f\x72\x6d"]]);
goto cdade;
cdade:
$form->add("\x73\165\x62\x6d\151\x74", SubmitType::class, ["\141\164\164\x72" => ["\x63\154\x61\163\163" => "\x62\164\x6e\40\x62\164\x6e\55\x6c\x67\40\142\164\x6e\x2d\x62\x6c\165\x65"], "\154\141\142\x65\x6c" => "\103\x72\x65\141\164\x65"]);
goto e8cbc;
Ccff7:
}
private function handleCreateNodejsSiteForm(Request $request, Form $form)
{
goto B19fe;
E73e9:
goto eb7df;
goto Ee087;
B19fe:
if (true === $form->isValid()) {
goto Ce745;
}
goto d939f;
B97a0:
try {
goto E8fff;
c2763:
$session->getFlashBag()->set("\x73\x75\143\x63\x65\x73\163", $this->translator->trans("\x53\151\x74\145\40\x68\x61\x73\x20\x62\x65\x65\156\40\x63\162\145\x61\164\x65\x64\56"));
goto Ba5da;
Fe28b:
return $response;
goto e95bf;
Fa47a:
throw new \Exception(sprintf("\126\150\157\x73\164\40\164\x65\155\160\x6c\141\164\x65\x20\42\x25\163\42\x20\156\x6f\x74\40\x66\x6f\165\x6e\144\56", $vhostTemplateName));
goto cec82;
e95bf:
c3d1d:
goto A0227;
cec82:
goto c3d1d;
goto Cae70;
B203f:
$siteUser = $form->get("\x73\151\x74\145\125\x73\x65\x72")->getData();
goto aa40f;
E3cba:
$eventData = ["\x73\x69\x74\145" => $domainName, "\x73\x69\164\145\x55\x73\145\x72" => $siteUser, "\x6e\157\144\x65\152\x73\126\145\162\163\x69\157\156" => $nodejsVersion, "\x70\157\x72\164" => $port];
goto Bda84;
aa40f:
$siteUserPassword = $form->get("\x73\x69\164\145\125\163\x65\162\x50\141\163\163\167\157\x72\144")->getData();
goto Ac2b0;
Caa29:
$domainName = $form->get("\x64\157\155\x61\151\x6e\x4e\x61\x6d\145")->getData();
goto Fba88;
fde57:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto e5893;
Ba5da:
$response = $this->redirect($this->generateUrl("\143\x6c\x70\137\163\x69\164\145\163"));
goto Fe28b;
e5893:
if (false === is_null($vhostTemplateEntity)) {
goto B1251;
}
goto Fa47a;
E8fff:
$session = $request->getSession();
goto Caa29;
Bda84:
EventQueue::addEvent(EventQueue::EVENT_SITE_NODEJS_CREATE, $user, $eventData, $request);
goto c2763;
Cae70:
B1251:
goto daae0;
F5cc2:
$port = $form->get("\160\157\162\164")->getData();
goto B203f;
daae0:
$user = $this->getUser();
goto Cd16f;
Ac2b0:
$vhostTemplateName = self::NODEJS_VHOST_TEMPLATE_NAME;
goto fde57;
Fba88:
$nodejsVersion = $form->get("\156\x6f\x64\145\152\x73\x56\x65\162\x73\151\157\x6e")->getData();
goto F5cc2;
Cd16f:
$this->createNodejsSite($domainName, $nodejsVersion, $port, $siteUser, $siteUserPassword);
goto E3cba;
A0227:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\144\x61\156\147\145\162", $this->translator->trans("\101\x6e\40\x65\x72\x72\157\x72\40\150\141\163\40\x6f\x63\143\x75\x72\162\145\x64\x2c\40\x65\x72\162\x6f\162\40\x6d\145\x73\x73\x61\x67\x65\x3a\x20\45\145\162\x72\x6f\x72\115\145\x73\x73\x61\x67\145\x25", ["\45\x65\162\x72\x6f\x72\115\x65\163\163\x61\147\x65\x25" => $e->getMessage()]));
}
goto a3e89;
d939f:
$this->formErrors = $this->getErrorMessages($form);
goto E73e9;
Ee087:
Ce745:
goto B97a0;
a3e89:
eb7df:
goto D3026;
D3026:
}
public function newStaticSite(Request $request): Response
{
goto ccf72;
b1788:
$response = $this->render("\106\x72\x6f\x6e\x74\x65\156\144\x2f\123\x69\164\x65\57\116\145\167\x2f\x73\164\x61\x74\151\x63\x2e\150\164\155\154\56\164\x77\151\x67", ["\x75\x73\145\x72" => $user, "\146\157\x72\x6d" => $form->createView(), "\146\157\162\155\x45\x72\162\x6f\x72\x73" => $this->formErrors]);
goto D4d6e;
E3e9b:
return $response;
goto c2bc6;
ccf72:
$hasPermissions = $this->hasPermissions();
goto fcf0d;
D4d6e:
cbb1c:
goto B9e73;
fcf0d:
if (true === $hasPermissions) {
goto ba8fd;
}
goto ce359;
C056a:
$user = $this->getUser();
goto Cf045;
Cf045:
$form = $this->createStaticSiteForm();
goto ddb53;
B9e73:
return $response;
goto c124b;
aed29:
$response = $this->handleCreateStaticSiteForm($request, $form);
goto b1cfb;
c8fdc:
if (!(true === $form->isSubmitted())) {
goto fe3c4;
}
goto aed29;
c2bc6:
B1eaa:
goto E5734;
ce359:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\137\163\151\164\x65\163"));
goto d4a39;
ddb53:
if (!(true === $request->isMethod("\x50\117\123\x54"))) {
goto f93e0;
}
goto D8340;
Fe858:
ba8fd:
goto C056a;
Fcac5:
f93e0:
goto b1788;
b1cfb:
if (!(false === is_null($response))) {
goto B1eaa;
}
goto E3e9b;
d4a39:
goto cbb1c;
goto Fe858;
D8340:
$form->handleRequest($request);
goto c8fdc;
E5734:
fe3c4:
goto Fcac5;
c124b:
}
private function createStaticSiteForm(): Form
{
goto cd0cf;
E8b39:
$form->add("\163\165\142\x6d\x69\x74", SubmitType::class, ["\x61\164\164\x72" => ["\143\x6c\x61\163\163" => "\142\164\x6e\x20\x62\x74\x6e\x2d\x6c\x67\x20\x62\164\x6e\55\x62\x6c\x75\x65"], "\x6c\141\x62\x65\x6c" => "\103\x72\145\141\x74\145"]);
goto fd8c9;
fd8c9:
return $form;
goto A61bd;
cd0cf:
$form = $this->createForm("\x41\160\x70\134\x46\x6f\x72\155\x5c\123\151\x74\145\x4e\x65\x77\123\x74\141\x74\x69\x63\x54\171\x70\x65", [], ["\141\143\x74\151\x6f\x6e" => $this->generateUrl("\x63\x6c\x70\x5f\x73\x69\164\x65\137\x73\164\x61\x74\x69\x63\x5f\x6e\145\167"), "\155\145\x74\x68\157\144" => "\x50\x4f\x53\x54", "\x61\164\x74\x72" => []]);
goto E8b39;
A61bd:
}
private function handleCreateStaticSiteForm(Request $request, Form $form)
{
goto Fac5d;
D786a:
goto B2aea;
goto E4488;
Fac5d:
if (true === $form->isValid()) {
goto c4d5b;
}
goto A81b9;
E4488:
c4d5b:
goto aa2e5;
A81b9:
$this->formErrors = $this->getErrorMessages($form);
goto D786a;
aa2e5:
try {
goto B64b0;
ff772:
$vhostTemplateName = self::STATIC_SITE_VHOST_TEMPLATE_NAME;
goto bb4e1;
b20ed:
EventQueue::addEvent(EventQueue::EVENT_SITE_STATIC_CREATE, $user, $eventData, $request);
goto A062b;
Cae4a:
$domainName = $form->get("\x64\157\155\x61\x69\x6e\x4e\x61\155\x65")->getData();
goto A2bb9;
A2bb9:
$siteUser = $form->get("\163\x69\164\145\125\163\145\x72")->getData();
goto Eef31;
E350d:
A6d29:
goto ae501;
B64b0:
$session = $request->getSession();
goto Cae4a;
c9682:
if (false === is_null($vhostTemplateEntity)) {
goto A6d29;
}
goto Db931;
bb4e1:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c9682;
ba2da:
goto Cfb4c;
goto E350d;
E1a78:
$this->createStaticSite($domainName, $siteUser, $siteUserPassword);
goto C0712;
A062b:
$session->getFlashBag()->set("\x73\x75\x63\143\145\163\163", $this->translator->trans("\x53\151\x74\145\x20\x68\141\x73\40\x62\145\145\x6e\x20\143\x72\x65\141\x74\145\x64\x2e"));
goto E4b60;
ae318:
Cfb4c:
goto a49bc;
c3dbf:
return $response;
goto ae318;
Db931:
throw new \Exception(sprintf("\126\150\157\163\164\40\x74\145\155\x70\x6c\141\164\145\x20\42\45\163\42\x20\156\x6f\x74\40\146\157\x75\x6e\x64\x2e", $vhostTemplateName));
goto ba2da;
Eef31:
$siteUserPassword = $form->get("\163\x69\x74\x65\125\x73\x65\162\120\x61\163\163\x77\x6f\x72\x64")->getData();
goto ff772;
C0712:
$eventData = ["\x73\151\164\145" => $domainName, "\163\x69\x74\145\125\x73\x65\x72" => $siteUser];
goto b20ed;
ae501:
$user = $this->getUser();
goto E1a78;
E4b60:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\x5f\163\151\x74\145\x73"));
goto c3dbf;
a49bc:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\141\x6e\147\x65\x72", $this->translator->trans("\101\x6e\x20\x65\162\x72\157\x72\x20\x68\141\163\40\x6f\143\x63\165\162\x72\x65\144\x2c\40\x65\x72\x72\x6f\162\x20\155\145\163\163\141\x67\145\72\40\45\x65\x72\x72\157\162\x4d\x65\x73\x73\141\x67\x65\45", ["\45\x65\x72\162\x6f\162\x4d\x65\163\163\141\147\x65\x25" => $e->getMessage()]));
}
goto Ef1cc;
Ef1cc:
B2aea:
goto cd434;
cd434:
}
public function newPhpSite(Request $request): Response
{
goto b13ed;
ea7db:
if (!(false === is_null($response))) {
goto B9704;
}
goto Ff31d;
b13ed:
$hasPermissions = $this->hasPermissions();
goto eda7b;
Afe0a:
$form->handleRequest($request);
goto d62b3;
Fceca:
$form = $this->createPhpSiteForm();
goto a9707;
a776b:
return $response;
goto Ed885;
F0fbc:
$response = $this->redirect($this->generateUrl("\143\x6c\x70\137\x73\x69\x74\x65\x73"));
goto d4721;
Ff31d:
return $response;
goto d4cf1;
d62b3:
if (!(true === $form->isSubmitted())) {
goto Ef16b;
}
goto d59c1;
Fedb9:
eff5b:
goto a776b;
d4721:
goto eff5b;
goto F0e48;
f5a53:
Fccfd:
goto f22f5;
d4cf1:
B9704:
goto A0964;
F512d:
$user = $this->getUser();
goto Fceca;
eda7b:
if (true === $hasPermissions) {
goto df877;
}
goto F0fbc;
A0964:
Ef16b:
goto f5a53;
F0e48:
df877:
goto F512d;
a9707:
if (!(true === $request->isMethod("\120\117\123\x54"))) {
goto Fccfd;
}
goto Afe0a;
d59c1:
$response = $this->handleCreatePhpSiteForm($request, $form);
goto ea7db;
f22f5:
$response = $this->render("\x46\162\x6f\x6e\x74\x65\156\x64\57\123\x69\x74\145\x2f\x4e\145\x77\57\160\x68\x70\56\150\164\x6d\154\56\x74\167\x69\147", ["\165\x73\145\162" => $user, "\146\157\162\x6d" => $form->createView(), "\x66\x6f\x72\155\105\162\162\x6f\x72\163" => $this->formErrors]);
goto Fedb9;
Ed885:
}
private function createPhpSiteForm(): Form
{
goto ee030;
Aa391:
return $form;
goto A82b0;
ee030:
$form = $this->createForm("\x41\x70\x70\134\x46\x6f\162\x6d\x5c\x53\x69\164\145\x4e\145\167\x50\x68\160\x54\x79\x70\x65", [], ["\141\143\164\151\x6f\x6e" => $this->generateUrl("\143\x6c\160\x5f\x73\151\x74\145\137\x70\150\160\137\x6e\x65\x77"), "\155\145\x74\150\157\144" => "\120\117\x53\x54", "\x61\164\x74\x72" => []]);
goto E0df4;
E0df4:
$form->add("\163\x75\142\x6d\151\164", SubmitType::class, ["\x61\x74\x74\x72" => ["\x63\x6c\141\163\163" => "\x62\164\x6e\x20\x62\x74\x6e\55\x6c\147\x20\142\x74\156\55\x62\154\x75\x65"], "\x6c\141\142\x65\154" => "\x43\162\145\141\164\145"]);
goto Aa391;
A82b0:
}
private function handleCreatePhpSiteForm(Request $request, Form $form)
{
goto f1ccb;
f8fd9:
Fbd40:
goto F43f6;
f1ccb:
if (true === $form->isValid()) {
goto E9037;
}
goto Ae225;
Ae225:
$this->formErrors = $this->getErrorMessages($form);
goto ccb63;
ee34b:
try {
goto C6372;
b5bd3:
$domainName = $form->get("\x64\x6f\155\141\151\x6e\116\x61\x6d\145")->getData();
goto C0d25;
fa559:
F7c2c:
goto F266b;
D2910:
$siteUserPassword = $form->get("\163\151\164\145\125\163\145\162\x50\141\163\163\167\x6f\x72\x64")->getData();
goto Cd76a;
Cc987:
$this->createPhpSite($domainName, $rootDirectory, $phpVersion, $vhostTemplateName, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto f4384;
bbf95:
throw new \Exception(sprintf("\126\x68\157\x73\x74\40\x74\145\x6d\x70\x6c\141\x74\145\40\x22\x25\x73\42\x20\156\157\164\x20\146\x6f\165\156\144\x2e", $vhostTemplateName));
goto ee449;
E2f25:
$varnishCacheSettings = (array) json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto F1e49;
F266b:
$varnishCacheSettings = [];
goto c56b4;
Cd76a:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto ae1c7;
c56b4:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto A83b3;
}
goto E2f25;
e9fdc:
EventQueue::addEvent(EventQueue::EVENT_SITE_PHP_CREATE, $user, $eventData, $request);
goto c4ce9;
Eefe7:
$rootDirectory = sprintf("\x25\x73\57\45\x73", $rootDirectory, ltrim(rtrim($vhostTemplateEntity->getRootDirectory(), "\57"), "\x2f"));
goto fa559;
F1e49:
A83b3:
goto Cc987;
b37b8:
if (!(false === empty($vhostTemplateEntity->getRootDirectory()))) {
goto F7c2c;
}
goto Eefe7;
e02d2:
$user = $this->getUser();
goto e74e7;
C666b:
C1002:
goto e02d2;
ee449:
goto Bd5d9;
goto C666b;
a919d:
return $response;
goto Cbce7;
ae1c7:
if (false === is_null($vhostTemplateEntity)) {
goto C1002;
}
goto bbf95;
C6372:
$session = $request->getSession();
goto E752d;
Cbce7:
Bd5d9:
goto F79f0;
C0d25:
$phpVersion = $form->get("\160\150\160\126\145\x72\x73\x69\x6f\156")->getData();
goto Ada4f;
E752d:
$vhostTemplateName = $form->get("\141\x70\x70\154\x69\x63\141\x74\151\x6f\156")->getData();
goto b5bd3;
Ada4f:
$siteUser = $form->get("\163\151\x74\145\125\x73\145\162")->getData();
goto D2910;
a9f14:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\137\x73\151\x74\x65\x73"));
goto a919d;
e74e7:
$rootDirectory = $domainName;
goto b37b8;
c4ce9:
$session->getFlashBag()->set("\163\x75\143\x63\x65\163\x73", $this->translator->trans("\x53\151\x74\x65\x20\x68\141\163\x20\x62\x65\145\156\x20\x63\162\145\141\x74\x65\144\56"));
goto a9f14;
f4384:
$eventData = ["\x73\x69\x74\145" => $domainName, "\x76\150\x6f\x73\164\124\x65\x6d\x70\154\x61\x74\145\x4e\141\155\145" => $vhostTemplateName, "\x70\x68\160\x56\145\x72\x73\x69\x6f\x6e" => $phpVersion, "\x73\151\x74\145\125\163\145\162" => $siteUser];
goto e9fdc;
F79f0:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\x61\x6e\x67\145\x72", $this->translator->trans("\101\156\x20\x65\162\162\157\162\40\150\x61\163\40\157\x63\143\x75\162\162\x65\x64\x2c\x20\x65\x72\x72\x6f\162\x20\x6d\145\163\163\141\x67\x65\x3a\x20\x25\x65\162\162\x6f\x72\115\145\163\163\141\x67\x65\45", ["\x25\145\x72\162\157\x72\115\x65\163\163\x61\147\145\x25" => $e->getMessage()]));
}
goto f8fd9;
ab99b:
E9037:
goto ee34b;
ccb63:
goto Fbd40;
goto ab99b;
F43f6:
}
public function newWordPressSite(Request $request): Response
{
goto D85c4;
eb53b:
$response = $this->redirect($this->generateUrl("\x63\154\160\x5f\163\151\x74\145\163"));
goto cd42f;
cd42f:
goto b912c;
goto A5497;
D7675:
$user = $this->getUser();
goto F855d;
De4db:
b912c:
goto E8f64;
c9b50:
F2365:
goto cbd11;
C658a:
if (!(false === is_null($response))) {
goto D1b50;
}
goto c8fdf;
A5497:
E0d29:
goto D7675;
C893d:
$response = $this->handleCreateWordPressSiteForm($request, $form);
goto C658a;
b8d5c:
if (!(true === $form->isSubmitted())) {
goto A62f7;
}
goto C893d;
d06f3:
if (true === $hasPermissions) {
goto E0d29;
}
goto eb53b;
ad96d:
if (!(true === $request->isMethod("\x50\x4f\123\x54"))) {
goto F2365;
}
goto Aebb8;
ba5de:
A62f7:
goto c9b50;
F855d:
$form = $this->createWordPressSiteForm();
goto ad96d;
D85c4:
$hasPermissions = $this->hasPermissions();
goto d06f3;
Aebb8:
$form->handleRequest($request);
goto b8d5c;
E8f64:
return $response;
goto D81a8;
c8fdf:
return $response;
goto ce0b5;
ce0b5:
D1b50:
goto ba5de;
cbd11:
$response = $this->render("\x46\x72\157\156\x74\x65\156\144\57\123\x69\x74\x65\57\116\145\x77\57\x77\x6f\162\x64\160\x72\x65\163\x73\x2e\x68\164\x6d\x6c\x2e\164\167\x69\x67", ["\x75\163\145\x72" => $user, "\146\157\x72\x6d" => $form->createView(), "\x66\x6f\162\155\x45\x72\x72\157\162\163" => $this->formErrors]);
goto De4db;
D81a8:
}
private function createWordPressSiteForm(): Form
{
goto B4c9a;
cc9ed:
$form->add("\x73\165\142\x6d\x69\164", SubmitType::class, ["\141\164\x74\162" => ["\x63\154\x61\x73\163" => "\x62\x74\x6e\40\x62\x74\156\x2d\154\x67\x20\142\x74\x6e\x2d\x62\154\x75\x65"], "\x6c\141\x62\145\x6c" => "\x43\162\145\x61\x74\x65"]);
goto A9244;
A9244:
return $form;
goto F1f98;
B4c9a:
$form = $this->createForm("\101\160\160\x5c\x46\x6f\162\x6d\x5c\123\151\x74\145\116\x65\167\127\x6f\162\x64\x50\x72\145\x73\163\x54\171\x70\145", [], ["\x61\143\x74\x69\157\x6e" => $this->generateUrl("\143\x6c\x70\137\x73\151\164\x65\137\x77\x6f\162\144\160\x72\145\x73\x73\x5f\156\x65\167"), "\x6d\x65\x74\150\157\144" => "\120\117\123\x54", "\141\x74\164\x72" => ["\151\144" => "\156\x65\167\55\x77\x6f\x72\x64\160\x72\x65\x73\x73\55\163\x69\x74\x65\55\x66\157\x72\x6d"]]);
goto cc9ed;
F1f98:
}
private function handleCreateWordPressSiteForm(Request $request, Form $form)
{
goto e9410;
e9410:
if (true === $form->isValid()) {
goto bdeee;
}
goto B3328;
ca1e6:
bdeee:
goto Fb414;
Fb414:
try {
goto a91bd;
E14ef:
$siteUserPassword = $form->get("\x73\151\164\145\125\x73\x65\x72\x50\x61\x73\163\x77\x6f\x72\144")->getData();
goto C6379;
c1e2a:
$siteEntity = $this->createPhpSite($domainName, $domainName, $phpVersion, self::WORDPRESS_VHOST_TEMPLATE_NAME, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto fd837;
Fea3a:
$databaseEntity = $this->databaseEntityManager->createEntity();
goto B462f;
a56f0:
$title = $form->get("\163\x69\x74\145\x54\x69\164\x6c\x65")->getData();
goto dbd9c;
f2465:
$databaseUserEntity->setPassword(Crypto::encrypt($databaseUserPassword));
goto c85fb;
B2160:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Fea3a;
A1040:
EventQueue::addEvent(EventQueue::EVENT_SITE_WORDPRESS_CREATE, $user, $eventData, $request);
goto Fc8c1;
C52c2:
$siteCredentials["\127\157\x72\144\120\162\x65\163\x73"] = [$this->translator->trans("\101\144\x6d\x69\156\40\x45\55\115\141\x69\x6c") => $adminEmail, $this->translator->trans("\101\x64\155\x69\156\40\125\163\x65\162\40\116\141\x6d\145") => $adminUserName, $this->translator->trans("\x41\144\x6d\x69\156\x20\120\x61\163\x73\167\157\162\144") => $adminPassword, $this->translator->trans("\x41\x64\x6d\151\x6e\40\125\162\154") => sprintf("\150\x74\164\x70\163\72\57\57\45\163\x2f\x77\160\55\141\144\x6d\151\x6e\x2f", rtrim($domainName, "\x2f"))];
goto F156c;
Aa5a3:
$siteEntity->addDatabase($databaseEntity);
goto d6cbe;
df798:
ebeec:
goto c1e2a;
B462f:
$databaseEntity->setDatabaseServer($activeDatabaseServerEntity);
goto A62d9;
C6379:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::WORDPRESS_VHOST_TEMPLATE_NAME);
goto c7de7;
d1cb6:
$databaseUserName = $this->getUniqueDatabaseUserName($generatedName);
goto a6598;
d8b0f:
$this->siteEntityManager->updateEntity($siteEntity);
goto bf2e4;
F485b:
$session->set("\x73\151\164\x65\x43\x72\x65\x64\x65\x6e\x74\151\141\154\x73", $siteCredentials);
goto D6f89;
c1d49:
$adminPassword = $form->get("\x61\144\155\151\156\120\x61\163\x73\x77\157\162\x64")->getData();
goto f5af8;
f5af8:
$adminEmail = $form->get("\141\x64\155\151\156\105\x6d\141\151\x6c")->getData();
goto f417e;
a6598:
$databaseUserPassword = PasswordGenerator::generate(self::PASSWORD_LENGTH);
goto D53f9;
c7de7:
$phpVersion = $vhostTemplateEntity->getPhpVersion();
goto Aa140;
f4e7a:
$databaseEntity->addUser($databaseUserEntity);
goto Aa5a3;
d0817:
$generatedName = $this->generateNameFromDomainName($domainName);
goto d196f;
D6f89:
$eventData = ["\x73\151\164\x65" => $domainName, "\x73\x69\x74\145\125\x73\x65\162" => $siteUser];
goto A1040;
A791e:
$session = $request->getSession();
goto F3dfe;
Fc8c1:
$response = $this->redirect($this->generateUrl("\143\154\160\x5f\163\151\x74\145\137\x77\157\x72\x64\x70\x72\145\x73\163\x5f\x69\x6e\x73\x74\x61\154\154\x65\x64"));
goto F84bf;
da7da:
if (!(false === is_null($siteEntity))) {
goto b051d;
}
goto fa3f5;
f417e:
$isMultiSite = $form->get("\x6d\x75\x6c\164\151\x53\x69\164\145")->getData();
goto B2160;
d6cbe:
$databaseManager = new DatabaseManager($activeDatabaseServerEntity);
goto B6f17;
a74aa:
$databaseManager->createUser($databaseUserEntity);
goto d8b0f;
F156c:
b051d:
goto F485b;
F3dfe:
$domainName = $form->get("\144\157\155\141\x69\156\x4e\x61\x6d\x65")->getData();
goto d0817;
dbd9c:
$adminUserName = $form->get("\x61\144\155\151\x6e\125\163\145\x72\x4e\141\155\145")->getData();
goto c1d49;
Fff11:
$siteCredentials = [$this->translator->trans("\123\151\164\145") => [$this->translator->trans("\111\120\x20\101\144\x64\x72\x65\163\x73") => $instance->getIpv4PublicIp(), $this->translator->trans("\x44\x6f\x6d\141\151\x6e\x20\116\x61\x6d\145") => sprintf("\x68\x74\164\160\163\x3a\x2f\57\45\x73", $domainName), $this->translator->trans("\x53\x69\164\x65\40\x55\x73\x65\x72") => $siteUser, $this->translator->trans("\x50\x61\x73\163\167\157\x72\x64") => $siteUserPassword]];
goto da7da;
c85fb:
$databaseUserEntity->setPermissions(DatabaseUserEntity::PERMISSIONS_READ_WRITE);
goto a83b8;
B6f17:
$databaseManager->createDatabase($databaseEntity);
goto a74aa;
fd837:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ce564;
d34e8:
$varnishCacheSettings = (array) json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto df798;
C9408:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto ebeec;
}
goto d34e8;
Aa140:
$varnishCacheSettings = [];
goto C9408;
D53f9:
$url = sprintf("\150\x74\x74\160\163\x3a\x2f\x2f\45\163", $siteEntity->getDomainName());
goto a56f0;
abfc5:
$databaseUserEntity = $this->databaseUserEntityManager->createEntity();
goto f5445;
fa3f5:
$databaseName = $this->getUniqueDatabaseName($generatedName);
goto d1cb6;
d196f:
$siteUser = $form->get("\163\x69\x74\145\125\163\145\x72")->getData();
goto E14ef;
F84bf:
return $response;
goto D90b1;
f5445:
$databaseUserEntity->setUserName($databaseUserName);
goto f2465;
bf2e4:
$this->installWordPress($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail, $siteEntity, $activeDatabaseServerEntity, $databaseEntity, $databaseUserEntity);
goto D21ac;
bc0d4:
$databaseEntity->setSite($siteEntity);
goto abfc5;
A62d9:
$databaseEntity->setName($databaseName);
goto bc0d4;
D21ac:
$siteCredentials[$this->translator->trans("\104\141\x74\141\x62\x61\163\x65")] = [$this->translator->trans("\x48\157\x73\164") => $activeDatabaseServerEntity->getHost(), $this->translator->trans("\x50\x6f\x72\164") => $activeDatabaseServerEntity->getPort(), $this->translator->trans("\x44\x61\164\x61\x62\x61\163\x65\x20\x4e\x61\155\145") => $databaseName, $this->translator->trans("\x44\x61\164\141\x62\141\x73\145\40\125\x73\x65\x72\40\x4e\141\155\145") => $databaseUserName, $this->translator->trans("\104\141\164\141\x62\141\163\x65\40\125\163\145\162\x20\120\141\163\163\x77\157\x72\144") => $databaseUserPassword];
goto C52c2;
a91bd:
$user = $this->getUser();
goto A791e;
a83b8:
$databaseUserEntity->setDatabase($databaseEntity);
goto f4e7a;
Ce564:
$instance = $request->attributes->get("\x69\156\163\164\x61\x6e\143\145");
goto Fff11;
D90b1:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\141\x6e\147\145\162", $this->translator->trans("\x41\x6e\40\x65\x72\x72\157\x72\40\150\141\163\x20\x6f\x63\143\165\x72\162\145\x64\x2c\x20\x65\x72\162\157\162\x20\x6d\145\x73\x73\x61\x67\x65\72\40\45\x65\162\162\157\x72\x4d\x65\163\x73\141\x67\x65\45", ["\x25\x65\162\162\x6f\x72\115\x65\163\x73\141\x67\145\45" => $e->getMessage()]));
}
goto Ef2f7;
A2e8e:
goto e8cfd;
goto ca1e6;
Ef2f7:
e8cfd:
goto Bdd5c;
B3328:
$this->formErrors = $this->getErrorMessages($form);
goto A2e8e;
Bdd5c:
}
private function installWordPress(bool $isMultiSite, string $url, string $title, string $adminUserName, string $adminPassword, string $adminEmail, SiteEntity $siteEntity, DatabaseServerEntity $databaseServerEntity, DatabaseEntity $databaseEntity, DatabaseUserEntity $databaseUserEntity): void
{
goto b2dcf;
e1136:
F7361:
goto Ef1af;
F9cad:
$wordPressInstaller->installCore($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail);
goto F2cfb;
a80d9:
c0d19:
goto f07b2;
bbd56:
$wordPressInstaller->createConfig($databaseHost, $databaseName, $databaseUserName, $databaseUserPassword);
goto F9cad;
eae61:
$wordPressInstaller = new WordPressInstaller($siteEntity);
goto F9a58;
b2dcf:
$databaseHost = sprintf("\45\163\x3a\45\x73", $databaseServerEntity->getHost(), $databaseServerEntity->getPort());
goto E4751;
f07b2:
if (!(true === $isMultiSite)) {
goto F7361;
}
goto ffb5a;
F2cfb:
foreach ($this->wordPressDefaultConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["\x76\x61\154\165\145"], $config["\x72\x61\x77"]);
F6459:
}
goto a80d9;
ffb5a:
$this->wordPressMultiSiteConfigValues["\x44\x4f\x4d\101\111\x4e\137\103\x55\x52\x52\105\116\x54\x5f\x53\x49\124\105"]["\166\x61\x6c\x75\x65"] = $siteEntity->getDomainName();
goto Ca533;
D0df7:
F9c65:
goto e1136;
F9a58:
$wordPressInstaller->downloadAndExtractLatestVersion();
goto bbd56;
Ef1af:
$wordPressInstaller->resetPermissions();
goto f17cc;
Ca533:
foreach ($this->wordPressMultiSiteConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["\x76\x61\154\x75\145"], $config["\x72\x61\167"]);
a6a29:
}
goto D0df7;
E4751:
$databaseName = $databaseEntity->getName();
goto D02e3;
Ff1b4:
$databaseUserPassword = Crypto::decrypt($databaseUserEntity->getPassword());
goto eae61;
D02e3:
$databaseUserName = $databaseUserEntity->getUserName();
goto Ff1b4;
f17cc:
}
private function createPhpSite(string $domainName, string $rootDirectory, string $phpVersion, string $vhostTemplateName, string $siteUser, string $siteUserPassword, array $varnishCacheSettings = []): SiteEntity
{
goto ba490;
f762b:
$certificateEntity->setDefaultCertificate(true);
goto Fc90c;
Fd577:
$phpSiteCreator->createPhpFpmPool();
goto f0400;
F4200:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto e1819;
Dca7f:
Cda25:
goto c3720;
dad14:
$phpSiteCreator->createPrivateKeyAndCertificate();
goto Fd577;
A5e6a:
$siteEntity->setVarnishCache(true);
goto Dca7f;
Ae904:
$vhostTemplate->build();
goto Bdd94;
Dac3c:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto c1703;
E5e84:
$siteConstraints = $this->validator->validate($siteEntity);
goto Cf3c8;
b13c5:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto dc1af;
c1703:
$certificateEntity->setSite($siteEntity);
goto ecc37;
Fe49b:
$certificateEntity->setCertificate($selfSignedCertificate);
goto F1387;
C4909:
$siteEntity->setDomainName($domainName);
goto c40ee;
A6dd0:
return $siteEntity;
goto c1b51;
c3720:
if (!(true === is_null($subdomain) || "\167\167\167" == $subdomain)) {
goto C4fa1;
}
goto d20d8;
efec4:
$siteEntity = $this->siteEntityManager->createEntity();
goto Be44d;
D304a:
$defaultVarnishCacheSettings = ["\x65\156\x61\x62\154\145\144" => false, "\163\x65\x72\x76\x65\x72" => self::VARNISH_CACHE_SERVER, "\x63\x61\143\x68\x65\x54\141\147\120\x72\145\146\151\x78" => substr(md5(time()), 0, 4)];
goto E37cd;
F970a:
$subjectAlternativeNames = [];
goto c6638;
B083b:
$phpSite->setRegistrableDomain($registrableDomain);
goto a9f0a;
aae5b:
$vhostTemplate = new PhpVhostTemplate($phpSite);
goto bb378;
F7ff3:
f997b:
goto d8a7a;
b0818:
$siteEntity->setUserPassword($siteUserPassword);
goto Dea9f;
f4fdb:
$phpSiteCreator->createRootDirectory();
goto ccee5;
Fc90c:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto ccdd4;
ba490:
$varnishCache = false === empty($varnishCacheSettings) ? true : false;
goto Fa54e;
d8042:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto aa43f;
D255a:
$phpSite->setCertificate($certificateEntity);
goto D078a;
e1819:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F0b2e;
d2e78:
$phpSite = new PhpSite();
goto dbd43;
a4f74:
$phpSiteCreator->reloadNginxService();
goto A9feb;
E37cd:
$varnishCacheSettings = array_merge($defaultVarnishCacheSettings, $varnishCacheSettings);
goto E3273;
F0b2e:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto Bc8b4;
F1387:
$siteEntity->setCertificate($certificateEntity);
goto d2e78;
ea9d3:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto ecb24;
c9610:
if (!(false === empty($varnishCache))) {
goto Cda25;
}
goto A5e6a;
C7ceb:
$siteEntity->setPhpSettings($phpSettingsEntity);
goto bf4ab;
bcab7:
$phpSite->setVarnishCacheSettings($varnishCacheSettings);
goto B2a0a;
b2553:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Ae904;
Bdd94:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto bf985;
b5482:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto F4200;
aa43f:
$csr = $csrGenerator->generate();
goto f2fb3;
d20d8:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\56\x2f\x2e\x2e\x2f\x2e\56\x2f\162\x65\x73\x6f\165\162\143\x65\163\57\x6e\x67\151\x6e\170\x2f\166\x68\157\x73\x74\x5f\x74\x65\155\x70\x6c\141\164\145\x2f\162\x65\144\x69\x72\x65\x63\x74");
goto d2b6f;
d624c:
$phpSettingsEntity = new PhpSettingsEntity();
goto C7ceb;
Bc8b4:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto efec4;
C9537:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto F970a;
f2fb3:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto f762b;
A184f:
if (!(false === is_null($subdomain) && "\167\167\167" == $subdomain)) {
goto c08ff;
}
goto B94ac;
Be44d:
$siteEntity->setType(SiteEntity::TYPE_PHP);
goto C4909;
d2b6f:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto f21f1;
Ed6f2:
$this->siteEntityManager->updateEntity($siteEntity);
goto A6dd0;
ee8b7:
$phpSiteCreator->createNginxVhost();
goto a4f74;
ccee5:
$phpSiteCreator->createLogrotateFile();
goto Bd357;
D078a:
$phpSite->setPhpSettings($phpSettingsEntity);
goto ca899;
b8454:
e5343:
goto Dac3c;
Bd357:
$phpSiteCreator->createIndexPhp();
goto dad14;
f21f1:
if (!(false === empty($redirectionVhostTemplate))) {
goto f997b;
}
goto Cba3d;
Dea9f:
$siteEntity->setRootDirectory($rootDirectory);
goto c9610;
bb378:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto C91b5;
C483a:
$phpSite->setVarnishCache(true);
goto D304a;
dbd43:
$phpSite->setUser($siteEntity->getUser());
goto F267c;
E3273:
$phpSiteCreator->createVarnishCacheStructure($varnishCacheSettings);
goto bcab7;
e851e:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Fe49b;
c60c2:
$phpSiteCreator = new PhpSiteCreator($phpSite);
goto A7c73;
f0400:
$phpSiteCreator->reloadPhpFpmService();
goto e0cff;
be483:
$constraintViolationList = new ConstraintViolationList();
goto Ce64c;
Cf3c8:
$phpSettingsConstraints = $this->validator->validate($phpSettingsEntity);
goto Ab39a;
B2a0a:
bfe4a:
goto ee8b7;
ccdd4:
$certificateEntity->setCsr($csr);
goto e851e;
B2073:
$phpSettingsEntity->setSite($siteEntity);
goto E5e84;
Cba3d:
$vhostTemplate = sprintf("\45\x73\45\x73", $redirectionVhostTemplate, $vhostTemplate);
goto F7ff3;
Fa54e:
$rootDirectory = trim(rtrim(ltrim($rootDirectory, "\57")), "\57");
goto c84c7;
c6638:
if (!(true === is_null($subdomain))) {
goto e672f;
}
goto A561b;
ca899:
$phpSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto c60c2;
A561b:
$subjectAlternativeNames[] = sprintf("\x77\167\x77\56\x25\x73", $domainName);
goto d777f;
c40ee:
$siteEntity->setUser($siteUser);
goto b0818;
d777f:
e672f:
goto A184f;
dc1af:
throw new \Exception(implode("\x3b\x20", $errorMessages));
goto b8454;
a9f0a:
$phpSite->setSubdomain($subdomain);
goto B4641;
B94ac:
$subjectAlternativeNames[] = $registrableDomain;
goto ddeab;
ecc37:
$rsaKeyGenerator = new RsaKeyGenerator();
goto C9537;
d8a7a:
C4fa1:
goto cd14a;
bf4ab:
$phpSettingsEntity->setPhpVersion($phpVersion);
goto B2073;
bf985:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ed6f2;
F267c:
$phpSite->setUserPassword($siteEntity->getUserPassword());
goto F3d43;
A9feb:
$phpSiteCreator->resetPermissions();
goto aae5b;
F3d43:
$phpSite->setDomainName($domainName);
goto B083b;
Ab39a:
if (!(count($siteConstraints) || count($phpSettingsConstraints))) {
goto e5343;
}
goto be483;
C91b5:
$vhostTemplate->resetProcessors();
goto ea9d3;
ecb24:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto b2553;
cbb3b:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto d8042;
B4641:
$phpSite->setRootDirectory($siteEntity->getRootDirectory());
goto D255a;
ddeab:
c08ff:
goto cbb3b;
cd14a:
$siteEntity->setVhostTemplate($vhostTemplate);
goto d624c;
Ce64c:
$constraintViolationList->addAll($siteConstraints);
goto cfc99;
e0cff:
if (!(true === $varnishCache)) {
goto bfe4a;
}
goto C483a;
cfc99:
$constraintViolationList->addAll($phpSettingsConstraints);
goto b13c5;
A7c73:
$phpSiteCreator->createUser();
goto f4fdb;
c84c7:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto b5482;
c1b51:
}
private function createNodejsSite(string $domainName, string $nodejsVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto D1f2b;
B97c2:
$nodejsSite->setSubdomain($subdomain);
goto C8702;
D08af:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto C42d1;
b6646:
$vhostTemplate = sprintf("\45\163\x25\163", $redirectionVhostTemplate, $vhostTemplate);
goto B8c15;
acd9d:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\56\x2f\56\56\x2f\x2e\56\57\162\x65\163\157\165\162\x63\x65\x73\x2f\x6e\x67\151\x6e\x78\x2f\166\x68\157\163\x74\137\x74\x65\x6d\x70\x6c\141\x74\145\x2f\162\x65\144\x69\162\145\x63\x74");
goto febe1;
D5526:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto F0f40;
bcadd:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Eefdb;
E5af5:
a5112:
goto a476d;
dabc6:
$vhostTemplate = new StaticVhostTemplate($nodejsSite);
goto eca54;
f75c5:
$nodejsSiteCreator->createPrivateKeyAndCertificate();
goto F4350;
a7152:
$nodejsSiteCreator->installNodejs();
goto f75c5;
B0dc7:
$nodejsSettingsEntity->setSite($siteEntity);
goto Cc725;
b53e2:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto E6b52;
eca54:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto Bbc49;
b3c3c:
if (!(false === empty($redirectionVhostTemplate))) {
goto Fba8e;
}
goto b6646;
f8429:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Ade05;
F4350:
$nodejsSiteCreator->createNginxVhost();
goto Bafcf;
f59fd:
$nodejsSite->setUser($siteEntity->getUser());
goto a9532;
Bbc49:
$vhostTemplate->resetProcessors();
goto F865b;
B5a6d:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto afb12;
a43fb:
Cadff:
goto e7441;
D8bb5:
$nodejsSiteCreator = new NodejsSiteCreator($nodejsSite);
goto B0f3f;
C8702:
$nodejsSite->setRootDirectory($siteEntity->getRootDirectory());
goto B71f9;
Ab0c5:
$nodejsSiteCreator->resetPermissions();
goto dabc6;
F0f40:
$certificateEntity->setDefaultCertificate(true);
goto D08af;
afb12:
$subjectAlternativeNames = [];
goto b70f2;
a1a2d:
if (!(count($siteConstraints) || count($nodejsSettingsConstraints))) {
goto A80f4;
}
goto c9ff2;
C94d2:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto F1686;
a29ab:
$nodejsSiteCreator->createNvmDirectory();
goto a7152;
dd8f6:
$constraintViolationList->addAll($nodejsSettingsConstraints);
goto b78e2;
Ade05:
$siteEntity->setCertificate($certificateEntity);
goto f38fb;
bb175:
throw new \Exception(implode("\x3b\x20", $errorMessages));
goto fd229;
fa01d:
return $siteEntity;
goto F7fce;
Fece8:
$siteEntity->setVhostTemplate($vhostTemplate);
goto b4b90;
a9532:
$nodejsSite->setUserPassword($siteEntity->getUserPassword());
goto ef353;
b33fb:
$nodejsSettingsEntity->setPort($port);
goto B0dc7;
C01a0:
$nodejsSettingsConstraints = $this->validator->validate($nodejsSettingsEntity);
goto a1a2d;
ef353:
$nodejsSite->setDomainName($domainName);
goto Abdbe;
c2594:
B40c5:
goto Fece8;
de8fd:
$siteEntity->setDomainName($domainName);
goto ff3c4;
cb597:
$rsaKeyGenerator = new RsaKeyGenerator();
goto B5a6d;
E15af:
$nodejsSettingsEntity->setNodejsVersion($nodejsVersion);
goto b33fb;
b4b90:
$nodejsSettingsEntity = new NodejsSettingsEntity();
goto Fe3d4;
Dce2d:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto E94a4;
B7457:
if (!(true === is_null($subdomain) || "\167\x77\x77" == $subdomain)) {
goto B40c5;
}
goto acd9d;
Eefdb:
$siteEntity = $this->siteEntityManager->createEntity();
goto Dafb6;
db44c:
$nodejsSiteCreator->createRootDirectory();
goto D96f7;
F5db6:
$nodejsSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto D8bb5;
B0f3f:
$nodejsSiteCreator->createUser();
goto db44c;
C42d1:
$certificateEntity->setCsr($csr);
goto Babb2;
bfd2c:
$vhostTemplate->build();
goto b53e2;
D96f7:
$nodejsSiteCreator->createLogrotateFile();
goto a29ab;
e7441:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto D63bc;
Cc725:
$siteConstraints = $this->validator->validate($siteEntity);
goto C01a0;
B6d90:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto bfd2c;
ce8fe:
$subjectAlternativeNames[] = sprintf("\x77\167\x77\56\x25\163", $domainName);
goto E5af5;
E94a4:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto C1931;
A1ede:
$siteEntity->setUserPassword($siteUserPassword);
goto E7b39;
Bafcf:
$nodejsSiteCreator->reloadNginxService();
goto Ab0c5;
Ac3a1:
$this->siteEntityManager->updateEntity($siteEntity);
goto fa01d;
b70f2:
if (!(true === is_null($subdomain))) {
goto a5112;
}
goto ce8fe;
c9ff2:
$constraintViolationList = new ConstraintViolationList();
goto feb80;
F1686:
$certificateEntity->setSite($siteEntity);
goto cb597;
E6b52:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Ac3a1;
fd229:
A80f4:
goto C94d2;
Fe3d4:
$siteEntity->setNodejsSettings($nodejsSettingsEntity);
goto E15af;
Abdbe:
$nodejsSite->setRegistrableDomain($registrableDomain);
goto B97c2;
b78e2:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto bb175;
B8779:
$nodejsSite->setNodejsSettings($nodejsSettingsEntity);
goto F5db6;
Fd64b:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Dce2d;
f38fb:
$nodejsSite = new NodejsSite();
goto f59fd;
D1f2b:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Fd64b;
febe1:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto b3c3c;
a476d:
if (!(false === is_null($subdomain) && "\167\x77\167" == $subdomain)) {
goto Cadff;
}
goto d8d0e;
B71f9:
$nodejsSite->setCertificate($certificateEntity);
goto B8779;
C1931:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::NODEJS_VHOST_TEMPLATE_NAME);
goto bcadd;
Dafb6:
$siteEntity->setType(SiteEntity::TYPE_NODEJS);
goto de8fd;
B8c15:
Fba8e:
goto c2594;
E7b39:
$siteEntity->setRootDirectory($domainName);
goto B7457;
F865b:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto Ea6fc;
Ea6fc:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto B6d90;
d8d0e:
$subjectAlternativeNames[] = $registrableDomain;
goto a43fb;
D63bc:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto d95f1;
feb80:
$constraintViolationList->addAll($siteConstraints);
goto dd8f6;
d95f1:
$csr = $csrGenerator->generate();
goto D5526;
Babb2:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto f8429;
ff3c4:
$siteEntity->setUser($siteUser);
goto A1ede;
F7fce:
}
private function createPythonSite(string $domainName, string $pythonVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto A9110;
dd777:
$pythonSite->setUserPassword($siteEntity->getUserPassword());
goto A5c91;
F84b8:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Cd715;
B59df:
e7b37:
goto Ffa57;
Ab2b2:
$pythonSite = new PythonSite();
goto ef895;
Bb96b:
$pythonSite->setCertificate($certificateEntity);
goto e1920;
c723d:
$pythonSiteCreator->resetPermissions();
goto Ef250;
Cd715:
$pythonSettingsEntity = new PythonSettingsEntity();
goto Cd6c1;
Baeca:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto dee18;
Ab0c3:
c4e55:
goto Bf2b8;
Bff53:
if (!(false === is_null($subdomain) && "\x77\x77\x77" == $subdomain)) {
goto E7b78;
}
goto Fe48c;
Fe48c:
$subjectAlternativeNames[] = $registrableDomain;
goto Dd505;
A990c:
$certificateEntity->setDefaultCertificate(true);
goto ec94e;
b9a51:
$pythonSiteCreator->createLogrotateFile();
goto b0cd0;
e48cd:
$siteEntity->setUser($siteUser);
goto Aa66c;
Bb983:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto aca8b;
E8ddb:
$certificateEntity->setSite($siteEntity);
goto a0b79;
cf1c1:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto C25b2;
Dd505:
E7b78:
goto Ce951;
F7efa:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::PYTHON_VHOST_TEMPLATE_NAME);
goto A3092;
Cd499:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto d3237;
d0c79:
$pythonSiteCreator->createRootDirectory();
goto b9a51;
Fc101:
$pythonSite->setRootDirectory($siteEntity->getRootDirectory());
goto Bb96b;
Da1e9:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto f06e5;
dee18:
return $siteEntity;
goto Ee586;
eb933:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Ac334;
fd245:
$siteEntity->setType(SiteEntity::TYPE_PYTHON);
goto be2db;
e1920:
$pythonSite->setPythonSettings($pythonSettingsEntity);
goto e7ad8;
bec69:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto cad2e;
c7524:
$csr = $csrGenerator->generate();
goto f8d89;
e88c1:
$certificateEntity->setCsr($csr);
goto Cd499;
D5088:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto c7524;
A9110:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto eb933;
D6afa:
$constraintViolationList->addAll($pythonSettingsConstraints);
goto Da1e9;
Aa66c:
$siteEntity->setUserPassword($siteUserPassword);
goto a1977;
c7e9b:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto C9e74;
A3092:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto E1241;
be2db:
$siteEntity->setDomainName($domainName);
goto e48cd;
b9153:
$pythonSettingsEntity->setSite($siteEntity);
goto a9b97;
A327c:
$pythonSiteCreator->createUser();
goto d0c79;
cc354:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto B1869;
f3ac0:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F7efa;
da4f0:
$pythonSiteCreator->reloadNginxService();
goto c723d;
ef895:
$pythonSite->setUser($siteEntity->getUser());
goto dd777;
C25b2:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto c7e9b;
Ffa57:
fd480:
goto F84b8;
Cd6c1:
$siteEntity->setPythonSettings($pythonSettingsEntity);
goto ba99f;
f8d89:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto A990c;
c1a71:
$pythonSiteCreator->createNginxVhost();
goto da4f0;
E1241:
$siteEntity = $this->siteEntityManager->createEntity();
goto fd245;
Ce951:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto D5088;
d3237:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c9b79;
C9e74:
$vhostTemplate->build();
goto Bb983;
A433a:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto Edc7e;
ddcb4:
Fc318:
goto Bff53;
Ef250:
$vhostTemplate = new PythonVhostTemplate($pythonSite);
goto cc354;
cad2e:
if (!(false === empty($redirectionVhostTemplate))) {
goto e7b37;
}
goto c5acb;
A5c91:
$pythonSite->setDomainName($domainName);
goto C538d;
aca8b:
$this->siteEntityManager->updateEntity($siteEntity);
goto Baeca;
dc283:
$pythonSettingsEntity->setPort($port);
goto b9153;
c9b79:
$siteEntity->setCertificate($certificateEntity);
goto Ab2b2;
B4e6e:
$constraintViolationList->addAll($siteConstraints);
goto D6afa;
a9b97:
$siteConstraints = $this->validator->validate($siteEntity);
goto Cb6f9;
c5e7e:
if (!(true === is_null($subdomain))) {
goto Fc318;
}
goto F398d;
ec94e:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto e88c1;
b2faa:
if (!(count($siteConstraints) || count($pythonSettingsConstraints))) {
goto c4e55;
}
goto D1acb;
c5acb:
$vhostTemplate = sprintf("\45\163\x25\x73", $redirectionVhostTemplate, $vhostTemplate);
goto B59df;
a1977:
$siteEntity->setRootDirectory($domainName);
goto E4a4a;
f06e5:
throw new \Exception(implode("\73\40", $errorMessages));
goto Ab0c3;
e7ad8:
$pythonSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto bcdf6;
B1869:
$vhostTemplate->resetProcessors();
goto cf1c1;
F398d:
$subjectAlternativeNames[] = sprintf("\167\x77\167\56\x25\x73", $domainName);
goto ddcb4;
Edc7e:
$subjectAlternativeNames = [];
goto c5e7e;
C538d:
$pythonSite->setRegistrableDomain($registrableDomain);
goto d7b2b;
d7b2b:
$pythonSite->setSubdomain($subdomain);
goto Fc101;
afc10:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\56\x2f\56\x2e\57\x2e\x2e\x2f\x72\145\x73\x6f\x75\x72\143\145\x73\x2f\x6e\147\151\x6e\x78\x2f\166\150\157\x73\164\137\164\x65\x6d\160\154\141\164\145\x2f\162\x65\144\151\x72\x65\x63\164");
goto bec69;
Bf2b8:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto E8ddb;
E4a4a:
if (!(true === is_null($subdomain) || "\x77\167\167" == $subdomain)) {
goto fd480;
}
goto afc10;
bcdf6:
$pythonSiteCreator = new PythonSiteCreator($pythonSite);
goto A327c;
Ac334:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto f3ac0;
ba99f:
$pythonSettingsEntity->setPythonVersion($pythonVersion);
goto dc283;
Cb6f9:
$pythonSettingsConstraints = $this->validator->validate($pythonSettingsEntity);
goto b2faa;
b0cd0:
$pythonSiteCreator->writePythonVersionFile();
goto fdfaa;
a0b79:
$rsaKeyGenerator = new RsaKeyGenerator();
goto A433a;
D1acb:
$constraintViolationList = new ConstraintViolationList();
goto B4e6e;
fdfaa:
$pythonSiteCreator->createPrivateKeyAndCertificate();
goto c1a71;
Ee586:
}
private function createStaticSite(string $domainName, string $siteUser, string $siteUserPassword): SiteEntity
{
goto D3e99;
ba979:
$staticSite->setCertificate($certificateEntity);
goto b93fb;
D65bf:
$subjectAlternativeNames = [];
goto B63fb;
d9eb9:
$siteEntity->setCertificate($certificateEntity);
goto B23dd;
C7b71:
$vhostTemplate->resetProcessors();
goto aa637;
faeca:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto f9b0a;
e0f5d:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::STATIC_SITE_VHOST_TEMPLATE_NAME);
goto e54c6;
ce7ed:
if (!(false === is_null($subdomain) && "\167\167\167" == $subdomain)) {
goto Daec0;
}
goto D3bcd;
Adde9:
if (!(true === is_null($subdomain) || "\167\x77\x77" == $subdomain)) {
goto fbdd4;
}
goto C5e64;
a4a6d:
$constraintViolationList = new ConstraintViolationList();
goto a05f4;
b2d55:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto adc25;
e2653:
Daec0:
goto E3ba2;
D0141:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto a5af1;
a292f:
$siteEntity->setUser($siteUser);
goto bd207;
a05f4:
$constraintViolationList->addAll($siteConstraints);
goto D0141;
d032e:
fbdd4:
goto f8413;
D915c:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto dfc6d;
E553d:
$staticSiteCreator->createLogrotateFile();
goto d3f3f;
b17d8:
$vhostTemplate = new StaticVhostTemplate($staticSite);
goto D6f5f;
e0107:
$certificateEntity->setCertificate($selfSignedCertificate);
goto d9eb9;
Ad23c:
ee426:
goto D2b81;
Aa4a2:
$staticSiteCreator->resetPermissions();
goto b17d8;
a5af1:
throw new \Exception(implode("\x3b\40", $errorMessages));
goto Ad23c;
b3022:
$siteConstraints = $this->validator->validate($siteEntity);
goto d63d9;
Bf839:
$this->siteEntityManager->updateEntity($siteEntity);
goto eb69a;
E95dd:
$staticSiteCreator->createNginxVhost();
goto Ea955;
d3f3f:
$staticSiteCreator->createIndexHtml();
goto Dd599;
B23dd:
$staticSite = new StaticSite();
goto e9f98;
A66fc:
e7fbc:
goto ce7ed;
e9f98:
$staticSite->setUser($siteEntity->getUser());
goto f59d8;
f59d8:
$staticSite->setUserPassword($siteEntity->getUserPassword());
goto eb7fd;
Ebcef:
$staticSite->setRootDirectory($siteEntity->getRootDirectory());
goto ba979;
E3ba2:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto F295e;
D2b81:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto Db24d;
adc25:
$certificateEntity->setCsr($csr);
goto d14bb;
dfc6d:
if (!(false === empty($redirectionVhostTemplate))) {
goto Ff639;
}
goto b8365;
D22fb:
$staticSite->setRegistrableDomain($registrableDomain);
goto F4f5a;
f277d:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto d630e;
e18b9:
$rsaKeyGenerator = new RsaKeyGenerator();
goto fe03b;
Dd599:
$staticSiteCreator->createPrivateKeyAndCertificate();
goto E95dd;
f3989:
Ff639:
goto d032e;
a16e9:
$staticSiteCreator->createUser();
goto f8770;
d14bb:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto e0107;
B4296:
$siteEntity->setDomainName($domainName);
goto a292f;
db9fc:
$siteEntity->setRootDirectory($domainName);
goto Adde9;
f8770:
$staticSiteCreator->createRootDirectory();
goto E553d;
cfea5:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto faeca;
e738b:
$siteEntity = $this->siteEntityManager->createEntity();
goto fa3eb;
fa3eb:
$siteEntity->setType(SiteEntity::TYPE_STATIC);
goto B4296;
F295e:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto Eb512;
b8365:
$vhostTemplate = sprintf("\45\163\45\163", $redirectionVhostTemplate, $vhostTemplate);
goto f3989;
D3e99:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto cfea5;
A68c7:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto c37cb;
Db24d:
$certificateEntity->setSite($siteEntity);
goto e18b9;
C5e64:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\56\x2f\x2e\56\57\x2e\56\x2f\x72\x65\x73\x6f\x75\x72\x63\x65\x73\57\x6e\147\151\x6e\170\57\x76\x68\x6f\163\164\137\164\x65\x6d\x70\154\x61\x74\x65\x2f\x72\x65\x64\151\162\x65\143\164");
goto D915c;
d630e:
$certificateEntity->setDefaultCertificate(true);
goto b2d55;
B8ea9:
$vhostTemplate->build();
goto e2a19;
e2a19:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto e7065;
e6af1:
$staticSiteCreator = new StaticSiteCreator($staticSite);
goto a16e9;
F2ff0:
$subjectAlternativeNames[] = sprintf("\x77\x77\x77\x2e\45\163", $domainName);
goto A66fc;
F4f5a:
$staticSite->setSubdomain($subdomain);
goto Ebcef;
f9b0a:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto e0f5d;
B63fb:
if (!(true === is_null($subdomain))) {
goto e7fbc;
}
goto F2ff0;
fe03b:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto D65bf;
e54c6:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto e738b;
d63d9:
if (!count($siteConstraints)) {
goto ee426;
}
goto a4a6d;
aa637:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto A68c7;
Ea955:
$staticSiteCreator->reloadNginxService();
goto Aa4a2;
bd207:
$siteEntity->setUserPassword($siteUserPassword);
goto db9fc;
b93fb:
$staticSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto e6af1;
eb69a:
return $siteEntity;
goto ea6f8;
e7065:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Bf839;
f8413:
$siteEntity->setVhostTemplate($vhostTemplate);
goto b3022;
c37cb:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto B8ea9;
D3bcd:
$subjectAlternativeNames[] = $registrableDomain;
goto e2653;
D6f5f:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto C7b71;
eb7fd:
$staticSite->setDomainName($domainName);
goto D22fb;
Eb512:
$csr = $csrGenerator->generate();
goto f277d;
ea6f8:
}
private function createReverseProxySite(string $domainName, string $reverseProxyUrl, string $siteUser, string $siteUserPassword): SiteEntity
{
goto B67cc;
Cd601:
if (!(false === empty($redirectionVhostTemplate))) {
goto ac54a;
}
goto C48f8;
D3f58:
$siteEntity->setUserPassword($siteUserPassword);
goto D6962;
e022a:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto Fa919;
b1aff:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Aa99a;
d3572:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto a8c02;
B5b17:
$reversProxySiteCreator->createRootDirectory();
goto b980a;
C2002:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Dd917;
B1211:
$siteEntity->setDomainName($domainName);
goto a755e;
Fad7a:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto C2002;
Aa99a:
$siteConstraints = $this->validator->validate($siteEntity);
goto e8720;
C93c8:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c189e;
B70e0:
$constraintViolationList->addAll($siteConstraints);
goto A435e;
A3049:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto D81f8;
Be9ee:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto C93c8;
e5f90:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto c05bf;
A77de:
$reverseProxySite->setVhostTemplate($siteEntity->getVhostTemplate());
goto C3d5e;
ac6be:
$reverseProxySite->setCertificate($certificateEntity);
goto b169e;
D1be5:
$certificateEntity->setCsr($csr);
goto Be9ee;
A7645:
$certificateEntity->setSite($siteEntity);
goto c0442;
D72e3:
$subjectAlternativeNames[] = sprintf("\167\167\x77\56\45\x73", $domainName);
goto f4dc6;
f4dc6:
D28bb:
goto Aba72;
Dd917:
$this->siteEntityManager->updateEntity($siteEntity);
goto aeec4;
c0442:
$rsaKeyGenerator = new RsaKeyGenerator();
goto F60ef;
fb2d2:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto D1be5;
D6962:
$siteEntity->setRootDirectory($domainName);
goto d51ef;
E5011:
$csr = $csrGenerator->generate();
goto e5f90;
C95ca:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto A7645;
ea495:
if (!(true === is_null($subdomain) || "\167\x77\x77" == $subdomain)) {
goto b0978;
}
goto db8b9;
F36b4:
$reverseProxySite->setRootDirectory($siteEntity->getRootDirectory());
goto ac6be;
e0b93:
E32f5:
goto f90a4;
de1f7:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto a7541;
e8720:
if (!count($siteConstraints)) {
goto A866f;
}
goto bb4c7;
Fa919:
$vhostTemplate->resetProcessors();
goto e10db;
b169e:
$reverseProxySite->setReverseProxyUrl($reverseProxyUrl);
goto A77de;
C6ab2:
$vhostTemplate->build();
goto Fad7a;
Ff78d:
$reversProxySiteCreator->createPrivateKeyAndCertificate();
goto c32e8;
a8c02:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto C6ab2;
a755e:
$siteEntity->setUser($siteUser);
goto D3f58;
Cc571:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto Cd601;
C3d5e:
$reversProxySiteCreator = new ReverseProxySiteCreator($reverseProxySite);
goto a042a;
E99bc:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto E5011;
D81f8:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::REVERSE_PROXY_VHOST_TEMPLATE_NAME);
goto ef2fc;
Bbac0:
b0978:
goto b1aff;
a7541:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto A3049;
e03fe:
if (!(true === is_null($subdomain))) {
goto D28bb;
}
goto D72e3;
b980a:
$reversProxySiteCreator->createLogrotateFile();
goto Ff78d;
F60ef:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto d1929;
dd6de:
ac54a:
goto Bbac0;
B8ee0:
$reverseProxySite->setRegistrableDomain($registrableDomain);
goto e88f4;
A435e:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto B8dcf;
c2f3b:
$reverseProxySite->setUserPassword($siteEntity->getUserPassword());
goto f8cb3;
aeec4:
return $siteEntity;
goto F779e;
B67cc:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto de1f7;
Aba72:
if (!(false === is_null($subdomain) && "\x77\167\x77" == $subdomain)) {
goto E32f5;
}
goto f827b;
c189e:
$siteEntity->setCertificate($certificateEntity);
goto Baf31;
Baf31:
$reverseProxySite = new ReverseProxySite();
goto f2f9f;
fc7a2:
$siteEntity = $this->siteEntityManager->createEntity();
goto A285f;
d51ef:
$siteEntity->setReverseProxyUrl($reverseProxyUrl);
goto ea495;
A70dd:
$reversProxySiteCreator->resetPermissions();
goto e7ffb;
c05bf:
$certificateEntity->setDefaultCertificate(true);
goto fb2d2;
a042a:
$reversProxySiteCreator->createUser();
goto B5b17;
B8dcf:
throw new \Exception(implode("\x3b\x20", $errorMessages));
goto f455a;
C48f8:
$vhostTemplate = sprintf("\45\x73\45\163", $redirectionVhostTemplate, $vhostTemplate);
goto dd6de;
f827b:
$subjectAlternativeNames[] = $registrableDomain;
goto e0b93;
c32e8:
$reversProxySiteCreator->createNginxVhost();
goto a2847;
e88f4:
$reverseProxySite->setSubdomain($subdomain);
goto F36b4;
A285f:
$siteEntity->setType(SiteEntity::TYPE_REVERSE_PROXY);
goto B1211;
db8b9:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\56\57\x2e\56\57\56\56\57\162\145\163\157\165\x72\143\x65\163\x2f\x6e\147\151\x6e\x78\57\166\150\x6f\163\164\x5f\x74\145\155\x70\154\x61\x74\145\x2f\162\x65\x64\x69\x72\x65\x63\164");
goto Cc571;
bb4c7:
$constraintViolationList = new ConstraintViolationList();
goto B70e0;
a2847:
$reversProxySiteCreator->reloadNginxService();
goto A70dd;
f455a:
A866f:
goto C95ca;
e10db:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto d3572;
d1929:
$subjectAlternativeNames = [];
goto e03fe;
ef2fc:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto fc7a2;
f8cb3:
$reverseProxySite->setDomainName($domainName);
goto B8ee0;
f2f9f:
$reverseProxySite->setUser($siteEntity->getUser());
goto c2f3b;
e7ffb:
$vhostTemplate = new ReverseProxyVhostTemplate($reverseProxySite);
goto e022a;
f90a4:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto E99bc;
F779e:
}
public function installedWordPressSite(Request $request): Response
{
goto a1c29;
E0574:
ace6b:
goto F330c;
bd1b1:
return $response;
goto c5bc5;
B1e42:
$response = $this->render("\x46\x72\x6f\x6e\164\145\156\144\x2f\x53\x69\x74\x65\57\x4e\x65\167\x2f\167\157\x72\144\160\162\x65\x73\163\x2d\151\156\x73\164\x61\154\x6c\145\x64\56\x68\164\155\154\x2e\x74\167\151\147", ["\163\151\164\x65\x43\x72\x65\x64\145\156\164\151\x61\154\163" => $siteCredentials]);
goto f8df2;
C7732:
$response = $this->redirect($this->generateUrl("\x63\154\x70\137\163\151\x74\x65\163"));
goto Fee5c;
F330c:
$siteCredentials = $this->renderSiteCredentials($siteCredentials);
goto B1e42;
a12b5:
fd6c5:
goto bd1b1;
a1c29:
$session = $request->getSession();
goto D6a37;
f8df2:
return $response;
goto a12b5;
B6d88:
if (false === empty($siteCredentials)) {
goto ace6b;
}
goto C7732;
D6a37:
$siteCredentials = $session->get("\x73\151\x74\145\x43\162\145\144\145\156\164\x69\x61\x6c\163");
goto B6d88;
Fee5c:
goto fd6c5;
goto E0574;
c5bc5:
}
private function renderSiteCredentials(array $siteCredentials): string
{
goto Ccb02;
ebfed:
return $renderedCredentials;
goto Af6c2;
Cf4f6:
foreach ($siteCredentials as $section => $sectionData) {
goto B032d;
F8b28:
B79e7:
goto Eb776;
B032d:
$renderedCredentials .= $section . PHP_EOL;
goto C4423;
b0dc7:
foreach ($sectionData as $key => $value) {
$renderedCredentials .= sprintf("\x25\163\72\x20\45\163", $key, $value) . PHP_EOL;
F1507:
}
goto ab463;
ab463:
De8b1:
goto e71ce;
C4423:
$renderedCredentials .= "\55\x2d\55\55\55\x2d\55\55\x2d\x2d\55\55\55\x2d\x2d\x2d\55\x2d\55\55\x2d\x2d\x2d\55\55\55\55\55\x2d\x2d\x2d\x2d\x2d\55\55\55\x2d\x2d\x2d\55\x2d\x2d\55\55\x2d\55\x2d\55\x2d\x2d\55\x2d\x2d\x2d" . PHP_EOL;
goto b0dc7;
e71ce:
$renderedCredentials .= PHP_EOL;
goto F8b28;
Eb776:
}
goto e60ea;
e60ea:
f50c9:
goto ebfed;
Ccb02:
$renderedCredentials = '';
goto Cf4f6;
Af6c2:
}
private function getVhostTemplateEntity(string $name): mixed
{
goto b72c0;
b72c0:
$vhostTemplateEntity = $this->vhostTemplateEntityManager->findOneByName($name);
goto ebd9d;
A455a:
return $vhostTemplateEntity;
goto c262b;
ebd9d:
if (!(true === is_null($vhostTemplateEntity))) {
goto F25ca;
}
goto Befb1;
Befb1:
throw new \Exception($this->translator->trans("\x56\150\157\x73\164\40\124\145\155\160\154\x61\x74\145\x20\45\x76\150\x6f\163\x74\x54\x65\x6d\x70\154\x61\x74\x65\x25\40\144\x6f\x65\x73\x20\x6e\x6f\164\40\x65\170\151\163\164\x2e", ["\x25\166\150\x6f\x73\164\124\x65\155\160\x6c\141\x74\x65\x25" => $name]));
goto C715e;
C715e:
F25ca:
goto A455a;
c262b:
}
private function getConstraintViolationListErrorMessages(ConstraintViolationList $constraintViolationList): array
{
goto ba8b3;
eb88d:
return $errorMessages;
goto Ee538;
e4051:
foreach ($constraintViolationList as $constraint) {
$errorMessages[] = sprintf("\45\163\x3a\x20\45\x73", $constraint->getPropertyPath(), $constraint->getMessage());
E843d:
}
goto E17fe;
ba8b3:
$errorMessages = [];
goto e4051;
E17fe:
Df0fa:
goto eb88d;
Ee538:
}
private function generateNameFromDomainName(string $domainName): string
{
goto F7ed1;
Ceac2:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto B4207;
e894c:
if ("\x77\x77\x77" == $subdomain) {
goto Bdd5f;
}
goto D770b;
Cff42:
return $name;
goto C6c64;
F7ed1:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Ceac2;
D9290:
$name = sprintf("\45\163\55\45\163", $explodedRegistrableDomain[0] ?? '', implode("\x2d", $explodedSubdomain));
goto Ff044;
f5533:
Bdd5f:
goto ff406;
efd29:
$explodedSubdomain = explode("\x2e", $subdomain);
goto D9290;
b2d1c:
if (!(false === empty($subdomain))) {
goto E16b4;
}
goto efd29;
B4207:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto D1851;
afdb3:
B8914:
goto Cff42;
B7ce9:
goto B8914;
goto f5533;
D770b:
$name = $explodedRegistrableDomain[0] ?? '';
goto b2d1c;
ff406:
$name = $explodedRegistrableDomain[0] ?? '';
goto afdb3;
D1851:
$explodedRegistrableDomain = explode("\56", $registrableDomain);
goto e894c;
Ff044:
E16b4:
goto B7ce9;
C6c64:
}
private function getUniqueDatabaseName(string $databaseName): string
{
goto Cba79;
d8f44:
Be4ad:
goto Ad666;
D7a61:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto f8d0b;
d38f2:
B140f:
goto E7100;
ce429:
if (true === $databaseExists) {
goto B6f0a;
}
goto d38f2;
e955e:
$i = 0;
goto D7a61;
b0c9a:
if (!(0 < $i)) {
goto Be4ad;
}
goto b0bb6;
b0bb6:
$uniqueDatabaseName = sprintf("\45\x73\55\x25\x73", $databaseName, $i);
goto d8f44;
f8d0b:
$databaseConnection = new DatabaseConnection($activeDatabaseServerEntity);
goto af252;
Cba79:
$uniqueDatabaseName = $databaseName;
goto Affd9;
e3709:
$i++;
goto ce429;
af252:
$databases = $databaseConnection->getDatabases();
goto f678b;
E7100:
return $uniqueDatabaseName;
goto a9b5e;
Affd9:
if (!(strlen($uniqueDatabaseName) <= 3)) {
goto Fae1c;
}
goto a97b5;
f678b:
B6f0a:
goto b0c9a;
Ad666:
$databaseExists = in_array($uniqueDatabaseName, $databases);
goto e3709;
ddf7e:
Fae1c:
goto e955e;
a97b5:
$uniqueDatabaseName = sprintf("\45\163\x2d\x64\142", $uniqueDatabaseName);
goto ddf7e;
a9b5e:
}
private function getUniqueDatabaseUserName(string $databaseUserName): string
{
goto aa609;
a339e:
bc226:
goto c84a4;
C1149:
if (!(0 < $i)) {
goto ec5c0;
}
goto Ea227;
aa609:
$uniqueDatabaseUserName = $databaseUserName;
goto F1d3c;
F1d3c:
if (!(strlen($uniqueDatabaseUserName) <= 3)) {
goto bc226;
}
goto Cce4a;
ba99a:
return $uniqueDatabaseUserName;
goto Ab8c7;
Cce4a:
$uniqueDatabaseUserName = sprintf("\45\163\x2d\144\x62", $uniqueDatabaseUserName);
goto a339e;
a47e5:
$databaseUserEntity = $this->databaseUserEntityManager->findOneByUserName($uniqueDatabaseUserName);
goto a8db4;
Ea227:
$uniqueDatabaseUserName = sprintf("\45\163\x2d\x25\163", $databaseUserName, $i);
goto Fd786;
Fd786:
ec5c0:
goto a47e5;
A0f2c:
Ecf8c:
goto ba99a;
c1866:
if (false === is_null($databaseUserEntity)) {
goto ac3b0;
}
goto A0f2c;
c84a4:
$i = 0;
goto E01cb;
E01cb:
ac3b0:
goto C1149;
a8db4:
$i++;
goto c1866;
Ab8c7:
}
private function hasPermissions(): bool
{
goto Eda82;
D7700:
C5b15:
goto B03ad;
dff50:
if (!(UserEntity::ROLE_USER != $user->getRole())) {
goto C5b15;
}
goto Fc1b0;
Eda82:
$user = $this->getUser();
goto dff50;
B03ad:
return false;
goto F0fcd;
Fc1b0:
return true;
goto D7700;
F0fcd:
}
}
Function Calls
None |
Stats
MD5 | ebd469c7b72ead44e8a5ab505f78b172 |
Eval Count | 0 |
Decode Time | 115 ms |