From 2df8132c46976a0eb586f1687c9b25d3b3c15c5b Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Tue, 4 Dec 2018 15:50:53 +0100 Subject: [PATCH] DbConnection: Make host optional for Oracle connections --- application/forms/Config/Resource/DbResourceForm.php | 8 +++++++- library/Icinga/Data/Db/DbConnection.php | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/application/forms/Config/Resource/DbResourceForm.php b/application/forms/Config/Resource/DbResourceForm.php index 518c42280..eda27909c 100644 --- a/application/forms/Config/Resource/DbResourceForm.php +++ b/application/forms/Config/Resource/DbResourceForm.php @@ -58,6 +58,12 @@ class DbResourceForm extends Form $offerMysql = true; } + if ($dbChoice === 'oracle') { + $hostIsRequired = false; + } else { + $hostIsRequired = true; + } + $socketInfo = ''; if ($offerPostgres) { $socketInfo = $this->translate( @@ -104,7 +110,7 @@ class DbResourceForm extends Form 'text', 'host', array ( - 'required' => true, + 'required' => $hostIsRequired, 'label' => $this->translate('Host'), 'description' => $this->translate('The hostname of the database') . ($socketInfo ? '. ' . $socketInfo : ''), diff --git a/library/Icinga/Data/Db/DbConnection.php b/library/Icinga/Data/Db/DbConnection.php index 3f9b5b98f..6b3505d41 100644 --- a/library/Icinga/Data/Db/DbConnection.php +++ b/library/Icinga/Data/Db/DbConnection.php @@ -215,6 +215,11 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp case 'oracle': $adapter = 'Pdo_Oci'; $defaultPort = 1521; + + // remove host parameter when not configured + if (empty($this->config->host)) { + unset($adapterParamaters['host']); + } break; case 'pgsql': $adapter = 'Pdo_Pgsql'; @@ -555,7 +560,7 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp 'Connection to %s as %s on %s:%s successful', $config['dbname'], $config['username'], - $config['host'], + array_key_exists('host', $config) ? $config['host'] : '(none)', $config['port'] )); switch ($this->dbType) {