From bbffc43e4f4c04e5efeb0edcc9851742c2223b1d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov <fox@fakecake.org> Date: Thu, 18 Apr 2013 16:06:03 +0400 Subject: [PATCH] actually check for DB_PORT in installer, add better hints and use mysqli if available --- config.php-dist | 2 +- install/index.php | 36 ++++++++++++++++++++++++------------ utility.css | 5 +++++ 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/config.php-dist b/config.php-dist index 4df299786..7cb9d9397 100644 --- a/config.php-dist +++ b/config.php-dist @@ -8,7 +8,7 @@ define('DB_USER', "fox"); define('DB_NAME', "fox"); define('DB_PASS', "XXXXXX"); - //define('DB_PORT', '5432'); // when neeeded, PG-only + define('DB_PORT', ''); // usually 5432 for PostgreSQL, 3306 for MySQL define('MYSQL_CHARSET', 'UTF8'); // Connection charset for MySQL. If you have a legacy database and/or experience diff --git a/install/index.php b/install/index.php index 99339aca2..9cbab20f1 100644 --- a/install/index.php +++ b/install/index.php @@ -88,7 +88,7 @@ <img src=\"../images/sign_info.svg\">$msg</div>"; } - function db_connect($host, $user, $pass, $db, $type) { + function db_connect($host, $user, $pass, $db, $type, $port) { if ($type == "pgsql") { $string = "dbname=$db user=$user"; @@ -101,8 +101,8 @@ $string .= " host=$host"; } - if (defined('DB_PORT')) { - $string = "$string port=" . DB_PORT; + if ($port) { + $string = "$string port=" . $port; } $link = pg_connect($string); @@ -110,10 +110,15 @@ return $link; } else if ($type == "mysql") { - $link = mysql_connect($host, $user, $pass); - if ($link) { - $result = mysql_select_db($db, $link); - if ($result) return $link; + if (function_exists("mysqli_connect")) { + return mysqli_connect($host, $user, $pass, $db, $port); + + } else { + $link = mysql_connect($host, $user, $pass); + if ($link) { + $result = mysql_select_db($db, $link); + if ($result) return $link; + } } } } @@ -173,7 +178,12 @@ } return $result; } else if ($type == "mysql") { - $result = mysql_query($query, $link); + + if (function_exists("mysqli_connect")) { + $result = mysqli_query($link, $query); + } else { + $result = mysql_query($query, $link); + } if (!$result) { $query = htmlspecialchars($query); if ($die_on_error) { @@ -254,17 +264,19 @@ <fieldset> <label>Database name</label> - <input name="DB_NAME" size="20" value="<?php echo $DB_NAME ?>"/> + <input required name="DB_NAME" size="20" value="<?php echo $DB_NAME ?>"/> </fieldset> <fieldset> <label>Host name</label> - <input name="DB_HOST" placeholder="if needed" size="20" value="<?php echo $DB_HOST ?>"/> + <input name="DB_HOST" size="20" value="<?php echo $DB_HOST ?>"/> + <span class="hint">If needed</span> </fieldset> <fieldset> <label>Port</label> - <input name="DB_PORT" type="number" placeholder="if needed, PgSQL only" size="20" value="<?php echo $DB_PORT ?>"/> + <input name="DB_PORT" type="number" size="20" value="<?php echo $DB_PORT ?>"/> + <span class="hint">Usually 3306 for MySQL or 5432 for PostgreSQL</span> </fieldset> <h2>Other settings</h2> @@ -327,7 +339,7 @@ <h2>Checking database</h2> <?php - $link = db_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME, $DB_TYPE); + $link = db_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME, $DB_TYPE, $DB_PORT); if (!$link) { print_error("Unable to connect to database using specified parameters."); diff --git a/utility.css b/utility.css index 074589f9e..65dc20b1e 100644 --- a/utility.css +++ b/utility.css @@ -240,3 +240,8 @@ body.otp div.content { display : inline-block; width : auto; } + +span.hint { + font-size : 10px; + color : gray; +} -- GitLab