mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 09:19:22 +02:00
Some fixes
* more info displayed when cannot connect to database * added Cache:delete($key) function * added support for OTHire 0.0.3 * deleted unused ODBC and PostgreSQL files * fixed support for Gesior layouts
This commit is contained in:
parent
d3395e2eaf
commit
769c2942a4
@ -234,7 +234,7 @@ if(!$error) {
|
||||
$account_db->save();
|
||||
}
|
||||
else {
|
||||
$new_account = $ots->createObject('Account');
|
||||
$new_account = new OTS_Account();
|
||||
$new_account->create('dummy_account', 1);
|
||||
$account_db->setPassword('for sample characters. ' . generateRandomString(10));
|
||||
}
|
||||
|
@ -3,14 +3,14 @@
|
||||
*
|
||||
* @param string $name
|
||||
* @param boolean $ok
|
||||
* @param mixed $version
|
||||
* @param mixed $info
|
||||
*/
|
||||
function version_check($name, $ok, $version = '', $warning = false)
|
||||
function version_check($name, $ok, $info = '', $warning = false)
|
||||
{
|
||||
global $failed;
|
||||
echo '<p class="' . ($ok ? 'success' : ($warning ? 'warning' : 'error')) . '">' . $name;
|
||||
if(!empty($version))
|
||||
echo ': <b>' . $version . '</b>';
|
||||
if(!empty($info))
|
||||
echo ': <b>' . $info . '</b>';
|
||||
|
||||
echo '</p>';
|
||||
if(!$ok && !$warning)
|
||||
@ -33,8 +33,9 @@ version_check('register_long_arrays', !$ini_register_globals, $ini_register_glob
|
||||
$ini_safe_mode = ini_get_bool('safe_mode');
|
||||
version_check('safe_mode', !$ini_safe_mode, $ini_safe_mode ? $locale['on'] : $locale['off'], true);
|
||||
|
||||
version_check('PDO extension loaded', extension_loaded('pdo'), '', false);
|
||||
version_check('zip extension loaded', extension_loaded('zip'), '', false);
|
||||
version_check(str_replace('$EXTENSION$', 'PDO', $locale['step_requirements_extension']) , extension_loaded('pdo'), extension_loaded('pdo') ? $locale['loaded'] : $locale['not_loaded']);
|
||||
version_check(str_replace('$EXTENSION$', 'XML', $locale['step_requirements_extension']), extension_loaded('xml'), extension_loaded('xml') ? $locale['loaded'] : $locale['not_loaded']);
|
||||
version_check(str_replace('$EXTENSION$', 'ZIP', $locale['step_requirements_extension']), extension_loaded('zip'), extension_loaded('zip') ? $locale['loaded'] : $locale['not_loaded']);
|
||||
|
||||
if($failed)
|
||||
{
|
||||
|
@ -65,12 +65,16 @@ defined('MYAAC') or die('Direct access not allowed!');
|
||||
);
|
||||
}
|
||||
catch(PDOException $error) {
|
||||
if($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>');
|
||||
'</ul>' . $error);
|
||||
|
||||
}
|
||||
$db = POT::getInstance()->getDBHandle();
|
||||
?>
|
@ -381,6 +381,8 @@ function delete_guild($id)
|
||||
foreach($rank_list as $rank_in_guild) {
|
||||
if(fieldExist('rank_id', 'players'))
|
||||
$players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;');
|
||||
else if(tableExist('guild_members'))
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_members`.`rank_id` as `rank_id` FROM `players`, `guild_members` WHERE `guild_members`.`rank_id` = ' . $rank_in_guild->getId() . ' AND `players`.`id` = `guild_members`.`player_id` ORDER BY `name`;');
|
||||
else
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_membership`.`rank_id` as `rank_id` FROM `players`, `guild_membership` WHERE `guild_membership`.`rank_id` = ' . $rank_in_guild->getId() . ' AND `players`.`id` = `guild_membership`.`player_id` ORDER BY `name`;');
|
||||
|
||||
|
@ -91,6 +91,15 @@ else if(isset($config['lua']['data_directory'][0]))
|
||||
if($tmp[strlen($tmp) - 1] != '/') // do not forget about trailing slash
|
||||
$tmp .= '/';
|
||||
}
|
||||
else if(isset($config['lua']['datadir'][0]))
|
||||
{
|
||||
$tmp = $config['lua']['datadir'];
|
||||
if($tmp[0] != '/')
|
||||
$tmp = $config['server_path'] . $tmp;
|
||||
|
||||
if($tmp[strlen($tmp) - 1] != '/') // do not forget about trailing slash
|
||||
$tmp .= '/';
|
||||
}
|
||||
else
|
||||
$tmp = $config['server_path'] . 'data/';
|
||||
|
||||
|
@ -42,6 +42,10 @@ class Cache_APC
|
||||
return ($var = apc_fetch($this->prefix . $key)) !== false;
|
||||
}
|
||||
|
||||
public function delete($key) {
|
||||
apc_delete($key);
|
||||
}
|
||||
|
||||
public function enabled() {
|
||||
return $this->enabled;
|
||||
}
|
||||
|
@ -41,6 +41,10 @@ class Cache_eAccelerator
|
||||
return ($var = eaccelerator_get($this->prefix . $key)) !== null;
|
||||
}
|
||||
|
||||
public function delete($key) {
|
||||
eaccelerator_rm($key);
|
||||
}
|
||||
|
||||
public function enabled() {
|
||||
return $this->enabled;
|
||||
}
|
||||
|
@ -51,6 +51,13 @@ class Cache_File
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delete($key)
|
||||
{
|
||||
$file = $this->_name($key);
|
||||
if(file_exists($file))
|
||||
unlink($file);
|
||||
}
|
||||
|
||||
public function enabled() {
|
||||
return $this->enabled;
|
||||
}
|
||||
|
@ -47,6 +47,10 @@ class Cache_XCache
|
||||
return true;
|
||||
}
|
||||
|
||||
public function delete($key) {
|
||||
xcache_unset($key);
|
||||
}
|
||||
|
||||
public function enabled() {
|
||||
return $this->enabled;
|
||||
}
|
||||
|
@ -1,110 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**#@+
|
||||
* @version 0.0.4
|
||||
* @since 0.0.4
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package POT
|
||||
* @version 0.1.3
|
||||
* @author Wrzasq <wrzasq@gmail.com>
|
||||
* @copyright 2007 - 2008 (C) by Wrzasq
|
||||
* @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU Lesser General Public License, Version 3
|
||||
*/
|
||||
|
||||
/**
|
||||
* ODBC connection interface.
|
||||
*
|
||||
* <p>
|
||||
* At all everything that you really need to read from this class documentation is list of parameters for driver's constructor.
|
||||
* </p>
|
||||
*
|
||||
* @package POT
|
||||
* @version 0.1.3
|
||||
*/
|
||||
class OTS_DB_ODBC extends OTS_Base_DB
|
||||
{
|
||||
/**
|
||||
* Creates database connection.
|
||||
*
|
||||
* <p>
|
||||
* Connects to ODBC data source on given arguments.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* List of parameters for this drivers:
|
||||
* </p>
|
||||
*
|
||||
* <ul>
|
||||
* <li><var>host</var> - database host.</li>
|
||||
* <li><var>port</var> - ODBC driver.</li>
|
||||
* <li><var>database</var> - database name.</li>
|
||||
* <li><var>user</var> - user login.</li>
|
||||
* <li><var>password</var> - user password.</li>
|
||||
* <li><var>source</var> - ODBC data source.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>
|
||||
* Note: Since 0.1.3 version <var>source</var> parameter was added.
|
||||
* </p>
|
||||
*
|
||||
* @version 0.1.3
|
||||
* @param array $params Connection parameters.
|
||||
* @throws PDOException On PDO operation error.
|
||||
*/
|
||||
public function __construct($params)
|
||||
{
|
||||
$user = null;
|
||||
$password = null;
|
||||
$dns = array();
|
||||
|
||||
if( isset($params['host']) )
|
||||
{
|
||||
$dns[] = 'HOSTNAME={' . $params['host'] . '}';
|
||||
}
|
||||
|
||||
if( isset($params['port']) )
|
||||
{
|
||||
$dns[] = 'DRIVER={' . $params['port'] . '}';
|
||||
}
|
||||
|
||||
if( isset($params['database']) )
|
||||
{
|
||||
$dns[] = 'DATABASE={' . $params['database'] . '}';
|
||||
}
|
||||
|
||||
if( isset($params['user']) )
|
||||
{
|
||||
$user = $params['user'];
|
||||
$dns[] = 'UID={' . $user . '}';
|
||||
}
|
||||
|
||||
if( isset($params['password']) )
|
||||
{
|
||||
$password = $params['password'];
|
||||
$dns[] = 'PWD={' . $user . '}';
|
||||
}
|
||||
|
||||
if( isset($params['prefix']) )
|
||||
{
|
||||
$this->prefix = $params['prefix'];
|
||||
}
|
||||
|
||||
// composes DNS
|
||||
$dns = implode(';', $dns);
|
||||
|
||||
// source parameter overwrites all other params
|
||||
if( isset($params['source']) )
|
||||
{
|
||||
$dns = $params['source'];
|
||||
}
|
||||
|
||||
// PDO constructor
|
||||
parent::__construct('odbc:' . $dns, $user, $password);
|
||||
}
|
||||
}
|
||||
|
||||
/**#@-*/
|
||||
|
||||
?>
|
@ -1,103 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**#@+
|
||||
* @version 0.0.4
|
||||
* @since 0.0.4
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package POT
|
||||
* @version 0.1.3
|
||||
* @author Wrzasq <wrzasq@gmail.com>
|
||||
* @copyright 2007 (C) by Wrzasq
|
||||
* @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU Lesser General Public License, Version 3
|
||||
*/
|
||||
|
||||
/**
|
||||
* PostgreSQL connection interface.
|
||||
*
|
||||
* <p>
|
||||
* At all everything that you really need to read from this class documentation is list of parameters for driver's constructor.
|
||||
* </p>
|
||||
*
|
||||
* @package POT
|
||||
* @version 0.1.3
|
||||
*/
|
||||
class OTS_DB_PostgreSQL extends OTS_Base_DB
|
||||
{
|
||||
/**
|
||||
* Creates database connection.
|
||||
*
|
||||
* <p>
|
||||
* Connects to PgSQL (PostgreSQL) database on given arguments.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* List of parameters for this drivers:
|
||||
* </p>
|
||||
*
|
||||
* <ul>
|
||||
* <li><var>host</var> - database server.</li>
|
||||
* <li><var>port</var> - port (optional, also it is possible to use host:port in <var>host</var> parameter).</li>
|
||||
* <li><var>database</var> - database name.</li>
|
||||
* <li><var>user</var> - user login.</li>
|
||||
* <li><var>password</var> - user password.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @version 0.0.6
|
||||
* @param array $params Connection parameters.
|
||||
* @throws PDOException On PDO operation error.
|
||||
*/
|
||||
public function __construct($params)
|
||||
{
|
||||
$user = null;
|
||||
$password = null;
|
||||
$dns = array();
|
||||
|
||||
// host:port support
|
||||
if( strpos(':', $params['host']) !== false)
|
||||
{
|
||||
$host = explode(':', $params['host'], 2);
|
||||
|
||||
$params['host'] = $host[0];
|
||||
$params['port'] = $host[1];
|
||||
}
|
||||
|
||||
if( isset($params['host']) )
|
||||
{
|
||||
$dns[] = 'host=' . $params['host'];
|
||||
}
|
||||
|
||||
if( isset($params['port']) )
|
||||
{
|
||||
$dns[] = 'port=' . $params['port'];
|
||||
}
|
||||
|
||||
if( isset($params['database']) )
|
||||
{
|
||||
$dns[] = 'dbname=' . $params['database'];
|
||||
}
|
||||
|
||||
if( isset($params['user']) )
|
||||
{
|
||||
$user = $params['user'];
|
||||
}
|
||||
|
||||
if( isset($params['password']) )
|
||||
{
|
||||
$password = $params['password'];
|
||||
}
|
||||
|
||||
if( isset($params['prefix']) )
|
||||
{
|
||||
$this->prefix = $params['prefix'];
|
||||
}
|
||||
|
||||
// PDO constructor
|
||||
parent::__construct('pgsql:' . implode(' ', $dns), $user, $password);
|
||||
}
|
||||
}
|
||||
|
||||
/**#@-*/
|
||||
|
||||
?>
|
@ -12,6 +12,11 @@
|
||||
defined('MYAAC') or die('Direct access not allowed!');
|
||||
$title = 'Guilds';
|
||||
|
||||
if(tableExist('guild_members'))
|
||||
define('GUILD_MEMBERS_TABLE', 'guild_members');
|
||||
else
|
||||
define('GUILD_MEMBERS_TABLE', 'guild_membership');
|
||||
|
||||
if($action == 'login')
|
||||
{
|
||||
if(check_guild_name($_REQUEST['guild']))
|
||||
@ -261,7 +266,7 @@ if($action == 'show')
|
||||
if(fieldExist('rank_id', 'players'))
|
||||
$players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;');
|
||||
else
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_membership`.`rank_id` as `rank_id` FROM `players`, `guild_membership` WHERE `guild_membership`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `guild_membership`.`player_id` ORDER BY `name`;');
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `' . GUILD_MEMBERS_TABLE . '`.`rank_id` as `rank_id` FROM `players`, `' . GUILD_MEMBERS_TABLE . '` WHERE `' . GUILD_MEMBERS_TABLE . '`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `' . GUILD_MEMBERS_TABLE . '`.`player_id` ORDER BY `name`;');
|
||||
|
||||
$players_with_rank_number = $players_with_rank->rowCount();
|
||||
if($players_with_rank_number > 0)
|
||||
@ -491,7 +496,7 @@ if($action == 'changerank')
|
||||
if(fieldExist('rank_id', 'players'))
|
||||
$players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;');
|
||||
else
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_membership`.`rank_id` as `rank_id` FROM `players`, `guild_membership` WHERE `guild_membership`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `guild_membership`.`player_id` ORDER BY `name`;');
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `' . GUILD_MEMBERS_TABLE . '`.`rank_id` as `rank_id` FROM `players`, `' . GUILD_MEMBERS_TABLE . '` WHERE `' . GUILD_MEMBERS_TABLE . '`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `' . GUILD_MEMBERS_TABLE . '`.`player_id` ORDER BY `name`;');
|
||||
|
||||
$players_with_rank_number = $players_with_rank->rowCount();
|
||||
if(count($players_with_rank) > 0)
|
||||
@ -573,7 +578,7 @@ if($action == 'changerank')
|
||||
if(fieldExist('rank_id', 'players'))
|
||||
$players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;');
|
||||
else
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_membership`.`rank_id` as `rank_id` FROM `players`, `guild_membership` WHERE `guild_membership`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `guild_membership`.`player_id` ORDER BY `name`;');
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `' . GUILD_MEMBERS_TABLE . '`.`rank_id` as `rank_id` FROM `players`, `' . GUILD_MEMBERS_TABLE . '` WHERE `' . GUILD_MEMBERS_TABLE . '`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `' . GUILD_MEMBERS_TABLE . '`.`player_id` ORDER BY `name`;');
|
||||
|
||||
$players_with_rank_number = $players_with_rank->rowCount();
|
||||
if(count($players_with_rank) > 0)
|
||||
@ -1598,7 +1603,7 @@ else
|
||||
if(fieldExist('rank_id', 'players'))
|
||||
$players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;');
|
||||
else
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_membership`.`rank_id` as `rank_id` FROM `players`, `guild_membership` WHERE `guild_membership`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `guild_membership`.`player_id` ORDER BY `name`;');
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `' . GUILD_MEMBERS_TABLE . '`.`rank_id` as `rank_id` FROM `players`, `' . GUILD_MEMBERS_TABLE . '` WHERE `' . GUILD_MEMBERS_TABLE . '`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `' . GUILD_MEMBERS_TABLE . '`.`player_id` ORDER BY `name`;');
|
||||
|
||||
$players_with_rank_number = $players_with_rank->rowCount();
|
||||
if($players_with_rank_number > 0) {
|
||||
|
@ -36,7 +36,9 @@ if($config['template_allow_change'])
|
||||
}
|
||||
$template_path = 'templates/' . $template_name;
|
||||
|
||||
if(!file_exists($template_path . '/config.php'))
|
||||
if(!file_exists($template_path . '/index.php') &&
|
||||
!file_exists($template_path . '/template.php') &&
|
||||
!file_exists($template_path . '/layout.php'))
|
||||
{
|
||||
$template_name = 'kathrine';
|
||||
$template_path = 'templates/' . $template_name;
|
||||
@ -66,7 +68,7 @@ if($exists || ($config['backward_support'] && file_exists($template_path . '/lay
|
||||
foreach($template_ini as $key => $value)
|
||||
$config[$key] = $value;
|
||||
}
|
||||
else
|
||||
else if(file_exists($template_path . '/config.php'))
|
||||
require($template_path . '/config.php');
|
||||
|
||||
$template = array();
|
||||
@ -76,7 +78,7 @@ $template['link_account_lost'] = internalLayoutLink(($config['friendly_urls'] ?
|
||||
$template['link_account_logout'] = internalLayoutLink(($config['friendly_urls'] ? 'account' : 'accountmanagement'), 'logout');
|
||||
|
||||
$template['link_news'] = internalLayoutLink('news');
|
||||
$template['link_news_archive'] = internalLayoutLink('news' . ($config['friendly_urls'] ? '' : '') . 'archive');
|
||||
$template['link_news_archive'] = internalLayoutLink('news' . ($config['friendly_urls'] ? '/' : '') . 'archive');
|
||||
$template['link_changelog'] = internalLayoutLink('changelog');
|
||||
$template['link_rules'] = internalLayoutLink('rules');
|
||||
$template['link_downloads'] = internalLayoutLink('downloads');
|
||||
|
@ -51,9 +51,9 @@
|
||||
|
||||
<div id="mainsubmenu">
|
||||
<div id="news-submenu">
|
||||
<a href="<?php echo internalLayoutLink('news'); ?>">Latest News</a>
|
||||
<a href="<?php echo $template['link_news']; ?>">Latest News</a>
|
||||
<span class="separator"></span>
|
||||
<a href="<?php echo internalLayoutLink('news' . ($config['friendly_urls'] ? '' : '') . 'archive')?>">News Archives</a>
|
||||
<a href="<?php echo $template['link_news_archive']; ?>">News Archives</a>
|
||||
</div>
|
||||
|
||||
<div id="account-submenu">
|
||||
@ -159,7 +159,7 @@
|
||||
<div id="margins">
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td><a href="<?php echo internalLayoutLink('news'); ?>"><?php echo $config['lua']['serverName']; ?></a> » <?php echo $title; ?></td>
|
||||
<td><a href="<?php echo $template['link_news']; ?>"><?php echo $config['lua']['serverName']; ?></a> » <?php echo $title; ?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($status['online'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user