From f9600494df568e04ffb632ae6c83641791fcf203 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 8 Aug 2012 15:07:29 +0200 Subject: [PATCH] Improving configureDB in WCFSetup Fixes #729 --- .../install/files/lib/system/WCFSetup.class.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/wcfsetup/install/files/lib/system/WCFSetup.class.php b/wcfsetup/install/files/lib/system/WCFSetup.class.php index f4ff2638a4..3c8dacf166 100644 --- a/wcfsetup/install/files/lib/system/WCFSetup.class.php +++ b/wcfsetup/install/files/lib/system/WCFSetup.class.php @@ -498,9 +498,12 @@ class WCFSetup extends WCF { $dbUser = 'root'; $dbPassword = ''; $dbName = 'wcf'; - $dbNumber = '1'; - $dbClass = 'MySQLDatabase'; - if (!function_exists('mysql_connect')) $dbClass = 'MySQLiDatabase'; + $dbNumber = 1; + // set $dbClass to first item in $availableDBClasses + foreach ($availableDBClasses as $dbClass) { + $dbClass = $dbClass['class']; + break; + } $overwriteTables = false; if (isset($_POST['send'])) { @@ -512,7 +515,9 @@ class WCFSetup extends WCF { // Should the user not be prompted if converted or default n match an // existing installation number? By now the existing installation // will be overwritten just so! - if (isset($_POST['dbNumber'])) $dbNumber = intval($_POST['dbNumber']); + + // ensure that $dbNumber is zero or a positive integer + if (isset($_POST['dbNumber'])) $dbNumber = max(0, intval($_POST['dbNumber'])); if (isset($_POST['dbClass'])) $dbClass = $_POST['dbClass']; // get port -- 2.20.1