Merge branch 'develop' into feature/admin-bar

This commit is contained in:
slawkens
2021-05-01 15:04:04 +02:00
713 changed files with 3294 additions and 40211 deletions

View File

@@ -54,6 +54,10 @@
<td></td><td><span id="email_error" class="FormFieldError">{% if errors.email is defined %}{{ errors.email }}{% endif %}</span></td>
</tr>
{% if config.mail_enabled and config.account_mail_verify %}
<tr><td></td><td><span><strong>Please use real address!<br/>We will send a link to validate your Email.</strong></span></td></tr>
{% endif %}
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_EMAIL') }}
{% if config.account_country %}
@@ -82,7 +86,7 @@
<span{% if errors.password is defined %} class="red"{% endif %}>Password:</span>
</td>
<td>
<input type="password" name="password" id="password" value="" size="30" maxlength="50" />
<input type="password" name="password" id="password" value="" size="30" maxlength="29" />
<img id="password_indicator" src="images/global/general/{% if not save or errors.password is defined %}n{% endif %}ok.gif" style="display: none;" />
</td>
</tr>
@@ -92,7 +96,7 @@
<span{% if errors.password is defined %} class="red"{% endif %}>Repeat password:</span>
</td>
<td>
<input type="password" name="password2" id="password2" value="" size="30" maxlength="50" />
<input type="password" name="password2" id="password2" value="" size="30" maxlength="29" />
<img id="password2_indicator" src="images/global/general/{% if not save or errors.password is defined %}n{% endif %}ok.gif" style="display: none;" />
</td>
</tr>

View File

@@ -2,7 +2,7 @@ Please choose a name{% if config.character_samples|length > 1 %}, vocation{% end
{% if config.character_towns|length > 1 %}, town{% endif %}
and sex for your character. <br/>
In any case the name must not violate the naming conventions stated in the <a href="?subtopic=rules" target="_blank" >{{ config.lua.serverName }} Rules</a>, or your character might get deleted or name locked.
{% if account_logged.getPlayersList()|length >= config.characters_per_account %}
{% if account_logged.getPlayersList(false)|length >= config.characters_per_account %}
<b><span style="color: red"> You have maximum number of characters per account on your account. Delete one before you make new.</span></b>
{% endif %}
<br/><br/>

View File

@@ -0,0 +1,59 @@
{% if action %}
<div class="card card-info card-outline">
<div class="card-header">
<h5 class="m-0">{{ (action == 'edit') ? 'Edit' : 'Add' }}</h5>
</div>
<form role="form" method="post" action="{{ cl_link_form }}" id="cl-edit-form">
<div class="card-body">
{% if action == 'edit' %}
<input type="hidden" name="id" value="{{ cl_id }}"/>
{% endif %}
<div class="form-group row">
<label for="body">Content</label>
<textarea class="form-control" id="body" name="body" maxlength="600" cols="50" rows="5">{{ body|raw }}</textarea>
</div>
<div class="form-group row">
<div class="col-12 col-sm-12 col-lg-6">
<label for="createdate" class="control-label">Date:</label>
<input type="text" class="form-control" id="createdate" name="createdate" autocomplete="off" maxlength="20" value="{{ create_date|date("M d Y, H:i:s") }}"/>
</div>
<div class="col-sm-6 pl-0">
<label for="player_id">Author</label>
<select class="form-control" name="player_id" id="player_id">
{% for player in account_players %}
<option value="{{ player.getId() }}"{% if player_id is defined and player.getId() == player_id %} selected="selected"{% endif %}>{{ player.getName() }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="form-group row">
<div class="col-sm-6 pl-0">
<label for="select-where">Where</label>
<select class="form-control" name="where" id="select-where">
{% for id, cat in log_where %}
<option value="{{ cat.id }}"
{% if (where == 0 and id == 1) or (where == cat.id) %}selected="selected"{% endif %}>{{ cat.icon|capitalize }}</option>
{% endfor %}
</select>
</div>
<div class="col-sm-6 pl-0">
<label for="select-type">Type</label>
<select class="form-control" name="type" id="select-type">
{% for id, cat in log_type %}
<option value="{{ cat.id }}"
{% if (type == 0 and id == 1) or (type == cat.id) %}selected="selected"{% endif %}>{{ cat.icon|capitalize }}</option>
{% endfor %}
</select>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-info"><i class="fas fa-update"></i> {{ (action == 'edit') ? 'Update' : 'Add' }}</button>
<button type="button" onclick="window.location = '{{ constant('ADMIN_URL') }}?p=changelog';"
class="btn btn-danger float-right"><i class="fas fa-cancel"></i> Cancel
</button>
</div>
</form>
</div>
{% endif %}

View File

@@ -0,0 +1,55 @@
<div class="card card-info card-outline">
<div class="card-header">
<h5 class="m-0">News:
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=new" class="float-right"><span
class="btn btn-sm btn-success">New</span></a>
</h5>
</div>
<div class="card-body">
<table class="tb_datatable table table-striped table-bordered table-responsive d-md-table">
<thead>
<tr>
<th width="5%">ID</th>
<th>Date</th>
<th>Description</th>
<th>Type</th>
<th>Where</th>
<th></th>
</tr>
</thead>
<tbody>
{% if changelogs|length > 0 %}
{% set i = 0 %}
{% for log in changelogs %}
<tr>
<td>{{ log.id }}</td>
<td>{{ log.date|date("j.m.Y") }}</td>
<td>{{ truncate(log.body|raw,20) }}</td>
<td><img src="{{ constant('BASE_URL') }}images/changelog/{{ log.type }}.png" alt="icon" title="{{ log.type|capitalize }}"/> {{ log.type|capitalize }}</td>
<td><img src="{{ constant('BASE_URL') }}images/changelog/{{ log.where }}.png" alt="icon" title="{{ log.where|capitalize }}"/> {{ log.where|capitalize }}</td>
<td>
<div class="btn-group">
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=edit&id={{ log.id }}" class="btn btn-success btn-sm" title="Edit">
<i class="fas fa-pencil-alt"></i>
</a>
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=delete&id={{ log.id }}" class="btn btn-danger btn-sm" onclick="return confirm('Are you sure?');" title="Delete">
<i class="fas fa-trash"></i>
</a>
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=hide&id={{ log.id }}" class="btn btn-{{ (log.hidden != 1) ? 'info' : 'default' }} btn-sm" title="{% if log.hidden != 1 %}Hide{% else %}Show{% endif %}">
<i class="fas fa-eye{{ (log.hidden != 1) ? '' : '-slash' }}"></i>
</a>
</div>
</td>
</tr>
{% set i = i + 1 %}
{% endfor %}
{% else %}
<tr>
<td colspan="6">There are no changelogs for the moment.</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>

View File

@@ -1,27 +0,0 @@
<div class="col-12 col-md-6">
<div class="card card-warning card-outline">
<form action="?p=dashboard&maintenance" method="post" class="form-horizontal">
<div class="card-header">
<h5 class="m-0">Website Status<span class="float-right">
<div class="custom-control custom-switch custom-switch-off-danger custom-switch-on-success">
<input type="checkbox" class="custom-control-input" name="status" id="status" value="true" {% if not is_closed %} checked{% endif %}>
<label class="custom-control-label" for="status"> {% if is_closed %}Closed{% else %}Open{% endif %}</label>
</div></span>
</h5>
</div>
<div class="card-body p-2">
<div class="col-sm-12">
<label for="message" class="col-form-label">Maintenance Message</label>
<textarea name="message" class="form-control" cols="40" rows="3" maxlength="255" placeholder="Enter ...">{{ closed_message }}</textarea>
<small>(only visible if closed)</small>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-info"><i class="far fa-update"></i> Update</button>
<a href="?p=dashboard&clear_cache" onclick="return confirm('Are you sure?');" class="float-right">
<span class="btn btn-danger"><i class="fas fa-clear"></i>Clear cache</span>
</a>
</div>
</form>
</div>
</div>

View File

@@ -0,0 +1,31 @@
<p>Clicking the button will reload server data (items, monsters, npcs, spells, towns, weapons).</p>
<p>It may take up to few minutes.</p>
<button id="reload_button" class="btn btn-info"><i class="fas fa-update"></i>Reload</button>
<button id="spinner" class="btn btn-info" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Loading...
</button>
<div style="height: 20px"></div>
<div id="messages"></div>
<style>
#spinner {
display: none;
}
</style>
<script>
$(function () {
$('#reload_button').on('click', function (e) {
$('#spinner').show();
$('#reload_button').hide();
$('[id^=success]').remove();
$('#messages').append('<div id="success-1"></div>');
performInstall('{{ constant('ADMIN_URL') }}tools/reload_data.php');
});
})
</script>
<script type="text/javascript" src="{{ constant('BASE_URL') }}tools/installer.js"></script>

View File

@@ -1,26 +0,0 @@
<form method="post" action="{{ constant('ADMIN_URL') }}?p=items" id="items_form">
<input type="hidden" name="reload" value="1"/>
<button type="submit" class="btn btn-info"><i class="fas fa-update"></i> Reload items and weapons</button>
</form>
<div id="loader" class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<small id="notice"> (it may take some time to finish)</small>
<style>
#loader {
display: none;
}
</style>
<script>
$(function () {
$('#items_form').on('submit', function (e) {
$('#loader').show();
var $notice = $('#notice');
$notice.html('Reloading...' + $notice.text());
});
})
</script>

