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\Database; use Doctrine\DBAL\Connection as DoctrineConnection; u..
Decoded Output download
<?php
namespace App\Database;
use Doctrine\DBAL\Connection as DoctrineConnection;
use Doctrine\DBAL\Driver\PDO\MySQL\Driver as PdoMySQLDriver;
use App\Entity\DatabaseServer as DatabaseServerEntity;
use App\Entity\Database as DatabaseEntity;
use App\Entity\DatabaseUser as DatabaseUserEntity;
class Connection
{
const ENGINE_MYSQL = "MySQL";
const ENGINE_MARIA_DB = "MariaDB";
private DatabaseServerEntity $databaseServerEntity;
private ?DoctrineConnection $connection = null;
public function __construct(DatabaseServerEntity $databaseServerEntity)
{
$this->databaseServerEntity = $databaseServerEntity;
}
public function connect($timeout = 10)
{
goto D80fa;
F740f:
return $this->connection;
goto e7e90;
a4028:
try {
goto c0f19;
b64f2:
E617a:
goto eddc0;
C6554:
$this->connection = new DoctrineConnection($params, $driver);
goto e2bc1;
E38c8:
$tmpCertificateFile = tempnam(sys_get_temp_dir(), "clp-tmp-certificate-");
goto C16ad;
F9804:
$driverOptions[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false;
goto b64f2;
Cf832:
$driverOptions = [\PDO::ATTR_TIMEOUT => $timeout, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION];
goto fa4c9;
e2bc1:
$this->connection->connect();
goto a7acd;
facf3:
$driver = new PdoMySQLDriver();
goto C6554;
c3e29:
$driverOptions[\PDO::MYSQL_ATTR_SSL_CA] = $tmpCertificateFile;
goto F9804;
d8054:
if (!(false === empty($certificate))) {
goto E617a;
}
goto E38c8;
eddc0:
$params["driverOptions"] = $driverOptions;
goto facf3;
c0f19:
$params = ["host" => $this->databaseServerEntity->getHost(), "port" => $this->databaseServerEntity->getPort(), "user" => $this->databaseServerEntity->getUserName(), "password" => $this->databaseServerEntity->getDecryptedPassword()];
goto Cf832;
fa4c9:
$certificate = $this->databaseServerEntity->getCertificate();
goto d8054;
C16ad:
file_put_contents($tmpCertificateFile, $certificate);
goto c3e29;
a7acd:
} catch (\Exception $e) {
throw $e;
} finally {
if (!(true === isset($tmpCertificateFile))) {
goto cc0b0;
}
unlink($tmpCertificateFile);
cc0b0:
}
goto d7918;
D80fa:
if (!(true === is_null($this->connection))) {
goto Ecaa1;
}
goto a4028;
d7918:
Ecaa1:
goto F740f;
e7e90:
}
public function getDatabases(): array
{
goto fe749;
A2f37:
B3789:
goto aa5a8;
aa5a8:
return $databases;
goto fbce1;
Fab1d:
F1b31:
goto A2f37;
B01c8:
if (!(count($databasesRows) && true === is_array($databasesRows))) {
goto B3789;
}
goto dbe9d;
a9e7d:
$databases = [];
goto a2e19;
a2e19:
$databasesResult = $this->connection->executeQuery("show databases");
goto b5566;
dbe9d:
foreach ($databasesRows as $databasesRow) {
goto Fefca;
A9ddc:
b9429:
goto Dacfb;
E0584:
$databases[] = $databasesRow["Database"];
goto A9ddc;
Fefca:
if (!(true == isset($databasesRow["Database"]) && false === empty($databasesRow["Database"]))) {
goto b9429;
}
goto E0584;
Dacfb:
C534e:
goto E7915;
E7915:
}
goto Fab1d;
b5566:
$databasesRows = $databasesResult->fetchAllAssociative();
goto B01c8;
fe749:
$this->connect();
goto a9e7d;
fbce1:
}
public function createDatabase(DatabaseEntity $databaseEntity)
{
goto ff0ef;
e2765:
if (!(false === $this->hasDatabase($databaseName))) {
goto D5005;
}
goto D3a19;
f2091:
D5005:
goto dcd1b;
B6daf:
$schemaManager->createDatabase($databaseName);
goto f2091;
ff0ef:
$databaseName = $databaseEntity->getName();
goto e2765;
D3a19:
$databaseName = sprintf("`%s`", $databaseName);
goto Fa936;
Fa936:
$schemaManager = $this->connection->createSchemaManager();
goto B6daf;
dcd1b:
}
public function deleteDatabase(DatabaseEntity $databaseEntity)
{
goto C454f;
A2413:
if (!(true === $this->hasDatabase($databaseName))) {
goto daa70;
}
goto b7de9;
A2842:
daa70:
goto Fe808;
C454f:
$databaseName = $databaseEntity->getName();
goto A2413;
b7de9:
$databaseName = sprintf("`%s`", $databaseName);
goto Dde3b;
Fb5a6:
$schemaManager->dropDatabase($databaseName);
goto A2842;
Dde3b:
$schemaManager = $this->connection->createSchemaManager();
goto Fb5a6;
Fe808:
}
public function createUser(DatabaseUserEntity $databaseUserEntity): void
{
goto F8258;
C415b:
$sqlStatements = [sprintf("CREATE USER '%s'@'%%' IDENTIFIED BY '%s';", $databaseUserName, addslashes($databaseUserPassword)), sprintf("GRANT USAGE ON *.* TO '%s'@'%%';", $databaseUserName)];
goto A41bc;
Df61e:
$sqlStatements = [];
goto D14fd;
B1a95:
$sqlStatements[] = sprintf("ALTER USER `%s`@`%%` REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;", $databaseUserName);
goto d6ada;
e3967:
Dbf1c:
goto Ccb67;
B4944:
c0942:
goto e8a20;
A081a:
E878a:
goto C3d14;
D14fd:
if (DatabaseUserEntity::PERMISSIONS_READ_WRITE == $databaseUserPermissions) {
goto Dbf1c;
}
goto Dd7dc;
F8258:
$this->deleteUser($databaseUserEntity);
goto B6961;
e8a20:
$sqlStatements = [sprintf("CREATE USER '%s'@'%%' IDENTIFIED WITH mysql_native_password BY '%s';", $databaseUserName, addslashes($databaseUserPassword)), sprintf("GRANT USAGE ON *.* TO '%s'@'%%';", $databaseUserName)];
goto ccdd4;
C5a08:
if (self::ENGINE_MYSQL == $databaseEngine) {
goto c0942;
}
goto C415b;
b5175:
goto C7aba;
goto e3967;
D5a1a:
$databaseEntity = $databaseUserEntity->getDatabase();
goto C5a08;
c483f:
foreach ($sqlStatements as $sql) {
$this->connection->executeStatement($sql);
ccf12:
}
goto A081a;
Ccb67:
$sqlStatements[] = sprintf("GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER,
CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `%s`.* TO '%s'@'%%';", $databaseName, $databaseUserName);
goto B1a95;
d6ada:
C7aba:
goto c483f;
d25f6:
$databaseUserName = $databaseUserEntity->getUserName();
goto e509c;
C3d14:
$this->connection->executeStatement("FLUSH PRIVILEGES;");
goto b4bce;
D060e:
cd28e:
goto fbc3a;
a770c:
foreach ($sqlStatements as $sql) {
$this->connection->executeStatement($sql);
F698d:
}
goto D060e;
ccdd4:
ef006:
goto a770c;
a86d8:
$databaseUserPermissions = $databaseUserEntity->getPermissions();
goto D5a1a;
e509c:
$databaseUserPassword = $databaseUserEntity->getDecryptedPassword();
goto a86d8;
fbc3a:
$databaseName = $databaseEntity->getName();
goto Df61e;
B6961:
$databaseEngine = $this->getEngine();
goto d25f6;
A41bc:
goto ef006;
goto B4944;
Dd7dc:
$sqlStatements[] = sprintf("GRANT SELECT ON `%s`.* TO '%s'@'%%';", $databaseName, $databaseUserName);
goto b5175;
b4bce:
}
public function deleteUser(DatabaseUserEntity $databaseUserEntity)
{
goto d85b3;
D3715:
$this->connection->executeStatement("FLUSH PRIVILEGES;");
goto A421c;
b2419:
$databaseUserName = $databaseUserEntity->getUserName();
goto E9fb3;
E9fb3:
$this->connection->executeStatement(sprintf("DROP USER IF EXISTS `%s`;", $databaseUserName));
goto D3715;
d85b3:
$this->connect();
goto b2419;
A421c:
}
public function hasDatabase(string $databaseName)
{
goto Ffe63;
a5e55:
$databases = $this->getDatabases();
goto f1b6d;
Ffe63:
$this->connect();
goto a5e55;
d3515:
return $hasDatabase;
goto ee42f;
f1b6d:
$hasDatabase = in_array($databaseName, $databases);
goto d3515;
ee42f:
}
public function getEngine(): string
{
goto bb1fd;
ecd73:
d4f93:
goto bd089;
B3b73:
$version = strtolower($this->getVariableValue("version"));
goto D4995;
bd089:
return $engine;
goto Cab65;
Bda2a:
$engine = self::ENGINE_MARIA_DB;
goto ecd73;
bb1fd:
$engine = self::ENGINE_MYSQL;
goto B3b73;
D4995:
if (!(true === \str_contains($version, "maria"))) {
goto d4f93;
}
goto Bda2a;
Cab65:
}
public function getVersion(): ?string
{
goto d1414;
A9ce5:
if (!(true === isset($versionParts["major"]) && false === empty($versionParts["major"]) && true === isset($versionParts["minor"]) && false === empty($versionParts["minor"]))) {
goto e92d8;
}
goto bbe79;
bbe79:
$version = sprintf("%s.%s", $versionParts["major"], $versionParts["minor"]);
goto Cf99a;
d1414:
$version = $this->getVariableValue("innodb_version");
goto d7541;
Bb709:
preg_match("/^(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>\d+))?)?/", $version, $versionParts);
goto A9ce5;
Cf99a:
e92d8:
goto df8c9;
e01b9:
return $version;
goto d6f6b;
df8c9:
faf80:
goto e01b9;
d7541:
if (!(false === empty($version))) {
goto faf80;
}
goto Bb709;
d6f6b:
}
public function getVariableValue(string $key): ?string
{
goto b3ae2;
df413:
$value = $result["Value"] ?? '';
goto d789d;
D8e64:
$statement = $this->connection->prepare("SHOW VARIABLES LIKE :key");
goto f5834;
d789d:
return $value;
goto D785f;
b3ae2:
$this->connect();
goto D8e64;
f5834:
$result = $statement->execute(["key" => $key]);
goto Dc70d;
Dc70d:
$result = $result->fetchAssociative();
goto df413;
D785f:
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace App\Database;
use Doctrine\DBAL\Connection as DoctrineConnection;
use Doctrine\DBAL\Driver\PDO\MySQL\Driver as PdoMySQLDriver;
use App\Entity\DatabaseServer as DatabaseServerEntity;
use App\Entity\Database as DatabaseEntity;
use App\Entity\DatabaseUser as DatabaseUserEntity;
class Connection
{
const ENGINE_MYSQL = "\x4d\x79\x53\121\x4c";
const ENGINE_MARIA_DB = "\x4d\x61\162\151\141\x44\102";
private DatabaseServerEntity $databaseServerEntity;
private ?DoctrineConnection $connection = null;
public function __construct(DatabaseServerEntity $databaseServerEntity)
{
$this->databaseServerEntity = $databaseServerEntity;
}
public function connect($timeout = 10)
{
goto D80fa;
F740f:
return $this->connection;
goto e7e90;
a4028:
try {
goto c0f19;
b64f2:
E617a:
goto eddc0;
C6554:
$this->connection = new DoctrineConnection($params, $driver);
goto e2bc1;
E38c8:
$tmpCertificateFile = tempnam(sys_get_temp_dir(), "\x63\154\160\x2d\x74\155\x70\55\x63\145\162\164\x69\146\151\143\x61\164\x65\55");
goto C16ad;
F9804:
$driverOptions[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false;
goto b64f2;
Cf832:
$driverOptions = [\PDO::ATTR_TIMEOUT => $timeout, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION];
goto fa4c9;
e2bc1:
$this->connection->connect();
goto a7acd;
facf3:
$driver = new PdoMySQLDriver();
goto C6554;
c3e29:
$driverOptions[\PDO::MYSQL_ATTR_SSL_CA] = $tmpCertificateFile;
goto F9804;
d8054:
if (!(false === empty($certificate))) {
goto E617a;
}
goto E38c8;
eddc0:
$params["\144\162\151\166\x65\x72\x4f\160\x74\x69\x6f\156\163"] = $driverOptions;
goto facf3;
c0f19:
$params = ["\x68\x6f\x73\x74" => $this->databaseServerEntity->getHost(), "\x70\157\x72\164" => $this->databaseServerEntity->getPort(), "\x75\163\x65\162" => $this->databaseServerEntity->getUserName(), "\x70\x61\163\163\167\x6f\x72\x64" => $this->databaseServerEntity->getDecryptedPassword()];
goto Cf832;
fa4c9:
$certificate = $this->databaseServerEntity->getCertificate();
goto d8054;
C16ad:
file_put_contents($tmpCertificateFile, $certificate);
goto c3e29;
a7acd:
} catch (\Exception $e) {
throw $e;
} finally {
if (!(true === isset($tmpCertificateFile))) {
goto cc0b0;
}
unlink($tmpCertificateFile);
cc0b0:
}
goto d7918;
D80fa:
if (!(true === is_null($this->connection))) {
goto Ecaa1;
}
goto a4028;
d7918:
Ecaa1:
goto F740f;
e7e90:
}
public function getDatabases(): array
{
goto fe749;
A2f37:
B3789:
goto aa5a8;
aa5a8:
return $databases;
goto fbce1;
Fab1d:
F1b31:
goto A2f37;
B01c8:
if (!(count($databasesRows) && true === is_array($databasesRows))) {
goto B3789;
}
goto dbe9d;
a9e7d:
$databases = [];
goto a2e19;
a2e19:
$databasesResult = $this->connection->executeQuery("\163\x68\157\x77\x20\x64\x61\164\x61\x62\x61\163\x65\x73");
goto b5566;
dbe9d:
foreach ($databasesRows as $databasesRow) {
goto Fefca;
A9ddc:
b9429:
goto Dacfb;
E0584:
$databases[] = $databasesRow["\x44\141\x74\141\x62\x61\x73\x65"];
goto A9ddc;
Fefca:
if (!(true == isset($databasesRow["\x44\x61\x74\x61\x62\141\163\145"]) && false === empty($databasesRow["\104\x61\164\x61\x62\x61\x73\x65"]))) {
goto b9429;
}
goto E0584;
Dacfb:
C534e:
goto E7915;
E7915:
}
goto Fab1d;
b5566:
$databasesRows = $databasesResult->fetchAllAssociative();
goto B01c8;
fe749:
$this->connect();
goto a9e7d;
fbce1:
}
public function createDatabase(DatabaseEntity $databaseEntity)
{
goto ff0ef;
e2765:
if (!(false === $this->hasDatabase($databaseName))) {
goto D5005;
}
goto D3a19;
f2091:
D5005:
goto dcd1b;
B6daf:
$schemaManager->createDatabase($databaseName);
goto f2091;
ff0ef:
$databaseName = $databaseEntity->getName();
goto e2765;
D3a19:
$databaseName = sprintf("\x60\x25\163\x60", $databaseName);
goto Fa936;
Fa936:
$schemaManager = $this->connection->createSchemaManager();
goto B6daf;
dcd1b:
}
public function deleteDatabase(DatabaseEntity $databaseEntity)
{
goto C454f;
A2413:
if (!(true === $this->hasDatabase($databaseName))) {
goto daa70;
}
goto b7de9;
A2842:
daa70:
goto Fe808;
C454f:
$databaseName = $databaseEntity->getName();
goto A2413;
b7de9:
$databaseName = sprintf("\140\x25\x73\x60", $databaseName);
goto Dde3b;
Fb5a6:
$schemaManager->dropDatabase($databaseName);
goto A2842;
Dde3b:
$schemaManager = $this->connection->createSchemaManager();
goto Fb5a6;
Fe808:
}
public function createUser(DatabaseUserEntity $databaseUserEntity): void
{
goto F8258;
C415b:
$sqlStatements = [sprintf("\103\122\105\101\124\105\40\x55\x53\105\122\x20\47\45\163\47\x40\47\45\45\x27\x20\x49\x44\105\x4e\124\x49\x46\111\105\x44\40\102\131\40\47\45\163\x27\73", $databaseUserName, addslashes($databaseUserPassword)), sprintf("\x47\122\101\116\x54\40\x55\x53\x41\x47\105\40\117\x4e\x20\x2a\56\52\40\x54\x4f\x20\47\x25\163\47\x40\47\x25\45\47\73", $databaseUserName)];
goto A41bc;
Df61e:
$sqlStatements = [];
goto D14fd;
B1a95:
$sqlStatements[] = sprintf("\x41\114\x54\x45\122\x20\125\123\105\122\40\x60\x25\163\140\x40\140\x25\x25\140\x20\x52\x45\121\125\x49\122\x45\x20\116\117\116\x45\x20\x57\x49\124\110\40\x4d\x41\130\x5f\x51\125\105\x52\111\x45\123\137\120\x45\122\x5f\x48\x4f\125\122\x20\x30\40\x4d\101\130\x5f\x43\117\x4e\x4e\x45\103\124\x49\x4f\116\x53\x5f\120\105\x52\137\x48\117\125\x52\x20\x30\40\x4d\x41\x58\x5f\x55\x50\x44\101\124\105\123\137\120\105\x52\x5f\110\x4f\x55\x52\x20\60\x20\115\x41\x58\137\125\123\x45\122\x5f\103\x4f\x4e\116\x45\103\x54\111\x4f\116\x53\x20\60\73", $databaseUserName);
goto d6ada;
e3967:
Dbf1c:
goto Ccb67;
B4944:
c0942:
goto e8a20;
A081a:
E878a:
goto C3d14;
D14fd:
if (DatabaseUserEntity::PERMISSIONS_READ_WRITE == $databaseUserPermissions) {
goto Dbf1c;
}
goto Dd7dc;
F8258:
$this->deleteUser($databaseUserEntity);
goto B6961;
e8a20:
$sqlStatements = [sprintf("\103\122\105\101\124\105\x20\x55\x53\105\122\x20\x27\45\x73\47\x40\47\45\x25\47\40\111\104\105\116\x54\111\106\x49\105\x44\40\x57\x49\124\x48\40\x6d\171\163\161\154\137\x6e\141\x74\151\166\x65\137\160\141\163\x73\167\x6f\162\144\x20\102\x59\40\47\45\163\x27\73", $databaseUserName, addslashes($databaseUserPassword)), sprintf("\107\122\x41\x4e\x54\40\125\x53\101\x47\105\x20\x4f\x4e\x20\x2a\x2e\52\40\124\117\40\x27\x25\x73\x27\x40\x27\45\45\47\x3b", $databaseUserName)];
goto ccdd4;
C5a08:
if (self::ENGINE_MYSQL == $databaseEngine) {
goto c0942;
}
goto C415b;
b5175:
goto C7aba;
goto e3967;
D5a1a:
$databaseEntity = $databaseUserEntity->getDatabase();
goto C5a08;
c483f:
foreach ($sqlStatements as $sql) {
$this->connection->executeStatement($sql);
ccf12:
}
goto A081a;
Ccb67:
$sqlStatements[] = sprintf("\107\x52\x41\x4e\x54\x20\x53\105\x4c\x45\103\x54\54\40\x49\x4e\123\105\122\x54\54\40\x55\x50\x44\x41\x54\x45\54\40\x44\x45\114\105\x54\x45\54\x20\x43\x52\105\x41\x54\105\x2c\x20\104\x52\117\120\x2c\x20\122\105\x46\105\x52\x45\x4e\103\x45\123\54\x20\x49\x4e\x44\105\130\x2c\x20\101\x4c\x54\x45\x52\x2c\40\12\40\x20\x20\x20\40\x20\40\x20\40\x20\x20\40\40\40\x20\x20\103\x52\x45\x41\x54\x45\x20\x54\x45\x4d\120\x4f\122\101\122\131\40\x54\x41\x42\x4c\x45\x53\x2c\x20\114\x4f\103\x4b\40\124\x41\102\x4c\105\123\54\x20\x45\130\105\x43\x55\124\x45\54\x20\103\122\x45\101\x54\105\40\126\111\x45\127\x2c\40\123\x48\117\127\40\126\111\x45\127\54\40\103\x52\x45\x41\x54\x45\40\122\117\125\x54\x49\116\x45\x2c\40\101\x4c\x54\x45\x52\40\x52\117\x55\x54\x49\x4e\105\x2c\x20\x45\x56\105\x4e\124\x2c\40\x54\122\x49\x47\x47\105\122\40\x4f\x4e\40\x60\x25\x73\140\56\52\x20\124\117\40\x20\47\45\x73\x27\100\x27\x25\x25\47\73", $databaseName, $databaseUserName);
goto B1a95;
d6ada:
C7aba:
goto c483f;
d25f6:
$databaseUserName = $databaseUserEntity->getUserName();
goto e509c;
C3d14:
$this->connection->executeStatement("\106\x4c\x55\123\x48\x20\x50\122\111\126\x49\x4c\105\107\x45\123\73");
goto b4bce;
D060e:
cd28e:
goto fbc3a;
a770c:
foreach ($sqlStatements as $sql) {
$this->connection->executeStatement($sql);
F698d:
}
goto D060e;
ccdd4:
ef006:
goto a770c;
a86d8:
$databaseUserPermissions = $databaseUserEntity->getPermissions();
goto D5a1a;
e509c:
$databaseUserPassword = $databaseUserEntity->getDecryptedPassword();
goto a86d8;
fbc3a:
$databaseName = $databaseEntity->getName();
goto Df61e;
B6961:
$databaseEngine = $this->getEngine();
goto d25f6;
A41bc:
goto ef006;
goto B4944;
Dd7dc:
$sqlStatements[] = sprintf("\107\122\101\116\124\x20\x53\105\x4c\x45\x43\x54\x20\117\x4e\x20\x60\x25\163\x60\x2e\x2a\x20\x54\x4f\x20\x20\x27\x25\x73\47\100\47\45\x25\x27\x3b", $databaseName, $databaseUserName);
goto b5175;
b4bce:
}
public function deleteUser(DatabaseUserEntity $databaseUserEntity)
{
goto d85b3;
D3715:
$this->connection->executeStatement("\x46\114\125\x53\x48\x20\120\122\111\126\x49\114\105\x47\105\x53\73");
goto A421c;
b2419:
$databaseUserName = $databaseUserEntity->getUserName();
goto E9fb3;
E9fb3:
$this->connection->executeStatement(sprintf("\104\122\117\120\40\x55\123\105\122\x20\111\x46\40\x45\130\111\x53\124\123\x20\x60\x25\x73\x60\x3b", $databaseUserName));
goto D3715;
d85b3:
$this->connect();
goto b2419;
A421c:
}
public function hasDatabase(string $databaseName)
{
goto Ffe63;
a5e55:
$databases = $this->getDatabases();
goto f1b6d;
Ffe63:
$this->connect();
goto a5e55;
d3515:
return $hasDatabase;
goto ee42f;
f1b6d:
$hasDatabase = in_array($databaseName, $databases);
goto d3515;
ee42f:
}
public function getEngine(): string
{
goto bb1fd;
ecd73:
d4f93:
goto bd089;
B3b73:
$version = strtolower($this->getVariableValue("\x76\145\x72\163\x69\157\x6e"));
goto D4995;
bd089:
return $engine;
goto Cab65;
Bda2a:
$engine = self::ENGINE_MARIA_DB;
goto ecd73;
bb1fd:
$engine = self::ENGINE_MYSQL;
goto B3b73;
D4995:
if (!(true === \str_contains($version, "\155\x61\162\x69\141"))) {
goto d4f93;
}
goto Bda2a;
Cab65:
}
public function getVersion(): ?string
{
goto d1414;
A9ce5:
if (!(true === isset($versionParts["\x6d\141\152\x6f\162"]) && false === empty($versionParts["\x6d\x61\x6a\x6f\162"]) && true === isset($versionParts["\x6d\151\156\x6f\x72"]) && false === empty($versionParts["\x6d\151\x6e\x6f\x72"]))) {
goto e92d8;
}
goto bbe79;
bbe79:
$version = sprintf("\x25\163\x2e\x25\163", $versionParts["\x6d\x61\152\x6f\162"], $versionParts["\155\x69\x6e\157\162"]);
goto Cf99a;
d1414:
$version = $this->getVariableValue("\151\156\x6e\x6f\x64\142\137\166\x65\x72\163\151\x6f\x6e");
goto d7541;
Bb709:
preg_match("\x2f\136\50\77\x50\x3c\155\141\x6a\x6f\162\76\134\144\53\51\50\x3f\x3a\134\56\x28\77\120\74\x6d\151\x6e\157\162\x3e\134\x64\53\x29\x28\x3f\x3a\x5c\56\50\77\120\74\x70\141\164\x63\150\76\134\x64\x2b\x29\x29\x3f\51\x3f\x2f", $version, $versionParts);
goto A9ce5;
Cf99a:
e92d8:
goto df8c9;
e01b9:
return $version;
goto d6f6b;
df8c9:
faf80:
goto e01b9;
d7541:
if (!(false === empty($version))) {
goto faf80;
}
goto Bb709;
d6f6b:
}
public function getVariableValue(string $key): ?string
{
goto b3ae2;
df413:
$value = $result["\x56\141\x6c\165\x65"] ?? '';
goto d789d;
D8e64:
$statement = $this->connection->prepare("\x53\110\117\x57\40\x56\x41\x52\x49\x41\102\x4c\105\x53\40\114\111\113\x45\x20\72\153\145\171");
goto f5834;
d789d:
return $value;
goto D785f;
b3ae2:
$this->connect();
goto D8e64;
f5834:
$result = $statement->execute(["\153\x65\x79" => $key]);
goto Dc70d;
Dc70d:
$result = $result->fetchAssociative();
goto df413;
D785f:
}
}
Function Calls
None |
Stats
MD5 | 814a946d1de7a7de2b59e5f0db2850bf |
Eval Count | 0 |
Decode Time | 35 ms |