Skip to content
Snippets Groups Projects
Commit 0bf41739 authored by Peter Rotich's avatar Peter Rotich
Browse files

Merge pull request #8 from greezybacon/feature/non-standard-port


Add support for non-standard MySQL port number

Reviewed-By: default avatarPeter Rotich <peter@osticket.com>
parents b63a33bb 7ad056f1
No related branches found
No related tags found
No related merge requests found
......@@ -40,7 +40,16 @@ function db_connect($host, $user, $passwd, $options = array()) {
//Connectr
$start = microtime(true);
if(!@$__db->real_connect($host, $user, $passwd)) # nolint
$port = 3306;
if (strpos($host, ':') !== false) {
list($host, $port) = explode(':', $host);
// PHP may not honor the port number if connecting to 'localhost'
if (!strcasecmp($host, 'localhost'))
// XXX: Looks like PHP gethostbyname() is IPv4 only
$host = gethostbyname($host);
$port = (int) $port;
}
if (!@$__db->real_connect($host, $user, $passwd, null, $port)) # nolint
return NULL;
//Select the database, if any.
......
......@@ -79,6 +79,13 @@ class Installer extends SetupWizard {
if(!$this->errors['username'] && in_array(strtolower($vars['username']),array('admin','admins','username','osticket')))
$this->errors['username']='Bad username';
// Support port number specified in the hostname with a colon (:)
list($host, $port) = explode(':', $vars['dbhost']);
if ($port && (!is_numeric($port) || !((int)$port)))
$this->errors['db'] = 'Database port number must be a number';
elseif ($port && ($port < 1 || $port > 65535))
$this->errors['db'] = 'Invalid database port number';
//MYSQL: Connect to the DB and check the version & database (create database if it doesn't exist!)
if(!$this->errors) {
if(!db_connect($vars['dbhost'],$vars['dbuser'],$vars['dbpass']))
......
......@@ -2,6 +2,6 @@
<div class="clear"></div>
</div> <!-- content -->
</div> <!-- wizard -->
<div id="footer" class="centered">Copyright &copy; 2012 <a target="_blank" href="http://osticket.com">osTicket.com</a></div>
<div id="footer" class="centered">Copyright &copy; 2013 <a target="_blank" href="http://osticket.com">osTicket.com</a></div>
</body>
</html>
......@@ -5,7 +5,7 @@
<title><?php echo $wizard['title']; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/wizard.css">
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/tips.js"></script>
<script type="text/javascript" src="js/setup.js"></script>
</head>
......
......@@ -36,7 +36,14 @@
</div>
<div id="t10">
<b>MySQL Hostname</b>
<p>Most hosts use 'localhost' for local database hostname. Check with your host if localhost fails. Default port set in php.ini is assumed.</p>
<p>
Most hosts use 'localhost' for local database hostname. Check with your
host if localhost fails.
</p>
<p>
Default port set in php.ini is assumed. A non-standard port number can be
specified as <code>hostname:port</code>
</p>
</div>
<div id="t11">
<b>MySQL Database</b>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment