diff --git a/classes/website.php b/classes/website.php index 4a199f8..6fa71df 100644 --- a/classes/website.php +++ b/classes/website.php @@ -118,14 +118,23 @@ public static function fileExists($path) return file_exists($path); } - public static function setPasswordsEncryption($encryption) - { - if(isset(self::$passwordsEncryptions[strtolower($encryption)])) - self::$passwordsEncryption = strtolower($encryption); - else + public static function updatePasswordEncryption() + { + $encryptionTypeLowerd = strtolower(self::getServerConfig()->getValue('passwordType')); + if (empty($encryptionTypeLowerd)) { // TFS 1.1+ + $encryptionTypeLowerd = $config['site']['encryptionType']; + if (empty($encryptionTypeLowerd)) { + $encryptionTypeLowerd = 'sha1'; + } + } + + if (isset(self::$passwordsEncryptions[$encryptionTypeLowerd])) { + self::$passwordsEncryption = $encryptionTypeLowerd; + } else { new Error_Critic('#C-12', 'Invalid passwords encryption ( ' . htmlspecialchars($encryption) . '). Must be one of these: ' . implode(', ', self::$passwordsEncryptions)); + } } - + public static function getPasswordsEncryption() { return self::$passwordsEncryption; @@ -227,4 +236,4 @@ public static function getCountryCode($IP) } return $lastCountryCode; } -} \ No newline at end of file +} diff --git a/config/config.php b/config/config.php index 8157197..c3725a5 100644 --- a/config/config.php +++ b/config/config.php @@ -10,6 +10,7 @@ $config['site']['item_images_extension'] = '.gif'; $config['site']['flag_images_url'] = 'http://flag-images.ots.me/'; $config['site']['flag_images_extension'] = '.png'; +$config['site']['encryptionType'] = 'sha1'; # Create Account Options $config['site']['one_email'] = false; @@ -25,7 +26,6 @@ $config['site']['newchar_towns'] = array(2); $config['site']['max_players_per_account'] = 7; - # Emails Config $config['site']['send_emails'] = false; $config['site']['mail_address'] = "xxxx@gmx.com"; @@ -37,7 +37,7 @@ $config['site']['smtp_pass'] = "xxxx"; # PAGE: whoisonline.php -$config['site']['private-servlist.com_server_id'] = 1; +$config['site']['private-servlist.com_server_id'] = 0; /* Server id on 'private-servlist.com' to show Players Online Chart (whoisonline.php page), set 0 to disable Chart feature. To use this feature you must register on 'private-servlist.com' and add your server. @@ -91,4 +91,4 @@ $config['site']['darkborder'] = '#D4C0A1'; $config['site']['lightborder'] = '#F1E0C6'; $config['site']['download_page'] = false; -$config['site']['serverinfo_page'] = true; \ No newline at end of file +$config['site']['serverinfo_page'] = true; diff --git a/install.php b/install.php index 6065eee..4c7b855 100644 --- a/install.php +++ b/install.php @@ -175,7 +175,7 @@ function setServerPath($newPath) Website::getDBHandle()->setDatabasePassword(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_PASS)); else new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_PASS . ' in server config file.'); - Website::setPasswordsEncryption(Website::getServerConfig()->getValue('passwordType')); + Website::updatePasswordEncryption(); $SQL = Website::getDBHandle(); } diff --git a/system/load.compat.php b/system/load.compat.php index 6bf71f5..fe6bf80 100644 --- a/system/load.compat.php +++ b/system/load.compat.php @@ -49,8 +49,11 @@ $topic = $subtopic; $passwordency = Website::getServerConfig()->getValue('passwordType'); -if($passwordency == 'plain') +if (empty($passwordency)) { + $passwordency = 'sha1'; +} else if ($passwordency == 'plain') { $passwordency = ''; +} $news_content = ''; $vocation_name = array(); diff --git a/system/load.database.php b/system/load.database.php index bfbb629..30d9a13 100644 --- a/system/load.database.php +++ b/system/load.database.php @@ -1,39 +1,49 @@ isSetKey('mysqlHost')) -{ - define('SERVERCONFIG_SQL_HOST', 'mysqlHost'); - define('SERVERCONFIG_SQL_PORT', 'mysqlPort'); - define('SERVERCONFIG_SQL_USER', 'mysqlUser'); - define('SERVERCONFIG_SQL_PASS', 'mysqlPass'); - define('SERVERCONFIG_SQL_DATABASE', 'mysqlDatabase'); - define('SERVERCONFIG_SQLITE_FILE', 'sqlFile'); -} -else - new Error_Critic('#E-3', 'There is no key mysqlHost in server config', array(new Error('INFO', 'use server config cache: ' . (Website::getWebsiteConfig()->getValue('useServerConfigCache') ? 'true' : 'false') . ''))); -Website::setDatabaseDriver(Database::DB_MYSQL); -if(Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_HOST)) - Website::getDBHandle()->setDatabaseHost(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_HOST)); -else - new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_HOST . ' in server config file.'); -if(Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_PORT)) - Website::getDBHandle()->setDatabasePort(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_PORT)); -else - new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_PORT . ' in server config file.'); -if(Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_DATABASE)) - Website::getDBHandle()->setDatabaseName(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_DATABASE)); -else - new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_DATABASE . ' in server config file.'); -if(Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_USER)) - Website::getDBHandle()->setDatabaseUsername(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_USER)); -else - new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_USER . ' in server config file.'); -if(Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_PASS)) - Website::getDBHandle()->setDatabasePassword(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_PASS)); -else - new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_PASS . ' in server config file.'); + if (Website::getServerConfig()->isSetKey('mysqlHost')) { + define('SERVERCONFIG_SQL_HOST', 'mysqlHost'); + define('SERVERCONFIG_SQL_PORT', 'mysqlPort'); + define('SERVERCONFIG_SQL_USER', 'mysqlUser'); + define('SERVERCONFIG_SQL_PASS', 'mysqlPass'); + define('SERVERCONFIG_SQL_DATABASE', 'mysqlDatabase'); + define('SERVERCONFIG_SQLITE_FILE', 'sqlFile'); + } else { + new Error_Critic('#E-3', 'There is no key mysqlHost in server config', array(new Error('INFO', 'use server config cache: ' . (Website::getWebsiteConfig()->getValue('useServerConfigCache') ? 'true' : 'false') . ''))); + } -Website::setPasswordsEncryption(Website::getServerConfig()->getValue('passwordType')); -$SQL = Website::getDBHandle(); \ No newline at end of file + Website::setDatabaseDriver(Database::DB_MYSQL); + if (Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_HOST)) { + Website::getDBHandle()->setDatabaseHost(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_HOST)); + } else { + new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_HOST . ' in server config file.'); + } + + if (Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_PORT)) { + Website::getDBHandle()->setDatabasePort(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_PORT)); + } else { + new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_PORT . ' in server config file.'); + } + + if (Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_DATABASE)) { + Website::getDBHandle()->setDatabaseName(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_DATABASE)); + } else { + new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_DATABASE . ' in server config file.'); + } + + if (Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_USER)) { + Website::getDBHandle()->setDatabaseUsername(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_USER)); + } else { + new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_USER . ' in server config file.'); + } + + if (Website::getServerConfig()->isSetKey(SERVERCONFIG_SQL_PASS)) { + Website::getDBHandle()->setDatabasePassword(Website::getServerConfig()->getValue(SERVERCONFIG_SQL_PASS)); + } else { + new Error_Critic('#E-7', 'There is no key ' . SERVERCONFIG_SQL_PASS . ' in server config file.'); + } + + Website::updatePasswordEncryption(); + $SQL = Website::getDBHandle();