View File

@@ -18,21 +18,22 @@
</div>
<form method="post">
<div class="card-body">
<div class="form-group row">
<label for="mail_to">To: (enter email, or leave empty to all)</label>
<input class="form-control" type="text" id="mail_to" name="mail_to" value="{{ mail_to }}"/>
</div>
<div class="form-group row">
<label for="mail_subject">Subject:</label>
<input class="form-control" type="text" id="mail_subject" name="mail_subject"
value="{{ mail_subject }}" size="30" maxlength="30"/>
<input class="form-control" type="text" id="mail_subject" name="mail_subject" value="{{ mail_subject }}" maxlength="30"/>
</div>
<div class="form-group row">
<label for="mail_content" class="control-label">Content:</label>
<textarea id="mail_content" name="mail_content" style="width: 100%" class="tinymce">{{ mail_content }}</textarea>
</div>
<div class="form-group row">
<input type="checkbox" name="preview" id="preview" value="1"/><label for="category">Just send test email to me (preview)</label>{% if preview_done %} - <b>Done.</b>{% endif %}
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-info"><i class="fas fa-share"></i> Send</button>
<button type="submit" name="submit" class="btn btn-info"><i class="fas fa-share"></i> Send</button>
<a href="{{ constant('ADMIN_URL') }}?p=mailer" class="btn btn-danger float-right">Cancel</a>
</div>
</form>
</div>

View File

@@ -18,7 +18,7 @@
var cat = $(this).attr("id").replace('add-button-', '');
var id = last_id[cat];
last_id[cat]++;
$('#sortable-' + cat).append('<li class="ui-state-default" id="list-' + cat + '-' + id + '"><label>Name:</label> <input type="text" name="menu[' + cat + '][]" value=""/> <label>Link:</label> <input type="text" name="menu_link[' + cat + '][]" value=""/><input type="hidden" name="menu_blank[' + cat + '][]" value="0" /> <label><input class="blank-checkbox" type="checkbox"/><span title="Open in New Window">New Window</span></label> <input class="color-picker" type="text" name="menu_color[' + cat + '][]" value="#ffffff" /><a class="remove-button" id="remove-button-' + cat + '-' + id + '"><img src="{{ constant('BASE_URL') }}images/del.png"/></a></li>'); //add input bo
$('#sortable-' + cat).append('<li class="ui-state-default" id="list-' + cat + '-' + id + '"><label>Name:</label> <input type="text" name="menu[' + cat + '][]" value=""/> <label>Link:</label> <input type="text" name="menu_link[' + cat + '][]" value=""/><input type="hidden" name="menu_blank[' + cat + '][]" value="0" /> <label><input class="blank-checkbox" type="checkbox"/><span title="Open in New Window">New Window</span></label> <input class="color-picker" type="text" name="menu_color[' + cat + '][]" value="#ffffff" /><a class="remove-button" id="remove-button-' + cat + '-' + id + '"><i class="fas fa-trash"></i></a></li>'); //add input bo
$('#remove-button-' + cat + '-' + id).click(function () {
$('#list-' + $(this).attr("id").replace('remove-button-', '')).remove();
});

View File

