mirror of
https://github.com/slawkens/myaac.git
synced 2025-10-14 09:44:55 +02:00
Merge branch 'develop' into feature/recaptcha-v3-plus-login
This commit is contained in:
@@ -30,15 +30,20 @@
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_ACCOUNT') }}
|
||||
|
||||
{% if not config.account_login_by_email %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.account is defined %} class="red"{% endif %}>Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</span>
|
||||
{% if not constant('USE_ACCOUNT_NAME') %}
|
||||
<div id="SuggestAccountNumber">[<a href="#">suggest number</a>]</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="account" id="account_input" size="30" maxlength="{% if constant('USE_ACCOUNT_NAME') %}30{% else %}10{% endif %}" value="{{ account }}" autofocus/>
|
||||
<img id="account_indicator" src="images/global/general/{% if not save or errors.account is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr><td></td><td><span id="account_error" class="FormFieldError">{% if errors.account is defined %}{{ errors.account }}{% endif %}</span></td></tr>
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_ACCOUNT') }}
|
||||
<tr>
|
||||
@@ -86,7 +91,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>
|
||||
@@ -96,7 +101,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>
|
||||
@@ -328,3 +333,8 @@
|
||||
{% set action = 'register' %}
|
||||
{{ include('google_recaptcha.html.twig') }}
|
||||
{% endif %}
|
||||
<style>
|
||||
#SuggestAccountNumber {
|
||||
font-size: 7pt;
|
||||
}
|
||||
</style>
|
||||
|
@@ -20,6 +20,9 @@
|
||||
$('#password2').blur(function() {
|
||||
checkPassword();
|
||||
});
|
||||
$('#SuggestAccountNumber a').click(function (event) {
|
||||
generateAccountNumber(event);
|
||||
});
|
||||
});
|
||||
|
||||
function updateFlag()
|
||||
@@ -192,4 +195,18 @@
|
||||
|
||||
lastSend = timeNow;
|
||||
}
|
||||
|
||||
function generateAccountNumber(event)
|
||||
{
|
||||
event.preventDefault();
|
||||
$.getJSON("tools/generate_account_number.php", { uid: Math.random() },
|
||||
function(data){
|
||||
if(data.hasOwnProperty('success')) {
|
||||
$('#account_input').val(data.success);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
setTimeout(checkAccount, 1000);
|
||||
}
|
||||
</script>
|
||||
|
@@ -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/>
|
||||
|
@@ -24,7 +24,7 @@ Please enter your account {{ account|lower }} and your password.<br/><a href="?s
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" >
|
||||
<span{% if error is not null %} class="red"{% endif %}>Account {{ account }}:</span>
|
||||
<span{% if error is not null %} class="red"{% endif %}>{{ account_login_by }}:</span>
|
||||
</td>
|
||||
<td style="width:100%;" ><input type="text" name="account_login" size="30" maxlength="30" autofocus/></td>
|
||||
</tr>
|
||||
|
123
system/templates/admin-bar.html.twig
Normal file
123
system/templates/admin-bar.html.twig
Normal file
@@ -0,0 +1,123 @@
|
||||
<style>
|
||||
html { margin-top: 32px !important; }
|
||||
* html body { margin-top: 32px !important; }
|
||||
|
||||
#ma-admin-bar {
|
||||
direction: ltr;
|
||||
color: #ccc;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
||||
line-height: 2.46153846;
|
||||
height: 32px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
min-width: 600px;
|
||||
z-index: 99999;
|
||||
background: #23282d;
|
||||
}
|
||||
|
||||
#ma-admin-bar a.ab-item {
|
||||
color: #eee;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#ma-admin-bar ul, #ma-admin-bar ul li {
|
||||
background: 0 0;
|
||||
clear: none;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 15px 0 0;
|
||||
position: relative;
|
||||
text-indent: 0;
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
#ma-admin-bar li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#ma-admin-bar li:hover {
|
||||
color: lightskyblue;
|
||||
}
|
||||
|
||||
#ma-admin-bar .ab-top-secondary>li {
|
||||
float: right;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #343a40;
|
||||
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.dropdown-content a {
|
||||
color: #eee;
|
||||
padding: 12px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-content a:hover {color: lightskyblue;}
|
||||
|
||||
.dropdown:hover .dropdown-content {display: block;}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="ma-admin-bar">
|
||||
<ul>
|
||||
<li class="dropdown">
|
||||
<a href="{{ constant('ADMIN_URL') }}" class="ab-item">
|
||||
<img alt="MyAAC" src="{{ constant('ADMIN_URL') }}images/logo.png" class="brand-image img-circle elevation-3" style="opacity: .8; height: 26px; width: 26px">
|
||||
<span class="brand-text">
|
||||
<b>My</b>AAC
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-house-door" viewBox="0 0 16 16">
|
||||
<path d="M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z"></path>
|
||||
</svg>
|
||||
<a class="ab-item" href="#"><i class="bi bi-house"></i>{{ config.lua.serverName }}</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="{{ getLink('') }}">Visit Site</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="ab-item" href="#"><i class="bi bi-house"></i>New</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="{{ constant('ADMIN_URL') }}?p=news&action=new">News</a>
|
||||
<a href="{{ constant('ADMIN_URL') }}?p=pages&action=new">Page</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="ab-item" href="{{ constant('ADMIN_URL') }}?p=plugins">
|
||||
Plugins
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="ab-item" href="{{ constant('ADMIN_URL') }}?p=dashboard&clear_cache">
|
||||
Clear Cache
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="ab-top-secondary">
|
||||
<li class="dropdown">
|
||||
<a class="ab-item" href="#">Hello, {{ username }}</a>
|
||||
<div class="dropdown-content">
|
||||
<a href="{{ getLink('account/manage') }}">Manage Account</a>
|
||||
<a href="{{ constant('ADMIN_URL') }}?action=logout">Logout</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
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>
|
||||
|
@@ -1,11 +1,11 @@
|
||||
<p>Clicking the button will reload server data (items, monsters, spells, towns, weapons).</p>
|
||||
<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>
|
||||
|
||||
<div id="spinner" class="spinner-border" role="status">
|
||||
<span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
@@ -19,6 +19,7 @@
|
||||
$(function () {
|
||||
$('#reload_button').on('click', function (e) {
|
||||
$('#spinner').show();
|
||||
$('#reload_button').hide();
|
||||
|
||||
$('[id^=success]').remove();
|
||||
$('#messages').append('<div id="success-1"></div>');
|
||||
|
@@ -23,8 +23,7 @@
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-lock"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" id="account-name-input" name="account_login"
|
||||
placeholder="Account {{ account }}" required autofocus>
|
||||
<input type="text" class="form-control" id="account-name-input" name="account_login" placeholder="{{ account_login_by }}" required autofocus>
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3">
|
||||
|
@@ -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>
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
$('#select-type').change(function () {
|
||||
var value = $('#select-type').val();
|
||||
if (value == {{ constant('ARTICLE') }}) {
|
||||
if (value === {{ constant('ARTICLE') }}) {
|
||||
$('#article-text').show();
|
||||
$('#article-image').show();
|
||||
} else {
|
||||
@@ -118,8 +118,8 @@
|
||||
|
||||
<script type="text/javascript" src="{{ constant('BASE_URL') }}tools/tinymce/tinymce.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
var unsaved = false;
|
||||
var lastContent = '';
|
||||
let unsaved = false;
|
||||
let lastContent = '';
|
||||
|
||||
tinymce.init({
|
||||
selector: "#body",
|
||||
@@ -129,7 +129,7 @@
|
||||
image_advtab: true,
|
||||
setup: function (ed) {
|
||||
ed.on('NodeChange', function (e) {
|
||||
if (ed.getContent() != lastContent) {
|
||||
if (ed.getContent() !== lastContent) {
|
||||
unsaved = true;
|
||||
}
|
||||
});
|
||||
|
@@ -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,7 +3,7 @@
|
||||
<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>
|
||||
|
@@ -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>
|
3
system/templates/browsehappy.html.twig
Normal file
3
system/templates/browsehappy.html.twig
Normal file
@@ -0,0 +1,3 @@
|
||||
<!--[if lt IE 7]>
|
||||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
|
||||
<![endif]-->
|
@@ -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 %}
|
||||
|
@@ -64,6 +64,8 @@
|
||||
<div class="center wide">
|
||||
<h2 class="wide">Whoops something went wrong...</h2>
|
||||
<div class="error wide">
|
||||
Exception class: {{ exceptionClass }}()
|
||||
<br/><br/>
|
||||
{{ message }}
|
||||
<br/><br/><br/>
|
||||
<b>Backtrace:</b><br/><br/>
|
||||
@@ -74,4 +76,4 @@
|
||||
<p>{{ powered_by }}</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
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>
|
@@ -1,21 +1,21 @@
|
||||
<b>Boards</b>
|
||||
<table width="100%">
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<tr bgcolor="{{ config.vdarkborder }}" class="white">
|
||||
<td>
|
||||
<span style="color: white; font-size: 10px"><b>Board</b></span>
|
||||
<span style="font-size: 10px"><b>Board</b></span>
|
||||
</td>
|
||||
<td>
|
||||
<span style="color: white; font-size: 10px"><b>Posts</b></span>
|
||||
<span style="font-size: 10px"><b>Posts</b></span>
|
||||
</td>
|
||||
<td>
|
||||
<span style="color: white; font-size: 10px"><b>Threads</b></span>
|
||||
<span style="font-size: 10px"><b>Threads</b></span>
|
||||
</td>
|
||||
<td align="center">
|
||||
<span style="color: white; font-size: 10px"><b>Last Post</b></span>
|
||||
<span style="font-size: 10px"><b>Last Post</b></span>
|
||||
</td>
|
||||
{% if canEdit %}
|
||||
<td>
|
||||
<span style="color: white; font-size: 10px"><b>Options</b></span>
|
||||
<span style="font-size: 10px"><b>Options</b></span>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
@@ -12,8 +12,8 @@ Page: {{ links_to_pages|raw }}<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td width="200">
|
||||
<span style="color: white; font-size: 10px"><b>Author</b></span>
|
||||
<td width="200" class="white">
|
||||
<span style="font-size: 10px"><b>Author</b></span>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
@@ -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>
|
||||
|
@@ -8,15 +8,11 @@ Here you can change logo of your guild.<br/>Actuall logo: <img src="images/guild
|
||||
</form>
|
||||
Only <b>jpg, gif, png, bmp</b> pictures. Max. size: <b>{{ config.guild_image_size_kb }} KB</b><br>
|
||||
<br/>
|
||||
{% spaceless %}
|
||||
<div style="text-align:center">
|
||||
<form action="?subtopic=guilds&guild={{ guild.getName() }}&action=manager" method="post">
|
||||
<div class="BigButton" style="background-image:url({{ template_path }}/images/global/buttons/sbutton.gif)">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</div>
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#upload_form').submit(function (event) {
|
||||
@@ -34,4 +30,4 @@ Only <b>jpg, gif, png, bmp</b> pictures. Max. size: <b>{{ config.guild_image_siz
|
||||
return true;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -5,12 +5,8 @@ Here you can change MOTD (Message of the Day, showed in game!) of your guild.<br
|
||||
<textarea name="motd" cols="60" rows="3">{{ guild.getCustomField('motd')|raw }}</textarea><br/>
|
||||
(max. {{ config.guild_motd_chars_limit }} chars) <input type="submit" value="Save MOTD" /></form><br/>
|
||||
<br/>
|
||||
{% spaceless %}
|
||||
<div style="text-align:center">
|
||||
<form action="?subtopic=guilds&guild={{ guild.getName() }}&action=manager" method="post">
|
||||
<div class="BigButton" style="background-image:url({{ template_path }}/images/global/buttons/sbutton.gif)">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</div>
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
{% endspaceless %}
|
@@ -133,7 +133,7 @@
|
||||
{% include('buttons.base.html.twig') %}
|
||||
</form>
|
||||
{% else %}
|
||||
<b>Before you can create guild you must login.</b>
|
||||
<b>Before you can create a guild you must login.</b>
|
||||
<br/>
|
||||
<form action="?subtopic=accountmanagement&redirect={{ getLink('guilds') }}" method="post">
|
||||
{% include('buttons.login.html.twig') %}
|
||||
|
132
system/templates/highscores.html.twig
Normal file
132
system/templates/highscores.html.twig
Normal file
@@ -0,0 +1,132 @@
|
||||
<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%">
|
||||
<tr>
|
||||
<td>Filters</td>
|
||||
<td>
|
||||
<label for="vocationFilter">Choose a Skill</label>
|
||||
<select onchange="location = this.value;" aria-label="skillFilter" id="skillFilter">
|
||||
{% set i = 0 %}
|
||||
{% for link, name in types %}
|
||||
<option value="{{ getLink('highscores') }}/{{ link }}{% if vocation is defined %}/{{ vocation }}{% endif %}" class="size_xs">{{ name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<label for="vocationFilter">Choose a vocation</label>
|
||||
<select onchange="location = this.value;" aria-label="vocationFilter" id="vocationFilter">
|
||||
<option value="{{ getLink('highscores') }}/{{ list }}" class="size_xs">[ALL]</option>
|
||||
{% set i = 0 %}
|
||||
{% for i in 1..config.vocations_amount %}
|
||||
<option value="{{ getLink('highscores') }}/{{ list }}/{{ config.vocations[i]|lower }}" class="size_xs">{{ config.vocations[i]}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</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'] %}
|
||||
<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>
|
@@ -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>
|
||||
|
@@ -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,9 +1,9 @@
|
||||
<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 %}
|
||||
{% if config.news_author and author is not empty %}
|
||||
<div class="NewsHeadlineAuthor"><b>Author: </b><i>{{ author }}</i></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -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 %}
|
||||
|
@@ -28,17 +28,9 @@
|
||||
cursor: pointer;
|
||||
font-weight: 600;
|
||||
background-color: {{ config.vdarkborder }};
|
||||
color: #fff;
|
||||
}
|
||||
</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 }}">
|
||||
@@ -68,13 +60,13 @@
|
||||
|
||||
<div class="ts_Spells">
|
||||
<input type="radio" name="ts_Spells" id="tab_instant" aria-controls="instant" checked>
|
||||
<label for="tab_instant">Instant</label>
|
||||
<label for="tab_instant" class="white">Instant</label>
|
||||
|
||||
<input type="radio" name="ts_Spells" id="tab_conjure" aria-controls="conjure">
|
||||
<label for="tab_conjure">Conjure</label>
|
||||
<label for="tab_conjure" class="white">Conjure</label>
|
||||
|
||||
<input type="radio" name="ts_Spells" id="tab_rune" aria-controls="rune">
|
||||
<label for="tab_rune">Rune</label>
|
||||
<label for="tab_rune" class="white">Rune</label>
|
||||
|
||||
<div class="tab-panels">
|
||||
<section id="instant" class="tab-panel">
|
||||
@@ -198,4 +190,4 @@
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
24
system/templates/tables.headline.html.twig
Normal file
24
system/templates/tables.headline.html.twig
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="TableContainer">
|
||||
<div class="CaptionContainer">
|
||||
<div class="CaptionInnerContainer">
|
||||
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<div class="Text" >{{ title|raw }}</div>
|
||||
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
</div>
|
||||
</div>
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
{{ content|raw }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
@@ -1,19 +1,18 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<div class="CaptionContainer">
|
||||
<div class="CaptionInnerContainer">
|
||||
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<div class="Text" >Support in game</div>
|
||||
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
</div>
|
||||
<div class="CaptionContainer">
|
||||
<div class="CaptionInnerContainer">
|
||||
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<div class="Text" >Support in game</div>
|
||||
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
|
||||
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
|
||||
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
@@ -60,11 +59,11 @@
|
||||
{% for member in group.members|reverse %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
|
||||
<td>{{ group.group_name }}</td>
|
||||
<td>{{ group.group_name|capitalize }}</td>
|
||||
|
||||
{% 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 %}
|
||||
|
||||
@@ -104,7 +103,7 @@
|
||||
{% elseif config.team_style == 2 %}
|
||||
{% for group in groupmember|reverse %}
|
||||
{% if group.members is not empty %}
|
||||
<div style="text-align:center"><h2>{{ group.group_name }}</h2></div>
|
||||
<div style="text-align:center"><h2>{{ group.group_name|capitalize }}</h2></div>
|
||||
|
||||
<table cellspacing="1" cellpadding="4" border="0" width="100%">
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
@@ -142,7 +141,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