myaac/system/database.php
slawkens1 08fce2ade4 * Fixed
* full support for OTHire 0.0.3
* added support for otservers that doesn't use account.name field,
instead just account number will be used
* (install) moved admin account creation to new step
* fixed encryption detection on 0.3
* fixed bug when server_config table doesn't exist
* other fixes
2017-05-03 23:48:04 +02:00

80 lines
3.4 KiB
PHP

<?php
defined('MYAAC') or die('Direct access not allowed!');
if(isset($config['lua']['sqlType'])) // tfs 0.3
{
$config['otserv_version'] = TFS_03;
$config['database_type'] = $config['lua']['sqlType'];
$config['database_host'] = $config['lua']['sqlHost'];
$config['database_port'] = $config['lua']['sqlPort'];
$config['database_user'] = $config['lua']['sqlUser'];
$config['database_password'] = $config['lua']['sqlPass'];
$config['database_name'] = $config['lua']['sqlDatabase'];
$config['database_encryption'] = $config['lua']['encryptionType'];
if(!isset($config['database_encryption']) || empty($config['database_encryption'])) // before 0.3.6
$config['database_encryption'] = $config['lua']['passwordType'];
}
else if(isset($config['lua']['mysqlHost'])) // tfs 0.2/1.0
{
$config['otserv_version'] = TFS_02;
$config['database_type'] = 'mysql';
$config['database_host'] = $config['lua']['mysqlHost'];
$config['database_port'] = $config['lua']['mysqlPort'];
$config['database_user'] = $config['lua']['mysqlUser'];
$config['database_password'] = $config['lua']['mysqlPass'];
$config['database_name'] = $config['lua']['mysqlDatabase'];
$config['database_encryption'] = 'sha1';
}
else if(isset($config['lua']['database_type'])) // otserv
{
$config['otserv_version'] = OTSERV;
$config['database_type'] = $config['lua']['database_type'];
$config['database_host'] = $config['lua']['database_host'];
$config['database_port'] = $config['lua']['database_port'];
$config['database_user'] = $config['lua']['database_username'];
$config['database_password'] = $config['lua']['database_password'];
$config['database_name'] = $config['lua']['database_schema'];
$config['database_encryption'] = isset($config['lua']['passwordtype']) ? $config['lua']['passwordtype'] : $config['lua']['password_type'];
$config['database_salt'] = isset($config['lua']['passwordsalt']) ? $config['lua']['passwordsalt'] : $config['lua']['password_salt'];
}
else if(isset($config['lua']['sql_host'])) // otserv 0.6.3 / 0.6.4
{
$config['otserv_version'] = OTSERV_06;
$config['database_type'] = $config['lua']['sql_type'];
$config['database_host'] = $config['lua']['sql_host'];
$config['database_port'] = $config['lua']['sql_port'];
$config['database_user'] = $config['lua']['sql_user'];
$config['database_password'] = $config['lua']['sql_pass'];
$config['database_name'] = $config['lua']['sql_db'];
$config['database_encryption'] = isset($config['lua']['passwordtype']) ? $config['lua']['passwordtype'] : $config['lua']['password_type'];
$config['database_salt'] = isset($config['lua']['passwordsalt']) ? $config['lua']['passwordsalt'] : $config['lua']['password_salt'];
}
if(isset($config['lua']['useMD5Passwords']) && getBoolean($config['lua']['useMD5Passwords']))
$config['database_encryption'] = 'md5';
try {
$ots->connect(POT::DB_MYSQL,
array(
'host' => $config['database_host'],
'user' => $config['database_user'],
'password' => $config['database_password'],
'database' => $config['database_name']
)
);
}
catch(PDOException $error) {
if(isset($cache) && $cache->enabled()) {
$cache->delete('config_lua');
}
die('ERROR: Cannot connect to MySQL database.<br/>' .
'Possible reasons:' .
'<ul>' .
'<li>MySQL is not configured propertly in <i>config.lua</i>.</li>' .
'<li>MySQL server is not running.</li>' .
'</ul>' . $error);
}
$db = POT::getInstance()->getDBHandle();
?>