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 Ca1a3;
d10ee:
$this->databaseEntityManager = $databaseEntityManager;
goto A8693;
A8693:
$this->databaseUserEntityManager = $databaseUserEntityManager;
goto fcf8b;
d1396:
$this->domainNameParser = $domainNameParser;
goto F3b91;
A296d:
$this->vhostTemplateEntityManager = $vhostTemplateEntityManager;
goto d1396;
d15d7:
$this->certificateEntityManager = $certificateEntityManager;
goto d10ee;
A33ab:
parent::__construct($translator, $logger);
goto f6074;
fcf8b:
$this->databaseServerEntityManager = $databaseServerEntityManager;
goto A296d;
a464b:
$this->siteEntityManager = $siteEntityManager;
goto d15d7;
Ca1a3:
$this->configManager = $configManager;
goto a464b;
F3b91:
$this->validator = $validator;
goto A33ab;
f6074:
}
public function index(Request $request): Response
{
goto f1b57;
e9930:
if (true === $hasPermissions) {
goto a8c04;
}
goto a6d43;
f85a7:
goto E678c;
goto ace34;
a3415:
$response = $this->render("Frontend/Site/New/index.html.twig", ["user" => $user]);
goto E1adf;
ace34: a8c04:
goto ee5e3;
ee5e3:
$user = $this->getUser();
goto a3415;
E1adf: E678c:
goto D1106;
f1b57:
$hasPermissions = $this->hasPermissions();
goto e9930;
a6d43:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto f85a7;
D1106:
return $response;
goto b2d9d;
b2d9d:
}
public function newPythonSite(Request $request): Response
{
goto C731e;
b92ad:
return $response;
goto De821;
B95a4: F5f79:
goto f7ec1;
e1fa6:
return $response;
goto b1bee;
F041b: Ef02d:
goto Bd411;
C6881:
if (!(true === $form->isSubmitted())) {
goto F5f79;
}
goto E60f9;
f61c0:
goto ce24f;
goto F041b;
c515c:
if (true === $hasPermissions) {
goto Ef02d;
}
goto C670e;
d273b:
if (!(false === is_null($response))) {
goto B818f;
}
goto e1fa6;
E60f9:
$response = $this->handleCreatePythonSiteForm($request, $form);
goto d273b;
cddb0:
$form->handleRequest($request);
goto C6881;
f7ec1: a3a6d:
goto fbb78;
C731e:
$hasPermissions = $this->hasPermissions();
goto c515c;
Bd411:
$user = $this->getUser();
goto f3c57;
f3c57:
$pythonSettings = new PythonSettingsEntity();
goto A4346;
fbb78:
$response = $this->render("Frontend/Site/New/python.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto D0de4;
f0673:
if (!(true === $request->isMethod("POST"))) {
goto a3a6d;
}
goto cddb0;
A4346:
$form = $this->createPythonSiteForm($pythonSettings);
goto f0673;
b1bee: B818f:
goto B95a4;
C670e:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto f61c0;
D0de4: ce24f:
goto b92ad;
De821:
}
private function createPythonSiteForm(PythonSettingsEntity $pythonSettings): Form
{
goto D1e6d;
F96b2:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto D2948;
D1e6d:
$form = $this->createForm("App\Form\SiteNewPythonType", $pythonSettings, ["action" => $this->generateUrl("clp_site_python_new"), "method" => "POST", "attr" => ["id" => "new-python-site-form"]]);
goto F96b2;
D2948:
return $form;
goto dafda;
dafda:
}
private function handleCreatePythonSiteForm(Request $request, Form $form)
{
goto fc47d;
F6770: F0c64:
goto ed4db;
fc47d:
if (true === $form->isValid()) {
goto F0c64;
}
goto B5896;
b80d5: E16c8:
goto eec36;
ed4db:
try {
goto b0d3c;
b96b2:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto D3989;
C58bf:
return $response;
goto d7680;
b88a6:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto fb811;
Bb111:
if (false === is_null($vhostTemplateEntity)) {
goto Beff3;
}
goto af1db;
C5fc5:
$siteUser = $form->get("siteUser")->getData();
goto b96b2;
ab67a:
$domainName = $form->get("domainName")->getData();
goto Ffaf5;
d7680: D418d:
goto faae0;
af1db:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto ec1a6;
b0d3c:
$session = $request->getSession();
goto ab67a;
F29d5:
$this->createPythonSite($domainName, $pythonVersion, $port, $siteUser, $siteUserPassword);
goto Cd99c;
D3989:
$vhostTemplateName = self::PYTHON_VHOST_TEMPLATE_NAME;
goto cc1ac;
cdc45: Beff3:
goto bab0d;
cc1ac:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto Bb111;
ec1a6:
goto D418d;
goto cdc45;
bab0d:
$user = $this->getUser();
goto F29d5;
d43d7:
EventQueue::addEvent(EventQueue::EVENT_SITE_PYTHON_CREATE, $user, $eventData, $request);
goto b88a6;
Cd99c:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "pythonVersion" => $pythonVersion, "port" => $port];
goto d43d7;
Ffaf5:
$pythonVersion = $form->get("pythonVersion")->getData();
goto Efe4b;
fb811:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto C58bf;
Efe4b:
$port = $form->get("port")->getData();
goto C5fc5;
faae0:
} 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 b80d5;
B5896:
$this->formErrors = $this->getErrorMessages($form);
goto Edf33;
Edf33:
goto E16c8;
goto F6770;
eec36:
}
public function newReverseProxy(Request $request): Response
{
goto ee672;
A033f:
return $response;
goto Fe1a8;
c621e: Af2ce:
goto bbd66;
a5735: Abb74:
goto c621e;
d8f6a:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto d2a2d;
bbd66:
$response = $this->render("Frontend/Site/New/reverse-proxy.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto bd65f;
Fa634:
$response = $this->handleReverseProxyForm($request, $form);
goto B3e0c;
d2a2d:
goto Cd312;
goto a0c78;
D37ab:
if (!(true === $form->isSubmitted())) {
goto Abb74;
}
goto Fa634;
ee672:
$hasPermissions = $this->hasPermissions();
goto fe50e;
B3e0c:
if (!(false === is_null($response))) {
goto B8a1f;
}
goto A033f;
c690d:
if (!(true === $request->isMethod("POST"))) {
goto Af2ce;
}
goto d7c59;
d7c59:
$form->handleRequest($request);
goto D37ab;
d7e3b:
$form = $this->createReverseProxyForm();
goto c690d;
a7817:
return $response;
goto dc607;
a38d7:
$user = $this->getUser();
goto d7e3b;
bd65f: Cd312:
goto a7817;
Fe1a8: B8a1f:
goto a5735;
a0c78: cc787:
goto a38d7;
fe50e:
if (true === $hasPermissions) {
goto cc787;
}
goto d8f6a;
dc607:
}
private function createReverseProxyForm(): Form
{
goto Da29f;
Db1dd:
return $form;
goto b09f9;
Da29f:
$form = $this->createForm("App\Form\SiteNewReverseProxyType", [], ["action" => $this->generateUrl("clp_site_reverse_proxy_new"), "method" => "POST", "attr" => ["id" => "new-reverse-proxy-form"]]);
goto Fba31;
Fba31:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto Db1dd;
b09f9:
}
private function handleReverseProxyForm(Request $request, Form $form)
{
goto F5e85;
d6f60:
goto Abfd9;
goto d29b6;
d29b6: e8c68:
goto Af1c0;
F5e85:
if (true === $form->isValid()) {
goto e8c68;
}
goto abc52;
abc52:
$this->formErrors = $this->getErrorMessages($form);
goto d6f60;
Ac59a: Abfd9:
goto d84d3;
Af1c0:
try {
goto Df0f9;
E6ebd:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto af365;
d629b:
goto e7b4c;
goto F7b0f;
Cacdf:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto Aec2d;
c1973:
if (false === is_null($vhostTemplateEntity)) {
goto B9a51;
}
goto D9128;
F7b0f: B9a51:
goto dab24;
Aec2d:
return $response;
goto e1ee9;
e1ee9: e7b4c:
goto C1605;
Df0f9:
$session = $request->getSession();
goto Ea5f3;
e6acf:
$vhostTemplateName = self::REVERSE_PROXY_VHOST_TEMPLATE_NAME;
goto bf2a7;
Ea5f3:
$domainName = $form->get("domainName")->getData();
goto fae55;
b6147:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "reverseProxyUrl" => $reverseProxyUrl];
goto B40d0;
Ce467:
$this->createReverseProxySite($domainName, $reverseProxyUrl, $siteUser, $siteUserPassword);
goto b6147;
bf2a7:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c1973;
D9128:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto d629b;
dab24:
$user = $this->getUser();
goto Ce467;
af365:
$reverseProxyUrl = $form->get("reverseProxyUrl")->getData();
goto e6acf;
B40d0:
EventQueue::addEvent(EventQueue::EVENT_SITE_REVERSE_PROXY_CREATE, $user, $eventData, $request);
goto ed19f;
ed19f:
$session->getFlashBag()->set("success", $this->translator->trans("Reverse Proxy has been created."));
goto Cacdf;
fae55:
$siteUser = $form->get("siteUser")->getData();
goto E6ebd;
C1605:
} 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 Ac59a;
d84d3:
}
public function newNodejsSite(Request $request): Response
{
goto Aea0e;
b5054:
goto B95b1;
goto Ecf29;
E5e47: da479:
goto E9d21;
E2e53:
$nodejsSettings = new NodejsSettingsEntity();
goto e42ea;
E9d21: Be8c8:
goto Eacbc;
f2932:
return $response;
goto cb3f7;
Ecf29: cb37a:
goto Ca634;
cb3f7: cd935:
goto E5e47;
Eacbc:
$response = $this->render("Frontend/Site/New/nodejs.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto b0fbf;
E3669:
if (!(true === $request->isMethod("POST"))) {
goto Be8c8;
}
goto F9534;
dff48:
$response = $this->handleCreateNodejsSiteForm($request, $form);
goto ac8db;
Ca634:
$user = $this->getUser();
goto E2e53;
F9534:
$form->handleRequest($request);
goto ab39e;
ab39e:
if (!(true === $form->isSubmitted())) {
goto da479;
}
goto dff48;
e42ea:
$form = $this->createNodejsSiteForm($nodejsSettings);
goto E3669;
ac8db:
if (!(false === is_null($response))) {
goto cd935;
}
goto f2932;
D3f25:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto b5054;
b0fbf: B95b1:
goto Ec439;
Aea0e:
$hasPermissions = $this->hasPermissions();
goto De3da;
Ec439:
return $response;
goto F43e8;
De3da:
if (true === $hasPermissions) {
goto cb37a;
}
goto D3f25;
F43e8:
}
private function createNodejsSiteForm(NodejsSettingsEntity $nodejsSettings): Form
{
goto D74b0;
D74b0:
$form = $this->createForm("App\Form\SiteNewNodejsType", $nodejsSettings, ["action" => $this->generateUrl("clp_site_nodejs_new"), "method" => "POST", "attr" => ["id" => "new-nodejs-site-form"]]);
goto B87be;
B87be:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto Cc11c;
Cc11c:
return $form;
goto ebb14;
ebb14:
}
private function handleCreateNodejsSiteForm(Request $request, Form $form)
{
goto f3bb3;
cf7eb:
$this->formErrors = $this->getErrorMessages($form);
goto de5f4;
f3bb3:
if (true === $form->isValid()) {
goto f5ab7;
}
goto cf7eb;
de5f4:
goto D586c;
goto ebf92;
cf5fa:
try {
goto F5158;
F5158:
$session = $request->getSession();
goto f51f5;
Dddec:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto C6786;
A0201:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto c2e0b;
ab542:
$eventData = ["site" => $domainName, "siteUser" => $siteUser, "nodejsVersion" => $nodejsVersion, "port" => $port];
goto Aed2a;
d586f:
$nodejsVersion = $form->get("nodejsVersion")->getData();
goto d1bc3;
d36e5:
return $response;
goto e01fb;
ed173:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto d36e5;
d9a38:
$vhostTemplateName = self::NODEJS_VHOST_TEMPLATE_NAME;
goto Dddec;
Aed2a:
EventQueue::addEvent(EventQueue::EVENT_SITE_NODEJS_CREATE, $user, $eventData, $request);
goto Ae00a;
D8341:
$this->createNodejsSite($domainName, $nodejsVersion, $port, $siteUser, $siteUserPassword);
goto ab542;
e01fb: C85ce:
goto F12fa;
f51f5:
$domainName = $form->get("domainName")->getData();
goto d586f;
D56a1:
$siteUser = $form->get("siteUser")->getData();
goto D3479;
Fec76: Dfd09:
goto C9644;
d1bc3:
$port = $form->get("port")->getData();
goto D56a1;
Ae00a:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto ed173;
C6786:
if (false === is_null($vhostTemplateEntity)) {
goto Dfd09;
}
goto A0201;
C9644:
$user = $this->getUser();
goto D8341;
c2e0b:
goto C85ce;
goto Fec76;
D3479:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto d9a38;
F12fa:
} 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 D11cf;
D11cf: D586c:
goto c14ff;
ebf92: f5ab7:
goto cf5fa;
c14ff:
}
public function newStaticSite(Request $request): Response
{
goto eff49;
Fdefd:
goto d4881;
goto a73e9;
ced81:
$form = $this->createStaticSiteForm();
goto E6a8d;
a73e9: Bb852:
goto a6219;
e31d1: b4de7:
goto A50a8;
B8f98:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto Fdefd;
C8dbe: d4881:
goto Dc5b3;
F57a3:
if (true === $hasPermissions) {
goto Bb852;
}
goto B8f98;
a6219:
$user = $this->getUser();
goto ced81;
Bdf06:
$response = $this->handleCreateStaticSiteForm($request, $form);
goto bb2f9;
Dc5b3:
return $response;
goto Ae412;
C6005: db4e2:
goto E1e6a;
eff49:
$hasPermissions = $this->hasPermissions();
goto F57a3;
E6e47:
if (!(true === $form->isSubmitted())) {
goto bad0e;
}
goto Bdf06;
E1e6a: bad0e:
goto e31d1;
Fae54:
return $response;
goto C6005;
A50a8:
$response = $this->render("Frontend/Site/New/static.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto C8dbe;
fe729:
$form->handleRequest($request);
goto E6e47;
E6a8d:
if (!(true === $request->isMethod("POST"))) {
goto b4de7;
}
goto fe729;
bb2f9:
if (!(false === is_null($response))) {
goto db4e2;
}
goto Fae54;
Ae412:
}
private function createStaticSiteForm(): Form
{
goto a1669;
a0228:
return $form;
goto fb3e1;
a1669:
$form = $this->createForm("App\Form\SiteNewStaticType", [], ["action" => $this->generateUrl("clp_site_static_new"), "method" => "POST", "attr" => []]);
goto A676d;
A676d:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto a0228;
fb3e1:
}
private function handleCreateStaticSiteForm(Request $request, Form $form)
{
goto Ae244;
Cefad:
try {
goto F735a;
B77af:
$domainName = $form->get("domainName")->getData();
goto E3f51;
ecbf3:
goto Fdeda;
goto d97d7;
F3106:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto ecbf3;
f76e0:
if (false === is_null($vhostTemplateEntity)) {
goto Ab529;
}
goto F3106;
B9469:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto f0947;
Cf047:
$eventData = ["site" => $domainName, "siteUser" => $siteUser];
goto Db367;
df028:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto Fb392;
f0947:
$vhostTemplateName = self::STATIC_SITE_VHOST_TEMPLATE_NAME;
goto Cd912;
F735a:
$session = $request->getSession();
goto B77af;
b56c2:
$user = $this->getUser();
goto A8e04;
E3f51:
$siteUser = $form->get("siteUser")->getData();
goto B9469;
Fb392:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto ba132;
Cd912:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto f76e0;
ba132:
return $response;
goto Bcd6f;
d97d7: Ab529:
goto b56c2;
A8e04:
$this->createStaticSite($domainName, $siteUser, $siteUserPassword);
goto Cf047;
Bcd6f: Fdeda:
goto C1cd6;
Db367:
EventQueue::addEvent(EventQueue::EVENT_SITE_STATIC_CREATE, $user, $eventData, $request);
goto df028;
C1cd6:
} 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 d84f1;
c261e:
goto B3ca4;
goto B6b33;
Ae244:
if (true === $form->isValid()) {
goto D53a2;
}
goto Ced43;
B6b33: D53a2:
goto Cefad;
Ced43:
$this->formErrors = $this->getErrorMessages($form);
goto c261e;
d84f1: B3ca4:
goto E361e;
E361e:
}
public function newPhpSite(Request $request): Response
{
goto Bca48;
d48d1:
return $response;
goto E21ae;
e9ed8: d761c:
goto eb7e4;
e836e:
if (true === $hasPermissions) {
goto E4dfb;
}
goto E43de;
F7cb1:
$form->handleRequest($request);
goto a0b8c;
E968f:
return $response;
goto e9ed8;
a1e90:
$response = $this->handleCreatePhpSiteForm($request, $form);
goto d0d2d;
Abf28:
goto fb435;
goto C7fdd;
eb7e4: a23f9:
goto Ef3e7;
Ef3e7: D5676:
goto D65f9;
Bca48:
$hasPermissions = $this->hasPermissions();
goto e836e;
d8e77:
$user = $this->getUser();
goto Af0dd;
d0d2d:
if (!(false === is_null($response))) {
goto d761c;
}
goto E968f;
A3786: fb435:
goto d48d1;
E43de:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto Abf28;
a0b8c:
if (!(true === $form->isSubmitted())) {
goto a23f9;
}
goto a1e90;
B62b8:
if (!(true === $request->isMethod("POST"))) {
goto D5676;
}
goto F7cb1;
C7fdd: E4dfb:
goto d8e77;
Af0dd:
$form = $this->createPhpSiteForm();
goto B62b8;
D65f9:
$response = $this->render("Frontend/Site/New/php.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto A3786;
E21ae:
}
private function createPhpSiteForm(): Form
{
goto A9343;
cd3df:
return $form;
goto bf013;
A9343:
$form = $this->createForm("App\Form\SiteNewPhpType", [], ["action" => $this->generateUrl("clp_site_php_new"), "method" => "POST", "attr" => []]);
goto C9575;
C9575:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto cd3df;
bf013:
}
private function handleCreatePhpSiteForm(Request $request, Form $form)
{
goto bcb31;
A2be1:
try {
goto ac26c;
fdb26:
return $response;
goto ebccc;
E3ab2:
$rootDirectory = $domainName;
goto Dc70f;
c7ea8:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto b64fe;
bcaf2: Da250:
goto Cb514;
Cb514:
$this->createPhpSite($domainName, $rootDirectory, $phpVersion, $vhostTemplateName, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto Ab967;
ac289:
$siteUser = $form->get("siteUser")->getData();
goto c7ea8;
B2dc6: a8937:
goto Ebad0;
b64fe:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto C1e9f;
ef660:
$rootDirectory = sprintf("%s/%s", $rootDirectory, ltrim(rtrim($vhostTemplateEntity->getRootDirectory(), "/"), "/"));
goto B2dc6;
Ebad0:
$varnishCacheSettings = [];
goto d9d35;
B2c9f:
$session->getFlashBag()->set("success", $this->translator->trans("Site has been created."));
goto A7374;
F1ebb:
$user = $this->getUser();
goto E3ab2;
A7374:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto fdb26;
C1e9f:
if (false === is_null($vhostTemplateEntity)) {
goto d13c9;
}
goto Aa604;
f9016:
$varnishCacheSettings = (array)json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto bcaf2;
Aa604:
throw new \Exception(sprintf("Vhost template "%s" not found.", $vhostTemplateName));
goto d573b;
D68f1: d13c9:
goto F1ebb;
Bdff0:
$domainName = $form->get("domainName")->getData();
goto e4f60;
Dc70f:
if (!(false === empty($vhostTemplateEntity->getRootDirectory()))) {
goto a8937;
}
goto ef660;
d573b:
goto ab3a8;
goto D68f1;
d9d35:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto Da250;
}
goto f9016;
ebccc: ab3a8:
goto ee2bd;
ac26c:
$session = $request->getSession();
goto Dbe0a;
Dbe0a:
$vhostTemplateName = $form->get("application")->getData();
goto Bdff0;
Ab967:
$eventData = ["site" => $domainName, "vhostTemplateName" => $vhostTemplateName, "phpVersion" => $phpVersion, "siteUser" => $siteUser];
goto Af7b0;
e4f60:
$phpVersion = $form->get("phpVersion")->getData();
goto ac289;
Af7b0:
EventQueue::addEvent(EventQueue::EVENT_SITE_PHP_CREATE, $user, $eventData, $request);
goto B2c9f;
ee2bd:
} 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 C22ed;
f6e4a:
goto eb530;
goto d14e2;
bcb31:
if (true === $form->isValid()) {
goto F6f32;
}
goto f03cd;
f03cd:
$this->formErrors = $this->getErrorMessages($form);
goto f6e4a;
d14e2: F6f32:
goto A2be1;
C22ed: eb530:
goto bcea3;
bcea3:
}
public function newWordPressSite(Request $request): Response
{
goto F6d99;
c3fa4: F9e15:
goto D1749;
e7d81:
return $response;
goto Bbb8a;
C58c0:
if (!(false === is_null($response))) {
goto F9e15;
}
goto fc985;
F6d99:
$hasPermissions = $this->hasPermissions();
goto A188e;
c5aaf:
$user = $this->getUser();
goto a6314;
F6006: Badf5:
goto c5aaf;
C3f6d:
goto D1d40;
goto F6006;
aad10: D1d40:
goto e7d81;
f269f:
$form->handleRequest($request);
goto F74dc;
F74dc:
if (!(true === $form->isSubmitted())) {
goto Fd177;
}
goto F5d25;
D1749: Fd177:
goto cdeb3;
C4f05:
if (!(true === $request->isMethod("POST"))) {
goto Abfea;
}
goto f269f;
A188e:
if (true === $hasPermissions) {
goto Badf5;
}
goto b94c2;
cdeb3: Abfea:
goto d382c;
d382c:
$response = $this->render("Frontend/Site/New/wordpress.html.twig", ["user" => $user, "form" => $form->createView(), "formErrors" => $this->formErrors]);
goto aad10;
a6314:
$form = $this->createWordPressSiteForm();
goto C4f05;
fc985:
return $response;
goto c3fa4;
b94c2:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto C3f6d;
F5d25:
$response = $this->handleCreateWordPressSiteForm($request, $form);
goto C58c0;
Bbb8a:
}
private function createWordPressSiteForm(): Form
{
goto Ce208;
Ce208:
$form = $this->createForm("App\Form\SiteNewWordPressType", [], ["action" => $this->generateUrl("clp_site_wordpress_new"), "method" => "POST", "attr" => ["id" => "new-wordpress-site-form"]]);
goto B2099;
B2099:
$form->add("submit", SubmitType::class, ["attr" => ["class" => "btn btn-lg btn-blue"], "label" => "Create"]);
goto F4f92;
F4f92:
return $form;
goto a6de5;
a6de5:
}
private function handleCreateWordPressSiteForm(Request $request, Form $form)
{
goto Eabf6;
afb3e:
$this->formErrors = $this->getErrorMessages($form);
goto f133d;
f133d:
goto fb174;
goto abd54;
abd54: F65f6:
goto Bbc3a;
dac9c: fb174:
goto d21d4;
Eabf6:
if (true === $form->isValid()) {
goto F65f6;
}
goto afb3e;
Bbc3a:
try {
goto Bc027;
Abd50:
$databaseEntity = $this->databaseEntityManager->createEntity();
goto b0c97;
F5186:
$this->siteEntityManager->updateEntity($siteEntity);
goto E1e34;
b05b1:
$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 F197e;
e88a8:
$varnishCacheSettings = (array)json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto A4cff;
b44a5:
$databaseName = $this->getUniqueDatabaseName($generatedName);
goto D1e88;
Fffec:
$databaseManager->createDatabase($databaseEntity);
goto A9dbb;
bf582:
$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 Efe20;
C02ac:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::WORDPRESS_VHOST_TEMPLATE_NAME);
goto B6aea;
B8588:
$databaseUserEntity->setUserName($databaseUserName);
goto f4d0a;
B6aea:
$phpVersion = $vhostTemplateEntity->getPhpVersion();
goto F8ec7;
a6974:
$session = $request->getSession();
goto c58d3;
ba368:
$databaseEntity->setName($databaseName);
goto b1e91;
d6146:
$adminPassword = $form->get("adminPassword")->getData();
goto cb295;
A4cff: a0a6b:
goto Cb2d6;
daa29:
$response = $this->redirect($this->generateUrl("clp_site_wordpress_installed"));
goto Facd1;
Ffcbf:
$generatedName = $this->generateNameFromDomainName($domainName);
goto a9a5e;
db375:
$databaseUserEntity = $this->databaseUserEntityManager->createEntity();
goto B8588;
a9a5e:
$siteUser = $form->get("siteUser")->getData();
goto b7879;
b0c97:
$databaseEntity->setDatabaseServer($activeDatabaseServerEntity);
goto ba368;
Bedf9:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Efd3d;
a0a86:
$siteEntity->addDatabase($databaseEntity);
goto Ae349;
D1e88:
$databaseUserName = $this->getUniqueDatabaseUserName($generatedName);
goto A43f7;
E1e34:
$this->installWordPress($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail, $siteEntity, $activeDatabaseServerEntity, $databaseEntity, $databaseUserEntity);
goto bf582;
Efd3d:
$instance = $request->attributes->get("instance");
goto b05b1;
b1da4:
$eventData = ["site" => $domainName, "siteUser" => $siteUser];
goto C5922;
Ae349:
$databaseManager = new DatabaseManager($activeDatabaseServerEntity);
goto Fffec;
A43f7:
$databaseUserPassword = PasswordGenerator::generate(self::PASSWORD_LENGTH);
goto C401d;
bc588: F8969:
goto c373f;
d633f:
$databaseUserEntity->setDatabase($databaseEntity);
goto F172a;
cb295:
$adminEmail = $form->get("adminEmail")->getData();
goto B769c;
F197e:
if (!(false === is_null($siteEntity))) {
goto F8969;
}
goto b44a5;
Efe20:
$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 bc588;
c373f:
$session->set("siteCredentials", $siteCredentials);
goto b1da4;
b7879:
$siteUserPassword = $form->get("siteUserPassword")->getData();
goto C02ac;
F172a:
$databaseEntity->addUser($databaseUserEntity);
goto a0a86;
C401d:
$url = sprintf("https://%s", $siteEntity->getDomainName());
goto b8ec0;
Cb2d6:
$siteEntity = $this->createPhpSite($domainName, $domainName, $phpVersion, self::WORDPRESS_VHOST_TEMPLATE_NAME, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto Bedf9;
c96c7:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto a0a6b;
}
goto e88a8;
Facd1:
return $response;
goto dd38f;
B769c:
$isMultiSite = $form->get("multiSite")->getData();
goto C6e0e;
Bc027:
$user = $this->getUser();
goto a6974;
c58d3:
$domainName = $form->get("domainName")->getData();
goto Ffcbf;
f4d0a:
$databaseUserEntity->setPassword(Crypto::encrypt($databaseUserPassword));
goto F063b;
A9dbb:
$databaseManager->createUser($databaseUserEntity);
goto F5186;
C5922:
EventQueue::addEvent(EventQueue::EVENT_SITE_WORDPRESS_CREATE, $user, $eventData, $request);
goto daa29;
b8ec0:
$title = $form->get("siteTitle")->getData();
goto dea5e;
F8ec7:
$varnishCacheSettings = [];
goto c96c7;
F063b:
$databaseUserEntity->setPermissions(DatabaseUserEntity::PERMISSIONS_READ_WRITE);
goto d633f;
C6e0e:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Abd50;
dea5e:
$adminUserName = $form->get("adminUserName")->getData();
goto d6146;
b1e91:
$databaseEntity->setSite($siteEntity);
goto db375;
dd38f:
} 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 dac9c;
d21d4:
}
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 Cd507;
Eb8c6:
$wordPressInstaller = new WordPressInstaller($siteEntity);
goto f42b9;
D32a2:
$wordPressInstaller->createConfig($databaseHost, $databaseName, $databaseUserName, $databaseUserPassword);
goto b6a3e;
b6a3e:
$wordPressInstaller->installCore($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail);
goto d5404;
f42b9:
$wordPressInstaller->downloadAndExtractLatestVersion();
goto D32a2;
Ef670:
$databaseName = $databaseEntity->getName();
goto e9aff;
e2574:
$databaseUserPassword = Crypto::decrypt($databaseUserEntity->getPassword());
goto Eb8c6;
d5404:
foreach ($this->wordPressDefaultConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["value"], $config["raw"]);
b178f:
}
goto F652c;
F6dc7:
$wordPressInstaller->resetPermissions();
goto e1e11;
ed4ce:
if (!(true === $isMultiSite)) {
goto cf5e2;
}
goto Cb4c9;
d7295: f8c60:
goto A2097;
Cd507:
$databaseHost = sprintf("%s:%s", $databaseServerEntity->getHost(), $databaseServerEntity->getPort());
goto Ef670;
Cb4c9:
$this->wordPressMultiSiteConfigValues["DOMAIN_CURRENT_SITE"]["value"] = $siteEntity->getDomainName();
goto cd744;
F652c: Cd7fa:
goto ed4ce;
e9aff:
$databaseUserName = $databaseUserEntity->getUserName();
goto e2574;
A2097: cf5e2:
goto F6dc7;
cd744:
foreach ($this->wordPressMultiSiteConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["value"], $config["raw"]);
Ce795:
}
goto d7295;
e1e11:
}
private function createPhpSite(string $domainName, string $rootDirectory, string $phpVersion, string $vhostTemplateName, string $siteUser, string $siteUserPassword, array $varnishCacheSettings = []): SiteEntity
{
goto ec400;
C6686:
$siteEntity->setUser($siteUser);
goto F396d;
d41d2:
$phpSiteCreator->resetPermissions();
goto bfd8b;
Fc453:
$siteEntity->setCertificate($certificateEntity);
goto a50d3;
cfcdb: C4c8c:
goto C83f5;
bfd8b:
$vhostTemplate = new PhpVhostTemplate($phpSite);
goto a1cd6;
D6cd7:
$siteEntity->setVhostTemplate($vhostTemplate);
goto ef610;
a9b75:
$defaultVarnishCacheSettings = ["enabled" => false, "server" => self::VARNISH_CACHE_SERVER, "cacheTagPrefix" => substr(md5(time()), 0, 4)];
goto b6602;
e414e:
$phpSite->setDomainName($domainName);
goto Fdf1e;
b650c:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto F57d6;
E9bc5:
$phpSite->setPhpSettings($phpSettingsEntity);
goto e9259;
E9e15:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto e9258;
c0663:
$phpSite->setUser($siteEntity->getUser());
goto d0900;
f9dc1:
$siteEntity->setRootDirectory($rootDirectory);
goto e5e16;
E9dc6:
if (!(true === is_null($subdomain))) {
goto e2a4b;
}
goto C44da;
Ac826:
$constraintViolationList->addAll($phpSettingsConstraints);
goto F3002;
e473c:
$csr = $csrGenerator->generate();
goto a232d;
c0046:
$phpSiteCreator->createVarnishCacheStructure($varnishCacheSettings);
goto C8d0a;
Ad389:
$rsaKeyGenerator = new RsaKeyGenerator();
goto ce1be;
B2172:
$phpSite->setSubdomain($subdomain);
goto Cdd9f;
E1450:
$phpSiteCreator->createNginxVhost();
goto c5034;
C84af:
$phpSiteCreator->createIndexPhp();
goto cb346;
a1cd6:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto d693d;
B4aeb:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto af8cd;
}
goto C18c5;
A933b:
$phpSiteCreator->createLogrotateFile();
goto C84af;
E7a7c:
$certificateEntity->setSite($siteEntity);
goto Ad389;
d76c4:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Ea024;
E9fed:
$siteEntity->setType(SiteEntity::TYPE_PHP);
goto C5768;
F0fc8:
$constraintViolationList = new ConstraintViolationList();
goto Ecd51;
f61fc:
$phpSettingsConstraints = $this->validator->validate($phpSettingsEntity);
goto A686c;
C44da:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto Ba736;
b3609:
$phpSiteCreator->reloadPhpFpmService();
goto E38a0;
cf52c:
$siteEntity->setVarnishCache(true);
goto cfcdb;
E38a0:
if (!(true === $varnishCache)) {
goto ebdc2;
}
goto E3cf1;
e9258:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto d51e3;
b848a:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto b650c;
Eeea3:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto B5a7e;
F3002:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto f8d1b;
D9fe9:
$phpSiteCreator->createPhpFpmPool();
goto b3609;
bbbfb:
$certificateEntity->setDefaultCertificate(true);
goto F10f1;
E7466:
$phpSiteCreator->createRootDirectory();
goto A933b;
Ecd51:
$constraintViolationList->addAll($siteConstraints);
goto Ac826;
C7b2e:
$siteEntity = $this->siteEntityManager->createEntity();
goto E9fed;
be554:
$this->siteEntityManager->updateEntity($siteEntity);
goto E024f;
Fb1cf:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto C8369;
C8d0a:
$phpSite->setVarnishCacheSettings($varnishCacheSettings);
goto f6162;
B1407:
$rootDirectory = trim(rtrim(ltrim($rootDirectory, "/")), "/");
goto E9e15;
cb346:
$phpSiteCreator->createPrivateKeyAndCertificate();
goto D9fe9;
d693d:
$vhostTemplate->resetProcessors();
goto b848a;
E08a3:
$siteConstraints = $this->validator->validate($siteEntity);
goto f61fc;
Fdf1e:
$phpSite->setRegistrableDomain($registrableDomain);
goto B2172;
b5485: Dc90c:
goto D6cd7;
B8044:
if (!(false === empty($redirectionVhostTemplate))) {
goto a525a;
}
goto d685a;
E05f6:
$vhostTemplate->build();
goto Fb1cf;
d0900:
$phpSite->setUserPassword($siteEntity->getUserPassword());
goto e414e;
F5e1d:
$phpSite->setCertificate($certificateEntity);
goto E9bc5;
bf7ee:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto e473c;
C9ce8: af8cd:
goto E1698;
c5034:
$phpSiteCreator->reloadNginxService();
goto d41d2;
D8f2c:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto E7a7c;
e9259:
$phpSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto B0e54;
E3cf1:
$phpSite->setVarnishCache(true);
goto a9b75;
d5ea2:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto c4676;
a50d3:
$phpSite = new PhpSite();
goto c0663;
Ea024:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Fc453;
b38cf:
$subjectAlternativeNames = [];
goto E9dc6;
c54a5:
$siteEntity->setPhpSettings($phpSettingsEntity);
goto C115b;
A686c:
if (!(count($siteConstraints) || count($phpSettingsConstraints))) {
goto B7409;
}
goto F0fc8;
C8369:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto be554;
eb099:
$phpSettingsEntity->setSite($siteEntity);
goto E08a3;
c4676:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto B8044;
f8d1b:
throw new \Exception(implode("; ", $errorMessages));
goto aa60c;
C61e7:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Eeea3;
a232d:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto bbbfb;
Ba736: e2a4b:
goto B4aeb;
ef610:
$phpSettingsEntity = new PhpSettingsEntity();
goto c54a5;
ce1be:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto b38cf;
E1698:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto bf7ee;
C83f5:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto Dc90c;
}
goto d5ea2;
C5768:
$siteEntity->setDomainName($domainName);
goto C6686;
E024f:
return $siteEntity;
goto E9905;
F57d6:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto E05f6;
aa60c: B7409:
goto D8f2c;
e5e16:
if (!(false === empty($varnishCache))) {
goto C4c8c;
}
goto cf52c;
D2e71:
$phpSiteCreator->createUser();
goto E7466;
cdfd2: a525a:
goto b5485;
d685a:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto cdfd2;
C18c5:
$subjectAlternativeNames[] = $registrableDomain;
goto C9ce8;
F10f1:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto B7ff0;
B5a7e:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto C7b2e;
F396d:
$siteEntity->setUserPassword($siteUserPassword);
goto f9dc1;
C115b:
$phpSettingsEntity->setPhpVersion($phpVersion);
goto eb099;
B7ff0:
$certificateEntity->setCsr($csr);
goto d76c4;
f6162: ebdc2:
goto E1450;
ec400:
$varnishCache = false === empty($varnishCacheSettings) ? true : false;
goto B1407;
b6602:
$varnishCacheSettings = array_merge($defaultVarnishCacheSettings, $varnishCacheSettings);
goto c0046;
B0e54:
$phpSiteCreator = new PhpSiteCreator($phpSite);
goto D2e71;
d51e3:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto C61e7;
Cdd9f:
$phpSite->setRootDirectory($siteEntity->getRootDirectory());
goto F5e1d;
E9905:
}
private function createNodejsSite(string $domainName, string $nodejsVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto de6b5;
abe45:
$nodejsSettingsEntity->setSite($siteEntity);
goto Dc48f;
f329c:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto ee84f;
F24a2:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto Df59a;
Db8ba:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Fabc8;
d39e4:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto f405d;
a76f0:
$siteEntity->setType(SiteEntity::TYPE_NODEJS);
goto ee828;
E496b:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Ea664;
Ddc11:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto b4f1e;
}
goto Cac23;
C87a0:
if (!(count($siteConstraints) || count($nodejsSettingsConstraints))) {
goto ac9d4;
}
goto Dab70;
fce39:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto Ab47e;
D71d9:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto B16b4;
ee84f:
$subjectAlternativeNames = [];
goto C47b2;
B4aff:
$csr = $csrGenerator->generate();
goto D6fae;
E9839:
$nodejsSite->setDomainName($domainName);
goto F1c46;
A0965:
$this->siteEntityManager->updateEntity($siteEntity);
goto dd1cc;
ccd3f:
$nodejsSiteCreator->createNvmDirectory();
goto e49f8;
E9bb4:
$nodejsSite->setCertificate($certificateEntity);
goto febf1;
E1c5a:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto Ead3d;
c57a2:
$nodejsSiteCreator->createNginxVhost();
goto F439b;
F1c46:
$nodejsSite->setRegistrableDomain($registrableDomain);
goto D03f8;
B16b4:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto E4aa1;
Cac23:
$subjectAlternativeNames[] = $registrableDomain;
goto b75c2;
b75c2: b4f1e:
goto F24a2;
D03f8:
$nodejsSite->setSubdomain($subdomain);
goto B18c2;
f6555:
$siteEntity->setNodejsSettings($nodejsSettingsEntity);
goto c17b1;
Edf15:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto b40f1;
}
goto D101f;
c7ec1:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Dae97;
b94ed:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto ccf01;
E1b25:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto fa4c9;
Ef18c:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto D71d9;
ccf01: F5e2d:
goto Ddc11;
Dc48f:
$siteConstraints = $this->validator->validate($siteEntity);
goto dd027;
F96cd:
$nodejsSiteCreator->createUser();
goto e2507;
ee828:
$siteEntity->setDomainName($domainName);
goto ae2d0;
ae3de:
$certificateEntity->setDefaultCertificate(true);
goto ac57a;
Dae97:
$siteEntity = $this->siteEntityManager->createEntity();
goto a76f0;
Aec13:
$certificateEntity->setCsr($csr);
goto d21c5;
aaf5c:
$nodejsSite->setUser($siteEntity->getUser());
goto e15cf;
Be2d7:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto E496b;
fd3ff:
$constraintViolationList->addAll($nodejsSettingsConstraints);
goto fce39;
Df59a:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto B4aff;
b76e7: b40f1:
goto Abb77;
F0755:
$nodejsSiteCreator->createPrivateKeyAndCertificate();
goto c57a2;
b2680:
$nodejsSiteCreator = new NodejsSiteCreator($nodejsSite);
goto F96cd;
ae2d0:
$siteEntity->setUser($siteUser);
goto F7cff;
e708e:
$nodejsSite = new NodejsSite();
goto aaf5c;
Ea664:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::NODEJS_VHOST_TEMPLATE_NAME);
goto c7ec1;
Ab47e:
throw new \Exception(implode("; ", $errorMessages));
goto e952c;
de6b5:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto dd239;
c5742:
$siteEntity->setRootDirectory($domainName);
goto Edf15;
Ead3d:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto A0965;
e2507:
$nodejsSiteCreator->createRootDirectory();
goto E1fe6;
D3614:
$constraintViolationList->addAll($siteConstraints);
goto fd3ff;
E1fe6:
$nodejsSiteCreator->createLogrotateFile();
goto ccd3f;
d21c5:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Db8ba;
fa4c9: f64fc:
goto b76e7;
F439b:
$nodejsSiteCreator->reloadNginxService();
goto c3c36;
D101f:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto C8876;
D4857:
$nodejsSettingsEntity->setPort($port);
goto abe45;
c2c8d:
$rsaKeyGenerator = new RsaKeyGenerator();
goto f329c;
e15cf:
$nodejsSite->setUserPassword($siteEntity->getUserPassword());
goto E9839;
efb9f:
$vhostTemplate->resetProcessors();
goto Ef18c;
Fa037:
$nodejsSettingsEntity = new NodejsSettingsEntity();
goto f6555;
dd1cc:
return $siteEntity;
goto f0648;
dd239:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Be2d7;
f405d:
$certificateEntity->setSite($siteEntity);
goto c2c8d;
febf1:
$nodejsSite->setNodejsSettings($nodejsSettingsEntity);
goto d6217;
B18c2:
$nodejsSite->setRootDirectory($siteEntity->getRootDirectory());
goto E9bb4;
e49f8:
$nodejsSiteCreator->installNodejs();
goto F0755;
c3c36:
$nodejsSiteCreator->resetPermissions();
goto E734b;
d6217:
$nodejsSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto b2680;
E4aa1:
$vhostTemplate->build();
goto E1c5a;
D6fae:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto ae3de;
ddc86:
if (!(false === empty($redirectionVhostTemplate))) {
goto f64fc;
}
goto E1b25;
e952c: ac9d4:
goto d39e4;
Abb77:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Fa037;
C8876:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto ddc86;
ac57a:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto Aec13;
c17b1:
$nodejsSettingsEntity->setNodejsVersion($nodejsVersion);
goto D4857;
F7cff:
$siteEntity->setUserPassword($siteUserPassword);
goto c5742;
Dab70:
$constraintViolationList = new ConstraintViolationList();
goto D3614;
C47b2:
if (!(true === is_null($subdomain))) {
goto F5e2d;
}
goto b94ed;
E734b:
$vhostTemplate = new StaticVhostTemplate($nodejsSite);
goto C46d5;
dd027:
$nodejsSettingsConstraints = $this->validator->validate($nodejsSettingsEntity);
goto C87a0;
Fabc8:
$siteEntity->setCertificate($certificateEntity);
goto e708e;
C46d5:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto efb9f;
f0648:
}
private function createPythonSite(string $domainName, string $pythonVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto E52c3;
c2a6a:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto b0925;
ea85a:
return $siteEntity;
goto b6871;
a692e:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto a02b0;
E0f6d:
$pythonSiteCreator->createUser();
goto c9fdc;
eff08:
$constraintViolationList->addAll($pythonSettingsConstraints);
goto Be4fb;
eaddb:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto fb9ff;
Cf8cc: a57f9:
goto F5039;
F305b:
if (!(false === empty($redirectionVhostTemplate))) {
goto Db08c;
}
goto D35ba;
d64fd:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto db96f;
A96b4:
$subjectAlternativeNames = [];
goto b8cbe;
Bbd42:
$pythonSiteCreator->createNginxVhost();
goto fb7af;
Cc760:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::PYTHON_VHOST_TEMPLATE_NAME);
goto Ee4f8;
Dfa21:
$siteEntity->setUserPassword($siteUserPassword);
goto B5a5d;
Dc4e1:
$siteEntity = $this->siteEntityManager->createEntity();
goto a65d7;
b8cbe:
if (!(true === is_null($subdomain))) {
goto E8b27;
}
goto cfde6;
f89e1: Db08c:
goto aceb9;
Ff60d:
$pythonSite->setPythonSettings($pythonSettingsEntity);
goto A9b30;
dfed3:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto d6f65;
D2e93:
$pythonSite->setSubdomain($subdomain);
goto A7494;
aceb9: d4648:
goto d7665;
Ab567:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto b1e5d;
acb1e:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c36e1;
b0925:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto F305b;
D2e86:
$pythonSettingsConstraints = $this->validator->validate($pythonSettingsEntity);
goto Bf5d4;
B5a5d:
$siteEntity->setRootDirectory($domainName);
goto D987c;
a65d7:
$siteEntity->setType(SiteEntity::TYPE_PYTHON);
goto a79fc;
cfde6:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto ee291;
e8971:
$pythonSiteCreator = new PythonSiteCreator($pythonSite);
goto E0f6d;
D790b:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto b7770;
f2f53:
$pythonSiteCreator->resetPermissions();
goto Ea352;
a79fc:
$siteEntity->setDomainName($domainName);
goto A22c5;
fb7af:
$pythonSiteCreator->reloadNginxService();
goto f2f53;
F5039:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto a692e;
ebb9d:
$pythonSite->setUser($siteEntity->getUser());
goto F6e1d;
Aa963:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Eb180;
c9fdc:
$pythonSiteCreator->createRootDirectory();
goto cd0d4;
c0b90:
$pythonSite->setRegistrableDomain($registrableDomain);
goto D2e93;
f2185:
$siteEntity->setPythonSettings($pythonSettingsEntity);
goto C042f;
f2b36:
$subjectAlternativeNames[] = $registrableDomain;
goto Cf8cc;
d2566:
$pythonSiteCreator->createPrivateKeyAndCertificate();
goto Bbd42;
A7494:
$pythonSite->setRootDirectory($siteEntity->getRootDirectory());
goto B3c7a;
d5071:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto acb1e;
cd0d4:
$pythonSiteCreator->createLogrotateFile();
goto e1143;
d6f65:
$certificateEntity->setSite($siteEntity);
goto A4cdf;
b7770:
$this->siteEntityManager->updateEntity($siteEntity);
goto a4332;
Febca:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Cc760;
fb9ff:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto Aa963;
ed7df:
$siteConstraints = $this->validator->validate($siteEntity);
goto D2e86;
e1143:
$pythonSiteCreator->writePythonVersionFile();
goto d2566;
A22c5:
$siteEntity->setUser($siteUser);
goto Dfa21;
F6e1d:
$pythonSite->setUserPassword($siteEntity->getUserPassword());
goto a022f;
D987c:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto d4648;
}
goto c2a6a;
Ee4f8:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Dc4e1;
Be4fb:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto ec565;
aac27:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto Fa41e;
a1502:
$constraintViolationList = new ConstraintViolationList();
goto d3047;
d7665:
$siteEntity->setVhostTemplate($vhostTemplate);
goto E3030;
Cf6cf:
$pythonSettingsEntity->setSite($siteEntity);
goto ed7df;
d3047:
$constraintViolationList->addAll($siteConstraints);
goto eff08;
D0f92:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto cc765;
D3e48:
$pythonSite = new PythonSite();
goto ebb9d;
a022f:
$pythonSite->setDomainName($domainName);
goto c0b90;
ee291: E8b27:
goto f4524;
E52c3:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Ab567;
Ea352:
$vhostTemplate = new PythonVhostTemplate($pythonSite);
goto d64fd;
Cf10a: bea50:
goto dfed3;
e1b52:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto A96b4;
db96f:
$vhostTemplate->resetProcessors();
goto eaddb;
Eb180:
$vhostTemplate->build();
goto D790b;
E3030:
$pythonSettingsEntity = new PythonSettingsEntity();
goto f2185;
B3c7a:
$pythonSite->setCertificate($certificateEntity);
goto Ff60d;
Fa41e:
$certificateEntity->setDefaultCertificate(true);
goto D0f92;
b1e5d:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Febca;
f4524:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto a57f9;
}
goto f2b36;
A4cdf:
$rsaKeyGenerator = new RsaKeyGenerator();
goto e1b52;
cc765:
$certificateEntity->setCsr($csr);
goto d5071;
Bf5d4:
if (!(count($siteConstraints) || count($pythonSettingsConstraints))) {
goto bea50;
}
goto a1502;
c1eed:
$pythonSettingsEntity->setPort($port);
goto Cf6cf;
c36e1:
$siteEntity->setCertificate($certificateEntity);
goto D3e48;
A9b30:
$pythonSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto e8971;
a4332:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto ea85a;
ec565:
throw new \Exception(implode("; ", $errorMessages));
goto Cf10a;
C042f:
$pythonSettingsEntity->setPythonVersion($pythonVersion);
goto c1eed;
D35ba:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto f89e1;
a02b0:
$csr = $csrGenerator->generate();
goto aac27;
b6871:
}
private function createStaticSite(string $domainName, string $siteUser, string $siteUserPassword): SiteEntity
{
goto A04cb;
Ab8cc:
$certificateEntity->setDefaultCertificate(true);
goto c6ce7;
E8d39:
$siteEntity->setDomainName($domainName);
goto C9a3e;
C122a:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto Fd126;
f6dae:
$rsaKeyGenerator = new RsaKeyGenerator();
goto C122a;
fada0:
$csr = $csrGenerator->generate();
goto Ec6e2;
Caa5f:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto d24a7;
D9e50:
$staticSiteCreator->createNginxVhost();
goto A5ef7;
Bc982:
$certificateEntity->setSite($siteEntity);
goto f6dae;
B92ef:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto b0157;
c2c75: a5d4a:
goto c6888;
Fd126:
$subjectAlternativeNames = [];
goto C34a7;
ce6c9:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Cc139;
c9ee7:
$siteEntity = $this->siteEntityManager->createEntity();
goto F7e35;
Ba9e6:
$staticSiteCreator->createIndexHtml();
goto D3551;
A5ef7:
$staticSiteCreator->reloadNginxService();
goto D4bfe;
Dc66d:
$vhostTemplate = new StaticVhostTemplate($staticSite);
goto c1d2a;
Bd0b3:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Caa5f;
D4bfe:
$staticSiteCreator->resetPermissions();
goto Dc66d;
c6888:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto Bc982;
Daea4:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto baac4;
ae1d6:
$siteEntity->setVhostTemplate($vhostTemplate);
goto f8338;
d8657:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto ce6c9;
f8338:
$siteConstraints = $this->validator->validate($siteEntity);
goto a2867;
B96fe: a4970:
goto c38ed;
ffa24:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto fef88;
c38ed:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto bdbe2;
}
goto A74ab;
b2e8a:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Bd0b3;
A04cb:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto b2e8a;
b5b65:
$vhostTemplate->resetProcessors();
goto db189;
Af935:
$staticSite->setCertificate($certificateEntity);
goto Dfd4a;
cf26c:
$vhostTemplate->build();
goto d8657;
d24a7:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::STATIC_SITE_VHOST_TEMPLATE_NAME);
goto B9aa9;
a2867:
if (!count($siteConstraints)) {
goto a5d4a;
}
goto Ce91e;
Cb1df: A03d5:
goto ae1d6;
B9aa9:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto c9ee7;
baac4:
throw new \Exception(implode("; ", $errorMessages));
goto c2c75;
C32cb: bdbe2:
goto ffa24;
D3551:
$staticSiteCreator->createPrivateKeyAndCertificate();
goto D9e50;
B1a92:
$staticSiteCreator->createLogrotateFile();
goto Ba9e6;
Cc139:
$this->siteEntityManager->updateEntity($siteEntity);
goto de5fd;
C34a7:
if (!(true === is_null($subdomain))) {
goto a4970;
}
goto A8fb9;
c45bc:
$staticSite->setSubdomain($subdomain);
goto dc14d;
de5fd:
return $siteEntity;
goto c4141;
c6ce7:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto B0e73;
Dfd4a:
$staticSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto d08e4;
c755d:
$staticSite->setDomainName($domainName);
goto E670e;
A74ab:
$subjectAlternativeNames[] = $registrableDomain;
goto C32cb;
fef88:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto fada0;
C9a3e:
$siteEntity->setUser($siteUser);
goto dd577;
A8fb9:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto B96fe;
Ec6e2:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto Ab8cc;
ae9b2:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto fb031;
c1d2a:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto b5b65;
Da5e1:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto A03d5;
}
goto B92ef;
dd577:
$siteEntity->setUserPassword($siteUserPassword);
goto F3e76;
F3e76:
$siteEntity->setRootDirectory($domainName);
goto Da5e1;
E670e:
$staticSite->setRegistrableDomain($registrableDomain);
goto c45bc;
f2ceb:
$staticSiteCreator->createUser();
goto ad61a;
Ec754:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto E9cda;
Be840:
$staticSite->setUser($siteEntity->getUser());
goto fc7a4;
C6f45:
$certificateEntity->setCertificate($selfSignedCertificate);
goto E4fe9;
fc7a4:
$staticSite->setUserPassword($siteEntity->getUserPassword());
goto c755d;
Ce91e:
$constraintViolationList = new ConstraintViolationList();
goto cc6c9;
F7e35:
$siteEntity->setType(SiteEntity::TYPE_STATIC);
goto E8d39;
ad61a:
$staticSiteCreator->createRootDirectory();
goto B1a92;
D85ff:
$staticSite = new StaticSite();
goto Be840;
b0157:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto ac758;
ac758:
if (!(false === empty($redirectionVhostTemplate))) {
goto Fe5d4;
}
goto Ec754;
e5c14:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto C6f45;
dc14d:
$staticSite->setRootDirectory($siteEntity->getRootDirectory());
goto Af935;
d08e4:
$staticSiteCreator = new StaticSiteCreator($staticSite);
goto f2ceb;
fb031:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto cf26c;
cc6c9:
$constraintViolationList->addAll($siteConstraints);
goto Daea4;
E4fe9:
$siteEntity->setCertificate($certificateEntity);
goto D85ff;
B0e73:
$certificateEntity->setCsr($csr);
goto e5c14;
db189:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto ae9b2;
E9cda: Fe5d4:
goto Cb1df;
c4141:
}
private function createReverseProxySite(string $domainName, string $reverseProxyUrl, string $siteUser, string $siteUserPassword): SiteEntity
{
goto dd84d;
edc3b:
$siteConstraints = $this->validator->validate($siteEntity);
goto Ec612;
b5115:
$rsaKeyGenerator = new RsaKeyGenerator();
goto Ba0ac;
B78a6:
$subjectAlternativeNames[] = sprintf("www.%s", $domainName);
goto bed6b;
e40d3:
$certificateEntity->setDefaultCertificate(true);
goto Be828;
F855a:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::REVERSE_PROXY_VHOST_TEMPLATE_NAME);
goto f4bde;
Ca19d:
$siteEntity->setReverseProxyUrl($reverseProxyUrl);
goto F5df7;
dd84d:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto ab5cb;
a81bd:
$siteEntity = $this->siteEntityManager->createEntity();
goto c4b93;
e0fc5:
$reverseProxySite->setSubdomain($subdomain);
goto df6e0;
Caaef:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto e40d3;
eed8b:
$reverseProxySite->setUser($siteEntity->getUser());
goto Bab6b;
bed6b: c1630:
goto bd444;
e317c:
$reversProxySiteCreator->createPrivateKeyAndCertificate();
goto F142c;
A377a:
$reverseProxySite->setReverseProxyUrl($reverseProxyUrl);
goto F055b;
Ec612:
if (!count($siteConstraints)) {
goto c2b00;
}
goto D16aa;
C8909:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto b74f3;
Cbf5a:
$vhostTemplate->build();
goto c79c7;
c8569:
$siteEntity->setUser($siteUser);
goto e3ae9;
D16aa:
$constraintViolationList = new ConstraintViolationList();
goto Cd159;
A0bb8:
$reversProxySiteCreator->resetPermissions();
goto fe8df;
e3ae9:
$siteEntity->setUserPassword($siteUserPassword);
goto b4dc1;
d5560:
$certificateEntity->setSite($siteEntity);
goto b5115;
b74f3:
$certificateEntity->setCertificate($selfSignedCertificate);
goto D885a;
Ce49d:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto d5560;
B33c3:
$reversProxySiteCreator->reloadNginxService();
goto A0bb8;
b7a56:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Dfaeb;
Be828:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto f6073;
b9340:
$vhostTemplate->resetProcessors();
goto ee8bd;
bbe50:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto c16b8;
ca07a: c2b00:
goto Ce49d;
Dfaeb:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F855a;
D55fd:
$reversProxySiteCreator = new ReverseProxySiteCreator($reverseProxySite);
goto A477e;
df6e0:
$reverseProxySite->setRootDirectory($siteEntity->getRootDirectory());
goto ebbd0;
F73a8:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto b9340;
D8387:
$reversProxySiteCreator->createRootDirectory();
goto E7c77;
E7c77:
$reversProxySiteCreator->createLogrotateFile();
goto e317c;
Fbd1f: Fb211:
goto C570a;
d513e:
$siteEntity->setDomainName($domainName);
goto c8569;
Cd159:
$constraintViolationList->addAll($siteConstraints);
goto d3fd6;
c16b8:
$csr = $csrGenerator->generate();
goto Caaef;
F6e6c:
$subjectAlternativeNames = [];
goto C0a03;
Fe924:
$vhostTemplate = sprintf("%s%s", $redirectionVhostTemplate, $vhostTemplate);
goto e691f;
e691f: b650e:
goto cdd7b;
C1ae9:
$subjectAlternativeNames[] = $registrableDomain;
goto Fbd1f;
d88fd:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Cbf5a;
b4dc1:
$siteEntity->setRootDirectory($domainName);
goto Ca19d;
C0a03:
if (!(true === is_null($subdomain))) {
goto c1630;
}
goto B78a6;
a4367:
$this->siteEntityManager->updateEntity($siteEntity);
goto Ab50e;
F142c:
$reversProxySiteCreator->createNginxVhost();
goto B33c3;
A387e:
$reverseProxySite->setDomainName($domainName);
goto Af1fa;
ab5cb:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto b7a56;
ebbd0:
$reverseProxySite->setCertificate($certificateEntity);
goto A377a;
Af1fa:
$reverseProxySite->setRegistrableDomain($registrableDomain);
goto e0fc5;
Ab50e:
return $siteEntity;
goto D46cd;
A477e:
$reversProxySiteCreator->createUser();
goto D8387;
D885a:
$siteEntity->setCertificate($certificateEntity);
goto bad69;
eadd3:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto c2e67;
bd444:
if (!(false === is_null($subdomain) && "www" == $subdomain)) {
goto Fb211;
}
goto C1ae9;
cdd7b: da020:
goto B4883;
c79c7:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto c0d8e;
f6073:
$certificateEntity->setCsr($csr);
goto C8909;
F5df7:
if (!(true === is_null($subdomain) || "www" == $subdomain)) {
goto da020;
}
goto a78ae;
c4b93:
$siteEntity->setType(SiteEntity::TYPE_REVERSE_PROXY);
goto d513e;
f4bde:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto a81bd;
d4348:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto d88fd;
Ba0ac:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto F6e6c;
fe8df:
$vhostTemplate = new ReverseProxyVhostTemplate($reverseProxySite);
goto F73a8;
bad69:
$reverseProxySite = new ReverseProxySite();
goto eed8b;
C570a:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto bbe50;
c2e67:
if (!(false === empty($redirectionVhostTemplate))) {
goto b650e;
}
goto Fe924;
d3fd6:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto F50ee;
ee8bd:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto d4348;
a78ae:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "/../../../resources/nginx/vhost_template/redirect");
goto eadd3;
Bab6b:
$reverseProxySite->setUserPassword($siteEntity->getUserPassword());
goto A387e;
c0d8e:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto a4367;
F50ee:
throw new \Exception(implode("; ", $errorMessages));
goto ca07a;
F055b:
$reverseProxySite->setVhostTemplate($siteEntity->getVhostTemplate());
goto D55fd;
B4883:
$siteEntity->setVhostTemplate($vhostTemplate);
goto edc3b;
D46cd:
}
public function installedWordPressSite(Request $request): Response
{
goto F42db;
f9051:
$siteCredentials = $this->renderSiteCredentials($siteCredentials);
goto b3460;
D3953:
goto ad3e3;
goto Dba5d;
Cd52a:
return $response;
goto de889;
b3460:
$response = $this->render("Frontend/Site/New/wordpress-installed.html.twig", ["siteCredentials" => $siteCredentials]);
goto Cd52a;
E6488:
if (false === empty($siteCredentials)) {
goto c8c2a;
}
goto Ec987;
F42db:
$session = $request->getSession();
goto b312d;
de889: ad3e3:
goto a4e54;
a4e54:
return $response;
goto F5adb;
b312d:
$siteCredentials = $session->get("siteCredentials");
goto E6488;
Dba5d: c8c2a:
goto f9051;
Ec987:
$response = $this->redirect($this->generateUrl("clp_sites"));
goto D3953;
F5adb:
}
private function renderSiteCredentials(array $siteCredentials): string
{
goto b065d;
d2d09:
foreach ($siteCredentials as $section => $sectionData) {
goto E266e;
ad4c7:
$renderedCredentials .= PHP_EOL;
goto C016e;
a2a38:
$renderedCredentials .= "------------------------------------------------------" . PHP_EOL;
goto cb975;
E266e:
$renderedCredentials .= $section . PHP_EOL;
goto a2a38;
C016e: D2493:
goto Da57d;
cb975:
foreach ($sectionData as $key => $value) {
$renderedCredentials .= sprintf("%s: %s", $key, $value) . PHP_EOL;
Ccfbd:
}
goto e3b54;
e3b54: d89a8:
goto ad4c7;
Da57d:
}
goto bc543;
ee9ba:
return $renderedCredentials;
goto C41e9;
b065d:
$renderedCredentials = '';
goto d2d09;
bc543: e2373:
goto ee9ba;
C41e9:
}
private function getVhostTemplateEntity(string $name): mixed
{
goto ad7c3;
B4bcb: a9777:
goto dcbbb;
Ae847:
throw new \Exception($this->translator->trans("Vhost Template %vhostTemplate% does not exist.", ["%vhostTemplate%" => $name]));
goto B4bcb;
dcbbb:
return $vhostTemplateEntity;
goto F1619;
ad7c3:
$vhostTemplateEntity = $this->vhostTemplateEntityManager->findOneByName($name);
goto C2df2;
C2df2:
if (!(true === is_null($vhostTemplateEntity))) {
goto a9777;
}
goto Ae847;
F1619:
}
private function getConstraintViolationListErrorMessages(ConstraintViolationList $constraintViolationList): array
{
goto F62a7;
d7a96: F12e2:
goto C74bc;
Daa28:
foreach ($constraintViolationList as $constraint) {
$errorMessages[] = sprintf("%s: %s", $constraint->getPropertyPath(), $constraint->getMessage());
a20ba:
}
goto d7a96;
F62a7:
$errorMessages = [];
goto Daa28;
C74bc:
return $errorMessages;
goto e53ed;
e53ed:
}
private function generateNameFromDomainName(string $domainName): string
{
goto C13cf;
A8d7f:
$explodedRegistrableDomain = explode(".", $registrableDomain);
goto E2086;
a7dc6:
$name = $explodedRegistrableDomain[0] ?? '';
goto E9c01;
A3b2b: B5969:
goto F28f2;
ec9c5:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto ef072;
ef072:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto A8d7f;
C13cf:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto ec9c5;
E9c01:
if (!(false === empty($subdomain))) {
goto c06b0;
}
goto ae4d8;
F28f2:
return $name;
goto E0b37;
ae4d8:
$explodedSubdomain = explode(".", $subdomain);
goto E071d;
bdf2b:
goto B5969;
goto Fbaf1;
eb626: c06b0:
goto bdf2b;
D3965:
$name = $explodedRegistrableDomain[0] ?? '';
goto A3b2b;
E2086:
if ("www" == $subdomain) {
goto ab605;
}
goto a7dc6;
E071d:
$name = sprintf("%s-%s", $explodedRegistrableDomain[0] ?? '', implode("-", $explodedSubdomain));
goto eb626;
Fbaf1: ab605:
goto D3965;
E0b37:
}
private function getUniqueDatabaseName(string $databaseName): string
{
goto Dfc27;
Dfc27:
$uniqueDatabaseName = $databaseName;
goto B80a2;
C6bf8:
$databaseExists = in_array($uniqueDatabaseName, $databases);
goto Bcac7;
C2889:
if (!(0 < $i)) {
goto F2dd3;
}
goto Fbc74;
a648a:
$uniqueDatabaseName = sprintf("%s-db", $uniqueDatabaseName);
goto d59c0;
a8485:
$i = 0;
goto fe236;
Ac77c:
$databases = $databaseConnection->getDatabases();
goto E6b39;
fe236:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Efead;
C0a8b: Ee6c4:
goto a86d3;
E6b39: Fb483:
goto C2889;
Fbc74:
$uniqueDatabaseName = sprintf("%s-%s", $databaseName, $i);
goto bc9f2;
Bcac7:
$i++;
goto Ba6a8;
bc9f2: F2dd3:
goto C6bf8;
B80a2:
if (!(strlen($uniqueDatabaseName) <= 3)) {
goto B5d44;
}
goto a648a;
a86d3:
return $uniqueDatabaseName;
goto ab23f;
Efead:
$databaseConnection = new DatabaseConnection($activeDatabaseServerEntity);
goto Ac77c;
Ba6a8:
if (true === $databaseExists) {
goto Fb483;
}
goto C0a8b;
d59c0: B5d44:
goto a8485;
ab23f:
}
private function getUniqueDatabaseUserName(string $databaseUserName): string
{
goto fb384;
D5d27:
$databaseUserEntity = $this->databaseUserEntityManager->findOneByUserName($uniqueDatabaseUserName);
goto a29d8;
E359f:
if (!(0 < $i)) {
goto F847a;
}
goto Bb146;
Bb146:
$uniqueDatabaseUserName = sprintf("%s-%s", $databaseUserName, $i);
goto d3052;
F8337:
$i = 0;
goto da62b;
Bdfe2:
if (!(strlen($uniqueDatabaseUserName) <= 3)) {
goto a199a;
}
goto A9903;
a29d8:
$i++;
goto a0dba;
d3052: F847a:
goto D5d27;
a0dba:
if (false === is_null($databaseUserEntity)) {
goto d45d0;
}
goto a13ee;
Ac4ce:
return $uniqueDatabaseUserName;
goto fe627;
da62b: d45d0:
goto E359f;
fb384:
$uniqueDatabaseUserName = $databaseUserName;
goto Bdfe2;
a13ee: F2505:
goto Ac4ce;
A9903:
$uniqueDatabaseUserName = sprintf("%s-db", $uniqueDatabaseUserName);
goto Ec922;
Ec922: a199a:
goto F8337;
fe627:
}
private function hasPermissions(): bool
{
goto a2c4a;
cc0eb:
return false;
goto E5a98;
e5be8:
if (!(UserEntity::ROLE_USER != $user->getRole())) {
goto Ecd24;
}
goto Fb4e7;
bacbe: Ecd24:
goto cc0eb;
Fb4e7:
return true;
goto bacbe;
a2c4a:
$user = $this->getUser();
goto e5be8;
E5a98:
}
}
?>
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 = "\x57\x6f\x72\x64\x50\x72\x65\x73\x73";
private const NODEJS_VHOST_TEMPLATE_NAME = "\x4e\x6f\x64\145\152\x73";
private const STATIC_SITE_VHOST_TEMPLATE_NAME = "\123\x74\x61\x74\x69\x63";
private const PYTHON_VHOST_TEMPLATE_NAME = "\120\x79\164\x68\157\x6e";
private const REVERSE_PROXY_VHOST_TEMPLATE_NAME = "\122\145\166\145\x72\163\145\x50\x72\x6f\x78\171";
private const VARNISH_CACHE_SERVER = "\61\x32\x37\56\x30\x2e\60\x2e\x31\72\x36\x30\70\x31";
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 = ["\x46\123\137\x4d\105\x54\x48\x4f\104" => ["\x76\x61\x6c\165\145" => "\x64\x69\x72\x65\143\164", "\x72\x61\x77" => false], "\x57\120\137\104\x45\102\x55\x47\137\x44\x49\x53\x50\x4c\x41\131" => ["\166\x61\x6c\x75\x65" => "\x66\141\x6c\163\x65", "\x72\141\167" => true], "\x57\120\x5f\x44\105\x42\125\x47\137\x4c\x4f\x47" => ["\x76\141\154\x75\145" => "\x74\x72\x75\145", "\x72\x61\167" => true], "\103\117\116\103\x41\x54\x45\116\101\x54\x45\x5f\123\103\x52\111\120\x54\123" => ["\166\141\x6c\x75\145" => "\146\141\x6c\163\x65", "\162\141\x77" => true], "\x41\125\124\x4f\123\101\x56\105\137\x49\116\124\x45\x52\126\x41\114" => ["\166\141\154\165\x65" => 600, "\x72\141\167" => true], "\x57\120\137\x50\x4f\x53\124\137\x52\105\x56\111\x53\x49\x4f\116\123" => ["\x76\x61\154\165\x65" => 5, "\x72\x61\167" => true], "\x45\x4d\x50\x54\x59\x5f\x54\122\101\123\x48\x5f\104\101\131\123" => ["\x76\141\154\165\145" => 21, "\162\141\x77" => true]];
private array $wordPressMultiSiteConfigValues = ["\127\120\x5f\x41\114\x4c\117\x57\137\x4d\125\x4c\x54\x49\123\111\x54\x45" => ["\x76\141\x6c\x75\x65" => "\x74\162\x75\x65", "\162\x61\x77" => true], "\x4d\x55\x4c\124\x49\123\x49\x54\105" => ["\166\x61\x6c\x75\x65" => "\164\162\x75\145", "\162\x61\x77" => true], "\123\125\102\104\117\x4d\101\111\116\x5f\111\x4e\x53\x54\101\x4c\x4c" => ["\166\141\154\x75\145" => "\x66\141\154\x73\x65", "\162\141\167" => true], "\104\117\x4d\x41\x49\x4e\137\103\125\122\122\x45\x4e\x54\x5f\123\x49\x54\x45" => ["\166\141\154\x75\x65" => '', "\x72\x61\167" => false], "\x50\x41\124\x48\x5f\x43\125\x52\122\105\x4e\x54\137\x53\x49\x54\x45" => ["\166\x61\x6c\x75\x65" => "\x2f", "\x72\141\167" => false], "\123\111\124\105\137\x49\104\137\103\125\x52\122\105\116\x54\x5f\123\111\124\105" => ["\166\x61\x6c\165\x65" => 1, "\x72\141\x77" => true], "\x42\x4c\x4f\107\x5f\x49\x44\x5f\x43\x55\122\122\105\116\x54\137\x53\111\x54\105" => ["\x76\141\154\165\145" => 1, "\162\141\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 Ca1a3;
d10ee:
$this->databaseEntityManager = $databaseEntityManager;
goto A8693;
A8693:
$this->databaseUserEntityManager = $databaseUserEntityManager;
goto fcf8b;
d1396:
$this->domainNameParser = $domainNameParser;
goto F3b91;
A296d:
$this->vhostTemplateEntityManager = $vhostTemplateEntityManager;
goto d1396;
d15d7:
$this->certificateEntityManager = $certificateEntityManager;
goto d10ee;
A33ab:
parent::__construct($translator, $logger);
goto f6074;
fcf8b:
$this->databaseServerEntityManager = $databaseServerEntityManager;
goto A296d;
a464b:
$this->siteEntityManager = $siteEntityManager;
goto d15d7;
Ca1a3:
$this->configManager = $configManager;
goto a464b;
F3b91:
$this->validator = $validator;
goto A33ab;
f6074:
}
public function index(Request $request): Response
{
goto f1b57;
e9930:
if (true === $hasPermissions) {
goto a8c04;
}
goto a6d43;
f85a7:
goto E678c;
goto ace34;
a3415:
$response = $this->render("\x46\162\157\x6e\164\145\156\144\57\123\151\x74\145\57\x4e\145\x77\57\x69\x6e\144\145\170\56\x68\x74\x6d\x6c\x2e\164\x77\151\x67", ["\165\x73\x65\x72" => $user]);
goto E1adf;
ace34: a8c04:
goto ee5e3;
ee5e3:
$user = $this->getUser();
goto a3415;
E1adf: E678c:
goto D1106;
f1b57:
$hasPermissions = $this->hasPermissions();
goto e9930;
a6d43:
$response = $this->redirect($this->generateUrl("\143\x6c\160\137\x73\151\164\145\163"));
goto f85a7;
D1106:
return $response;
goto b2d9d;
b2d9d:
}
public function newPythonSite(Request $request): Response
{
goto C731e;
b92ad:
return $response;
goto De821;
B95a4: F5f79:
goto f7ec1;
e1fa6:
return $response;
goto b1bee;
F041b: Ef02d:
goto Bd411;
C6881:
if (!(true === $form->isSubmitted())) {
goto F5f79;
}
goto E60f9;
f61c0:
goto ce24f;
goto F041b;
c515c:
if (true === $hasPermissions) {
goto Ef02d;
}
goto C670e;
d273b:
if (!(false === is_null($response))) {
goto B818f;
}
goto e1fa6;
E60f9:
$response = $this->handleCreatePythonSiteForm($request, $form);
goto d273b;
cddb0:
$form->handleRequest($request);
goto C6881;
f7ec1: a3a6d:
goto fbb78;
C731e:
$hasPermissions = $this->hasPermissions();
goto c515c;
Bd411:
$user = $this->getUser();
goto f3c57;
f3c57:
$pythonSettings = new PythonSettingsEntity();
goto A4346;
fbb78:
$response = $this->render("\x46\x72\x6f\x6e\x74\145\156\144\x2f\123\151\164\x65\57\116\x65\x77\x2f\160\171\164\150\x6f\156\56\150\x74\155\154\56\x74\x77\151\147", ["\x75\x73\145\x72" => $user, "\146\157\162\155" => $form->createView(), "\x66\157\x72\x6d\x45\162\x72\x6f\162\163" => $this->formErrors]);
goto D0de4;
f0673:
if (!(true === $request->isMethod("\120\117\123\x54"))) {
goto a3a6d;
}
goto cddb0;
A4346:
$form = $this->createPythonSiteForm($pythonSettings);
goto f0673;
b1bee: B818f:
goto B95a4;
C670e:
$response = $this->redirect($this->generateUrl("\143\x6c\x70\x5f\163\151\164\x65\x73"));
goto f61c0;
D0de4: ce24f:
goto b92ad;
De821:
}
private function createPythonSiteForm(PythonSettingsEntity $pythonSettings): Form
{
goto D1e6d;
F96b2:
$form->add("\163\165\142\x6d\151\164", SubmitType::class, ["\141\164\x74\162" => ["\143\154\x61\x73\163" => "\x62\x74\156\40\x62\x74\156\x2d\154\x67\40\142\164\x6e\x2d\x62\x6c\165\145"], "\x6c\141\x62\x65\x6c" => "\x43\162\x65\141\x74\145"]);
goto D2948;
D1e6d:
$form = $this->createForm("\x41\x70\x70\134\x46\x6f\x72\155\134\x53\151\164\145\116\x65\167\x50\x79\164\x68\x6f\156\x54\171\x70\x65", $pythonSettings, ["\141\x63\x74\151\x6f\x6e" => $this->generateUrl("\143\x6c\x70\x5f\163\x69\x74\145\x5f\x70\171\164\x68\157\x6e\x5f\156\145\167"), "\155\x65\164\x68\x6f\144" => "\120\x4f\123\124", "\141\x74\164\162" => ["\x69\144" => "\156\145\167\x2d\x70\x79\x74\x68\157\x6e\55\163\151\164\145\55\146\157\x72\x6d"]]);
goto F96b2;
D2948:
return $form;
goto dafda;
dafda:
}
private function handleCreatePythonSiteForm(Request $request, Form $form)
{
goto fc47d;
F6770: F0c64:
goto ed4db;
fc47d:
if (true === $form->isValid()) {
goto F0c64;
}
goto B5896;
b80d5: E16c8:
goto eec36;
ed4db:
try {
goto b0d3c;
b96b2:
$siteUserPassword = $form->get("\163\151\164\145\125\x73\145\162\x50\x61\163\x73\x77\157\x72\144")->getData();
goto D3989;
C58bf:
return $response;
goto d7680;
b88a6:
$session->getFlashBag()->set("\163\x75\x63\x63\x65\163\163", $this->translator->trans("\x53\x69\164\145\x20\150\x61\x73\x20\x62\x65\x65\156\x20\143\162\x65\141\164\145\x64\x2e"));
goto fb811;
Bb111:
if (false === is_null($vhostTemplateEntity)) {
goto Beff3;
}
goto af1db;
C5fc5:
$siteUser = $form->get("\x73\151\x74\145\125\163\145\162")->getData();
goto b96b2;
ab67a:
$domainName = $form->get("\144\x6f\x6d\141\x69\156\116\x61\x6d\x65")->getData();
goto Ffaf5;
d7680: D418d:
goto faae0;
af1db:
throw new \Exception(sprintf("\x56\150\x6f\163\164\40\x74\145\x6d\160\154\141\164\145\40\42\45\163\42\x20\156\157\x74\40\x66\x6f\x75\x6e\144\56", $vhostTemplateName));
goto ec1a6;
b0d3c:
$session = $request->getSession();
goto ab67a;
F29d5:
$this->createPythonSite($domainName, $pythonVersion, $port, $siteUser, $siteUserPassword);
goto Cd99c;
D3989:
$vhostTemplateName = self::PYTHON_VHOST_TEMPLATE_NAME;
goto cc1ac;
cdc45: Beff3:
goto bab0d;
cc1ac:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto Bb111;
ec1a6:
goto D418d;
goto cdc45;
bab0d:
$user = $this->getUser();
goto F29d5;
d43d7:
EventQueue::addEvent(EventQueue::EVENT_SITE_PYTHON_CREATE, $user, $eventData, $request);
goto b88a6;
Cd99c:
$eventData = ["\163\151\x74\145" => $domainName, "\163\x69\164\x65\125\163\x65\162" => $siteUser, "\160\x79\x74\x68\x6f\x6e\126\145\x72\163\151\157\x6e" => $pythonVersion, "\160\157\x72\164" => $port];
goto d43d7;
Ffaf5:
$pythonVersion = $form->get("\160\171\164\x68\157\x6e\126\145\162\x73\x69\157\x6e")->getData();
goto Efe4b;
fb811:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\137\163\x69\164\145\x73"));
goto C58bf;
Efe4b:
$port = $form->get("\160\157\162\x74")->getData();
goto C5fc5;
faae0:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\144\141\x6e\147\x65\162", $this->translator->trans("\x41\156\40\145\x72\162\x6f\x72\40\150\x61\163\40\x6f\143\x63\x75\x72\162\x65\x64\x2c\40\x65\162\162\x6f\x72\x20\155\x65\163\163\x61\147\145\x3a\x20\x25\145\x72\162\157\162\115\x65\163\163\x61\x67\145\45", ["\x25\x65\x72\162\157\x72\x4d\x65\163\163\141\x67\145\x25" => $e->getMessage()]));
}
goto b80d5;
B5896:
$this->formErrors = $this->getErrorMessages($form);
goto Edf33;
Edf33:
goto E16c8;
goto F6770;
eec36:
}
public function newReverseProxy(Request $request): Response
{
goto ee672;
A033f:
return $response;
goto Fe1a8;
c621e: Af2ce:
goto bbd66;
a5735: Abb74:
goto c621e;
d8f6a:
$response = $this->redirect($this->generateUrl("\143\154\x70\x5f\163\x69\164\145\163"));
goto d2a2d;
bbd66:
$response = $this->render("\106\162\157\x6e\x74\145\x6e\144\57\123\x69\x74\x65\x2f\x4e\x65\x77\57\x72\145\166\145\x72\163\145\x2d\x70\x72\x6f\170\171\56\x68\164\x6d\x6c\x2e\x74\167\x69\147", ["\x75\x73\x65\162" => $user, "\146\x6f\162\155" => $form->createView(), "\146\x6f\x72\155\x45\x72\162\x6f\x72\163" => $this->formErrors]);
goto bd65f;
Fa634:
$response = $this->handleReverseProxyForm($request, $form);
goto B3e0c;
d2a2d:
goto Cd312;
goto a0c78;
D37ab:
if (!(true === $form->isSubmitted())) {
goto Abb74;
}
goto Fa634;
ee672:
$hasPermissions = $this->hasPermissions();
goto fe50e;
B3e0c:
if (!(false === is_null($response))) {
goto B8a1f;
}
goto A033f;
c690d:
if (!(true === $request->isMethod("\x50\x4f\x53\124"))) {
goto Af2ce;
}
goto d7c59;
d7c59:
$form->handleRequest($request);
goto D37ab;
d7e3b:
$form = $this->createReverseProxyForm();
goto c690d;
a7817:
return $response;
goto dc607;
a38d7:
$user = $this->getUser();
goto d7e3b;
bd65f: Cd312:
goto a7817;
Fe1a8: B8a1f:
goto a5735;
a0c78: cc787:
goto a38d7;
fe50e:
if (true === $hasPermissions) {
goto cc787;
}
goto d8f6a;
dc607:
}
private function createReverseProxyForm(): Form
{
goto Da29f;
Db1dd:
return $form;
goto b09f9;
Da29f:
$form = $this->createForm("\101\160\160\x5c\x46\157\x72\x6d\134\x53\x69\x74\145\116\145\x77\122\145\166\145\x72\163\x65\x50\162\x6f\x78\x79\x54\x79\x70\x65", [], ["\x61\x63\x74\x69\x6f\x6e" => $this->generateUrl("\x63\154\160\137\163\x69\164\x65\137\162\x65\x76\x65\x72\163\145\x5f\x70\162\157\170\x79\137\156\145\x77"), "\155\x65\164\150\x6f\144" => "\120\117\123\124", "\141\164\x74\162" => ["\x69\144" => "\x6e\x65\167\55\162\145\x76\x65\162\163\x65\55\160\x72\157\170\x79\x2d\x66\157\x72\x6d"]]);
goto Fba31;
Fba31:
$form->add("\163\165\142\x6d\151\164", SubmitType::class, ["\x61\164\x74\162" => ["\143\x6c\141\x73\163" => "\x62\164\156\x20\x62\164\x6e\55\x6c\x67\x20\x62\x74\x6e\55\142\154\x75\145"], "\x6c\141\142\145\154" => "\103\x72\x65\x61\164\x65"]);
goto Db1dd;
b09f9:
}
private function handleReverseProxyForm(Request $request, Form $form)
{
goto F5e85;
d6f60:
goto Abfd9;
goto d29b6;
d29b6: e8c68:
goto Af1c0;
F5e85:
if (true === $form->isValid()) {
goto e8c68;
}
goto abc52;
abc52:
$this->formErrors = $this->getErrorMessages($form);
goto d6f60;
Ac59a: Abfd9:
goto d84d3;
Af1c0:
try {
goto Df0f9;
E6ebd:
$siteUserPassword = $form->get("\163\151\164\x65\x55\163\145\162\120\x61\163\x73\167\157\x72\144")->getData();
goto af365;
d629b:
goto e7b4c;
goto F7b0f;
Cacdf:
$response = $this->redirect($this->generateUrl("\143\154\160\137\163\151\164\145\163"));
goto Aec2d;
c1973:
if (false === is_null($vhostTemplateEntity)) {
goto B9a51;
}
goto D9128;
F7b0f: B9a51:
goto dab24;
Aec2d:
return $response;
goto e1ee9;
e1ee9: e7b4c:
goto C1605;
Df0f9:
$session = $request->getSession();
goto Ea5f3;
e6acf:
$vhostTemplateName = self::REVERSE_PROXY_VHOST_TEMPLATE_NAME;
goto bf2a7;
Ea5f3:
$domainName = $form->get("\x64\157\155\x61\x69\x6e\116\141\x6d\x65")->getData();
goto fae55;
b6147:
$eventData = ["\x73\151\x74\145" => $domainName, "\163\x69\x74\145\125\x73\x65\x72" => $siteUser, "\162\x65\x76\x65\162\163\x65\120\x72\x6f\x78\x79\x55\162\154" => $reverseProxyUrl];
goto B40d0;
Ce467:
$this->createReverseProxySite($domainName, $reverseProxyUrl, $siteUser, $siteUserPassword);
goto b6147;
bf2a7:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto c1973;
D9128:
throw new \Exception(sprintf("\x56\x68\x6f\163\164\x20\x74\145\x6d\160\x6c\x61\164\145\x20\42\x25\163\x22\x20\x6e\x6f\164\x20\x66\x6f\165\x6e\144\56", $vhostTemplateName));
goto d629b;
dab24:
$user = $this->getUser();
goto Ce467;
af365:
$reverseProxyUrl = $form->get("\x72\x65\x76\x65\x72\163\x65\120\x72\x6f\170\171\x55\x72\x6c")->getData();
goto e6acf;
B40d0:
EventQueue::addEvent(EventQueue::EVENT_SITE_REVERSE_PROXY_CREATE, $user, $eventData, $request);
goto ed19f;
ed19f:
$session->getFlashBag()->set("\163\165\x63\143\145\x73\163", $this->translator->trans("\122\x65\x76\x65\162\x73\x65\40\120\162\157\170\171\40\150\x61\x73\x20\x62\x65\x65\x6e\40\x63\162\x65\141\164\145\144\56"));
goto Cacdf;
fae55:
$siteUser = $form->get("\163\151\x74\145\x55\163\x65\162")->getData();
goto E6ebd;
C1605:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\x61\x6e\147\x65\162", $this->translator->trans("\x41\156\40\x65\x72\x72\157\x72\x20\x68\x61\x73\40\157\143\x63\x75\162\162\x65\x64\x2c\x20\x65\x72\162\x6f\162\40\155\x65\x73\163\x61\x67\x65\x3a\x20\x25\x65\162\162\157\162\115\x65\163\x73\141\x67\x65\x25", ["\x25\x65\162\x72\157\x72\115\145\163\x73\x61\x67\x65\x25" => $e->getMessage()]));
}
goto Ac59a;
d84d3:
}
public function newNodejsSite(Request $request): Response
{
goto Aea0e;
b5054:
goto B95b1;
goto Ecf29;
E5e47: da479:
goto E9d21;
E2e53:
$nodejsSettings = new NodejsSettingsEntity();
goto e42ea;
E9d21: Be8c8:
goto Eacbc;
f2932:
return $response;
goto cb3f7;
Ecf29: cb37a:
goto Ca634;
cb3f7: cd935:
goto E5e47;
Eacbc:
$response = $this->render("\x46\x72\x6f\156\x74\x65\156\x64\57\123\151\x74\x65\x2f\x4e\145\x77\57\x6e\x6f\x64\x65\152\163\56\150\164\155\x6c\56\164\167\x69\147", ["\x75\x73\145\x72" => $user, "\146\157\x72\x6d" => $form->createView(), "\146\157\162\155\x45\x72\162\x6f\x72\163" => $this->formErrors]);
goto b0fbf;
E3669:
if (!(true === $request->isMethod("\x50\x4f\x53\124"))) {
goto Be8c8;
}
goto F9534;
dff48:
$response = $this->handleCreateNodejsSiteForm($request, $form);
goto ac8db;
Ca634:
$user = $this->getUser();
goto E2e53;
F9534:
$form->handleRequest($request);
goto ab39e;
ab39e:
if (!(true === $form->isSubmitted())) {
goto da479;
}
goto dff48;
e42ea:
$form = $this->createNodejsSiteForm($nodejsSettings);
goto E3669;
ac8db:
if (!(false === is_null($response))) {
goto cd935;
}
goto f2932;
D3f25:
$response = $this->redirect($this->generateUrl("\x63\x6c\160\x5f\x73\x69\164\145\163"));
goto b5054;
b0fbf: B95b1:
goto Ec439;
Aea0e:
$hasPermissions = $this->hasPermissions();
goto De3da;
Ec439:
return $response;
goto F43e8;
De3da:
if (true === $hasPermissions) {
goto cb37a;
}
goto D3f25;
F43e8:
}
private function createNodejsSiteForm(NodejsSettingsEntity $nodejsSettings): Form
{
goto D74b0;
D74b0:
$form = $this->createForm("\x41\160\x70\134\x46\x6f\x72\155\x5c\x53\x69\164\x65\116\145\x77\116\x6f\144\x65\152\163\x54\x79\160\x65", $nodejsSettings, ["\141\143\164\151\x6f\x6e" => $this->generateUrl("\x63\x6c\160\137\x73\151\164\145\x5f\156\157\x64\145\152\163\137\x6e\x65\167"), "\x6d\x65\164\x68\x6f\144" => "\x50\117\123\124", "\141\x74\164\x72" => ["\151\x64" => "\156\145\x77\x2d\156\157\x64\145\x6a\163\x2d\x73\x69\164\x65\55\146\x6f\x72\x6d"]]);
goto B87be;
B87be:
$form->add("\163\x75\142\x6d\151\x74", SubmitType::class, ["\x61\164\164\162" => ["\143\154\141\x73\x73" => "\x62\164\156\x20\x62\164\156\x2d\x6c\147\40\x62\164\x6e\55\x62\154\x75\145"], "\x6c\141\x62\145\154" => "\103\162\x65\x61\164\145"]);
goto Cc11c;
Cc11c:
return $form;
goto ebb14;
ebb14:
}
private function handleCreateNodejsSiteForm(Request $request, Form $form)
{
goto f3bb3;
cf7eb:
$this->formErrors = $this->getErrorMessages($form);
goto de5f4;
f3bb3:
if (true === $form->isValid()) {
goto f5ab7;
}
goto cf7eb;
de5f4:
goto D586c;
goto ebf92;
cf5fa:
try {
goto F5158;
F5158:
$session = $request->getSession();
goto f51f5;
Dddec:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto C6786;
A0201:
throw new \Exception(sprintf("\126\x68\x6f\x73\164\x20\x74\x65\155\160\x6c\141\x74\x65\40\42\x25\x73\42\40\156\157\x74\x20\x66\x6f\x75\x6e\144\x2e", $vhostTemplateName));
goto c2e0b;
ab542:
$eventData = ["\x73\x69\x74\145" => $domainName, "\x73\x69\164\x65\125\163\145\x72" => $siteUser, "\156\157\144\145\x6a\163\x56\x65\x72\x73\x69\x6f\156" => $nodejsVersion, "\160\x6f\x72\x74" => $port];
goto Aed2a;
d586f:
$nodejsVersion = $form->get("\156\x6f\x64\x65\152\x73\126\145\x72\163\x69\x6f\x6e")->getData();
goto d1bc3;
d36e5:
return $response;
goto e01fb;
ed173:
$response = $this->redirect($this->generateUrl("\143\x6c\160\137\163\x69\x74\145\163"));
goto d36e5;
d9a38:
$vhostTemplateName = self::NODEJS_VHOST_TEMPLATE_NAME;
goto Dddec;
Aed2a:
EventQueue::addEvent(EventQueue::EVENT_SITE_NODEJS_CREATE, $user, $eventData, $request);
goto Ae00a;
D8341:
$this->createNodejsSite($domainName, $nodejsVersion, $port, $siteUser, $siteUserPassword);
goto ab542;
e01fb: C85ce:
goto F12fa;
f51f5:
$domainName = $form->get("\144\x6f\155\141\x69\x6e\x4e\141\x6d\145")->getData();
goto d586f;
D56a1:
$siteUser = $form->get("\x73\x69\164\x65\125\x73\145\162")->getData();
goto D3479;
Fec76: Dfd09:
goto C9644;
d1bc3:
$port = $form->get("\160\x6f\x72\164")->getData();
goto D56a1;
Ae00a:
$session->getFlashBag()->set("\163\165\143\x63\x65\163\x73", $this->translator->trans("\123\151\x74\x65\x20\150\141\x73\40\x62\x65\x65\156\40\x63\x72\x65\x61\164\x65\x64\x2e"));
goto ed173;
C6786:
if (false === is_null($vhostTemplateEntity)) {
goto Dfd09;
}
goto A0201;
C9644:
$user = $this->getUser();
goto D8341;
c2e0b:
goto C85ce;
goto Fec76;
D3479:
$siteUserPassword = $form->get("\x73\151\x74\x65\125\163\x65\x72\120\x61\x73\163\167\157\x72\144")->getData();
goto d9a38;
F12fa:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\x61\156\147\x65\x72", $this->translator->trans("\x41\156\40\145\x72\162\x6f\x72\40\x68\141\163\x20\x6f\x63\143\x75\162\162\145\x64\54\40\x65\x72\x72\157\162\40\155\145\x73\x73\141\x67\145\x3a\40\45\145\162\x72\157\162\x4d\x65\x73\x73\141\147\x65\x25", ["\x25\x65\x72\x72\x6f\162\115\x65\x73\163\141\147\x65\x25" => $e->getMessage()]));
}
goto D11cf;
D11cf: D586c:
goto c14ff;
ebf92: f5ab7:
goto cf5fa;
c14ff:
}
public function newStaticSite(Request $request): Response
{
goto eff49;
Fdefd:
goto d4881;
goto a73e9;
ced81:
$form = $this->createStaticSiteForm();
goto E6a8d;
a73e9: Bb852:
goto a6219;
e31d1: b4de7:
goto A50a8;
B8f98:
$response = $this->redirect($this->generateUrl("\x63\154\x70\x5f\163\x69\x74\x65\163"));
goto Fdefd;
C8dbe: d4881:
goto Dc5b3;
F57a3:
if (true === $hasPermissions) {
goto Bb852;
}
goto B8f98;
a6219:
$user = $this->getUser();
goto ced81;
Bdf06:
$response = $this->handleCreateStaticSiteForm($request, $form);
goto bb2f9;
Dc5b3:
return $response;
goto Ae412;
C6005: db4e2:
goto E1e6a;
eff49:
$hasPermissions = $this->hasPermissions();
goto F57a3;
E6e47:
if (!(true === $form->isSubmitted())) {
goto bad0e;
}
goto Bdf06;
E1e6a: bad0e:
goto e31d1;
Fae54:
return $response;
goto C6005;
A50a8:
$response = $this->render("\106\162\157\156\x74\145\156\144\57\123\x69\164\x65\x2f\x4e\145\167\x2f\x73\164\x61\164\151\143\56\150\164\155\x6c\x2e\164\167\151\x67", ["\x75\x73\145\162" => $user, "\146\157\162\x6d" => $form->createView(), "\x66\157\162\155\x45\162\x72\x6f\162\163" => $this->formErrors]);
goto C8dbe;
fe729:
$form->handleRequest($request);
goto E6e47;
E6a8d:
if (!(true === $request->isMethod("\x50\117\x53\x54"))) {
goto b4de7;
}
goto fe729;
bb2f9:
if (!(false === is_null($response))) {
goto db4e2;
}
goto Fae54;
Ae412:
}
private function createStaticSiteForm(): Form
{
goto a1669;
a0228:
return $form;
goto fb3e1;
a1669:
$form = $this->createForm("\x41\x70\x70\x5c\106\x6f\162\155\134\x53\x69\164\145\x4e\x65\167\x53\x74\141\x74\151\x63\124\x79\160\145", [], ["\141\x63\164\x69\x6f\x6e" => $this->generateUrl("\x63\x6c\x70\x5f\x73\151\x74\145\x5f\x73\164\141\x74\151\x63\137\x6e\x65\167"), "\155\x65\164\150\157\x64" => "\120\x4f\x53\124", "\141\164\x74\162" => []]);
goto A676d;
A676d:
$form->add("\x73\x75\142\x6d\151\164", SubmitType::class, ["\141\164\x74\162" => ["\143\x6c\141\163\x73" => "\x62\x74\156\40\142\x74\156\55\x6c\x67\x20\142\164\x6e\55\142\154\x75\x65"], "\154\x61\x62\145\154" => "\103\162\145\141\x74\145"]);
goto a0228;
fb3e1:
}
private function handleCreateStaticSiteForm(Request $request, Form $form)
{
goto Ae244;
Cefad:
try {
goto F735a;
B77af:
$domainName = $form->get("\144\157\155\141\x69\156\x4e\141\155\x65")->getData();
goto E3f51;
ecbf3:
goto Fdeda;
goto d97d7;
F3106:
throw new \Exception(sprintf("\x56\150\157\x73\164\40\164\145\x6d\160\154\x61\164\145\x20\x22\45\163\42\40\156\157\x74\x20\x66\x6f\x75\x6e\144\x2e", $vhostTemplateName));
goto ecbf3;
f76e0:
if (false === is_null($vhostTemplateEntity)) {
goto Ab529;
}
goto F3106;
B9469:
$siteUserPassword = $form->get("\x73\151\x74\145\x55\x73\x65\162\x50\141\x73\x73\x77\157\162\144")->getData();
goto f0947;
Cf047:
$eventData = ["\163\x69\164\145" => $domainName, "\x73\x69\164\145\125\x73\x65\x72" => $siteUser];
goto Db367;
df028:
$session->getFlashBag()->set("\163\165\143\143\x65\163\163", $this->translator->trans("\123\x69\164\x65\40\150\x61\163\x20\x62\145\145\156\40\143\162\145\x61\x74\x65\x64\56"));
goto Fb392;
f0947:
$vhostTemplateName = self::STATIC_SITE_VHOST_TEMPLATE_NAME;
goto Cd912;
F735a:
$session = $request->getSession();
goto B77af;
b56c2:
$user = $this->getUser();
goto A8e04;
E3f51:
$siteUser = $form->get("\163\x69\x74\x65\125\x73\145\162")->getData();
goto B9469;
Fb392:
$response = $this->redirect($this->generateUrl("\143\154\x70\137\163\x69\x74\145\x73"));
goto ba132;
Cd912:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto f76e0;
ba132:
return $response;
goto Bcd6f;
d97d7: Ab529:
goto b56c2;
A8e04:
$this->createStaticSite($domainName, $siteUser, $siteUserPassword);
goto Cf047;
Bcd6f: Fdeda:
goto C1cd6;
Db367:
EventQueue::addEvent(EventQueue::EVENT_SITE_STATIC_CREATE, $user, $eventData, $request);
goto df028;
C1cd6:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\141\156\x67\145\x72", $this->translator->trans("\101\x6e\40\145\162\162\x6f\162\x20\x68\x61\163\40\x6f\x63\143\165\x72\162\145\x64\x2c\40\x65\162\162\x6f\x72\x20\x6d\145\x73\x73\141\147\145\x3a\x20\45\145\162\162\157\162\115\145\x73\x73\141\x67\x65\x25", ["\45\145\x72\x72\x6f\162\x4d\x65\163\x73\141\147\145\45" => $e->getMessage()]));
}
goto d84f1;
c261e:
goto B3ca4;
goto B6b33;
Ae244:
if (true === $form->isValid()) {
goto D53a2;
}
goto Ced43;
B6b33: D53a2:
goto Cefad;
Ced43:
$this->formErrors = $this->getErrorMessages($form);
goto c261e;
d84f1: B3ca4:
goto E361e;
E361e:
}
public function newPhpSite(Request $request): Response
{
goto Bca48;
d48d1:
return $response;
goto E21ae;
e9ed8: d761c:
goto eb7e4;
e836e:
if (true === $hasPermissions) {
goto E4dfb;
}
goto E43de;
F7cb1:
$form->handleRequest($request);
goto a0b8c;
E968f:
return $response;
goto e9ed8;
a1e90:
$response = $this->handleCreatePhpSiteForm($request, $form);
goto d0d2d;
Abf28:
goto fb435;
goto C7fdd;
eb7e4: a23f9:
goto Ef3e7;
Ef3e7: D5676:
goto D65f9;
Bca48:
$hasPermissions = $this->hasPermissions();
goto e836e;
d8e77:
$user = $this->getUser();
goto Af0dd;
d0d2d:
if (!(false === is_null($response))) {
goto d761c;
}
goto E968f;
A3786: fb435:
goto d48d1;
E43de:
$response = $this->redirect($this->generateUrl("\x63\154\160\x5f\x73\x69\x74\145\163"));
goto Abf28;
a0b8c:
if (!(true === $form->isSubmitted())) {
goto a23f9;
}
goto a1e90;
B62b8:
if (!(true === $request->isMethod("\120\117\x53\124"))) {
goto D5676;
}
goto F7cb1;
C7fdd: E4dfb:
goto d8e77;
Af0dd:
$form = $this->createPhpSiteForm();
goto B62b8;
D65f9:
$response = $this->render("\106\x72\157\156\x74\145\156\x64\x2f\123\151\164\x65\x2f\116\x65\167\x2f\160\x68\x70\x2e\150\x74\155\x6c\56\164\167\x69\147", ["\x75\x73\145\162" => $user, "\x66\157\162\155" => $form->createView(), "\x66\157\162\x6d\x45\x72\x72\x6f\162\163" => $this->formErrors]);
goto A3786;
E21ae:
}
private function createPhpSiteForm(): Form
{
goto A9343;
cd3df:
return $form;
goto bf013;
A9343:
$form = $this->createForm("\101\x70\160\x5c\x46\157\x72\155\134\x53\x69\164\x65\x4e\x65\167\x50\x68\x70\x54\x79\x70\145", [], ["\141\143\164\151\x6f\156" => $this->generateUrl("\143\x6c\x70\x5f\x73\x69\164\x65\x5f\160\150\x70\x5f\x6e\145\167"), "\x6d\x65\x74\x68\157\x64" => "\x50\117\x53\x54", "\x61\x74\x74\x72" => []]);
goto C9575;
C9575:
$form->add("\163\165\x62\x6d\151\x74", SubmitType::class, ["\x61\164\x74\x72" => ["\x63\154\141\163\x73" => "\142\164\x6e\40\142\164\x6e\x2d\x6c\x67\x20\x62\x74\x6e\x2d\x62\154\x75\145"], "\154\141\x62\145\x6c" => "\103\162\x65\141\164\145"]);
goto cd3df;
bf013:
}
private function handleCreatePhpSiteForm(Request $request, Form $form)
{
goto bcb31;
A2be1:
try {
goto ac26c;
fdb26:
return $response;
goto ebccc;
E3ab2:
$rootDirectory = $domainName;
goto Dc70f;
c7ea8:
$siteUserPassword = $form->get("\163\x69\x74\145\125\163\x65\x72\x50\x61\x73\x73\x77\x6f\x72\144")->getData();
goto b64fe;
bcaf2: Da250:
goto Cb514;
Cb514:
$this->createPhpSite($domainName, $rootDirectory, $phpVersion, $vhostTemplateName, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto Ab967;
ac289:
$siteUser = $form->get("\x73\151\x74\x65\x55\163\145\x72")->getData();
goto c7ea8;
B2dc6: a8937:
goto Ebad0;
b64fe:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto C1e9f;
ef660:
$rootDirectory = sprintf("\45\163\x2f\x25\163", $rootDirectory, ltrim(rtrim($vhostTemplateEntity->getRootDirectory(), "\x2f"), "\x2f"));
goto B2dc6;
Ebad0:
$varnishCacheSettings = [];
goto d9d35;
B2c9f:
$session->getFlashBag()->set("\x73\165\143\x63\145\163\x73", $this->translator->trans("\x53\151\164\x65\x20\x68\141\163\x20\142\145\x65\156\40\143\x72\x65\141\164\x65\x64\x2e"));
goto A7374;
F1ebb:
$user = $this->getUser();
goto E3ab2;
A7374:
$response = $this->redirect($this->generateUrl("\143\x6c\160\137\163\151\164\145\163"));
goto fdb26;
C1e9f:
if (false === is_null($vhostTemplateEntity)) {
goto d13c9;
}
goto Aa604;
f9016:
$varnishCacheSettings = (array)json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto bcaf2;
Aa604:
throw new \Exception(sprintf("\126\150\157\x73\164\x20\164\145\155\160\x6c\141\x74\x65\40\x22\45\x73\42\x20\x6e\157\x74\x20\x66\157\x75\156\144\56", $vhostTemplateName));
goto d573b;
D68f1: d13c9:
goto F1ebb;
Bdff0:
$domainName = $form->get("\x64\x6f\155\x61\151\156\x4e\141\x6d\x65")->getData();
goto e4f60;
Dc70f:
if (!(false === empty($vhostTemplateEntity->getRootDirectory()))) {
goto a8937;
}
goto ef660;
d573b:
goto ab3a8;
goto D68f1;
d9d35:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto Da250;
}
goto f9016;
ebccc: ab3a8:
goto ee2bd;
ac26c:
$session = $request->getSession();
goto Dbe0a;
Dbe0a:
$vhostTemplateName = $form->get("\141\160\160\154\x69\x63\x61\x74\151\157\156")->getData();
goto Bdff0;
Ab967:
$eventData = ["\163\151\164\x65" => $domainName, "\x76\150\157\163\164\124\x65\x6d\160\154\x61\x74\x65\x4e\141\x6d\145" => $vhostTemplateName, "\160\x68\160\126\x65\x72\x73\151\157\156" => $phpVersion, "\163\151\164\145\x55\x73\145\162" => $siteUser];
goto Af7b0;
e4f60:
$phpVersion = $form->get("\160\150\160\126\145\x72\163\x69\157\x6e")->getData();
goto ac289;
Af7b0:
EventQueue::addEvent(EventQueue::EVENT_SITE_PHP_CREATE, $user, $eventData, $request);
goto B2c9f;
ee2bd:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\144\141\x6e\147\145\x72", $this->translator->trans("\x41\x6e\40\145\162\x72\x6f\162\x20\150\x61\163\x20\x6f\x63\x63\165\162\x72\145\144\x2c\x20\145\x72\162\157\162\x20\155\x65\x73\163\x61\x67\x65\72\x20\45\145\x72\x72\157\162\115\x65\163\163\141\x67\x65\x25", ["\x25\x65\162\x72\157\162\x4d\x65\x73\x73\x61\x67\145\x25" => $e->getMessage()]));
}
goto C22ed;
f6e4a:
goto eb530;
goto d14e2;
bcb31:
if (true === $form->isValid()) {
goto F6f32;
}
goto f03cd;
f03cd:
$this->formErrors = $this->getErrorMessages($form);
goto f6e4a;
d14e2: F6f32:
goto A2be1;
C22ed: eb530:
goto bcea3;
bcea3:
}
public function newWordPressSite(Request $request): Response
{
goto F6d99;
c3fa4: F9e15:
goto D1749;
e7d81:
return $response;
goto Bbb8a;
C58c0:
if (!(false === is_null($response))) {
goto F9e15;
}
goto fc985;
F6d99:
$hasPermissions = $this->hasPermissions();
goto A188e;
c5aaf:
$user = $this->getUser();
goto a6314;
F6006: Badf5:
goto c5aaf;
C3f6d:
goto D1d40;
goto F6006;
aad10: D1d40:
goto e7d81;
f269f:
$form->handleRequest($request);
goto F74dc;
F74dc:
if (!(true === $form->isSubmitted())) {
goto Fd177;
}
goto F5d25;
D1749: Fd177:
goto cdeb3;
C4f05:
if (!(true === $request->isMethod("\120\117\123\x54"))) {
goto Abfea;
}
goto f269f;
A188e:
if (true === $hasPermissions) {
goto Badf5;
}
goto b94c2;
cdeb3: Abfea:
goto d382c;
d382c:
$response = $this->render("\106\x72\x6f\x6e\164\145\x6e\x64\x2f\x53\x69\x74\145\57\x4e\145\x77\57\167\157\162\144\160\162\x65\x73\x73\x2e\x68\x74\155\x6c\56\164\x77\x69\x67", ["\165\x73\145\x72" => $user, "\146\x6f\162\x6d" => $form->createView(), "\x66\x6f\162\155\105\x72\x72\157\162\163" => $this->formErrors]);
goto aad10;
a6314:
$form = $this->createWordPressSiteForm();
goto C4f05;
fc985:
return $response;
goto c3fa4;
b94c2:
$response = $this->redirect($this->generateUrl("\143\x6c\160\137\163\x69\x74\x65\163"));
goto C3f6d;
F5d25:
$response = $this->handleCreateWordPressSiteForm($request, $form);
goto C58c0;
Bbb8a:
}
private function createWordPressSiteForm(): Form
{
goto Ce208;
Ce208:
$form = $this->createForm("\x41\x70\160\134\x46\x6f\162\155\x5c\123\x69\x74\145\116\145\167\x57\157\x72\x64\120\162\x65\x73\163\124\x79\160\145", [], ["\141\143\x74\x69\157\x6e" => $this->generateUrl("\143\x6c\160\137\x73\151\x74\145\137\167\157\x72\144\x70\162\145\x73\x73\137\156\145\167"), "\x6d\x65\x74\x68\157\x64" => "\x50\117\x53\124", "\x61\164\x74\162" => ["\x69\x64" => "\156\145\167\x2d\167\x6f\162\144\160\x72\145\x73\x73\x2d\163\151\164\x65\55\146\x6f\162\x6d"]]);
goto B2099;
B2099:
$form->add("\x73\165\142\155\x69\x74", SubmitType::class, ["\x61\164\x74\x72" => ["\x63\154\141\x73\x73" => "\x62\164\x6e\40\x62\164\x6e\55\x6c\x67\x20\x62\x74\x6e\55\x62\154\x75\145"], "\154\141\142\x65\154" => "\103\x72\145\x61\164\145"]);
goto F4f92;
F4f92:
return $form;
goto a6de5;
a6de5:
}
private function handleCreateWordPressSiteForm(Request $request, Form $form)
{
goto Eabf6;
afb3e:
$this->formErrors = $this->getErrorMessages($form);
goto f133d;
f133d:
goto fb174;
goto abd54;
abd54: F65f6:
goto Bbc3a;
dac9c: fb174:
goto d21d4;
Eabf6:
if (true === $form->isValid()) {
goto F65f6;
}
goto afb3e;
Bbc3a:
try {
goto Bc027;
Abd50:
$databaseEntity = $this->databaseEntityManager->createEntity();
goto b0c97;
F5186:
$this->siteEntityManager->updateEntity($siteEntity);
goto E1e34;
b05b1:
$siteCredentials = [$this->translator->trans("\123\151\164\145") => [$this->translator->trans("\x49\x50\40\x41\144\144\162\x65\163\x73") => $instance->getIpv4PublicIp(), $this->translator->trans("\104\x6f\155\x61\151\156\x20\116\x61\155\x65") => sprintf("\x68\164\x74\x70\x73\72\57\57\45\163", $domainName), $this->translator->trans("\x53\x69\x74\x65\40\x55\163\x65\162") => $siteUser, $this->translator->trans("\120\x61\x73\x73\x77\157\x72\144") => $siteUserPassword]];
goto F197e;
e88a8:
$varnishCacheSettings = (array)json_decode($vhostTemplateEntity->getVarnishCacheSettings(), true);
goto A4cff;
b44a5:
$databaseName = $this->getUniqueDatabaseName($generatedName);
goto D1e88;
Fffec:
$databaseManager->createDatabase($databaseEntity);
goto A9dbb;
bf582:
$siteCredentials[$this->translator->trans("\104\x61\x74\x61\x62\x61\x73\x65")] = [$this->translator->trans("\x48\x6f\x73\164") => $activeDatabaseServerEntity->getHost(), $this->translator->trans("\120\157\162\x74") => $activeDatabaseServerEntity->getPort(), $this->translator->trans("\104\x61\x74\x61\142\141\x73\145\40\116\x61\155\145") => $databaseName, $this->translator->trans("\x44\x61\164\141\142\x61\163\145\40\x55\x73\145\162\x20\116\x61\x6d\145") => $databaseUserName, $this->translator->trans("\x44\141\x74\141\142\141\163\x65\40\125\163\145\x72\40\x50\x61\x73\163\167\157\x72\144") => $databaseUserPassword];
goto Efe20;
C02ac:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::WORDPRESS_VHOST_TEMPLATE_NAME);
goto B6aea;
B8588:
$databaseUserEntity->setUserName($databaseUserName);
goto f4d0a;
B6aea:
$phpVersion = $vhostTemplateEntity->getPhpVersion();
goto F8ec7;
a6974:
$session = $request->getSession();
goto c58d3;
ba368:
$databaseEntity->setName($databaseName);
goto b1e91;
d6146:
$adminPassword = $form->get("\141\x64\155\x69\x6e\120\141\163\163\x77\x6f\162\144")->getData();
goto cb295;
A4cff: a0a6b:
goto Cb2d6;
daa29:
$response = $this->redirect($this->generateUrl("\x63\x6c\x70\137\163\151\164\x65\x5f\167\157\162\144\x70\162\x65\163\163\137\x69\x6e\163\x74\x61\154\154\x65\144"));
goto Facd1;
Ffcbf:
$generatedName = $this->generateNameFromDomainName($domainName);
goto a9a5e;
db375:
$databaseUserEntity = $this->databaseUserEntityManager->createEntity();
goto B8588;
a9a5e:
$siteUser = $form->get("\163\151\164\145\125\x73\x65\x72")->getData();
goto b7879;
b0c97:
$databaseEntity->setDatabaseServer($activeDatabaseServerEntity);
goto ba368;
Bedf9:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Efd3d;
a0a86:
$siteEntity->addDatabase($databaseEntity);
goto Ae349;
D1e88:
$databaseUserName = $this->getUniqueDatabaseUserName($generatedName);
goto A43f7;
E1e34:
$this->installWordPress($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail, $siteEntity, $activeDatabaseServerEntity, $databaseEntity, $databaseUserEntity);
goto bf582;
Efd3d:
$instance = $request->attributes->get("\151\x6e\x73\164\141\156\143\x65");
goto b05b1;
b1da4:
$eventData = ["\163\151\164\145" => $domainName, "\x73\x69\x74\x65\125\x73\x65\x72" => $siteUser];
goto C5922;
Ae349:
$databaseManager = new DatabaseManager($activeDatabaseServerEntity);
goto Fffec;
A43f7:
$databaseUserPassword = PasswordGenerator::generate(self::PASSWORD_LENGTH);
goto C401d;
bc588: F8969:
goto c373f;
d633f:
$databaseUserEntity->setDatabase($databaseEntity);
goto F172a;
cb295:
$adminEmail = $form->get("\x61\x64\155\x69\156\105\155\141\x69\x6c")->getData();
goto B769c;
F197e:
if (!(false === is_null($siteEntity))) {
goto F8969;
}
goto b44a5;
Efe20:
$siteCredentials["\127\157\162\x64\x50\x72\x65\163\x73"] = [$this->translator->trans("\101\144\x6d\x69\x6e\x20\105\x2d\x4d\x61\x69\x6c") => $adminEmail, $this->translator->trans("\x41\144\x6d\x69\x6e\40\x55\163\x65\x72\40\x4e\x61\155\145") => $adminUserName, $this->translator->trans("\101\x64\155\151\156\x20\x50\x61\x73\163\167\157\x72\144") => $adminPassword, $this->translator->trans("\x41\144\155\x69\x6e\40\125\162\x6c") => sprintf("\x68\x74\164\160\x73\x3a\x2f\57\x25\163\x2f\x77\160\x2d\x61\x64\155\x69\x6e\x2f", rtrim($domainName, "\x2f"))];
goto bc588;
c373f:
$session->set("\163\151\164\145\103\162\x65\144\x65\156\x74\x69\x61\x6c\163", $siteCredentials);
goto b1da4;
b7879:
$siteUserPassword = $form->get("\163\x69\x74\145\125\x73\145\162\x50\141\163\163\x77\x6f\x72\x64")->getData();
goto C02ac;
F172a:
$databaseEntity->addUser($databaseUserEntity);
goto a0a86;
C401d:
$url = sprintf("\150\x74\x74\x70\x73\72\57\x2f\x25\163", $siteEntity->getDomainName());
goto b8ec0;
Cb2d6:
$siteEntity = $this->createPhpSite($domainName, $domainName, $phpVersion, self::WORDPRESS_VHOST_TEMPLATE_NAME, $siteUser, $siteUserPassword, $varnishCacheSettings);
goto Bedf9;
c96c7:
if (!(false === empty($vhostTemplateEntity->getVarnishCacheSettings()))) {
goto a0a6b;
}
goto e88a8;
Facd1:
return $response;
goto dd38f;
B769c:
$isMultiSite = $form->get("\x6d\165\x6c\164\151\x53\151\164\145")->getData();
goto C6e0e;
Bc027:
$user = $this->getUser();
goto a6974;
c58d3:
$domainName = $form->get("\x64\x6f\155\x61\151\156\116\x61\155\145")->getData();
goto Ffcbf;
f4d0a:
$databaseUserEntity->setPassword(Crypto::encrypt($databaseUserPassword));
goto F063b;
A9dbb:
$databaseManager->createUser($databaseUserEntity);
goto F5186;
C5922:
EventQueue::addEvent(EventQueue::EVENT_SITE_WORDPRESS_CREATE, $user, $eventData, $request);
goto daa29;
b8ec0:
$title = $form->get("\163\151\164\145\124\151\164\x6c\145")->getData();
goto dea5e;
F8ec7:
$varnishCacheSettings = [];
goto c96c7;
F063b:
$databaseUserEntity->setPermissions(DatabaseUserEntity::PERMISSIONS_READ_WRITE);
goto d633f;
C6e0e:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Abd50;
dea5e:
$adminUserName = $form->get("\141\144\x6d\151\x6e\125\x73\145\162\x4e\141\155\145")->getData();
goto d6146;
b1e91:
$databaseEntity->setSite($siteEntity);
goto db375;
dd38f:
} catch (\Exception $e) {
$this->logger->exception($e);
$session->getFlashBag()->set("\x64\141\156\x67\x65\162", $this->translator->trans("\101\x6e\x20\145\162\x72\x6f\x72\x20\x68\x61\163\x20\x6f\x63\143\x75\x72\x72\x65\144\54\40\145\x72\162\x6f\x72\40\x6d\145\163\163\x61\147\145\72\40\x25\145\162\162\x6f\x72\115\x65\x73\x73\x61\x67\x65\x25", ["\45\x65\x72\x72\157\162\x4d\145\x73\x73\x61\147\145\x25" => $e->getMessage()]));
}
goto dac9c;
d21d4:
}
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 Cd507;
Eb8c6:
$wordPressInstaller = new WordPressInstaller($siteEntity);
goto f42b9;
D32a2:
$wordPressInstaller->createConfig($databaseHost, $databaseName, $databaseUserName, $databaseUserPassword);
goto b6a3e;
b6a3e:
$wordPressInstaller->installCore($isMultiSite, $url, $title, $adminUserName, $adminPassword, $adminEmail);
goto d5404;
f42b9:
$wordPressInstaller->downloadAndExtractLatestVersion();
goto D32a2;
Ef670:
$databaseName = $databaseEntity->getName();
goto e9aff;
e2574:
$databaseUserPassword = Crypto::decrypt($databaseUserEntity->getPassword());
goto Eb8c6;
d5404:
foreach ($this->wordPressDefaultConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["\166\x61\154\165\x65"], $config["\x72\x61\167"]);
b178f:
}
goto F652c;
F6dc7:
$wordPressInstaller->resetPermissions();
goto e1e11;
ed4ce:
if (!(true === $isMultiSite)) {
goto cf5e2;
}
goto Cb4c9;
d7295: f8c60:
goto A2097;
Cd507:
$databaseHost = sprintf("\45\163\72\x25\x73", $databaseServerEntity->getHost(), $databaseServerEntity->getPort());
goto Ef670;
Cb4c9:
$this->wordPressMultiSiteConfigValues["\104\117\x4d\101\111\116\137\x43\x55\122\122\105\116\x54\x5f\x53\111\x54\x45"]["\x76\141\154\165\145"] = $siteEntity->getDomainName();
goto cd744;
F652c: Cd7fa:
goto ed4ce;
e9aff:
$databaseUserName = $databaseUserEntity->getUserName();
goto e2574;
A2097: cf5e2:
goto F6dc7;
cd744:
foreach ($this->wordPressMultiSiteConfigValues as $key => $config) {
$wordPressInstaller->setConfigValue($key, $config["\x76\x61\154\x75\145"], $config["\x72\x61\x77"]);
Ce795:
}
goto d7295;
e1e11:
}
private function createPhpSite(string $domainName, string $rootDirectory, string $phpVersion, string $vhostTemplateName, string $siteUser, string $siteUserPassword, array $varnishCacheSettings = []): SiteEntity
{
goto ec400;
C6686:
$siteEntity->setUser($siteUser);
goto F396d;
d41d2:
$phpSiteCreator->resetPermissions();
goto bfd8b;
Fc453:
$siteEntity->setCertificate($certificateEntity);
goto a50d3;
cfcdb: C4c8c:
goto C83f5;
bfd8b:
$vhostTemplate = new PhpVhostTemplate($phpSite);
goto a1cd6;
D6cd7:
$siteEntity->setVhostTemplate($vhostTemplate);
goto ef610;
a9b75:
$defaultVarnishCacheSettings = ["\x65\156\141\x62\x6c\145\144" => false, "\x73\x65\x72\x76\145\x72" => self::VARNISH_CACHE_SERVER, "\143\x61\x63\x68\145\124\141\147\120\x72\145\x66\151\x78" => substr(md5(time()), 0, 4)];
goto b6602;
e414e:
$phpSite->setDomainName($domainName);
goto Fdf1e;
b650c:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto F57d6;
E9bc5:
$phpSite->setPhpSettings($phpSettingsEntity);
goto e9259;
E9e15:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto e9258;
c0663:
$phpSite->setUser($siteEntity->getUser());
goto d0900;
f9dc1:
$siteEntity->setRootDirectory($rootDirectory);
goto e5e16;
E9dc6:
if (!(true === is_null($subdomain))) {
goto e2a4b;
}
goto C44da;
Ac826:
$constraintViolationList->addAll($phpSettingsConstraints);
goto F3002;
e473c:
$csr = $csrGenerator->generate();
goto a232d;
c0046:
$phpSiteCreator->createVarnishCacheStructure($varnishCacheSettings);
goto C8d0a;
Ad389:
$rsaKeyGenerator = new RsaKeyGenerator();
goto ce1be;
B2172:
$phpSite->setSubdomain($subdomain);
goto Cdd9f;
E1450:
$phpSiteCreator->createNginxVhost();
goto c5034;
C84af:
$phpSiteCreator->createIndexPhp();
goto cb346;
a1cd6:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto d693d;
B4aeb:
if (!(false === is_null($subdomain) && "\167\x77\167" == $subdomain)) {
goto af8cd;
}
goto C18c5;
A933b:
$phpSiteCreator->createLogrotateFile();
goto C84af;
E7a7c:
$certificateEntity->setSite($siteEntity);
goto Ad389;
d76c4:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Ea024;
E9fed:
$siteEntity->setType(SiteEntity::TYPE_PHP);
goto C5768;
F0fc8:
$constraintViolationList = new ConstraintViolationList();
goto Ecd51;
f61fc:
$phpSettingsConstraints = $this->validator->validate($phpSettingsEntity);
goto A686c;
C44da:
$subjectAlternativeNames[] = sprintf("\167\x77\x77\x2e\x25\163", $domainName);
goto Ba736;
b3609:
$phpSiteCreator->reloadPhpFpmService();
goto E38a0;
cf52c:
$siteEntity->setVarnishCache(true);
goto cfcdb;
E38a0:
if (!(true === $varnishCache)) {
goto ebdc2;
}
goto E3cf1;
e9258:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto d51e3;
b848a:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto b650c;
Eeea3:
$vhostTemplateEntity = $this->getVhostTemplateEntity($vhostTemplateName);
goto B5a7e;
F3002:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto f8d1b;
D9fe9:
$phpSiteCreator->createPhpFpmPool();
goto b3609;
bbbfb:
$certificateEntity->setDefaultCertificate(true);
goto F10f1;
E7466:
$phpSiteCreator->createRootDirectory();
goto A933b;
Ecd51:
$constraintViolationList->addAll($siteConstraints);
goto Ac826;
C7b2e:
$siteEntity = $this->siteEntityManager->createEntity();
goto E9fed;
be554:
$this->siteEntityManager->updateEntity($siteEntity);
goto E024f;
Fb1cf:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto C8369;
C8d0a:
$phpSite->setVarnishCacheSettings($varnishCacheSettings);
goto f6162;
B1407:
$rootDirectory = trim(rtrim(ltrim($rootDirectory, "\x2f")), "\57");
goto E9e15;
cb346:
$phpSiteCreator->createPrivateKeyAndCertificate();
goto D9fe9;
d693d:
$vhostTemplate->resetProcessors();
goto b848a;
E08a3:
$siteConstraints = $this->validator->validate($siteEntity);
goto f61fc;
Fdf1e:
$phpSite->setRegistrableDomain($registrableDomain);
goto B2172;
b5485: Dc90c:
goto D6cd7;
B8044:
if (!(false === empty($redirectionVhostTemplate))) {
goto a525a;
}
goto d685a;
E05f6:
$vhostTemplate->build();
goto Fb1cf;
d0900:
$phpSite->setUserPassword($siteEntity->getUserPassword());
goto e414e;
F5e1d:
$phpSite->setCertificate($certificateEntity);
goto E9bc5;
bf7ee:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto e473c;
C9ce8: af8cd:
goto E1698;
c5034:
$phpSiteCreator->reloadNginxService();
goto d41d2;
D8f2c:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto E7a7c;
e9259:
$phpSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto B0e54;
E3cf1:
$phpSite->setVarnishCache(true);
goto a9b75;
d5ea2:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\x2e\x2e\57\x2e\56\x2f\56\56\57\162\x65\x73\157\165\162\143\145\163\x2f\x6e\147\x69\x6e\x78\57\x76\150\157\x73\x74\137\x74\145\x6d\x70\154\x61\x74\x65\x2f\162\x65\x64\x69\162\x65\x63\164");
goto c4676;
a50d3:
$phpSite = new PhpSite();
goto c0663;
Ea024:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Fc453;
b38cf:
$subjectAlternativeNames = [];
goto E9dc6;
c54a5:
$siteEntity->setPhpSettings($phpSettingsEntity);
goto C115b;
A686c:
if (!(count($siteConstraints) || count($phpSettingsConstraints))) {
goto B7409;
}
goto F0fc8;
C8369:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto be554;
eb099:
$phpSettingsEntity->setSite($siteEntity);
goto E08a3;
c4676:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto B8044;
f8d1b:
throw new \Exception(implode("\73\x20", $errorMessages));
goto aa60c;
C61e7:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Eeea3;
a232d:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto bbbfb;
Ba736: e2a4b:
goto B4aeb;
ef610:
$phpSettingsEntity = new PhpSettingsEntity();
goto c54a5;
ce1be:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto b38cf;
E1698:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto bf7ee;
C83f5:
if (!(true === is_null($subdomain) || "\167\167\167" == $subdomain)) {
goto Dc90c;
}
goto d5ea2;
C5768:
$siteEntity->setDomainName($domainName);
goto C6686;
E024f:
return $siteEntity;
goto E9905;
F57d6:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto E05f6;
aa60c: B7409:
goto D8f2c;
e5e16:
if (!(false === empty($varnishCache))) {
goto C4c8c;
}
goto cf52c;
D2e71:
$phpSiteCreator->createUser();
goto E7466;
cdfd2: a525a:
goto b5485;
d685a:
$vhostTemplate = sprintf("\x25\x73\45\x73", $redirectionVhostTemplate, $vhostTemplate);
goto cdfd2;
C18c5:
$subjectAlternativeNames[] = $registrableDomain;
goto C9ce8;
F10f1:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto B7ff0;
B5a7e:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto C7b2e;
F396d:
$siteEntity->setUserPassword($siteUserPassword);
goto f9dc1;
C115b:
$phpSettingsEntity->setPhpVersion($phpVersion);
goto eb099;
B7ff0:
$certificateEntity->setCsr($csr);
goto d76c4;
f6162: ebdc2:
goto E1450;
ec400:
$varnishCache = false === empty($varnishCacheSettings) ? true : false;
goto B1407;
b6602:
$varnishCacheSettings = array_merge($defaultVarnishCacheSettings, $varnishCacheSettings);
goto c0046;
B0e54:
$phpSiteCreator = new PhpSiteCreator($phpSite);
goto D2e71;
d51e3:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto C61e7;
Cdd9f:
$phpSite->setRootDirectory($siteEntity->getRootDirectory());
goto F5e1d;
E9905:
}
private function createNodejsSite(string $domainName, string $nodejsVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto de6b5;
abe45:
$nodejsSettingsEntity->setSite($siteEntity);
goto Dc48f;
f329c:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto ee84f;
F24a2:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto Df59a;
Db8ba:
$certificateEntity->setCertificate($selfSignedCertificate);
goto Fabc8;
d39e4:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto f405d;
a76f0:
$siteEntity->setType(SiteEntity::TYPE_NODEJS);
goto ee828;
E496b:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Ea664;
Ddc11:
if (!(false === is_null($subdomain) && "\167\167\167" == $subdomain)) {
goto b4f1e;
}
goto Cac23;
C87a0:
if (!(count($siteConstraints) || count($nodejsSettingsConstraints))) {
goto ac9d4;
}
goto Dab70;
fce39:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto Ab47e;
D71d9:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto B16b4;
ee84f:
$subjectAlternativeNames = [];
goto C47b2;
B4aff:
$csr = $csrGenerator->generate();
goto D6fae;
E9839:
$nodejsSite->setDomainName($domainName);
goto F1c46;
A0965:
$this->siteEntityManager->updateEntity($siteEntity);
goto dd1cc;
ccd3f:
$nodejsSiteCreator->createNvmDirectory();
goto e49f8;
E9bb4:
$nodejsSite->setCertificate($certificateEntity);
goto febf1;
E1c5a:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto Ead3d;
c57a2:
$nodejsSiteCreator->createNginxVhost();
goto F439b;
F1c46:
$nodejsSite->setRegistrableDomain($registrableDomain);
goto D03f8;
B16b4:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto E4aa1;
Cac23:
$subjectAlternativeNames[] = $registrableDomain;
goto b75c2;
b75c2: b4f1e:
goto F24a2;
D03f8:
$nodejsSite->setSubdomain($subdomain);
goto B18c2;
f6555:
$siteEntity->setNodejsSettings($nodejsSettingsEntity);
goto c17b1;
Edf15:
if (!(true === is_null($subdomain) || "\167\x77\167" == $subdomain)) {
goto b40f1;
}
goto D101f;
c7ec1:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Dae97;
b94ed:
$subjectAlternativeNames[] = sprintf("\167\x77\x77\56\x25\x73", $domainName);
goto ccf01;
E1b25:
$vhostTemplate = sprintf("\45\163\45\163", $redirectionVhostTemplate, $vhostTemplate);
goto fa4c9;
Ef18c:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto D71d9;
ccf01: F5e2d:
goto Ddc11;
Dc48f:
$siteConstraints = $this->validator->validate($siteEntity);
goto dd027;
F96cd:
$nodejsSiteCreator->createUser();
goto e2507;
ee828:
$siteEntity->setDomainName($domainName);
goto ae2d0;
ae3de:
$certificateEntity->setDefaultCertificate(true);
goto ac57a;
Dae97:
$siteEntity = $this->siteEntityManager->createEntity();
goto a76f0;
Aec13:
$certificateEntity->setCsr($csr);
goto d21c5;
aaf5c:
$nodejsSite->setUser($siteEntity->getUser());
goto e15cf;
Be2d7:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto E496b;
fd3ff:
$constraintViolationList->addAll($nodejsSettingsConstraints);
goto fce39;
Df59a:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto B4aff;
b76e7: b40f1:
goto Abb77;
F0755:
$nodejsSiteCreator->createPrivateKeyAndCertificate();
goto c57a2;
b2680:
$nodejsSiteCreator = new NodejsSiteCreator($nodejsSite);
goto F96cd;
ae2d0:
$siteEntity->setUser($siteUser);
goto F7cff;
e708e:
$nodejsSite = new NodejsSite();
goto aaf5c;
Ea664:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::NODEJS_VHOST_TEMPLATE_NAME);
goto c7ec1;
Ab47e:
throw new \Exception(implode("\x3b\x20", $errorMessages));
goto e952c;
de6b5:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto dd239;
c5742:
$siteEntity->setRootDirectory($domainName);
goto Edf15;
Ead3d:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto A0965;
e2507:
$nodejsSiteCreator->createRootDirectory();
goto E1fe6;
D3614:
$constraintViolationList->addAll($siteConstraints);
goto fd3ff;
E1fe6:
$nodejsSiteCreator->createLogrotateFile();
goto ccd3f;
d21c5:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto Db8ba;
fa4c9: f64fc:
goto b76e7;
F439b:
$nodejsSiteCreator->reloadNginxService();
goto c3c36;
D101f:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\x2f\56\56\x2f\x2e\x2e\57\x2e\56\57\x72\x65\163\157\165\162\x63\145\x73\x2f\156\147\151\156\x78\x2f\x76\150\x6f\163\x74\x5f\164\145\155\x70\154\141\x74\x65\x2f\x72\145\x64\151\162\x65\143\x74");
goto C8876;
D4857:
$nodejsSettingsEntity->setPort($port);
goto abe45;
c2c8d:
$rsaKeyGenerator = new RsaKeyGenerator();
goto f329c;
e15cf:
$nodejsSite->setUserPassword($siteEntity->getUserPassword());
goto E9839;
efb9f:
$vhostTemplate->resetProcessors();
goto Ef18c;
Fa037:
$nodejsSettingsEntity = new NodejsSettingsEntity();
goto f6555;
dd1cc:
return $siteEntity;
goto f0648;
dd239:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Be2d7;
f405d:
$certificateEntity->setSite($siteEntity);
goto c2c8d;
febf1:
$nodejsSite->setNodejsSettings($nodejsSettingsEntity);
goto d6217;
B18c2:
$nodejsSite->setRootDirectory($siteEntity->getRootDirectory());
goto E9bb4;
e49f8:
$nodejsSiteCreator->installNodejs();
goto F0755;
c3c36:
$nodejsSiteCreator->resetPermissions();
goto E734b;
d6217:
$nodejsSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto b2680;
E4aa1:
$vhostTemplate->build();
goto E1c5a;
D6fae:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto ae3de;
ddc86:
if (!(false === empty($redirectionVhostTemplate))) {
goto f64fc;
}
goto E1b25;
e952c: ac9d4:
goto d39e4;
Abb77:
$siteEntity->setVhostTemplate($vhostTemplate);
goto Fa037;
C8876:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto ddc86;
ac57a:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto Aec13;
c17b1:
$nodejsSettingsEntity->setNodejsVersion($nodejsVersion);
goto D4857;
F7cff:
$siteEntity->setUserPassword($siteUserPassword);
goto c5742;
Dab70:
$constraintViolationList = new ConstraintViolationList();
goto D3614;
C47b2:
if (!(true === is_null($subdomain))) {
goto F5e2d;
}
goto b94ed;
E734b:
$vhostTemplate = new StaticVhostTemplate($nodejsSite);
goto C46d5;
dd027:
$nodejsSettingsConstraints = $this->validator->validate($nodejsSettingsEntity);
goto C87a0;
Fabc8:
$siteEntity->setCertificate($certificateEntity);
goto e708e;
C46d5:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto efb9f;
f0648:
}
private function createPythonSite(string $domainName, string $pythonVersion, string $port, string $siteUser, string $siteUserPassword): SiteEntity
{
goto E52c3;
c2a6a:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\x2f\56\56\x2f\x2e\56\57\x2e\56\57\x72\145\x73\157\x75\162\143\x65\163\57\x6e\x67\x69\x6e\170\57\166\x68\157\x73\164\137\x74\x65\155\x70\154\x61\x74\x65\57\162\x65\x64\151\x72\x65\143\x74");
goto b0925;
ea85a:
return $siteEntity;
goto b6871;
a692e:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto a02b0;
E0f6d:
$pythonSiteCreator->createUser();
goto c9fdc;
eff08:
$constraintViolationList->addAll($pythonSettingsConstraints);
goto Be4fb;
eaddb:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto fb9ff;
Cf8cc: a57f9:
goto F5039;
F305b:
if (!(false === empty($redirectionVhostTemplate))) {
goto Db08c;
}
goto D35ba;
d64fd:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto db96f;
A96b4:
$subjectAlternativeNames = [];
goto b8cbe;
Bbd42:
$pythonSiteCreator->createNginxVhost();
goto fb7af;
Cc760:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::PYTHON_VHOST_TEMPLATE_NAME);
goto Ee4f8;
Dfa21:
$siteEntity->setUserPassword($siteUserPassword);
goto B5a5d;
Dc4e1:
$siteEntity = $this->siteEntityManager->createEntity();
goto a65d7;
b8cbe:
if (!(true === is_null($subdomain))) {
goto E8b27;
}
goto cfde6;
f89e1: Db08c:
goto aceb9;
Ff60d:
$pythonSite->setPythonSettings($pythonSettingsEntity);
goto A9b30;
dfed3:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto d6f65;
D2e93:
$pythonSite->setSubdomain($subdomain);
goto A7494;
aceb9: d4648:
goto d7665;
Ab567:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto b1e5d;
acb1e:
$certificateEntity->setCertificate($selfSignedCertificate);
goto c36e1;
b0925:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto F305b;
D2e86:
$pythonSettingsConstraints = $this->validator->validate($pythonSettingsEntity);
goto Bf5d4;
B5a5d:
$siteEntity->setRootDirectory($domainName);
goto D987c;
a65d7:
$siteEntity->setType(SiteEntity::TYPE_PYTHON);
goto a79fc;
cfde6:
$subjectAlternativeNames[] = sprintf("\x77\167\167\x2e\45\163", $domainName);
goto ee291;
e8971:
$pythonSiteCreator = new PythonSiteCreator($pythonSite);
goto E0f6d;
D790b:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto b7770;
f2f53:
$pythonSiteCreator->resetPermissions();
goto Ea352;
a79fc:
$siteEntity->setDomainName($domainName);
goto A22c5;
fb7af:
$pythonSiteCreator->reloadNginxService();
goto f2f53;
F5039:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto a692e;
ebb9d:
$pythonSite->setUser($siteEntity->getUser());
goto F6e1d;
Aa963:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Eb180;
c9fdc:
$pythonSiteCreator->createRootDirectory();
goto cd0d4;
c0b90:
$pythonSite->setRegistrableDomain($registrableDomain);
goto D2e93;
f2185:
$siteEntity->setPythonSettings($pythonSettingsEntity);
goto C042f;
f2b36:
$subjectAlternativeNames[] = $registrableDomain;
goto Cf8cc;
d2566:
$pythonSiteCreator->createPrivateKeyAndCertificate();
goto Bbd42;
A7494:
$pythonSite->setRootDirectory($siteEntity->getRootDirectory());
goto B3c7a;
d5071:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto acb1e;
cd0d4:
$pythonSiteCreator->createLogrotateFile();
goto e1143;
d6f65:
$certificateEntity->setSite($siteEntity);
goto A4cdf;
b7770:
$this->siteEntityManager->updateEntity($siteEntity);
goto a4332;
Febca:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto Cc760;
fb9ff:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto Aa963;
ed7df:
$siteConstraints = $this->validator->validate($siteEntity);
goto D2e86;
e1143:
$pythonSiteCreator->writePythonVersionFile();
goto d2566;
A22c5:
$siteEntity->setUser($siteUser);
goto Dfa21;
F6e1d:
$pythonSite->setUserPassword($siteEntity->getUserPassword());
goto a022f;
D987c:
if (!(true === is_null($subdomain) || "\x77\x77\167" == $subdomain)) {
goto d4648;
}
goto c2a6a;
Ee4f8:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto Dc4e1;
Be4fb:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto ec565;
aac27:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto Fa41e;
a1502:
$constraintViolationList = new ConstraintViolationList();
goto d3047;
d7665:
$siteEntity->setVhostTemplate($vhostTemplate);
goto E3030;
Cf6cf:
$pythonSettingsEntity->setSite($siteEntity);
goto ed7df;
d3047:
$constraintViolationList->addAll($siteConstraints);
goto eff08;
D0f92:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto cc765;
D3e48:
$pythonSite = new PythonSite();
goto ebb9d;
a022f:
$pythonSite->setDomainName($domainName);
goto c0b90;
ee291: E8b27:
goto f4524;
E52c3:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto Ab567;
Ea352:
$vhostTemplate = new PythonVhostTemplate($pythonSite);
goto d64fd;
Cf10a: bea50:
goto dfed3;
e1b52:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto A96b4;
db96f:
$vhostTemplate->resetProcessors();
goto eaddb;
Eb180:
$vhostTemplate->build();
goto D790b;
E3030:
$pythonSettingsEntity = new PythonSettingsEntity();
goto f2185;
B3c7a:
$pythonSite->setCertificate($certificateEntity);
goto Ff60d;
Fa41e:
$certificateEntity->setDefaultCertificate(true);
goto D0f92;
b1e5d:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Febca;
f4524:
if (!(false === is_null($subdomain) && "\167\167\x77" == $subdomain)) {
goto a57f9;
}
goto f2b36;
A4cdf:
$rsaKeyGenerator = new RsaKeyGenerator();
goto e1b52;
cc765:
$certificateEntity->setCsr($csr);
goto d5071;
Bf5d4:
if (!(count($siteConstraints) || count($pythonSettingsConstraints))) {
goto bea50;
}
goto a1502;
c1eed:
$pythonSettingsEntity->setPort($port);
goto Cf6cf;
c36e1:
$siteEntity->setCertificate($certificateEntity);
goto D3e48;
A9b30:
$pythonSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto e8971;
a4332:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto ea85a;
ec565:
throw new \Exception(implode("\x3b\x20", $errorMessages));
goto Cf10a;
C042f:
$pythonSettingsEntity->setPythonVersion($pythonVersion);
goto c1eed;
D35ba:
$vhostTemplate = sprintf("\45\163\x25\x73", $redirectionVhostTemplate, $vhostTemplate);
goto f89e1;
a02b0:
$csr = $csrGenerator->generate();
goto aac27;
b6871:
}
private function createStaticSite(string $domainName, string $siteUser, string $siteUserPassword): SiteEntity
{
goto A04cb;
Ab8cc:
$certificateEntity->setDefaultCertificate(true);
goto c6ce7;
E8d39:
$siteEntity->setDomainName($domainName);
goto C9a3e;
C122a:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto Fd126;
f6dae:
$rsaKeyGenerator = new RsaKeyGenerator();
goto C122a;
fada0:
$csr = $csrGenerator->generate();
goto Ec6e2;
Caa5f:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto d24a7;
D9e50:
$staticSiteCreator->createNginxVhost();
goto A5ef7;
Bc982:
$certificateEntity->setSite($siteEntity);
goto f6dae;
B92ef:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\x2e\x2e\x2f\x2e\56\57\x2e\x2e\57\162\x65\163\x6f\x75\162\x63\145\163\x2f\156\x67\151\x6e\x78\57\166\x68\x6f\163\x74\x5f\164\145\x6d\160\154\x61\164\145\x2f\x72\x65\144\x69\162\145\x63\x74");
goto b0157;
c2c75: a5d4a:
goto c6888;
Fd126:
$subjectAlternativeNames = [];
goto C34a7;
ce6c9:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto Cc139;
c9ee7:
$siteEntity = $this->siteEntityManager->createEntity();
goto F7e35;
Ba9e6:
$staticSiteCreator->createIndexHtml();
goto D3551;
A5ef7:
$staticSiteCreator->reloadNginxService();
goto D4bfe;
Dc66d:
$vhostTemplate = new StaticVhostTemplate($staticSite);
goto c1d2a;
Bd0b3:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Caa5f;
D4bfe:
$staticSiteCreator->resetPermissions();
goto Dc66d;
c6888:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto Bc982;
Daea4:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto baac4;
ae1d6:
$siteEntity->setVhostTemplate($vhostTemplate);
goto f8338;
d8657:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto ce6c9;
f8338:
$siteConstraints = $this->validator->validate($siteEntity);
goto a2867;
B96fe: a4970:
goto c38ed;
ffa24:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto fef88;
c38ed:
if (!(false === is_null($subdomain) && "\167\167\x77" == $subdomain)) {
goto bdbe2;
}
goto A74ab;
b2e8a:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto Bd0b3;
A04cb:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto b2e8a;
b5b65:
$vhostTemplate->resetProcessors();
goto db189;
Af935:
$staticSite->setCertificate($certificateEntity);
goto Dfd4a;
cf26c:
$vhostTemplate->build();
goto d8657;
d24a7:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::STATIC_SITE_VHOST_TEMPLATE_NAME);
goto B9aa9;
a2867:
if (!count($siteConstraints)) {
goto a5d4a;
}
goto Ce91e;
Cb1df: A03d5:
goto ae1d6;
B9aa9:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto c9ee7;
baac4:
throw new \Exception(implode("\73\40", $errorMessages));
goto c2c75;
C32cb: bdbe2:
goto ffa24;
D3551:
$staticSiteCreator->createPrivateKeyAndCertificate();
goto D9e50;
B1a92:
$staticSiteCreator->createLogrotateFile();
goto Ba9e6;
Cc139:
$this->siteEntityManager->updateEntity($siteEntity);
goto de5fd;
C34a7:
if (!(true === is_null($subdomain))) {
goto a4970;
}
goto A8fb9;
c45bc:
$staticSite->setSubdomain($subdomain);
goto dc14d;
de5fd:
return $siteEntity;
goto c4141;
c6ce7:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto B0e73;
Dfd4a:
$staticSite->setVhostTemplate($siteEntity->getVhostTemplate());
goto d08e4;
c755d:
$staticSite->setDomainName($domainName);
goto E670e;
A74ab:
$subjectAlternativeNames[] = $registrableDomain;
goto C32cb;
fef88:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto fada0;
C9a3e:
$siteEntity->setUser($siteUser);
goto dd577;
A8fb9:
$subjectAlternativeNames[] = sprintf("\x77\x77\167\x2e\45\163", $domainName);
goto B96fe;
Ec6e2:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto Ab8cc;
ae9b2:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto fb031;
c1d2a:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto b5b65;
Da5e1:
if (!(true === is_null($subdomain) || "\x77\167\167" == $subdomain)) {
goto A03d5;
}
goto B92ef;
dd577:
$siteEntity->setUserPassword($siteUserPassword);
goto F3e76;
F3e76:
$siteEntity->setRootDirectory($domainName);
goto Da5e1;
E670e:
$staticSite->setRegistrableDomain($registrableDomain);
goto c45bc;
f2ceb:
$staticSiteCreator->createUser();
goto ad61a;
Ec754:
$vhostTemplate = sprintf("\45\163\45\163", $redirectionVhostTemplate, $vhostTemplate);
goto E9cda;
Be840:
$staticSite->setUser($siteEntity->getUser());
goto fc7a4;
C6f45:
$certificateEntity->setCertificate($selfSignedCertificate);
goto E4fe9;
fc7a4:
$staticSite->setUserPassword($siteEntity->getUserPassword());
goto c755d;
Ce91e:
$constraintViolationList = new ConstraintViolationList();
goto cc6c9;
F7e35:
$siteEntity->setType(SiteEntity::TYPE_STATIC);
goto E8d39;
ad61a:
$staticSiteCreator->createRootDirectory();
goto B1a92;
D85ff:
$staticSite = new StaticSite();
goto Be840;
b0157:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto ac758;
ac758:
if (!(false === empty($redirectionVhostTemplate))) {
goto Fe5d4;
}
goto Ec754;
e5c14:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto C6f45;
dc14d:
$staticSite->setRootDirectory($siteEntity->getRootDirectory());
goto Af935;
d08e4:
$staticSiteCreator = new StaticSiteCreator($staticSite);
goto f2ceb;
fb031:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto cf26c;
cc6c9:
$constraintViolationList->addAll($siteConstraints);
goto Daea4;
E4fe9:
$siteEntity->setCertificate($certificateEntity);
goto D85ff;
B0e73:
$certificateEntity->setCsr($csr);
goto e5c14;
db189:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto ae9b2;
E9cda: Fe5d4:
goto Cb1df;
c4141:
}
private function createReverseProxySite(string $domainName, string $reverseProxyUrl, string $siteUser, string $siteUserPassword): SiteEntity
{
goto dd84d;
edc3b:
$siteConstraints = $this->validator->validate($siteEntity);
goto Ec612;
b5115:
$rsaKeyGenerator = new RsaKeyGenerator();
goto Ba0ac;
B78a6:
$subjectAlternativeNames[] = sprintf("\167\167\x77\56\45\x73", $domainName);
goto bed6b;
e40d3:
$certificateEntity->setDefaultCertificate(true);
goto Be828;
F855a:
$vhostTemplateEntity = $this->getVhostTemplateEntity(self::REVERSE_PROXY_VHOST_TEMPLATE_NAME);
goto f4bde;
Ca19d:
$siteEntity->setReverseProxyUrl($reverseProxyUrl);
goto F5df7;
dd84d:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto ab5cb;
a81bd:
$siteEntity = $this->siteEntityManager->createEntity();
goto c4b93;
e0fc5:
$reverseProxySite->setSubdomain($subdomain);
goto df6e0;
Caaef:
$selfSignedCertificate = Openssl::createSelfSignedCertificate($privateKey, $csr);
goto e40d3;
eed8b:
$reverseProxySite->setUser($siteEntity->getUser());
goto Bab6b;
bed6b: c1630:
goto bd444;
e317c:
$reversProxySiteCreator->createPrivateKeyAndCertificate();
goto F142c;
A377a:
$reverseProxySite->setReverseProxyUrl($reverseProxyUrl);
goto F055b;
Ec612:
if (!count($siteConstraints)) {
goto c2b00;
}
goto D16aa;
C8909:
$certificateEntity->setPrivateKey($privateKey->getPEM());
goto b74f3;
Cbf5a:
$vhostTemplate->build();
goto c79c7;
c8569:
$siteEntity->setUser($siteUser);
goto e3ae9;
D16aa:
$constraintViolationList = new ConstraintViolationList();
goto Cd159;
A0bb8:
$reversProxySiteCreator->resetPermissions();
goto fe8df;
e3ae9:
$siteEntity->setUserPassword($siteUserPassword);
goto b4dc1;
d5560:
$certificateEntity->setSite($siteEntity);
goto b5115;
b74f3:
$certificateEntity->setCertificate($selfSignedCertificate);
goto D885a;
Ce49d:
$certificateEntity = $this->certificateEntityManager->createEntity();
goto d5560;
B33c3:
$reversProxySiteCreator->reloadNginxService();
goto A0bb8;
b7a56:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto Dfaeb;
Be828:
$certificateEntity->setType(CertificateEntity::TYPE_SELF_SIGNED);
goto f6073;
b9340:
$vhostTemplate->resetProcessors();
goto ee8bd;
bbe50:
$csrGenerator = new CsrGenerator($privateKey, $distinguishedName);
goto c16b8;
ca07a: c2b00:
goto Ce49d;
Dfaeb:
$subdomain = false === empty($subdomain) ? $subdomain : null;
goto F855a;
D55fd:
$reversProxySiteCreator = new ReverseProxySiteCreator($reverseProxySite);
goto A477e;
df6e0:
$reverseProxySite->setRootDirectory($siteEntity->getRootDirectory());
goto ebbd0;
F73a8:
$vhostTemplate->setContent($siteEntity->getVhostTemplate());
goto b9340;
D8387:
$reversProxySiteCreator->createRootDirectory();
goto E7c77;
E7c77:
$reversProxySiteCreator->createLogrotateFile();
goto e317c;
Fbd1f: Fb211:
goto C570a;
d513e:
$siteEntity->setDomainName($domainName);
goto c8569;
Cd159:
$constraintViolationList->addAll($siteConstraints);
goto d3fd6;
c16b8:
$csr = $csrGenerator->generate();
goto Caaef;
F6e6c:
$subjectAlternativeNames = [];
goto C0a03;
Fe924:
$vhostTemplate = sprintf("\45\163\45\x73", $redirectionVhostTemplate, $vhostTemplate);
goto e691f;
e691f: b650e:
goto cdd7b;
C1ae9:
$subjectAlternativeNames[] = $registrableDomain;
goto Fbd1f;
d88fd:
$vhostTemplate->addProcessor(new RedirectDomainProcessor());
goto Cbf5a;
b4dc1:
$siteEntity->setRootDirectory($domainName);
goto Ca19d;
C0a03:
if (!(true === is_null($subdomain))) {
goto c1630;
}
goto B78a6;
a4367:
$this->siteEntityManager->updateEntity($siteEntity);
goto Ab50e;
F142c:
$reversProxySiteCreator->createNginxVhost();
goto B33c3;
A387e:
$reverseProxySite->setDomainName($domainName);
goto Af1fa;
ab5cb:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto b7a56;
ebbd0:
$reverseProxySite->setCertificate($certificateEntity);
goto A377a;
Af1fa:
$reverseProxySite->setRegistrableDomain($registrableDomain);
goto e0fc5;
Ab50e:
return $siteEntity;
goto D46cd;
A477e:
$reversProxySiteCreator->createUser();
goto D8387;
D885a:
$siteEntity->setCertificate($certificateEntity);
goto bad69;
eadd3:
$redirectionVhostTemplate = file_get_contents($redirectionVhostTemplateFile);
goto c2e67;
bd444:
if (!(false === is_null($subdomain) && "\167\x77\167" == $subdomain)) {
goto Fb211;
}
goto C1ae9;
cdd7b: da020:
goto B4883;
c79c7:
$siteEntity->setVhostTemplate($vhostTemplate->getContent());
goto c0d8e;
f6073:
$certificateEntity->setCsr($csr);
goto C8909;
F5df7:
if (!(true === is_null($subdomain) || "\x77\167\167" == $subdomain)) {
goto da020;
}
goto a78ae;
c4b93:
$siteEntity->setType(SiteEntity::TYPE_REVERSE_PROXY);
goto d513e;
f4bde:
$vhostTemplate = $vhostTemplateEntity->getTemplate();
goto a81bd;
d4348:
$vhostTemplate->addProcessor(new RedirectServerNameProcessor());
goto d88fd;
Ba0ac:
$privateKey = $rsaKeyGenerator->generatePrivateKey();
goto F6e6c;
fe8df:
$vhostTemplate = new ReverseProxyVhostTemplate($reverseProxySite);
goto F73a8;
bad69:
$reverseProxySite = new ReverseProxySite();
goto eed8b;
C570a:
$distinguishedName = new DistinguishedName($domainName, $subjectAlternativeNames);
goto bbe50;
c2e67:
if (!(false === empty($redirectionVhostTemplate))) {
goto b650e;
}
goto Fe924;
d3fd6:
$errorMessages = $this->getConstraintViolationListErrorMessages($constraintViolationList);
goto F50ee;
ee8bd:
$vhostTemplate->addProcessor(new ServerNameProcessor());
goto d4348;
a78ae:
$redirectionVhostTemplateFile = realpath(dirname(__FILE__) . "\57\56\x2e\x2f\56\x2e\x2f\x2e\x2e\x2f\x72\x65\163\157\165\x72\x63\145\163\57\x6e\x67\151\x6e\170\x2f\166\150\157\163\164\137\164\145\155\x70\x6c\141\164\145\57\x72\x65\144\x69\162\x65\143\x74");
goto eadd3;
Bab6b:
$reverseProxySite->setUserPassword($siteEntity->getUserPassword());
goto A387e;
c0d8e:
$siteEntity->setApplication($vhostTemplateEntity->getName());
goto a4367;
F50ee:
throw new \Exception(implode("\73\40", $errorMessages));
goto ca07a;
F055b:
$reverseProxySite->setVhostTemplate($siteEntity->getVhostTemplate());
goto D55fd;
B4883:
$siteEntity->setVhostTemplate($vhostTemplate);
goto edc3b;
D46cd:
}
public function installedWordPressSite(Request $request): Response
{
goto F42db;
f9051:
$siteCredentials = $this->renderSiteCredentials($siteCredentials);
goto b3460;
D3953:
goto ad3e3;
goto Dba5d;
Cd52a:
return $response;
goto de889;
b3460:
$response = $this->render("\x46\162\157\x6e\x74\145\x6e\x64\57\x53\151\164\x65\x2f\x4e\x65\167\x2f\x77\157\162\144\x70\x72\x65\163\163\x2d\151\x6e\x73\x74\141\x6c\x6c\145\144\56\150\x74\155\x6c\56\164\167\151\147", ["\x73\x69\164\145\x43\162\x65\x64\145\156\164\151\141\154\x73" => $siteCredentials]);
goto Cd52a;
E6488:
if (false === empty($siteCredentials)) {
goto c8c2a;
}
goto Ec987;
F42db:
$session = $request->getSession();
goto b312d;
de889: ad3e3:
goto a4e54;
a4e54:
return $response;
goto F5adb;
b312d:
$siteCredentials = $session->get("\163\151\x74\145\x43\162\145\144\x65\x6e\x74\151\141\154\x73");
goto E6488;
Dba5d: c8c2a:
goto f9051;
Ec987:
$response = $this->redirect($this->generateUrl("\143\154\160\x5f\163\151\164\x65\163"));
goto D3953;
F5adb:
}
private function renderSiteCredentials(array $siteCredentials): string
{
goto b065d;
d2d09:
foreach ($siteCredentials as $section => $sectionData) {
goto E266e;
ad4c7:
$renderedCredentials .= PHP_EOL;
goto C016e;
a2a38:
$renderedCredentials .= "\55\55\x2d\x2d\x2d\x2d\x2d\x2d\55\55\55\55\x2d\x2d\55\55\55\x2d\55\x2d\55\x2d\x2d\x2d\x2d\x2d\55\x2d\55\x2d\x2d\55\x2d\55\x2d\55\x2d\x2d\55\55\x2d\x2d\55\x2d\x2d\x2d\55\55\55\55\x2d\x2d\x2d\x2d" . PHP_EOL;
goto cb975;
E266e:
$renderedCredentials .= $section . PHP_EOL;
goto a2a38;
C016e: D2493:
goto Da57d;
cb975:
foreach ($sectionData as $key => $value) {
$renderedCredentials .= sprintf("\x25\x73\72\x20\x25\163", $key, $value) . PHP_EOL;
Ccfbd:
}
goto e3b54;
e3b54: d89a8:
goto ad4c7;
Da57d:
}
goto bc543;
ee9ba:
return $renderedCredentials;
goto C41e9;
b065d:
$renderedCredentials = '';
goto d2d09;
bc543: e2373:
goto ee9ba;
C41e9:
}
private function getVhostTemplateEntity(string $name): mixed
{
goto ad7c3;
B4bcb: a9777:
goto dcbbb;
Ae847:
throw new \Exception($this->translator->trans("\x56\150\157\x73\164\x20\x54\x65\155\160\x6c\141\164\145\x20\x25\x76\x68\157\163\164\x54\145\x6d\x70\154\x61\164\145\x25\40\x64\x6f\145\x73\x20\x6e\157\x74\40\145\170\x69\163\x74\56", ["\x25\x76\150\x6f\163\164\124\x65\155\x70\154\x61\x74\145\45" => $name]));
goto B4bcb;
dcbbb:
return $vhostTemplateEntity;
goto F1619;
ad7c3:
$vhostTemplateEntity = $this->vhostTemplateEntityManager->findOneByName($name);
goto C2df2;
C2df2:
if (!(true === is_null($vhostTemplateEntity))) {
goto a9777;
}
goto Ae847;
F1619:
}
private function getConstraintViolationListErrorMessages(ConstraintViolationList $constraintViolationList): array
{
goto F62a7;
d7a96: F12e2:
goto C74bc;
Daa28:
foreach ($constraintViolationList as $constraint) {
$errorMessages[] = sprintf("\x25\x73\x3a\40\45\x73", $constraint->getPropertyPath(), $constraint->getMessage());
a20ba:
}
goto d7a96;
F62a7:
$errorMessages = [];
goto Daa28;
C74bc:
return $errorMessages;
goto e53ed;
e53ed:
}
private function generateNameFromDomainName(string $domainName): string
{
goto C13cf;
A8d7f:
$explodedRegistrableDomain = explode("\x2e", $registrableDomain);
goto E2086;
a7dc6:
$name = $explodedRegistrableDomain[0] ?? '';
goto E9c01;
A3b2b: B5969:
goto F28f2;
ec9c5:
$registrableDomain = $resolvedDomainName->registrableDomain()->toString();
goto ef072;
ef072:
$subdomain = $resolvedDomainName->subDomain()->toString();
goto A8d7f;
C13cf:
$resolvedDomainName = $this->domainNameParser->resolveDomainName($domainName);
goto ec9c5;
E9c01:
if (!(false === empty($subdomain))) {
goto c06b0;
}
goto ae4d8;
F28f2:
return $name;
goto E0b37;
ae4d8:
$explodedSubdomain = explode("\56", $subdomain);
goto E071d;
bdf2b:
goto B5969;
goto Fbaf1;
eb626: c06b0:
goto bdf2b;
D3965:
$name = $explodedRegistrableDomain[0] ?? '';
goto A3b2b;
E2086:
if ("\167\x77\x77" == $subdomain) {
goto ab605;
}
goto a7dc6;
E071d:
$name = sprintf("\45\x73\55\45\x73", $explodedRegistrableDomain[0] ?? '', implode("\55", $explodedSubdomain));
goto eb626;
Fbaf1: ab605:
goto D3965;
E0b37:
}
private function getUniqueDatabaseName(string $databaseName): string
{
goto Dfc27;
Dfc27:
$uniqueDatabaseName = $databaseName;
goto B80a2;
C6bf8:
$databaseExists = in_array($uniqueDatabaseName, $databases);
goto Bcac7;
C2889:
if (!(0 < $i)) {
goto F2dd3;
}
goto Fbc74;
a648a:
$uniqueDatabaseName = sprintf("\x25\x73\x2d\144\x62", $uniqueDatabaseName);
goto d59c0;
a8485:
$i = 0;
goto fe236;
Ac77c:
$databases = $databaseConnection->getDatabases();
goto E6b39;
fe236:
$activeDatabaseServerEntity = $this->databaseServerEntityManager->getActiveDatabaseServer();
goto Efead;
C0a8b: Ee6c4:
goto a86d3;
E6b39: Fb483:
goto C2889;
Fbc74:
$uniqueDatabaseName = sprintf("\x25\163\x2d\x25\163", $databaseName, $i);
goto bc9f2;
Bcac7:
$i++;
goto Ba6a8;
bc9f2: F2dd3:
goto C6bf8;
B80a2:
if (!(strlen($uniqueDatabaseName) <= 3)) {
goto B5d44;
}
goto a648a;
a86d3:
return $uniqueDatabaseName;
goto ab23f;
Efead:
$databaseConnection = new DatabaseConnection($activeDatabaseServerEntity);
goto Ac77c;
Ba6a8:
if (true === $databaseExists) {
goto Fb483;
}
goto C0a8b;
d59c0: B5d44:
goto a8485;
ab23f:
}
private function getUniqueDatabaseUserName(string $databaseUserName): string
{
goto fb384;
D5d27:
$databaseUserEntity = $this->databaseUserEntityManager->findOneByUserName($uniqueDatabaseUserName);
goto a29d8;
E359f:
if (!(0 < $i)) {
goto F847a;
}
goto Bb146;
Bb146:
$uniqueDatabaseUserName = sprintf("\45\163\x2d\45\x73", $databaseUserName, $i);
goto d3052;
F8337:
$i = 0;
goto da62b;
Bdfe2:
if (!(strlen($uniqueDatabaseUserName) <= 3)) {
goto a199a;
}
goto A9903;
a29d8:
$i++;
goto a0dba;
d3052: F847a:
goto D5d27;
a0dba:
if (false === is_null($databaseUserEntity)) {
goto d45d0;
}
goto a13ee;
Ac4ce:
return $uniqueDatabaseUserName;
goto fe627;
da62b: d45d0:
goto E359f;
fb384:
$uniqueDatabaseUserName = $databaseUserName;
goto Bdfe2;
a13ee: F2505:
goto Ac4ce;
A9903:
$uniqueDatabaseUserName = sprintf("\x25\163\x2d\144\142", $uniqueDatabaseUserName);
goto Ec922;
Ec922: a199a:
goto F8337;
fe627:
}
private function hasPermissions(): bool
{
goto a2c4a;
cc0eb:
return false;
goto E5a98;
e5be8:
if (!(UserEntity::ROLE_USER != $user->getRole())) {
goto Ecd24;
}
goto Fb4e7;
bacbe: Ecd24:
goto cc0eb;
Fb4e7:
return true;
goto bacbe;
a2c4a:
$user = $this->getUser();
goto e5be8;
E5a98:
}
}
Function Calls
None |
Stats
MD5 | 748f0bc875c20afbba0fdca17b3e64cb |
Eval Count | 0 |
Decode Time | 297 ms |