X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Finstaller%2FOracleInstaller.php;h=644eec1ec63fdd269a589d637cf983bf7ebb1b8b;hp=05f078fab7bddc1cc1aa595151849e4a156ae313;hb=a469e81971a11b931716897d65e1fa3fdfe378e2;hpb=118bbe7f04a2c82f979d5f3dd8d71dbbf6d7358c diff --git a/includes/installer/OracleInstaller.php b/includes/installer/OracleInstaller.php index 05f078fab7..644eec1ec6 100644 --- a/includes/installer/OracleInstaller.php +++ b/includes/installer/OracleInstaller.php @@ -47,7 +47,7 @@ class OracleInstaller extends DatabaseInstaller { ]; public static $minimumVersion = '9.0.1'; // 9iR1 - protected static $notMiniumumVerisonMessage = 'config-oracle-old'; + protected static $notMinimumVerisonMessage = 'config-oracle-old'; protected $connError = null; @@ -165,35 +165,30 @@ class OracleInstaller extends DatabaseInstaller { } public function openConnection() { - $status = Status::newGood(); - try { - $db = new DatabaseOracle( - $this->getVar( 'wgDBserver' ), - $this->getVar( '_InstallUser' ), - $this->getVar( '_InstallPassword' ), - $this->getVar( '_InstallDBname' ), - 0, - $this->getVar( 'wgDBprefix' ) - ); - $status->value = $db; - } catch ( DBConnectionError $e ) { - $this->connError = $e->db->lastErrno(); - $status->fatal( 'config-connection-error', $e->getMessage() ); - } - - return $status; + return $this->doOpenConnection(); } public function openSYSDBAConnection() { + return $this->doOpenConnection( DatabaseOracle::DBO_SYSDBA ); + } + + /** + * @param int $flags + * @return Status Status with DatabaseOracle or null as the value + */ + private function doOpenConnection( $flags = 0 ) { $status = Status::newGood(); try { - $db = new DatabaseOracle( - $this->getVar( 'wgDBserver' ), - $this->getVar( '_InstallUser' ), - $this->getVar( '_InstallPassword' ), - $this->getVar( '_InstallDBname' ), - DBO_SYSDBA, - $this->getVar( 'wgDBprefix' ) + $db = Database::factory( + 'oracle', + [ + 'host' => $this->getVar( 'wgDBserver' ), + 'user' => $this->getVar( '_InstallUser' ), + 'password' => $this->getVar( '_InstallPassword' ), + 'dbname' => $this->getVar( '_InstallDBname' ), + 'tablePrefix' => $this->getVar( 'wgDBprefix' ), + 'flags' => $flags + ] ); $status->value = $db; } catch ( DBConnectionError $e ) { @@ -335,11 +330,11 @@ class OracleInstaller extends DatabaseInstaller { * @return bool Whether the connection string is valid. */ public static function checkConnectStringFormat( $connect_string ) { - // @@codingStandardsIgnoreStart Long lines with regular expressions. + // phpcs:disable Generic.Files.LineLength // @todo Very long regular expression. Make more readable? $isValid = preg_match( '/^[[:alpha:]][\w\-]*(?:\.[[:alpha:]][\w\-]*){0,2}$/', $connect_string ); // TNS name $isValid |= preg_match( '/^(?:\/\/)?[\w\-\.]+(?::[\d]+)?(?:\/(?:[\w\-\.]+(?::(pooled|dedicated|shared))?)?(?:\/[\w\-\.]+)?)?$/', $connect_string ); // EZConnect - // @@codingStandardsIgnoreEnd + // phpcs:enable return (bool)$isValid; } }