mirror of
https://github.com/slawkens/myaac.git
synced 2025-10-14 09:44:55 +02:00
Merge branch 'develop' into feature/admin-bar
This commit is contained in:
@@ -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>
|
||||
|
@@ -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/>
|
||||
|
59
system/templates/admin.changelog.form.html.twig
Normal file
59
system/templates/admin.changelog.form.html.twig
Normal 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 %}
|
55
system/templates/admin.changelog.html.twig
Normal file
55
system/templates/admin.changelog.html.twig
Normal 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>
|
@@ -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>
|
||||
|
31
system/templates/admin.data.html.twig
Normal file
31
system/templates/admin.data.html.twig
Normal 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>
|
@@ -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>
|
@@ -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>
|
||||
|
@@ -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();
|
||||
});
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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">
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
39
system/templates/bans.html.twig
Normal file
39
system/templates/bans.html.twig
Normal 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>
|
@@ -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>
|
||||
|
@@ -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() }}"/>
|
||||
|
164
system/templates/creature.html.twig
Normal file
164
system/templates/creature.html.twig
Normal 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 %}
|
97
system/templates/creatures.html.twig
Normal file
97
system/templates/creatures.html.twig
Normal 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 %}
|
||||
|
@@ -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>
|
||||
|
30
system/templates/experience_stages.html.twig
Normal file
30
system/templates/experience_stages.html.twig
Normal 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>
|
4
system/templates/forms.change_template.html.twig
Normal file
4
system/templates/forms.change_template.html.twig
Normal 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>
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
109
system/templates/highscores.html.twig
Normal file
109
system/templates/highscores.html.twig
Normal 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>
|
@@ -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>
|
||||
|
@@ -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>
|
@@ -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 }}');
|
||||
|
@@ -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>
|
@@ -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>
|
||||
|
@@ -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 }}.
|
@@ -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>
|
||||
|
@@ -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/>
|
||||
|
@@ -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/>
|
||||
|
@@ -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 %}
|
||||
|
@@ -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>
|
||||
|
@@ -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 %}
|
||||
|
||||
|
21
system/templates/templates.header.html.twig
Normal file
21
system/templates/templates.header.html.twig
Normal 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 %}
|
Reference in New Issue
Block a user