some small update

* moved site_closed to database, now you can close your site through
admin panel
* added option to admin panel: clear cache
* added experiencetable_rows configurable
* optimized OTS_Account->getGroupId(), now its using like 20 queries
less
* optimized OTS_Player->load($id) function, should perform faster
loading
* fixed highscores displaying of group outfits
This commit is contained in:
slawkens1
2017-05-19 02:30:39 +02:00
parent 6658eb5f20
commit 1310a49729
17 changed files with 265 additions and 93 deletions

View File

@@ -10,7 +10,80 @@
*/
defined('MYAAC') or die('Direct access not allowed!');
$title = 'Dashboard';
if($cache->enabled()) {
if(isset($_GET['clear_cache'])) {
if(clearCache())
success('Cache cleared.');
else
error('Error while clearing cache.');
}
?>
<table class="table">
<tr>
<th><a href="?p=dashboard&clear_cache" onclick="return confirm('Are you sure?');">Clear cache</a></th>
</tr>
</table>
<?php
}
if(isset($_GET['maintenance'])) {
$_status = (int)$_POST['status'];
$message = $_POST['message'];
if(empty($message)) {
error('Message cannot be empty.');
}
else if(strlen($message) > 255) {
error('Message is too long. Maximum length allowed is 255 chars.');
}
else {
$tmp = '';
if(fetchDatabaseConfig('site_closed', $tmp))
updateDatabaseConfig('site_closed', $_status);
else
registerDatabaseConfig('site_closed', $_status);
if(fetchDatabaseConfig('site_closed_message', $tmp))
updateDatabaseConfig('site_closed_message', $message);
else
registerDatabaseConfig('site_closed_message', $message);
}
}
$is_closed = getDatabaseConfig('site_closed') == '1';
$closed_message = 'Server is under maintance, please visit later.';
$tmp = '';
if(fetchDatabaseConfig('site_closed_message', $tmp))
$closed_message = $tmp;
?>
<form action="?p=dashboard&maintenance" method="post">
<table class="table">
<tr>
<th colspan="2">Maintenance
</th>
</tr>
<tr>
<td>Site status:</td>
<td>
<select name="status">
<option value="0"<?php echo (!$is_closed ? ' selected' : ''); ?>>Open</option>
<option value="1"<?php echo ($is_closed ? ' selected' : ''); ?>>Closed</option>
</select>
</td>
</tr>
<tr>
<td>Message: (only if closed)</td>
<td>
<textarea name="message" maxlength="255"><?php echo $closed_message; ?></textarea>
<td>
</tr>
<tr>
<td colspan="2">
<input type="submit" class="button" value="Update"/>
</td>
</table>
</form>
<br/>
<div>
<?php if($status['online']): ?>
<p class="success" style="width: 150px; text-align: center;">Status: Online<br/>
@@ -39,26 +112,69 @@ $title = 'Dashboard';
</div-->
<?php if($status['online']): ?>
<script type="text/javascript">
var hidden = false;
$(document).ready(function() {
$("#status-more").hide();
$("#more-button").text("More");
hidden = true;
});
$("#more-button").click(function() {
if(hidden) {
if($("#status-more").is(":hidden")) {
$("#more-button").text("Hide");
$("#status-more").show();
hidden = false;
}
else {
$("#more-button").text("More");
$("#status-more").hide();
hidden = true;
}
return false;
});
</script>
<?php endif; ?>
<?php endif;
function clearCache()
{
global $cache, $template_name;
$tmp = '';
if($cache->fetch('status', $tmp))
$cache->delete('status');
if($cache->fetch('templates', $tmp))
$cache->delete('templates');
if($cache->fetch('config_lua', $tmp))
$cache->delete('config_lua');
if($cache->fetch('vocations', $tmp))
$cache->delete('vocations');
if($cache->fetch('towns', $tmp))
$cache->delete('towns');
if($cache->fetch('groups', $tmp))
$cache->delete('groups');
if($cache->fetch('visitors', $tmp))
$cache->delete('visitors');
if($cache->fetch('views_counter', $tmp))
$cache->delete('views_counter');
if($cache->fetch('failed_logins', $tmp))
$cache->delete('failed_logins');
if($cache->fetch('news' . $template_name . '_' . NEWS, $tmp))
$cache->delete('news' . $template_name . '_' . NEWS);
if($cache->fetch('news' . $template_name . '_' . TICKET, $tmp))
$cache->delete('news' . $template_name . '_' . TICKET);
if($cache->fetch('news' . $template_name . '_' . ARTICLE, $tmp))
$cache->delete('news' . $template_name . '_' . ARTICLE);
if($cache->fetch('template_ini' . $template_name, $tmp))
$cache->delete('template_ini' . $template_name);
return true;
}

View File

@@ -307,7 +307,7 @@ if(!isset($player) || !$player->isLoaded())
$account = $player->getAccount();
?>
<br/><br/>
<br/>
<form action="<?php echo $base . ((isset($id) && $id > 0) ? '&id=' . $id : ''); ?>" method="post">
<table class="table" cellspacing="1" cellpadding="4">
<tr><th colspan="2">Edit player</th></tr>

View File

@@ -12,8 +12,7 @@
defined('MYAAC') or die('Direct access not allowed!');
$title = 'Characters';
require(SYSTEM . 'item.php');
//require(SYSTEM . 'item.php');
$groups = new OTS_Groups_List();
function generate_search_table($script = false)
{

View File

@@ -33,7 +33,7 @@ Remember you can also check the respective skill bar in your skill window of the
<td><b>Experience</b></td>
</tr>
<?php
for($level = $i * 100 + 1; $level < $i * 100 + 101; $level++)
for($level = $i * $config['experiencetable_rows'] + 1; $level < $i * $config['experiencetable_rows'] + ($config['experiencetable_rows'] + 1); $level++)
{
?>
<tr bgcolor="<?php echo $config['lightborder']; ?>">

View File

@@ -199,7 +199,7 @@ echo '
echo '
<td>' . ($offset + $i) . '.</td>';
if($config['highscores_outfit'])
echo '<td><img style="position:absolute;margin-top:-45px;margin-left:-25px;" src="' . $config['outfit_images_url'] . '?id=' . $player['looktype'] . ($outfit_addons ? '&addons=' . $player['lookaddons'] : '') . '&head=' . $player['lookhead'] . '&body=' . $player['lookbody'] . '&legs=' . $player['looklegs'] . '&feet=' . $player['lookfeet'] . '" alt="" /></td>';
echo '<td><img style="position:absolute;margin-top:' . (in_array($player['looktype'], array(75, 266, 302)) ? '-15px;margin-left:5px' : '-45px;margin-left:-25px') . ';" src="' . $config['outfit_images_url'] . '?id=' . $player['looktype'] . ($outfit_addons ? '&addons=' . $player['lookaddons'] : '') . '&head=' . $player['lookhead'] . '&body=' . $player['lookbody'] . '&legs=' . $player['looklegs'] . '&feet=' . $player['lookfeet'] . '" alt="" /></td>';
echo '
<td>

View File

@@ -94,10 +94,6 @@ $title = 'Latest News';
$news_cached = false;
// some constants, used mainly by database (cannot by modified without schema changes)
define('NEWS', 1);
define('TICKET', 2);
define('ARTICLE', 3);
define('TITLE_LIMIT', 100);
define('BODY_LIMIT', 65535); // maximum news body length