@@ -79,7 +79,7 @@
<div class="col-sm-12">
{% for id, cat in categories %}
<input type="radio" name="category" value="{{ id }}" {% if (category == 0 and id == 1) or (category == id) %}checked="yes"{% endif %}/>
<img src="{{ constant('BASE_URL') }}/images/news/icon_{{ cat.icon_id }}_small.gif"/>
<img src="{{ constant('BASE_URL') }}images/news/icon_{{ cat.icon_id }}_small.gif"/>
{% endfor %}
</div>
</div>

View File

@@ -6,7 +6,7 @@
</div>
<div class="card-body">
<table class="tb_datatable table table-striped table-bordered">
<table class="tb_datatable table table-striped table-bordered table-responsive d-md-table">
<thead>
<tr>
<th width="5%">ID</th>
@@ -51,7 +51,7 @@
</div>
<div class="card-body">
<table class="tb_datatable table table-striped table-bordered">
<table class="tb_datatable table table-striped table-bordered table-responsive d-md-table">
<thead>
<tr>
<th width="5%">ID</th>
@@ -95,7 +95,7 @@
</div>
<div class="card-body">
<table class="tb_datatable table table-striped table-bordered">
<table class="tb_datatable table table-striped table-bordered table-responsive d-md-table">
<thead>
<tr>
<th width="5%">ID</th>

View File

@@ -4,7 +4,7 @@
<a href="?p=pages&action=new" class="float-right"><span class="btn btn-sm btn-success">New</span></a></h5>
</div>
<div class="card-body">
<table class="table table-striped table-bordered" id="tb_pages">
<table class="table table-striped table-bordered table-responsive d-md-table" id="tb_pages">
<thead>
<tr>
<th>Name</th>

View File

@@ -9,7 +9,7 @@
<div class="form-group">
<label>File input</label>
<input type="file" name="plugin">
<input type="file" name="plugin" accept=".zip">
</div>
</div>
<div class="card-footer">

View File

@@ -3,11 +3,11 @@
<h5 class="m-0">Installed plugins<span class="float-right"><a class="" data-toggle="collapse" href="#install_plugin">Install Plugin</a></span></h5>
</div>
<div class="card-body">
<table class="table table-striped table-bordered" id="tb_plugins">
<table class="table table-striped table-bordered table-responsive d-md-table" id="tb_plugins">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Version</th>
<th>Author</th>
<th>Filename</th>
<th style="width: 55px;">Options</th>

View File

@@ -3,7 +3,7 @@
<h5 class="m-0">Users active within last {{ config_visitors_counter_ttl }} minutes.</h5>
</div>
<div class="card-body">
<table id="tb_visitors" class="table table-striped table-bordered">
<table id="tb_visitors" class="table table-striped table-bordered table-responsive d-md-table">
<thead>
<tr>
<th>IP</th>

View File

@@ -0,0 +1,39 @@
<table border="0" cellspacing="1" cellpadding="4" width="100%">
<tr align="center" bgcolor="{{ config.vdarkborder }}" class="white">
<td><span style="color: white"><b>Nick</b></span></td>
{% if configBans.hasType %}
<td><span style="color: white"><b>Type</b></span></td>
{% endif %}
<td><span style="color: white"><b>Expires</b></span></td>
{% if configBans.hasReason %}
<td><span style="color: white"><b>Reason</b></span></td>
{% endif %}
<td><span style="color: white"><b>Comment</b></span></td>
<td><span style="color: white"><b>Added by:</b></span></td>
</tr>
{% for ban in bans %}
<tr align="center" bgcolor="{{ getStyle(ban.i) }}">
<td height="50" width="140">{{ ban.player|raw }}</td>
{% if configBans.hasType %}
<td>{{ ban.type }}</td>
{% endif %}
<td>{{ ban.expires|raw }}</td>
{% if configBans.hasReason %}
<td>{{ ban.reason }}</td>
{% endif %}
<td>{{ ban.comment }}</td>
<td>
{{ ban.addedBy|raw }}<br/>
{{ ban.addedTime|raw }}
</td>
</tr>
{% endfor %}
</table>
<table border="0" cellpadding="4" cellspacing="1" width="100%">
{% if page > 1 %}
<tr><td width="100%" align="right" valign="bottom"><a href="{{ getLink('bans') }}/{{ (page - 1) }}" class="size_xxs">Previous Page</a></td></tr>
{% endif %}
{% if nextPage %}
<tr><td width="100%" align="right" valign="bottom"><a href="{{ getLink('bans') }}/{{ (page + 1) }}" class="size_xxs">Next Page</a></td></tr>
{% endif %}
</table>

View File

@@ -1,23 +1,41 @@
<br/>
{% if canEdit %}
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=new" class="btn btn-success btn-sm" title="Add New" target="_blank">Add New</a>
{% endif %}
<table border="0" cellspacing="1" cellpadding="4" width="100%">
<tr bgcolor="{{ config.vdarkborder }}">
<td width="22"><span class="white"><b>Type</b></span></td>
<td width="22"><span class="white"><b>Where</b></span></td>
<td width="50"><span class="white"><b>Date</b></span></td>
<td><span class="white"><b>Description</b></span></td>
{% if canEdit %}
<td></td>
{% endif %}
</tr>
{% if changelogs|length > 0%}
{% set i = 0 %}
{% for log in changelogs %}
<tr bgcolor="{{ getStyle(i) }}">
<td align="center">
<img src="images/changelog/{{ log.type }}.png" title="{{ log.type|capitalize }}"/>
<img src="{{ constant('BASE_URL') }}images/changelog/{{ log.type }}.png" title="{{ log.type|capitalize }}"/>
</td>
<td align="center">
<img src="images/changelog/{{ log.where }}.png" title="{{ log.where|capitalize }}"/>
<img src="{{ constant('BASE_URL') }}images/changelog/{{ log.where }}.png" title="{{ log.where|capitalize }}"/>
</td>
<td>{{ log.date|date("j.m.Y") }}</td>
<td>{{ log.body|raw }}</td>
<td>{{ log.body|nl2br}}</td>
{% if canEdit %}
<td>
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=edit&id={{ log.id }}" title="Edit in Admin Panel" target="_blank">
<img src="images/edit.png"/>Edit
</a>
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=delete&id={{ log.id }}" onclick="return confirm('Are you sure?');" title="Delete in Admin Panel" target="_blank">
<img src="images/del.png"/>Delete
</a>
<a href="{{ constant('ADMIN_URL') }}?p=changelog&action=hide&id={{ log.id }}" title="{% if log.hidden != 1 %}Hide{% else %}Show{% endif %} in Admin Panel" target="_blank">
<img src="images/{{ (log.hidden != 1 ? 'success' : 'error') }}.png"/>{{ (log.hidden != 1) ? 'Hide' : 'Show' }}
</a>
</td>
{% endif %}
</tr>
{% set i = i + 1 %}
{% endfor %}
@@ -35,4 +53,4 @@
<tr><td width="100%" align="right" valign="bottom"><a href="{{ getLink('changelog/' ~ (page + 1)) }}" class="size_xxs">Next Page</a></td></tr>
{% endif %}
</table>
</table>
</table>

View File

@@ -17,7 +17,7 @@
{% endif %}
<table border="0" cellspacing="1" cellpadding="4" width="100%">
{% if config.characters.outfit %}
<div style="width:64px;height:64px;border:2px solid #F1E0C6; border-radius:50px; padding:13px; margin-top:38px;margin-left:376px;position:absolute;"><img style="margin-left:{% if player.getLookType() in [75, 266, 302] %}-0px;margin-top:-0px;width:64px;height:64px;{% else %}-60px;margin-top:-60px;width:128px;height:128px;{% endif %}" src="{{ outfit }}" alt="player outfit"/></div>
<div style="width:64px;height:64px;border:2px solid #F1E0C6; border-radius:50px; padding:13px; margin-top:38px;margin-left:376px;position:absolute;"><img style="margin-left:{% if player.getLookType() in config.outfit_images_wrong_looktypes %}-0px;margin-top:-0px;width:64px;height:64px;{% else %}-60px;margin-top:-60px;width:128px;height:128px;{% endif %}" src="{{ outfit }}" alt="player outfit"/></div>
{% endif %}
<tr bgcolor="{{ config.vdarkborder }}">
@@ -400,7 +400,7 @@
<td>{% if player.isOnline() %}<b><span style="color: green">Online</span></b>{% endif %}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ characters_link }}" method=post>
<form action="{{ getLink('characters') }}" method=post>
<tr>
<td>
<input type="hidden" name="name" value="{{ player.getName() }}"/>

View File

@@ -0,0 +1,164 @@
<script type="text/javascript" src="tools/js/tipped.js"></script>
<link rel="stylesheet" type="text/css" href="tools/css/tipped.css"/>
<style>
.creature_img {
background-position: center center;
background-repeat: no-repeat;
width: 64px;
height: 64px;
padding: 5px;
}
.creature_name {
font-size: 18px;
font-weight: bold;
width: 100%;
text-align: center;
float: left;
box-sizing: border-box;
padding-top: 10px;
padding-bottom: 15px;
}
.creature_voice {
font-weight: bold;
font-size: 8pt;
color: #FE6500;
text-shadow: rgb(0, 0, 0) 1px 0px 0px, rgb(0, 0, 0) 0.540302px 0.841471px 0px, rgb(0, 0, 0) -0.416147px 0.909297px 0px, rgb(0, 0, 0) -0.989992px 0.14112px 0px, rgb(0, 0, 0) -0.653644px -0.756802px 0px, rgb(0, 0, 0) 0.283662px -0.958924px 0px, rgb(0, 0, 0) 0.96017px -0.279415px 0px;
}
.loot_image {
width: 32px;
height: 32px;
border: 0px;
}
.loot_amount {
position: absolute;
bottom: 0;
right: 2px;
color: white;
font-size: 8pt;
font-weight: bold;
text-shadow: 0.1em 0.1em black;
}
.loot_bg {
margin: 2px;
position: relative;
display: inline-block;
float: left;
background-image: url('{{ constant('BASE_URL') }}images/items/empty.gif');
opacity: 0.7;
}
.loot_bg:hover {
opacity: 1.0;
}
</style>
<script>
$(document).ready(function () {
Tipped.create('.loot_image');
});
</script>
<div class="creature_name">{{ creature.name }}</div>
<table class="CreatureInfo" border="0" cellspacing="0" cellpadding="4" width="100%">
<thead>
<tr>
<th align="center" colspan="4"><b>General information</b></th>
</tr>
</thead>
<tbody>
<tr>
<td width="10%">
<div class="creature_img" style="background-image: url({{ creature.img_link }}"></div>
</td>
<td align="center" width="30%">
<strong>Health:</strong> {{ creature.health }}<br>
<strong>Experience:</strong> {{ creature.exp }}<br>
<strong>Speed:</strong> {{ creature.speed_lvl }} {{ (creature.use_haste) ? ' (+haste)' : '' }}
</td>
<td align="center" width="30%">
<b>Summonable:</b> {{ (creature.summonable) ? creature.mana ~ ' mana' : 'Impossible' }}<br>
<b>Convinceable:</b> {{ (creature.convinceable) ? creature.mana ~ ' mana' : 'Impossible' }}
</td>
<td width="30%" align="center">
<strong>Armor:</strong> {{ creature.armor }}<br>
<strong>Defense:</strong> {{ creature.defense }}
</td>
</tr>
</tbody>
</table><br>
{% if ( creature.voices is not empty or creature.summons is not empty) %}
<table class="CreatureVoice" border="0" cellspacing="0" cellpadding="4" width="100%">
<thead>
<tr>
{% if ( creature.summons is not empty) %}
<th width="50%"><b>Summons</b></th>
{% endif %}
{% if ( creature.voices is not empty) %}
<th width="50%"><b>Voices</b></th>
{% endif %}
</tr>
</thead>
<tbody>
<tr>
{% if ( creature.summons is not empty) %}
<td>
{% for summon in creature.summons %}
<span>{{ summon.chance }}% chance to summon a <b>{{ getMonsterLink(summon.name, true)|raw }}</b><br/></span>
{% endfor %}
</td>
{% endif %}
{% if ( creature.voices is not empty) %}
<td align="center">
<span class="creature_voice">
{% for voice in creature.voices %}
"{{ voice }}"<br/>
{% endfor %}
</span>
</td>
{% endif %}
</tr>
</tbody>
</table><br/>
{% endif %}
{% if (creature.elements|length > 0 or creature.immunities|length > 0 ) %}
<table class="CreatureElements" border="0" cellspacing="0" cellpadding="4" width="100%">
<tr>
<th colspan="{{ creature.elements|length }}">Elements and Immunities</th>
</tr>
{% if (creature.elements|length > 0) %}
<tr>{% for element in creature.elements %}
<td align="center"><b> {{ element.name }}</b><br/>{{ element.percent }}%</td>
{% endfor %}</tr>
{% endif %}
{% if (creature.immunities|length > 0 ) %}
<tr>
<td colspan="{{ creature.elements|length }}"><b>Immunities:</b> {{ creature.immunities|join(' | ') }}</td>
</tr>
{% endif %}
</table><br/>
{% endif %}
{% if (not creature.loot is empty) %}
<table class="CreatureLoot" border="0" cellspacing="0" cellpadding="4" width="100%">
<tr><th>Loot</th></tr>
<tr>
<td>
{% for item in creature.loot %}
<span class="loot_bg">
{% if (item.count > 1) %}
<span class="loot_amount">{{ item.count }}</span>
{% endif %}
<a href="{{ config.creatures_items_url }}{{ item.name|title }}"><img title="{{ item.tooltip }}" src="{{ config.item_images_url }}{{ item.id }}{{ config.item_images_extension }}" class="loot_image"/></a>
</span>
{% endfor %}
</td>
</tr>
</table>
{% endif %}

View File

@@ -0,0 +1,97 @@
{% if creatures is not empty %}
{% if preview %}
<style>
.creatureImages {
width: 100px;
height: 100px;
margin: 0px;
float: left;
}
.creatureBoss {
box-sizing: border-box;
border-radius: 10px;
border: 1px rgba(179, 179, 179, 0.50) solid;
background-color: rgba(235, 235, 235, 0.50);
}
</style>
<script type="text/javascript">
$(document).ready(function () {
$("#ciSearch").on("keyup", function () {
var value = $(this).val().toLowerCase();
$("#creatureiTable div").filter(function () {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
});
</script>
<div style="float: right;"><input id="ciSearch" type="text" placeholder="Search.."></div>
<div style="display: table; width: 100%; ">
<div style="text-align: center; " id="creatureiTable">
{% for creature in creatures %}
{% set i = i + 1 %}
<div class="creatureImages">
<a href="{{ getMonsterLink(creature.name, false)|raw }}">
<div class="creature_img " style="background-image: url({{ creature.img_link }}"></div>
<img class=" {{ (creature.rewardboss ? 'creatureBoss' : '') }}" src="{{ creature.img_link }}" border="0"/>
</a>
<div>{{ creature.name }}</div>
</div>
{% endfor %}
</div>
</div>
{% else %}
<script type="text/javascript">
$(document).ready(function () {
$("#cSearch").on("keyup", function () {
var value = $(this).val().toLowerCase();
$("#creatureTable tr").filter(function () {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
});
</script>
{{ generateLink('?creatures', 'All', false)|raw }} - <a href="?subtopic=creatures&boss=view">Bosses</a>
<div style="float: right;"><input id="cSearch" type="text" placeholder="Search.."></div>
<table width="100%">
<thead>
<tr>
<th>Name</th>
<th>Boss</th>
<th>Health</th>
<th>Experience</th>
<th>Summonable Mana</th>
<th>Convinceable Mana</th>
<th>Race</th>
</tr>
</thead>
<tbody id="creatureTable">
{% set i = 0 %}
{% for creature in creatures %}
{% set i = i + 1 %}
<tr>
<td>{{ getMonsterLink(creature.name, true)|raw }}</td>
<td>{{ (creature.rewardboss) ? 'Yes' : '---' }}</td>
<td>{{ creature.health|number_format(0, '.', ',') }}</td>
<td>{{ creature.exp|number_format(0, '.', ',') }}</td>
<td>{{ (creature.convinceable) ? creature.mana : '---' }} </td>
<td>{{ (creature.summonable) ? creature.mana : '---' }} </td>
<td>{{ creature.race|title }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
<script src="tools/js/jquery.min.js"></script>
{% else %}
<table width="100%">
<tr>
<th>Creatures</th>
</tr>
<tr>
<td>No Creatures on the server.</td>
</tr>
</table>
{% endif %}

View File

@@ -9,7 +9,7 @@
<div class="AttentionSign" style="background-image:url({{ template_path }}/images/content/attentionsign.gif);"></div>
<b>The Following Errors Have Occurred:</b><br/>
{% for error in errors %}
<li>{{ error|raw }}</li>
<li>{{ error|striptags('<b>')|raw }}</li>
{% endfor %}
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>

View File

@@ -0,0 +1,30 @@
<div style="text-align:center">
<h3>Experience stages</h3>
</div>
<table style="border: 0; background-color: {{ config.darkborder }}; width: 100%" cellpadding="4" cellspacing="1">
<tbody>
<tr style="background-color: {{ config.vdarkborder }}">
<td class="white" colspan="5"><b>Stages table</b></td>
</tr>
<tr>
<td>
<table style="border: 0; width: 100%" cellpadding="2" cellspacing="1"><tbody>
<tr style="background-color: {{ config.lightborder }}">
<td>
<b>Level</b>
</td>
<td>
<b>Stage</b>
</td>
</tr>
{% for stage in stages %}
<tr style="background-color: {{ config.lightborder }}">
<td>{{ stage.levels }}</td><td>x{{ stage.multiplier}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

View File

@@ -0,0 +1,4 @@
<form method="get" action="{{ constant('BASE_URL') }}">
<hidden name="subtopic" value="{{ constant('PAGE') }}"/>
<select name="template" onchange="this.form.submit()">{{ options|raw }}</select>
</form>

View File

@@ -24,7 +24,7 @@ Page: {{ links_to_pages|raw }}<br/>
{% set i = i + 1 %}
<td valign="top">{{ post.player_link|raw }}<br/>
{% if post.outfit is defined %}
<img style="margin-left:{% if post.player.getLookType() in [75, 266, 302] %}-0px;margin-top:-0px;width:64px;height:64px;{% else %}-60px;margin-top:-60px;width:128px;height:128px;{% endif %}" src="{{ post.outfit }}" alt="player outfit"/>
<img style="margin-left:{% if post.player.getLookType() in config.outfit_images_wrong_looktypes %}-0px;margin-top:-0px;width:64px;height:64px;{% else %}-60px;margin-top:-60px;width:128px;height:128px;{% endif %}" src="{{ post.outfit }}" alt="player outfit"/>
<br />
{% endif %}
<span style="font-size: 10px">
@@ -72,4 +72,4 @@ Page: {{ links_to_pages|raw }}<br/>
{% endfor %}
</table>
<br/>
<a href="?subtopic=forum&action=new_post&thread_id={{ thread_id }}"><img src="images/forum/post.gif" border="0" /></a>
<a href="?subtopic=forum&action=new_post&thread_id={{ thread_id }}"><img src="images/forum/post.gif" border="0" /></a>

View File

@@ -2,11 +2,11 @@
Here you can change description of your guild.<br/>
<form enctype="multipart/form-data" action="?subtopic=guilds&guild={{ guild.getName() }}&action=change_description" method="post">
<input type="hidden" name="todo" value="save"/>
<textarea name="description" cols="60" rows="{{ rows }}">{{ guild.getCustomField('description')|raw }}</textarea><br>
<textarea name="description" cols="60" rows="{{ config.guild_description_lines_limit - 1 }}">{{ guild.getCustomField('description')|raw }}</textarea><br>
(max. {{ config.guild_description_lines_limit }} lines, max. {{ config.guild_description_chars_limit }} chars) <input type="submit" value="Save description"/></form><br/>
<br/>
<div style="text-align:center">
<form action="?subtopic=guilds&guild={{ guild.getName() }}&action=manager" method="post">
{{ include('buttons.back.html.twig') }}
</form>
</div>
</div>

View File

@@ -0,0 +1,109 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width: 17px"></td>
<td>
<div style="text-align:center"><h2>Ranking for {{ skillName }}{% if vocation is not null %} ({{ vocation }}){% endif %} on {{ config.lua.serverName }}</h2></div><br/>
<table border="0" cellpadding="4" cellspacing="1" width="100%"></table>
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr bgcolor="{{ config.vdarkborder }}">
{% if config.account_country %}
<td style="width: 11px" class="white">#</td>
{% endif %}
<td style="width: 10%" class="white"><b>Rank</b></td>
{% if config.highscores_outfit %}
<td class="white"><b>Outfit</b></td>
{% endif %}
<td width="75%" class="white"><b>Name</b></td>
<td width="15%" class="white"><b>{{ levelName }}</b></td>
{% if skill == constant('POT::SKILL__LEVEL') %}
<td class="white"><b>Points</b></td>
{% endif %}
</tr>
{% if totalRows < 1 %}
<tr bgcolor="{{ config('darkborder') }}"><td colspan="100%">No records yet.</td></tr>
{% else %}
{% set row = 0 %}
{% for player in highscores %}
<tr bgcolor="{{ getStyle(row) }}">
{% set row = row + 1 %}
{% if config.account_country %}
<td>{{ player.flag|raw }}</td>
{% endif %}
<td>{{ player.rank }}.</td>
{% if config.highscores_outfit %}
<td>{{ player.outfit|raw }}</td>
{% endif %}
<td>
<a href="{{ player.link }}">
<span style="color: {% if player.online > 0 %}green{% else %}red{% endif %}">{{ player.name }}</span>
</a>
{% if config.highscores_vocation %}
<br/><small>{{ player.vocation }}</small>
{% endif %}
</td>
<td>
<div style="text-align:center">{{ player.value }}</div>
</td>
{% if skill == constant('POT::SKILL__LEVEL') %}
<td><div style="text-align:center">{{ player.experience }}</div></td>
{% endif %}
</tr>
{% endfor %}
{% endif %}
</table>
<table border="0" cellpadding="4" cellspacing="1" width="100%">
{% if linkPreviousPage|length > 0 %}
<tr><td style="width: 100%" align="right" valign="bottom"><a href="{{ linkPreviousPage }}" class="size_xxs">Previous Page</a></td></tr>
{% endif %}
{% if linkNextPage|length > 0 %}
<tr><td style="width: 100%" align="right" valign="bottom"><a href="{{ linkNextPage }}" class="size_xxs">Next Page</a></td></tr>
{% endif %}
</table>
</td>
<td width="5%"></td>
<td width="15%" valign="top" align="right">
<table style="border: 0; width: 100%" cellpadding="4" cellspacing="1">
<tr bgcolor="{{ config.vdarkborder }}">
<td class="white"><B>Choose a skill</B></TD>
</tr>
<tr bgcolor="{{ config.lightborder }}">
<td>
{% for link, name in types %}
<a href="{{ getLink('highscores') }}/{{ link }}{% if vocation is defined %}/{{ vocation }}{% endif %}" class="size_xs">{{ name }}</a><br/>
{% endfor %}
</td>
</tr>
</table>
<br/>
{% if config.highscores_vocation_box %}
<table border="0" width="100%" cellpadding="4" cellspacing="1">
<tr bgcolor="{{ config.vdarkborder }}">
<td class="white"><b>Choose a vocation</b></td>
</tr>
<tr bgcolor="{{ config.lightborder }}">
<td>
<a href="{{ getLink('highscores') }}/{{ list }}" class="size_xs">[ALL]</a><br/>
{% for i in 1..config.vocations_amount %}
<a href="{{ getLink('highscores') }}/{{ list }}/{{ config.vocations[i]|lower }}" class="size_xs">{{ config.vocations[i]}}</a><br/>
{% endfor %}
</td>
</tr>
</table>
{% endif %}
</td>
<td style="width: 18px"></td>
</tr>
</table>

View File

@@ -1,32 +1,26 @@
<style>
tr, td {
border-bottom: 1px solid #ddd;
padding: 15px;
}
</style>
{% if errors is not empty %}
<div class="alert alert-danger">
{% for error in errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% endif %}
<form action="{{ constant('BASE_URL') }}install/" method="post" autocomplete="off">
<input type="hidden" name="step" id="step" value="finish" />
<table>
{% for value in ['email', account, 'password', 'player_name'] %}
<tr>
<td>
<label for="vars_{{ value }}">
<span>{{ locale['step_admin_' ~ value] }}</span>
</label>
<br/>
<input type="text" name="vars[{{ value }}]" id="vars_{{ value }}"{% if session['var_' ~ value] is not null %} value="{{ session['var_' ~ value] }}"{% endif %}/>
</td>
<td>
<em>{{ locale['step_admin_' ~ value ~ '_desc']|raw }}</em>
</td>
</tr>
{% endfor %}
</table>
{% for value in ['email', account, 'password', 'player_name'] %}
<div class="form-group mb-2">
<label for="vars_{{ value }}">{{ locale['step_admin_' ~ value] }}</label>
<input class="form-control" type="text" name="vars[{{ value }}]" id="vars_{{ value }}"{% if session['var_' ~ value] is not null %} value="{{ session['var_' ~ value] }}"{% endif %}/>
<small class="form-text text-muted">{{ locale['step_admin_' ~ value ~ '_desc']|raw }}</small>
</div>
{% if errors is defined %}
{% for error in errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% endif %}
{% endfor %}
<div class="text-center m-3">
{{ buttons|raw }}
</div>
</form>

View File

@@ -1,71 +1,51 @@
{% if errors is not empty %}
<div class="alert alert-danger">
{% for error in errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% endif %}
<form action="{{ constant('BASE_URL') }}install/" method="post" autocomplete="off">
<input type="hidden" name="step" id="step" value="database" />
<table>
{% for value in ['server_path', 'mail_admin', 'mail_address'] %}
<tr>
<td>
<label for="vars_{{ value }}">
<span>{{ locale['step_config_' ~ value] }}</span>
</label>
<br>
<input type="text" name="vars[{{ value }}]" id="vars_{{ value }}"{% if session['var_' ~ value] is not null %} value="{{ session['var_' ~ value] }}"{% endif %}/>
</td>
<td>
<em>{{ locale['step_config_' ~ value ~ '_desc'] }}</em>
</td>
</tr>
{% endfor %}
<tr>
<td>
<label for="vars_date_timezone">
<span>{{ locale.step_config_timezone }}</span>
</label>
<br/>
<select name="vars[date_timezone]" id="vars_date_timezone">
{% for timezone in timezones %}
<option value="{{ timezone }}"{% if (session['var_date_timezone'] is not null and session['var_date_timezone'] == timezone) or (session['var_date_timezone'] is null and timezone == 'Europe/Berlin') %} selected{% endif %}>{{ timezone }}</option>
{% endfor %}
</select>
</td>
<td>
<em>{{ locale.step_config_timezone_desc }}</em>
</td>
</tr>
<tr>
<td>
<label for="vars_client">
<span>{{ locale.step_config_client }}</span>
</label>
<br/>
<select name="vars[client]" id="vars_client">
{% for id, version in clients %}
<option value="{{ id }}"{% if session['var_client'] is not null and session['var_client'] == id %} selected{% endif %}>{{ version }}</option>
{% endfor %}
</select>
</td>
<td>
<em>{{ locale.step_config_client_desc }}</em>
</td>
</tr>
<tr>
<td>
<label for="vars_usage">
<span>{{ locale.step_config_usage }}</span>
</label>
<br/>
<input type="hidden" value="0" name="vars[usage]">
<input type="checkbox" name="vars[usage]" id="vars_usage" value="1"{% if session['var_usage'] is null or session['var_usage'] == 1 %} checked{% endif %}/>
</td>
<td>
<em>{{ locale.step_config_usage_desc }}</em>
</td>
</tr>
</table>
{% if errors is defined %}
{% for error in errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% endif %}
{% for value in ['server_path', 'mail_admin'] %}
<div class="form-group mb-2">
<label for="vars_{{ value }}">{{ locale['step_config_' ~ value] }}</label>
<input class="form-control" type="text" name="vars[{{ value }}]" id="vars_{{ value }}"{% if session['var_' ~ value] is not null %} value="{{ session['var_' ~ value] }}"{% endif %}/>
<small class="form-text text-muted">{{ locale['step_config_' ~ value ~ '_desc'] }}</small>
</div>
{% endfor %}
<div class="form-group mb-2">
<label for="vars_date_timezone">{{ locale.step_config_timezone }}</label>
<select class="form-control" name="vars[date_timezone]" id="vars_date_timezone">
{% for timezone in timezones %}
<option value="{{ timezone }}"{% if (session['var_date_timezone'] is not null and session['var_date_timezone'] == timezone) or (session['var_date_timezone'] is null and timezone == 'Europe/Berlin') %} selected{% endif %}>{{ timezone }}</option>
{% endfor %}
</select>
<small class="form-text text-muted">{{ locale.step_config_timezone_desc }}</small>
</div>
<div class="form-group mb-2">
<label for="vars_client">{{ locale.step_config_client }}</label>
<select class="form-control" name="vars[client]" id="vars_client">
{% for id, version in clients %}
<option value="{{ id }}"{% if session['var_client'] is not null and session['var_client'] == id %} selected{% endif %}>{{ version }}</option>
{% endfor %}
</select>
<small class="form-text text-muted">{{ locale.step_config_client_desc }}</small>
</div>
<div class="form-group mb-2">
<label for="vars_usage">{{ locale.step_config_usage }}</label>
<input type="hidden" value="0" name="vars[usage]">
<input type="checkbox" name="vars[usage]" id="vars_usage" value="1"{% if session['var_usage'] is null or session['var_usage'] == 1 %} checked{% endif %}/>
<small class="form-text text-muted d-block">{{ locale.step_config_usage_desc }}</small>
</div>
<div class="text-center m-3">
{{ buttons|raw }}
</div>
</form>

View File

@@ -3,7 +3,7 @@
<img src="{{ constant('BASE_URL') }}images/loading_spinner.gif" height="32" width="32"/>
{{ message }}
</div>
<script type="text/javascript" src="tools/installer.js"></script>
<script type="text/javascript" src="{{ constant('BASE_URL') }}tools/installer.js"></script>
<script type="text/javascript">
$(function() {
performInstall('{{ url }}');

View File

@@ -1,6 +1,8 @@
<form action="{{ constant('BASE_URL') }}install/" method="post">
<input type="hidden" name="step" id="step" value="requirements" />
<textarea rows="10" cols="80" readonly="1">{{ license }}</textarea>
<textarea rows="11" cols="80" readonly="1" class="form-control">{{ license }}</textarea>
<div class="text-center m-3">
{{ buttons|raw }}
</div>
</form>

View File

@@ -1,12 +1,17 @@
<p class="lead">{{ locale.step_welcome_desc }}:</p>
<form action="{{ constant('BASE_URL') }}install/" method="post">
<input type="hidden" name="step" id="step" value="license" />
<div class="input"><p>{{ locale.step_welcome_desc }}</p>
<select name="lang">
<div class="input">
<select name="lang" class="form-control">
{% for locale_ in locales %}
<option value="{{ locale_.id }}"{% if (detected_locale is not null and locale_.id == detected_locale) or cookie_locale == locale_.id %} selected{% endif %}>{{ locale_.name }}</option>
{% endfor %}
</select>
</div>
<div class="text-center m-3">
{{ buttons|raw }}
</div>
</form>

View File

@@ -1,3 +1,7 @@
<h3>Password to account changed!</h3>
<p>You or someone else changed password to your account on server <a href="{{ constant('BASE_URL') }}"><b>{{ config.lua.serverName }}</b></a>.</p>
<p>New password: <b>{{ new_password }}</b></p>'
Hi there! This is a quick warning to let you know that your {{ config.lua.serverName }} password has been changed.
<br/><br/>
The request was made on {{ "now"|date("F j, Y, g:i a") }} by a user with the IP: {{ ip }}.
<br/><br/>
The new password is: <b>{{ new_password }}</b>
<br/><br/>
If this was you, please ignore this email. If it was not you, please contact our support department at {{ config.mail_admin }}.

View File

@@ -9,7 +9,7 @@
<tr bgcolor="{{ getStyle(i) }}">
<td width=4%>
<div style="text-align:center">
<img src="{{ template_path }}/images/news/icon_{{ news.icon_id }}_small.gif"/>
<img src="{{ constant('BASE_URL') }}images/news/icon_{{ news.icon_id }}_small.gif"/>
</div>
</td>
<td>{{ news.date|date('j.n.Y') }}</td>
@@ -18,4 +18,4 @@
</td>
</tr>
{% endfor %}
</table>
</table>

View File

@@ -1,6 +1,6 @@
<div class="NewsHeadline">
<div class="NewsHeadlineBackground" style="background-image:url({{ template_path }}/images/news/newsheadline_background.gif)">
<img src="{{ template_path }}/images/news/icon_{{ icon }}.gif" class="NewsHeadlineIcon" />
<img src="{{ constant('BASE_URL') }}images/news/icon_{{ icon }}.gif" class="NewsHeadlineIcon" />
<div class="NewsHeadlineDate">{{ date|date(config.news_date_format) }} - </div>
<div class="NewsHeadlineText">{{ title }}</div>
{% if author is not empty %}
@@ -20,4 +20,4 @@
</tr>
{% endif %}
</table>
<br/>
<br/>

View File

@@ -5,11 +5,11 @@
{% set i = 0 %}
{% for ticker in tickers %}
<tr bgcolor="{{ getStyle(i) }}">
<td style="width: 16px;"><img src="{{ template_path }}/images/news/icon_{{ ticker.icon }}_small.gif"/></td>
<td style="width: 16px;"><img src="{{ constant('BASE_URL') }}images/news/icon_{{ ticker.icon }}_small.gif"/></td>
<td style="width: 80px;">{{ ticker.date|date("j M Y") }}</td>
<td>{{ ticker.body|raw }}</td>
</tr>
{% set i = i + 1 %}
{% endfor %}
</table>
<br/>
<br/>

View File

@@ -102,7 +102,7 @@
<td>{{ player.country_image|raw }}</td>
{% endif %}
{% if config.online_outfit %}
<td width="5%"><img style="position:absolute;margin-top:{% if player.player.looktype in [75, 266, 302] %}-20px;margin-left:-0px;{% else %}-45px;margin-left:-25px;{% endif %}" src="{{ player.outfit }}" alt="player outfit"/></td>
<td width="5%"><img style="position:absolute;margin-top:{% if player.player.looktype in config.outfit_images_wrong_looktypes %}-20px;margin-left:-0px;{% else %}-45px;margin-left:-25px;{% endif %}" src="{{ player.outfit }}" alt="player outfit"/></td>
{% endif %}
<td>{{ player.name|raw }}{{ player.skull }}</td>
<td>{{ player.level }}</td>
@@ -110,4 +110,4 @@
</tr>
{% endfor %}
</table>
{% endif %}
{% endif %}

View File

@@ -32,13 +32,6 @@
}
</style>
{% if canEdit %}
<form method="post" action="{{ getLink('spells') }}">
<input type="hidden" name="reload_spells" value="yes"/>
<input type="submit" value="(admin) Reload spells"/>
</form>
{% endif %}
<form action="{{ getLink('spells') }}" method="post">
<table border="0" cellspacing="1" cellpadding="4" width="100%">
<tr bgcolor="{{ config.vdarkborder }}">
@@ -198,4 +191,4 @@
</table>
</section>
</div>
</div>
</div>

View File

@@ -64,7 +64,7 @@
{% if config.team_display_outfit %}
<td>
<img style="position: absolute; margin-top: {% if member.player.looktype in [75, 266, 302] %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
<img style="position: absolute; margin-top: {% if member.player.looktype in config.outfit_images_wrong_looktypes %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
</td>
{% endif %}
@@ -142,7 +142,7 @@
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
{% if config.team_display_outfit %}
<td>
<img style="position: absolute; margin-top: {% if member.player.looktype in [75, 266, 302] %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
<img style="position: absolute; margin-top: {% if member.player.looktype in config.outfit_images_wrong_looktypes %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
</td>
{% endif %}

View File

@@ -0,0 +1,21 @@
<meta charset="{{ charset }}">
<meta http-equiv="content-language" content="{{ config.language }}" />
<meta http-equiv="content-type" content="text/html; charset={{ charset }}" />
{% if not is_admin %}
<base href="{{ constant('BASE_URL') }}" />
<title>{{ title }}</title>
{% endif %}
<meta name="description" content="{{ config.meta_description }}" />
<meta name="keywords" content="{{ config.meta_keywords }}, myaac, wodzaac" />
<meta name="generator" content="MyAAC" />
<link rel="stylesheet" type="text/css" href="{{ constant('BASE_URL') }}tools/css/messages.css" />
<script type="text/javascript" src="{{ constant('BASE_URL') }}tools/js/jquery.min.js"></script>
<noscript>
<div class="warning" style="text-align: center; font-size: 14px;">
Your browser does not support JavaScript or its disabled!<br/>
Please turn it on, or be aware that some features on this website will not work correctly.
</div>
</noscript>
{% if config.recaptcha_enabled %}
<script src="https://www.google.com/recaptcha/api.js"></script>
{% endif %}