mirror of
https://github.com/slawkens/myaac.git
synced 2025-09-14 12:33:35 +02:00
Compare commits
35 Commits
feature/ph
...
v1.0-beta
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e2bab4220b | ||
![]() |
0b4c34a823 | ||
![]() |
c5aa9a4684 | ||
![]() |
301afe190b | ||
![]() |
c35cc83e4f | ||
![]() |
3ba9d8f780 | ||
![]() |
06f228509b | ||
![]() |
39e682dfd2 | ||
![]() |
6f209440e0 | ||
![]() |
b2a1675de3 | ||
![]() |
163877d303 | ||
![]() |
a4d11c1a12 | ||
![]() |
8cf4e3da02 | ||
![]() |
e0230c5237 | ||
![]() |
127e03081c | ||
![]() |
e9c6017e60 | ||
![]() |
d5915df37e | ||
![]() |
eb0c2a7674 | ||
![]() |
d225c2da26 | ||
![]() |
d95e280b9a | ||
![]() |
64387e085b | ||
![]() |
e1f507cf2d | ||
![]() |
c92a410209 | ||
![]() |
1186f94e21 | ||
![]() |
f837b3133d | ||
![]() |
9106f1e4ce | ||
![]() |
a62cfc5272 | ||
![]() |
6229736d07 | ||
![]() |
6807339056 | ||
![]() |
ffaa0729ac | ||
![]() |
03cc09b8c7 | ||
![]() |
6d4724f4f4 | ||
![]() |
2afe0c1185 | ||
![]() |
6334f3f4fa | ||
![]() |
fe7ad61abe |
46
.github/workflows/phpstan.yml
vendored
Normal file
46
.github/workflows/phpstan.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
name: "PHPStan"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [develop]
|
||||
push:
|
||||
branches: [develop]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
name: PhpStan on PHP ${{ matrix.php-versions }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-versions: [ '8.1', '8.2', '8.3' ]
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v4"
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
coverage: "none"
|
||||
extensions: "intl, zip"
|
||||
ini-values: "memory_limit=-1"
|
||||
php-version: "${{ matrix.php-version }}"
|
||||
|
||||
- name: Get composer cache directory
|
||||
id: composer-cache
|
||||
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache composer dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
# Use composer.json for key, if composer.lock is not committed.
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
|
||||
- name: "Install composer dependencies"
|
||||
run: "composer install"
|
||||
|
||||
- name: "Run PHPStan"
|
||||
run: "/usr/bin/php vendor/bin/phpstan analyse"
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,7 +7,6 @@ Thumbs.db
|
||||
|
||||
# composer
|
||||
composer.phar
|
||||
composer.lock
|
||||
vendor
|
||||
|
||||
# npm
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
## [1.0-beta - 02.02.2024]
|
||||
## [1.0-beta - 18.05.2024]
|
||||
|
||||
Minimum PHP version for this release is 8.1.
|
||||
|
||||
@@ -22,7 +22,7 @@ Minimum PHP version for this release is 8.1.
|
||||
* list of open source libraries used in project page
|
||||
* auto-loading of themes, commands & pages from plugins/ folder. You need just to place them in correct folder and they will be loaded automatically - this allows better customization, without interfering with core AAC folders. This will allow in the future automatic updates for plugins as well the AAC as whole.
|
||||
* config.php moved to Admin Panel -> Settings page
|
||||
* new console script: aac (comes from MyAAC) - using symfony/console
|
||||
* new console script: aac - using symfony/console
|
||||
* usage: `php aac` (will list all commands by default)
|
||||
* example: `php aac cache:clear`
|
||||
* example: `php aac plugin:install theme-example.zip`
|
||||
@@ -46,7 +46,7 @@ Minimum PHP version for this release is 8.1.
|
||||
* phpdebug bar (http://phpdebugbar.com/). Activated if env == 'dev', can be also activated in production by enabling "enable_debugbar" in local config
|
||||
|
||||
### Changed
|
||||
* Composer is now used for external libraries like: Twig, PHPMailer, fast-route etc.
|
||||
* Composer and NPM is now used for external libraries like: Twig, PHPMailer, fast-route, jQuery, Bootstrap etc.
|
||||
* mail support is disabled on fresh install, can be manually enabled by user
|
||||
* disable add php pages in admin panel for security. Option to disable plugins upload
|
||||
* visitors counter shows now user browser, and also if its bot
|
||||
|
@@ -404,6 +404,7 @@ else if (isset($_REQUEST['search'])) {
|
||||
autocomplete="off" maxlength="20"
|
||||
value="<?php echo $account->getLocation(); ?>"/>
|
||||
</div>
|
||||
<?php if(setting('core.account_country')): ?>
|
||||
<div class="col-12 col-sm-12 col-lg-4">
|
||||
<label for="rl_country">Country:</label>
|
||||
<select name="rl_country" id="rl_country" class="form-control">
|
||||
@@ -412,6 +413,7 @@ else if (isset($_REQUEST['search'])) {
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-12 col-sm-12 col-lg-6">
|
||||
|
@@ -16,7 +16,7 @@ $title = 'Notepad';
|
||||
csrfProtect();
|
||||
|
||||
/**
|
||||
* @var $account_logged OTS_Account
|
||||
* @var OTS_Account $account_logged
|
||||
*/
|
||||
$_content = '';
|
||||
$notepad = ModelsNotepad::where('account_id', $account_logged->getId())->first();
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<?php echo template_header(true); ?>
|
||||
<title><?php echo (isset($title) ? $title . ' - ' : '') . $config['lua']['serverName'];?></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>tools/ext/admin-lte/css/adminlte.min.css">
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>tools/css/adminlte.min.css">
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>tools/css/font-awesome.min.css">
|
||||
<?php if (isset($use_datatable)) { ?>
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>tools/css/datatables.bs.min.css">
|
||||
@@ -197,7 +197,7 @@ if ($logged && admin()) {
|
||||
<script src="<?php echo BASE_URL; ?>tools/js/datatables.min.js"></script>
|
||||
<script src="<?php echo BASE_URL; ?>tools/js/datatables.bs.min.js"></script>
|
||||
<?php } ?>
|
||||
<script src="<?php echo BASE_URL; ?>tools/ext/admin-lte/js/adminlte.min.js"></script>
|
||||
<script src="<?php echo BASE_URL; ?>tools/js/adminlte.min.js"></script>
|
||||
<?php $hooks->trigger(HOOK_ADMIN_BODY_END); ?>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -15,12 +15,14 @@
|
||||
"illuminate/database": "^10.18",
|
||||
"peppeocchi/php-cron-scheduler": "4.*",
|
||||
"symfony/console": "^6.4",
|
||||
"symfony/string": "^6.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/string": "^6.4",
|
||||
"symfony/var-dumper": "^6.4",
|
||||
"filp/whoops": "^2.15",
|
||||
"maximebf/debugbar": "dev-master"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.10"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MyAAC\\": "system/src"
|
||||
|
2922
composer.lock
generated
Normal file
2922
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,7 @@ describe('Install MyAAC', () => {
|
||||
|
||||
cy.get('form').submit()
|
||||
|
||||
cy.contains('[class="alert alert-success"]', 'Congratulations', { timeout: 30000 }).should('be.visible')
|
||||
cy.contains('[class="alert alert-success"]', 'Congratulations', { timeout: 60000 }).should('be.visible')
|
||||
|
||||
cy.wait(2000);
|
||||
|
||||
|
@@ -22,7 +22,7 @@ describe('Create Account Page', () => {
|
||||
cy.get('#vocation1').check()
|
||||
cy.get('#accept_rules').check()
|
||||
|
||||
cy.get('#createaccount').submit()
|
||||
cy.get('#form').submit()
|
||||
|
||||
// no errors please
|
||||
cy.contains('The Following Errors Have Occurred:').should('not.exist')
|
||||
|
@@ -11,13 +11,13 @@ function query($query)
|
||||
error($error_);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
|
||||
return !$error;
|
||||
}
|
||||
|
||||
// define php version id if its not already
|
||||
if(!defined('PHP_VERSION_ID')) {
|
||||
$version = explode('.', PHP_VERSION);
|
||||
$version = array_map('intval', explode('.', PHP_VERSION));
|
||||
|
||||
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
|
||||
}
|
||||
@@ -97,4 +97,4 @@ function win_is_writable($path) {
|
||||
unlink($path);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -13,9 +13,16 @@ server {
|
||||
return 404;
|
||||
}
|
||||
|
||||
# block .htaccess
|
||||
location ~ /\.ht {
|
||||
location /vendor {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
# block .htaccess, CHANGELOG.md, composer.json etc.
|
||||
# this is to prevent finding software versions
|
||||
location ~\.(ht|md|json|dist)$ {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
# block git files and folders
|
||||
|
13
phpstan-bootstrap.php
Normal file
13
phpstan-bootstrap.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/system/libs/pot/OTS.php';
|
||||
$ots = POT::getInstance();
|
||||
|
||||
require __DIR__ . '/system/libs/pot/InvitesDriver.php';
|
||||
require __DIR__ . '/system/libs/rfc6238.php';
|
||||
require __DIR__ . '/common.php';
|
||||
|
||||
const ACTION = '';
|
||||
const PAGE = '';
|
||||
const URI = '';
|
||||
define('SELF_NAME', basename(__FILE__));
|
38
phpstan.neon
Normal file
38
phpstan.neon
Normal file
@@ -0,0 +1,38 @@
|
||||
parameters:
|
||||
level: 3
|
||||
paths:
|
||||
- .
|
||||
- templates/tibiacom
|
||||
- templates/kathrine
|
||||
excludePaths:
|
||||
- system/cache/*
|
||||
- vendor/*
|
||||
- plugins/*
|
||||
- system/libs
|
||||
- tools/signature/mango.php
|
||||
- tools/signature/gd.class.php
|
||||
bootstrapFiles:
|
||||
- phpstan-bootstrap.php
|
||||
ignoreErrors:
|
||||
- '#Variable \$db might not be defined#'
|
||||
- '#Variable \$twig might not be defined#'
|
||||
- '#Variable \$hooks might not be defined#'
|
||||
- '#Variable \$account_logged might not be defined#'
|
||||
- '#Variable \$logged might not be defined#'
|
||||
- '#Variable \$config might not be defined#'
|
||||
- '#Variable \$action might not be defined#'
|
||||
- '#Variable \$errors might not be defined#'
|
||||
- '#Variable \$cache might not be defined#'
|
||||
- '#Variable \$status might not be defined#'
|
||||
- '#Variable \$player might not be defined#'
|
||||
- '#Variable \$guild might not be defined#'
|
||||
- '#Variable \$[a-zA-Z0-9\\_]+ might not be defined#'
|
||||
# Eloquent models
|
||||
- '#Call to an undefined static method [a-zA-Z0-9\\_]+::[a-zA-Z0-9\\_]+()#'
|
||||
# system/pages/highscores.php
|
||||
- '#Call to an undefined method Illuminate\\Database\\Query\\Builder::withOnlineStatus\(\)#'
|
||||
- '#Access to an undefined property Illuminate\\Database\\Eloquent\\Model::\$online_status#'
|
||||
- '#Access to an undefined property Illuminate\\Database\\Eloquent\\Model::\$vocation_name#'
|
||||
-
|
||||
message: '#Variable \$tmp in empty\(\) always exists and is always falsy#'
|
||||
path: templates\kathrine\javascript.php
|
@@ -38,7 +38,11 @@ if [ $1 = "prepare" ]; then
|
||||
cd $dir || exit
|
||||
|
||||
# dependencies
|
||||
composer install --prefer-dist --optimize-autoloader
|
||||
composer install --no-dev --prefer-dist --optimize-autoloader
|
||||
npm install
|
||||
|
||||
# node_modules is useless, we already have copy in tools/ext
|
||||
rm -R node_modules
|
||||
|
||||
echo "Now you can make changes to $dir. When you are ready, type 'release.sh pack'"
|
||||
exit
|
||||
|
@@ -87,18 +87,29 @@ function getForumBoardLink($board_id, $page = NULL): string {
|
||||
return BASE_URL . (setting('core.friendly_urls') ? '' : 'index.php/') . 'forum/board/' . (int)$board_id . (isset($page) ? '/' . $page : '');
|
||||
}
|
||||
|
||||
function getPlayerLink($name, $generate = true): string
|
||||
function getPlayerLink($name, $generate = true, bool $colored = false): string
|
||||
{
|
||||
if(is_numeric($name))
|
||||
{
|
||||
$player = new OTS_Player();
|
||||
$player = new OTS_Player();
|
||||
|
||||
if(is_numeric($name)) {
|
||||
$player->load((int)$name);
|
||||
if($player->isLoaded())
|
||||
$name = $player->getName();
|
||||
}
|
||||
else {
|
||||
$player->find($name);
|
||||
}
|
||||
|
||||
if (!$player->isLoaded()) {
|
||||
return '(error)';
|
||||
}
|
||||
|
||||
$name = $player->getName();
|
||||
|
||||
$url = BASE_URL . (setting('core.friendly_urls') ? '' : 'index.php/') . 'characters/' . urlencode($name);
|
||||
|
||||
if ($colored) {
|
||||
$name = '<span style="color: ' . ($player->isOnline() ? 'green' : 'red') . ';">' . $name . '</span>';
|
||||
}
|
||||
|
||||
if(!$generate) return $url;
|
||||
return generateLink($url, $name);
|
||||
}
|
||||
@@ -418,7 +429,10 @@ function delete_guild($id)
|
||||
if(count($rank_list) > 0) {
|
||||
$rank_list->orderBy('level');
|
||||
|
||||
global $db, $ots;
|
||||
global $db;
|
||||
/**
|
||||
* @var OTS_GuildRank $rank_in_guild
|
||||
*/
|
||||
foreach($rank_list as $rank_in_guild) {
|
||||
if($db->hasTable('guild_members'))
|
||||
$players_with_rank = $db->query('SELECT `players`.`id` as `id`, `guild_members`.`rank_id` as `rank_id` FROM `players`, `guild_members` WHERE `guild_members`.`rank_id` = ' . $rank_in_guild->getId() . ' AND `players`.`id` = `guild_members`.`player_id` ORDER BY `name`;');
|
||||
@@ -710,11 +724,8 @@ function getSkillName($skillId, $suffix = true)
|
||||
/**
|
||||
* Performs flag check on the current logged in user.
|
||||
* Table in database: accounts, field: website_flags
|
||||
*
|
||||
* @param int @flag Flag to be verified.
|
||||
* @return bool If user got flag.
|
||||
*/
|
||||
function hasFlag($flag) {
|
||||
function hasFlag(int $flag): bool {
|
||||
global $logged, $logged_flags;
|
||||
return ($logged && ($logged_flags & $flag) == $flag);
|
||||
}
|
||||
@@ -1623,7 +1634,7 @@ function removeIfFirstSlash(&$text) {
|
||||
};
|
||||
|
||||
function escapeHtml($html) {
|
||||
return htmlentities($html, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
|
||||
return htmlspecialchars($html);
|
||||
}
|
||||
|
||||
function getGuildNameById($id)
|
||||
|
@@ -1229,6 +1229,13 @@ class OTS_Player extends OTS_Row_DAO
|
||||
$this->data['direction'] = (int) $direction;
|
||||
}
|
||||
|
||||
public function getOutfit(): string
|
||||
{
|
||||
$hasLookAddons = $this->db->hasColumn('players', 'lookaddons');
|
||||
|
||||
return setting('core.outfit_images_url') . '?id=' . $this->getLookType() . ($hasLookAddons ? '&addons=' . $this->getLookAddons() : '') . '&head=' . $this->getLookHead() . '&body=' . $this->getLookBody() . '&legs=' . $this->getLookLegs() . '&feet=' . $this->getLookFeet();
|
||||
}
|
||||
|
||||
/**
|
||||
* Body color.
|
||||
*
|
||||
|
@@ -22,11 +22,5 @@ if(isset($account_logged) && $account_logged->isLoaded()) {
|
||||
|
||||
$logged = false;
|
||||
unset($account_logged);
|
||||
|
||||
if(isset($_REQUEST['redirect']))
|
||||
{
|
||||
header('Location: ' . urldecode($_REQUEST['redirect']));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -26,12 +26,13 @@ if(setting('core.account_country'))
|
||||
$account = Account::find($account_logged->getId());
|
||||
|
||||
$show_form = true;
|
||||
$new_rlname = isset($_POST['info_rlname']) ? htmlspecialchars(stripslashes($_POST['info_rlname'])) : NULL;
|
||||
$new_location = isset($_POST['info_location']) ? htmlspecialchars(stripslashes($_POST['info_location'])) : NULL;
|
||||
$new_country = isset($_POST['info_country']) ? htmlspecialchars(stripslashes($_POST['info_country'])) : NULL;
|
||||
$new_rlname = isset($_POST['info_rlname']) ? htmlspecialchars(stripslashes($_POST['info_rlname'])) : '';
|
||||
$new_location = isset($_POST['info_location']) ? htmlspecialchars(stripslashes($_POST['info_location'])) : '';
|
||||
$new_country = isset($_POST['info_country']) ? htmlspecialchars(stripslashes($_POST['info_country'])) : '';
|
||||
if(isset($_POST['changeinfosave']) && $_POST['changeinfosave'] == 1) {
|
||||
if(!isset($config['countries'][$new_country]))
|
||||
if(setting('core.account_country') && !isset($config['countries'][$new_country])) {
|
||||
$errors[] = 'Country is not correct.';
|
||||
}
|
||||
|
||||
if(empty($errors)) {
|
||||
//save data from form
|
||||
@@ -39,7 +40,14 @@ if(isset($_POST['changeinfosave']) && $_POST['changeinfosave'] == 1) {
|
||||
$account->location = $new_location;
|
||||
$account->country = $new_country;
|
||||
$account->save();
|
||||
$account_logged->logAction('Changed Real Name to <b>' . $new_rlname . '</b>, Location to <b>' . $new_location . '</b> and Country to <b>' . $config['countries'][$new_country] . '</b>.');
|
||||
|
||||
$log = 'Changed Real Name to <b>' . $new_rlname . '</b>, Location to <b>' . $new_location . '</b>';
|
||||
if(setting('core.account_country')) {
|
||||
$log .= ' and Country to <b>' . $config['countries'][$new_country] . '</b>';
|
||||
}
|
||||
$log .= '.';
|
||||
|
||||
$account_logged->logAction($log);
|
||||
$twig->display('success.html.twig', array(
|
||||
'title' => 'Public Information Changed',
|
||||
'description' => 'Your public information has been changed.'
|
||||
|
@@ -55,7 +55,7 @@ elseif($action == 'step1' && $action_type == 'email')
|
||||
</TD></TR></FORM></TABLE></TABLE>';
|
||||
else
|
||||
{
|
||||
$insec = $account->getCustomField('email_next') - time();
|
||||
$insec = (int)$account->getCustomField('email_next') - time();
|
||||
$minutesleft = floor($insec / 60);
|
||||
$secondsleft = $insec - ($minutesleft * 60);
|
||||
$timeleft = $minutesleft.' minutes '.$secondsleft.' seconds';
|
||||
@@ -118,7 +118,7 @@ elseif($action == 'sendcode')
|
||||
}
|
||||
else
|
||||
{
|
||||
$insec = $account->getCustomField('email_next') - time();
|
||||
$insec = (int)$account->getCustomField('email_next') - time();
|
||||
$minutesleft = floor($insec / 60);
|
||||
$secondsleft = $insec - ($minutesleft * 60);
|
||||
$timeleft = $minutesleft.' minutes '.$secondsleft.' seconds';
|
||||
|
@@ -22,6 +22,12 @@ if(isset($_REQUEST['redirect']))
|
||||
{
|
||||
$redirect = urldecode($_REQUEST['redirect']);
|
||||
|
||||
// should never happen, unless hacker modify the URL
|
||||
if (!str_contains($redirect, BASE_URL)) {
|
||||
error('Fatal error: Cannot redirect outside the website.');
|
||||
return;
|
||||
}
|
||||
|
||||
$twig->display('account.redirect.html.twig', array(
|
||||
'redirect' => $redirect
|
||||
));
|
||||
|
@@ -12,6 +12,12 @@ defined('MYAAC') or die('Direct access not allowed!');
|
||||
|
||||
$redirect = urldecode($_REQUEST['redirect']);
|
||||
|
||||
// should never happen, unless hacker modify the URL
|
||||
if (!str_contains($redirect, BASE_URL)) {
|
||||
error('Fatal error: Cannot redirect outside the website.');
|
||||
return;
|
||||
}
|
||||
|
||||
$twig->display('account.redirect.html.twig', array(
|
||||
'redirect' => $redirect
|
||||
));
|
||||
|
@@ -199,7 +199,7 @@ if($player->isLoaded() && !$player->isDeleted())
|
||||
unset($storage);
|
||||
}
|
||||
|
||||
if($config['characters']['equipment'] && $db->hasTable('player_items') && $db->hasColumn('player_items', 'pid') && $db->hasColumn('player_items', 'sid') && $db->hasColumn('player_items', 'itemtype')) {
|
||||
if($db->hasTable('player_items') && $db->hasColumn('player_items', 'pid') && $db->hasColumn('player_items', 'sid') && $db->hasColumn('player_items', 'itemtype')) {
|
||||
$eq_sql = $db->query('SELECT `pid`, `itemtype` FROM player_items WHERE player_id = '.$player->getId().' AND (`pid` >= 1 and `pid` <= 10)');
|
||||
$equipment = array();
|
||||
foreach($eq_sql as $eq)
|
||||
|
@@ -19,7 +19,7 @@ if ($ret === false) {
|
||||
}
|
||||
|
||||
if(!$logged) {
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . BASE_URL . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -19,7 +19,7 @@ if ($ret === false) {
|
||||
}
|
||||
|
||||
if(!$logged) {
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . BASE_URL . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -24,7 +24,7 @@ if(!$logged) {
|
||||
$extra_url = '?action=new_post&thread_id=' . $_GET['thread_id'];
|
||||
}
|
||||
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . BASE_URL . urlencode(getLink('forum') . $extra_url) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . urlencode(getLink('forum') . $extra_url) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -24,7 +24,7 @@ if(!$logged) {
|
||||
$extra_url = '?action=new_thread§ion_id=' . $_GET['section_id'];
|
||||
}
|
||||
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . BASE_URL . urlencode(getLink('forum') . $extra_url) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . urlencode(getLink('forum') . $extra_url) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -19,7 +19,7 @@ if ($ret === false) {
|
||||
}
|
||||
|
||||
if(!$logged) {
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . BASE_URL . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
echo 'You are not logged in. <a href="' . getLink('account/manage') . '?redirect=' . urlencode(getLink('forum')) . '">Log in</a> to post on the forum.<br /><br />';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -60,7 +60,7 @@ foreach($posts as &$post) {
|
||||
}
|
||||
|
||||
if($config['characters']['outfit']) {
|
||||
$post['outfit'] = setting('core.outfit_images_url') . '?id=' . $player->getLookType() . ($lookaddons ? '&addons=' . $player->getLookAddons() : '') . '&head=' . $player->getLookHead() . '&body=' . $player->getLookBody() . '&legs=' . $player->getLookLegs() . '&feet=' . $player->getLookFeet();
|
||||
$post['outfit'] = $player->getOutfit();
|
||||
}
|
||||
|
||||
$groupName = '';
|
||||
|
@@ -23,9 +23,15 @@ $guilds_list = new OTS_Guilds_List();
|
||||
$guilds_list->init();
|
||||
if(count($guilds_list) > 0)
|
||||
{
|
||||
/**
|
||||
* @var OTS_Guild $guild
|
||||
*/
|
||||
foreach($guilds_list as $guild)
|
||||
{
|
||||
$error = 0;
|
||||
/**
|
||||
* @var OTS_Player $leader
|
||||
*/
|
||||
$leader = $guild->getOwner();
|
||||
if($leader->isLoaded())
|
||||
{
|
||||
|
@@ -117,6 +117,9 @@ if(isset($todo) && $todo == 'save')
|
||||
$ranks = $new_guild->getGuildRanksList();
|
||||
$ranks->orderBy('level', POT::ORDER_DESC);
|
||||
foreach($ranks as $rank) {
|
||||
/**
|
||||
* @var OTS_GuildRank $rank
|
||||
*/
|
||||
if($rank->getLevel() == 3) {
|
||||
$player->setRank($rank);
|
||||
}
|
||||
|
@@ -19,6 +19,9 @@ $guilds_list->orderBy("name");
|
||||
$guilds = array();
|
||||
if(count($guilds_list) > 0)
|
||||
{
|
||||
/**
|
||||
* @var OTS_Guild $guild
|
||||
*/
|
||||
foreach ($guilds_list as $guild) {
|
||||
$guild_logo = $guild->getCustomField('logo_name');
|
||||
if (empty($guild_logo) || !file_exists(GUILD_IMAGES_DIR . $guild_logo))
|
||||
|
@@ -39,13 +39,13 @@ else {
|
||||
if($i == 1) {
|
||||
if($count <= 4)
|
||||
$killers_string .= 'killed';
|
||||
else if($count > 4 and $count < 10)
|
||||
else if($count < 10)
|
||||
$killers_string .= 'slain';
|
||||
else if($count > 9 and $count < 15)
|
||||
else if($count < 15)
|
||||
$killers_string .= 'crushed';
|
||||
else if($count > 14 and $count < 20)
|
||||
else if($count < 20)
|
||||
$killers_string .= 'eliminated';
|
||||
else if($count > 19)
|
||||
else
|
||||
$killers_string .= 'annihilated';
|
||||
$killers_string .= ' at level <b>' . $death['level'] . '</b> ';
|
||||
} else if($i == $count)
|
||||
|
@@ -79,7 +79,7 @@ if (isset($monster['name'])) {
|
||||
));
|
||||
|
||||
} else {
|
||||
echo "Monster with name <b>" . $monster_name . "</b> doesn't exist.";
|
||||
echo "Monster with name <b>" . htmlspecialchars($monster_name) . "</b> doesn't exist.";
|
||||
}
|
||||
|
||||
// back button
|
||||
|
@@ -51,7 +51,7 @@ function getColorByPercent($percent)
|
||||
if($logged)
|
||||
echo $link.'?id='.$poll['id'];
|
||||
else
|
||||
echo getLink('account/manage') . '?redirect=' . BASE_URL . urlencode($link.'?id='.$poll['id']);
|
||||
echo getLink('account/manage') . '?redirect=' . urlencode($link.'?id='.$poll['id']);
|
||||
|
||||
echo '">'.$poll['question'] . '</a>
|
||||
</td>
|
||||
@@ -80,7 +80,7 @@ function getColorByPercent($percent)
|
||||
if($logged)
|
||||
echo $link.'?id='.$poll['id'];
|
||||
else
|
||||
echo getLink('account/manage') . '?redirect=' . BASE_URL . urlencode($link.'?id='.$poll['id']);
|
||||
echo getLink('account/manage') . '?redirect=' . urlencode($link.'?id='.$poll['id']);
|
||||
|
||||
echo '">'.$poll['question'] . '</a>
|
||||
</td>
|
||||
|
@@ -236,7 +236,7 @@ else {
|
||||
// parse for define PAGE
|
||||
$tmp = BASE_DIR;
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
if (!empty($tmp)) {
|
||||
if (strlen($tmp) > 0) {
|
||||
$uri = str_replace(BASE_DIR . '/', '', $uri);
|
||||
}
|
||||
|
||||
|
@@ -25,7 +25,7 @@ class CsrfToken
|
||||
*
|
||||
* @access public
|
||||
* @static true
|
||||
* @return void
|
||||
* @return string
|
||||
**/
|
||||
public static function create(bool $return = false): string {
|
||||
$input = '<input type="hidden" name="csrf_token" value="' . self::get() . '" />';
|
||||
|
@@ -4,6 +4,14 @@ namespace MyAAC\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property int $type
|
||||
* @property int $where
|
||||
* @property string $body
|
||||
* @property int $player_id
|
||||
* @property int $date
|
||||
*/
|
||||
class Changelog extends Model {
|
||||
|
||||
protected $table = TABLE_PREFIX . 'changelog';
|
||||
|
@@ -3,6 +3,13 @@
|
||||
namespace MyAAC\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $title
|
||||
* @property int $php
|
||||
* @property int $hide
|
||||
*/
|
||||
class Pages extends Model {
|
||||
|
||||
protected $table = TABLE_PREFIX . 'pages';
|
||||
|
@@ -3,6 +3,11 @@
|
||||
namespace MyAAC\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* @property string $name
|
||||
* @property string $key
|
||||
* @property string $value
|
||||
*/
|
||||
class Settings extends Model {
|
||||
|
||||
protected $table = TABLE_PREFIX . 'settings';
|
||||
|
@@ -23,6 +23,9 @@ class Plugins {
|
||||
|
||||
$routes = [];
|
||||
foreach(self::getAllPluginsJson() as $plugin) {
|
||||
//
|
||||
// Get all plugins/*/pages/*.php pages
|
||||
//
|
||||
$pluginPages = glob(PLUGINS . $plugin['filename'] . '/pages/*.php');
|
||||
foreach ($pluginPages as $file) {
|
||||
$file = str_replace(PLUGINS, 'plugins/', $file);
|
||||
@@ -31,6 +34,22 @@ class Plugins {
|
||||
$routes[] = [['get', 'post'], $name, $file, 1000];
|
||||
}
|
||||
|
||||
//
|
||||
// Get all plugins/*/pages/subFolder/*.php pages
|
||||
//
|
||||
$pluginPagesSubFolders = glob(PLUGINS . $plugin['filename'] . '/pages/*', GLOB_ONLYDIR);
|
||||
foreach ($pluginPagesSubFolders as $folder) {
|
||||
$folderName = pathinfo($folder, PATHINFO_FILENAME);
|
||||
|
||||
$subFiles = glob(PLUGINS . $plugin['filename'] . '/pages/' . $folderName . '/*.php');
|
||||
foreach ($subFiles as $file) {
|
||||
$file = str_replace(PLUGINS, 'plugins/', $file);
|
||||
$name = $folderName . '/' . pathinfo($file, PATHINFO_FILENAME);
|
||||
|
||||
$routes[] = [['get', 'post'], $name, $file, 1000];
|
||||
}
|
||||
}
|
||||
|
||||
$warningPreTitle = 'Plugin: ' . $plugin['name'] . ' - ';
|
||||
|
||||
if (isset($plugin['routes'])) {
|
||||
|
36
system/src/Twig/Extension/TypeCastingExtension.php
Normal file
36
system/src/Twig/Extension/TypeCastingExtension.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace MyAAC\Twig\Extension;
|
||||
|
||||
use Twig\Extension\AbstractExtension;
|
||||
use Twig\TwigFilter;
|
||||
|
||||
final class TypeCastingExtension extends AbstractExtension
|
||||
{
|
||||
/** @return array<int, TwigFilter> */
|
||||
public function getFilters(): array
|
||||
{
|
||||
return [
|
||||
new TwigFilter('int', function ($value) {
|
||||
return (int)$value;
|
||||
}),
|
||||
new TwigFilter('float', function ($value) {
|
||||
return (float)$value;
|
||||
}),
|
||||
new TwigFilter('string', function ($value) {
|
||||
return (string)$value;
|
||||
}),
|
||||
new TwigFilter('bool', function ($value) {
|
||||
return (bool)$value;
|
||||
}),
|
||||
new TwigFilter('array', function (object $value) {
|
||||
return (array)$value;
|
||||
}),
|
||||
new TwigFilter('object', function (array $value) {
|
||||
return (object)$value;
|
||||
}),
|
||||
];
|
||||
}
|
||||
}
|
@@ -141,8 +141,8 @@ class Validator
|
||||
* Validate account password
|
||||
* Name lenght must be 3-32 chars
|
||||
*
|
||||
* @param string $name Account name to check
|
||||
* @return bool Is account name valid?
|
||||
* @param string $password Password to check
|
||||
* @return bool Is password valid?
|
||||
*/
|
||||
public static function password($password)
|
||||
{
|
||||
|
@@ -102,6 +102,9 @@ if($status_interval && $status_timeout < $status_interval) {
|
||||
$status_timeout = $status_interval;
|
||||
}
|
||||
|
||||
/**
|
||||
* @var int $status_timeout
|
||||
*/
|
||||
if($status['lastCheck'] + $status_timeout < time()) {
|
||||
updateStatus();
|
||||
}
|
||||
|
@@ -171,8 +171,6 @@ function get_template_menus() {
|
||||
$new_menus = array();
|
||||
/**
|
||||
* @var array $configMenuCategories
|
||||
* @var int $id
|
||||
* @var array $options
|
||||
*/
|
||||
$configMenuCategories = config('menu_categories');
|
||||
if($configMenuCategories === null) {
|
||||
|
@@ -1,102 +1,84 @@
|
||||
Here you can tell other players about yourself. This information will be displayed alongside the data of your characters. If you do not want to fill in a certain field, just leave it blank.<br/><br/>
|
||||
<form action="{{ getLink('account/info') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<div class="TableContainer" >
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" >
|
||||
<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" >Change Public Information</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer" >
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" >Real Name:</td>
|
||||
<td style="width:90%;" >
|
||||
<input name="info_rlname" value="{{ account_rlname }}" size="30" maxlength="50" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" >Location:</td>
|
||||
<td>
|
||||
<input name="info_location" value="{{ account_location }}" size="30" maxlength="50" >
|
||||
</td>
|
||||
</tr>
|
||||
{% if setting('core.account_country') %}
|
||||
<tr>
|
||||
<td class="LabelV" >Country:</td>
|
||||
<td>
|
||||
<select name="info_country" id="account_country">
|
||||
{% for code, country in countries %}
|
||||
<option value="{{ code}}"{% if account_country == code %} selected{% endif %}>{{ country }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<img src="" id="account_country_img"/>
|
||||
<script>
|
||||
function updateFlag()
|
||||
{
|
||||
var img = $('#account_country_img');
|
||||
var country = $('#account_country :selected').val();
|
||||
if(country.length) {
|
||||
img.attr('src', 'images/flags/' + country + '.gif');
|
||||
img.show();
|
||||
}
|
||||
else {
|
||||
img.hide();
|
||||
}
|
||||
}
|
||||
{% set title = 'Change Public Information' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width: 100%;" >
|
||||
<tr>
|
||||
<td class="LabelV">Real Name:</td>
|
||||
<td style="width:90%;" >
|
||||
<input form="form" name="info_rlname" value="{{ account_rlname }}" size="30" maxlength="50" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" >Location:</td>
|
||||
<td>
|
||||
<input form="form" name="info_location" value="{{ account_location }}" size="30" maxlength="50" >
|
||||
</td>
|
||||
</tr>
|
||||
{% if setting('core.account_country') %}
|
||||
<tr>
|
||||
<td class="LabelV">Country:</td>
|
||||
<td>
|
||||
<select form="form" name="info_country" id="account_country">
|
||||
{% for code, country in countries %}
|
||||
<option value="{{ code}}"{% if account_country == code %} selected{% endif %}>{{ country }} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<img src="" id="account_country_img"/>
|
||||
<script>
|
||||
function updateFlag()
|
||||
{
|
||||
var img = $('#account_country_img');
|
||||
var country = $('#account_country :selected').val();
|
||||
if(country.length) {
|
||||
img.attr('src', 'images/flags/' + country + '.gif');
|
||||
img.show();
|
||||
}
|
||||
else {
|
||||
img.hide();
|
||||
}
|
||||
}
|
||||
|
||||
$(function() {
|
||||
updateFlag();
|
||||
$('#account_country').change(function() {
|
||||
updateFlag();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table width="100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
$(function() {
|
||||
updateFlag();
|
||||
$('#account_country').change(function() {
|
||||
updateFlag();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table width="100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
<form id="form" action="{{ getLink('account/info') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changeinfosave" value="1">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
</form>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<form action="{{ getLink('account/manage') }}" method="post" >
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
<form action="{{ getLink('account/manage') }}" method="post" >
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,47 +1,27 @@
|
||||
Please enter your password and the new email address. Make sure that you enter a valid email address which you have access to. <br/><b>For security reasons, the actual change will be finalised after a waiting period of {{ setting('core.account_mail_change') }} days.</b><br/><br/>
|
||||
<form action="{{ getLink('account/email') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Change Email Address</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>
|
||||
{% set title = 'Change Email Address' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" >
|
||||
<span>New Email Address:</span>
|
||||
</td>
|
||||
<td style="width:90%;">
|
||||
<input form="form" name="new_email" value="{% if new_email is defined %}{{ new_email }}{% endif %}" size="30" maxlength="50" autofocus/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span >Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" >
|
||||
<span >New Email Address:</span>
|
||||
</td>
|
||||
<td style="width:90%;">
|
||||
<input name="new_email" value="{% if new_email is defined %}{{ new_email }}{% endif %}" size="30" maxlength="50" autofocus/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span >Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" name="password" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<input form="form" type="password" name="password" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%;">
|
||||
<tr align="center">
|
||||
@@ -49,13 +29,15 @@ Please enter your password and the new email address. Make sure that you enter a
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<input type="hidden" name="changeemailsave" value="1"/>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
<form id="form" action="{{ getLink('account/email') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changeemailsave" value="1"/>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
</td>
|
||||
</form>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
|
@@ -1,79 +1,62 @@
|
||||
To change a name of character select player and choose a new name.<br/>
|
||||
<span style="color: red">Change name cost {{ setting('core.account_change_character_name_price') }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}. You have {{ points }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}.</span><br/><br/>
|
||||
<form action="{{ getLink('account/character/name') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changenamesave" value="1">
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Change Name</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer" >
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Character:</span></td>
|
||||
<td style="width:90%;" >
|
||||
<select name="player_id">
|
||||
{% for player in account_logged.getPlayersList(false) %}
|
||||
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span>New Name:</span></td>
|
||||
<td>
|
||||
<input type="text" name="name" id="character_name" size="25" maxlength="25" >
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors|length > 0 %}n{% endif %}ok.gif" />
|
||||
<br/>
|
||||
<span style="font-size: 10px">
|
||||
<div id="character_error">Please enter your character name.</div>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%" >
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
|
||||
{% set title = 'Change Name' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Character:</span></td>
|
||||
<td style="width:90%;" >
|
||||
<select form="form" name="player_id">
|
||||
{% for player in account_logged.getPlayersList(false) %}
|
||||
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span>New Name:</span></td>
|
||||
<td>
|
||||
<input form="form" type="text" name="name" id="character_name" size="25" maxlength="25" >
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors|length > 0 %}n{% endif %}ok.gif" />
|
||||
<br/>
|
||||
<span style="font-size: 10px">
|
||||
<div id="character_error">Please enter your character name.</div>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%" >
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/character/name') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changenamesave" value="1">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript" src="tools/check_name.js"></script>
|
||||
|
@@ -1,80 +1,62 @@
|
||||
Please enter your current password and a new password. For your security, please enter the new password twice.<br/>
|
||||
<br/>
|
||||
<form action="{{ getLink('account/password') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Change Password</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>New Password:</span>
|
||||
</td>
|
||||
<td style="width:90%;">
|
||||
<input type="password" name="newpassword" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>New Password Again:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" name="newpassword_confirm" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>Current Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" name="oldpassword" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%;">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{% set title = 'Change Password' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>New Password:</span>
|
||||
</td>
|
||||
<td style="width:90%;">
|
||||
<input form="form" type="password" name="newpassword" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>New Password Again:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" type="password" name="newpassword_confirm" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>Current Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" type="password" name="oldpassword" size="30" maxlength="29">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%;">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/password') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
</td>
|
||||
</form>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,78 +1,61 @@
|
||||
To change a sex of character select player and choose a new sex.<br/>
|
||||
<span style="color: red">Change sex cost {{ setting('core.account_change_character_sex_price') }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}. You have {{ points }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}.</span><br/><br/>
|
||||
<form action="{{ getLink('account/character/sex') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changesexsave" value="1"/>
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Change sex</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" ><span >Character:</td>
|
||||
<td style="width:90%;" >
|
||||
<select name="player_id">
|
||||
{% for player in players %}
|
||||
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span >New Sex:</td>
|
||||
<td>
|
||||
<select name="new_sex">
|
||||
{% for id, gender in config.genders %}
|
||||
<option value="{{ id }}"{% if player_sex == id %} selected{% endif %}>{{ gender }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
<span style="color: red">Change sex cost {{ setting('core.account_change_character_sex_price') }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}. You have {{ points }} {{ setting('core.donate_column') == 'coins' ? 'coins' : 'premium points' }}.</span>
|
||||
<br/><br/>
|
||||
{% set title = 'Change sex' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Character:</span></td>
|
||||
<td style="width:90%;" >
|
||||
<select form="form" name="player_id">
|
||||
{% for player in players %}
|
||||
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span>New Sex:</span></td>
|
||||
<td>
|
||||
<select form="form" name="new_sex">
|
||||
{% for id, gender in config.genders %}
|
||||
<option value="{{ id }}"{% if player_sex == id %} selected{% endif %}>{{ gender }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/character/sex') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="changesexsave" value="1"/>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,330 +1,313 @@
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_FORM') }}
|
||||
<form action="{{ getLink('account/create') }}" method="post" id="createaccount">
|
||||
{{ csrf() }}
|
||||
<div class="TableContainer" >
|
||||
<table class="Table5" cellpadding="0" cellspacing="0" >
|
||||
<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" >Create {{ config.lua.serverName }} Account</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>
|
||||
{% set title = 'Create ' ~ config.lua.serverName ~ ' Account' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set tableClass = 'Table5' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_BOXES') }}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop"> <div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div></div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
|
||||
{{ 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 form="form" 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>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.email is defined %} class="red"{% endif %}>Email Address:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" type="text" name="email" id="email" size="30" maxlength="50" value="{{ email }}" />
|
||||
<img id="email_indicator" src="images/global/general/{% if not save or errors.email is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td><span id="email_error" class="FormFieldError">{% if errors.email is defined %}{{ errors.email }}{% endif %}</span></td>
|
||||
</tr>
|
||||
|
||||
{% if setting('core.mail_enabled') and setting('core.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 setting('core.account_country') %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.country[0] is defined %} class="red"{% endif %}>Country:</span>
|
||||
</td>
|
||||
<td>
|
||||
<select form="form" name="country" id="account_country">
|
||||
{% for code, country_ in countries %}
|
||||
<option value="{{ code }}"{% if(country is defined and country == code) or (country is null and country_recognized == code) %}selected{% endif %}>{{ country_ }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<img src="" id="account_country_img"/>
|
||||
</td>
|
||||
</tr>
|
||||
{% if errors.country is defined %}
|
||||
<tr><td></td><td><span class="FormFieldError">{{ errors.country }}</span></td></tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_COUNTRY') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.password is defined %} class="red"{% endif %}>Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" 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>
|
||||
<tr><td></td><td><span id="password_error" class="FormFieldError">{% if errors.password is defined %}{{ errors.password }}{% endif %}</span></td></tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_PASSWORD') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.password is defined %} class="red"{% endif %}>Repeat password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" type="password" name="password_confirm" id="password_confirm" value="" size="30" maxlength="29" />
|
||||
<img id="password_confirm_indicator" src="images/global/general/{% if not save or errors.password is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td></td><td><span id="password_confirm_error" class="FormFieldError">{% if errors.password is defined %}{{ errors.password }}{% endif %}</span></td></tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_PASSWORDS') }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer" >
|
||||
<table style="width:100%;" >
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_BOXES') }}
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);"> <div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div> <div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div> </div></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BETWEEN_BOXES_1') }}
|
||||
|
||||
{% if (not setting('core.mail_enabled') or not setting('core.account_mail_verify')) and setting('core.account_create_character_create') %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_CHARACTER_NAME') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.name is defined %} class="red"{% endif %}>Character Name:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" id="character_name" name="name" size="{{ setting('core.create_character_name_max_length') }}" maxlength="{{ setting('core.create_character_name_max_length') }}" value="{{ name }}"/>
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors.name is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="character_error" class="FormFieldError">{% if errors.name is defined %}{{ errors.name }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_CHARACTER_NAME') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.sex is defined %} class="red"{% endif %}>Sex:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% set i = 0 %}
|
||||
{% for id, gender in config.genders|reverse(true) %}
|
||||
{% set i = i + 1 %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input form="form" type="radio" name="sex" id="sex{{ i }}" value="{{ id }}"{% if sex is not null and sex == id %} checked="checked"{% endif %}>
|
||||
<label for="sex{{ i }}">{{ gender|lower }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="sex_error" class="FormFieldError">{% if errors.sex is defined %}{{ errors.sex }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_SEX') }}
|
||||
|
||||
{% if config.character_samples|length > 1 %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.vocation is defined %} class="red"{% endif %}>Vocation:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%" >
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% for key, sample_char in config.character_samples %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input form="form" type="radio" name="vocation" id="vocation{{ key }}" value="{{ key }}"
|
||||
{% if vocation is not null and vocation == key %} checked="checked"{% endif %}>
|
||||
<label for="vocation{{ key }}">{{ config['vocations'][key] }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="vocation_error" class="FormFieldError">{% if errors.vocation is defined %}{{ errors.vocation }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_VOCATION') }}
|
||||
|
||||
{% if config.character_towns|length > 1 %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.town is defined %} class="red"{% endif %}>Select your town:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%" >
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% for town_id in config.character_towns %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input form="form" type="radio" name="town" id="town{{ town_id }}" value="{{ town_id }}"
|
||||
{% if town is not null and town == town_id %} checked="checked"{% endif %}>
|
||||
<label for="town{{ town_id }}">{{ config.towns[town_id] }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_TOWNS') }}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BETWEEN_BOXES_2') }}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" ><b>Please select the following check box:</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" >
|
||||
<span><input form="form" type="checkbox" id="accept_rules" name="accept_rules" value="true"{% if accept_rules %}checked{% endif %}/> <label for="accept_rules">I agree to the <a href="?subtopic=rules" target="_blank">{{ config.lua.serverName }} Rules</a>.</label></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% if errors.accept_rules is defined %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop"> <div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div></div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
|
||||
{{ 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>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.email is defined %} class="red"{% endif %}>Email Address:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="email" id="email" size="30" maxlength="50" value="{{ email }}" />
|
||||
<img id="email_indicator" src="images/global/general/{% if not save or errors.email is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td><span id="email_error" class="FormFieldError">{% if errors.email is defined %}{{ errors.email }}{% endif %}</span></td>
|
||||
</tr>
|
||||
|
||||
{% if setting('core.mail_enabled') and setting('core.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 setting('core.account_country') %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.country[0] is defined %} class="red"{% endif %}>Country:</span>
|
||||
</td>
|
||||
<td>
|
||||
<select name="country" id="account_country">
|
||||
{% for code, country_ in countries %}
|
||||
<option value="{{ code }}"{% if(country is defined and country == code) or (country is null and country_recognized == code) %}selected{% endif %}>{{ country_ }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<img src="" id="account_country_img"/>
|
||||
</td>
|
||||
</tr>
|
||||
{% if errors.country is defined %}
|
||||
<tr><td></td><td><span class="FormFieldError">{{ errors.country }}</span></td></tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_COUNTRY') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.password is defined %} class="red"{% endif %}>Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<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>
|
||||
<tr><td></td><td><span id="password_error" class="FormFieldError">{% if errors.password is defined %}{{ errors.password }}{% endif %}</span></td></tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_PASSWORD') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.password is defined %} class="red"{% endif %}>Repeat password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" name="password_confirm" id="password_confirm" value="" size="30" maxlength="29" />
|
||||
<img id="password_confirm_indicator" src="images/global/general/{% if not save or errors.password is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td></td><td><span id="password_confirm_error" class="FormFieldError">{% if errors.password is defined %}{{ errors.password }}{% endif %}</span></td></tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_PASSWORDS') }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);"> <div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div> <div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div> </div></div>
|
||||
<td colspan="2">
|
||||
<span class="FormFieldError">{{ errors.accept_rules }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);"> <div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div> <div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BETWEEN_BOXES_1') }}
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_BOXES') }}
|
||||
|
||||
{% if (not setting('core.mail_enabled') or not setting('core.account_mail_verify')) and setting('core.account_create_character_create') %}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_CHARACTER_NAME') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.name is defined %} class="red"{% endif %}>Character Name:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input id="character_name" name="name" size="{{ setting('core.create_character_name_max_length') }}" maxlength="{{ setting('core.create_character_name_max_length') }}" value="{{ name }}"/>
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors.name is defined %}n{% endif %}ok.gif" style="display: none;" />
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="character_error" class="FormFieldError">{% if errors.name is defined %}{{ errors.name }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_CHARACTER_NAME') }}
|
||||
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.sex is defined %} class="red"{% endif %}>Sex:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% set i = 0 %}
|
||||
{% for id, gender in config.genders|reverse(true) %}
|
||||
{% set i = i + 1 %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input type="radio" name="sex" id="sex{{ i }}" value="{{ id }}"{% if sex is not null and sex == id %} checked="checked"{% endif %}>
|
||||
<label for="sex{{ i }}">{{ gender|lower }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="sex_error" class="FormFieldError">{% if errors.sex is defined %}{{ errors.sex }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_SEX') }}
|
||||
|
||||
{% if config.character_samples|length > 1 %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.vocation is defined %} class="red"{% endif %}>Vocation:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%" >
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% for key, sample_char in config.character_samples %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input type="radio" name="vocation" id="vocation{{ key }}" value="{{ key }}"
|
||||
{% if vocation is not null and vocation == key %} checked="checked"{% endif %}>
|
||||
<label for="vocation{{ key }}">{{ config['vocations'][key] }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<span id="vocation_error" class="FormFieldError">{% if errors.vocation is defined %}{{ errors.vocation }}{% endif %}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_VOCATION') }}
|
||||
|
||||
{% if config.character_towns|length > 1 %}
|
||||
<tr>
|
||||
<td class="LabelV" style="width: 150px">
|
||||
<span{% if errors.town is defined %} class="red"{% endif %}>Select your town:</span>
|
||||
</td>
|
||||
<td>
|
||||
<table width="100%" >
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{% for town_id in config.character_towns %}
|
||||
<span style="margin-right:15px;" class="OptionContainer">
|
||||
<input type="radio" name="town" id="town{{ town_id }}" value="{{ town_id }}"
|
||||
{% if town is not null and town == town_id %} checked="checked"{% endif %}>
|
||||
<label for="town{{ town_id }}">{{ config.towns[town_id] }}</label>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_TOWNS') }}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BETWEEN_BOXES_2') }}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%" style="border:1px solid #faf0d7;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" ><b>Please select the following check box:</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" >
|
||||
<span><input type="checkbox" id="accept_rules" name="accept_rules" value="true"{% if accept_rules %}checked{% endif %}/> <label for="accept_rules">I agree to the <a href="?subtopic=rules" target="_blank">{{ config.lua.serverName }} Rules</a>.</label></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% if errors.accept_rules is defined %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<span class="FormFieldError">{{ errors.accept_rules }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bm.gif);"> <div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-bl.gif);"></div> <div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/global/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_BOXES') }}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_SUBMIT_BUTTON') }}
|
||||
<table width="100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_BEFORE_SUBMIT_BUTTON') }}
|
||||
<table width="100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
<form id="form" action="{{ getLink('account/create') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="save" value="1" >
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{ hook('HOOK_ACCOUNT_CREATE_AFTER_FORM') }}
|
||||
<script type="text/javascript" src="{{ constant('BASE_URL') }}tools/check_name.js"></script>
|
||||
<style>
|
||||
|
@@ -6,145 +6,145 @@ In any case the name must not violate the naming conventions stated in the <a hr
|
||||
<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/>
|
||||
<form action="{{ getLink('account/character/create') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="save" value="1">
|
||||
<div class="TableContainer">
|
||||
<table class="Table3" cellpadding="0" cellspacing="0">
|
||||
<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" >Create Character</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="TableContainer">
|
||||
<table class="Table3" cellpadding="0" cellspacing="0">
|
||||
<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" >Create Character</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:50%;">
|
||||
<span>Name</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>Sex</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="Odd">
|
||||
<td>
|
||||
<input name="name" id="character_name" value="{{ name }}" size="{{ setting('core.create_character_name_max_length') }}" maxlength="{{ setting('core.create_character_name_max_length') }}" >
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors.name is defined %}n{% endif %}ok.gif" />
|
||||
<br/>
|
||||
<span style="font-size: 10px">
|
||||
<div id="character_error">{% if not save or errors.name is defined %}Please enter your character name.{% endif %}</div>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
{% set i = 0 %}
|
||||
{% for id, gender in config.genders|reverse(true) %}
|
||||
{% set i = i + 1 %}
|
||||
<input type="radio" name="sex" id="sex{{ i }}" value="{{ id }}"{% if sex is not null and sex == id %} checked="checked"{% endif %}
|
||||
><label for="sex{{ i }}">{{ gender|lower }}</label><br/>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
{% if config.character_samples|length > 1 %}
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="Odd" valign="top">
|
||||
<td width="160"><br/><b>Select your vocation:</b></td>
|
||||
<td>
|
||||
<table class="TableContent" width="100%" >
|
||||
{% for key, sample_char in config.character_samples %}
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="vocation" id="vocation{{ key }}" value="{{ key }}"
|
||||
{% if vocation is not null and vocation == key %} checked="checked"{% endif %}>
|
||||
<label for="vocation{{ key }}">{{ config['vocations'][key] }}</label>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if config.character_towns|length > 1 %}
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="Odd" valign="top">
|
||||
<td width="160"><br/><b>Select your city:</b></td>
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
{% for town_id in config.character_towns %}
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="town" id="town{{ town_id }}" value="{{ town_id }}"
|
||||
{% if town is not null and town == town_id %} checked="checked"{% endif %}>
|
||||
<label for="town{{ town_id }}">{{ config.towns[town_id] }}</label>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%;">
|
||||
<tr align="center">
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:50%;">
|
||||
<span>Name</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>Sex</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="Odd">
|
||||
<td>
|
||||
<input form="form" name="name" id="character_name" value="{{ name }}" size="{{ setting('core.create_character_name_max_length') }}" maxlength="{{ setting('core.create_character_name_max_length') }}" >
|
||||
<img id="character_indicator" src="images/global/general/{% if not save or errors.name is defined %}n{% endif %}ok.gif" />
|
||||
<br/>
|
||||
<span style="font-size: 10px">
|
||||
<div id="character_error">{% if not save or errors.name is defined %}Please enter your character name.{% endif %}</div>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
{% set i = 0 %}
|
||||
{% for id, gender in config.genders|reverse(true) %}
|
||||
{% set i = i + 1 %}
|
||||
<input form="form" type="radio" name="sex" id="sex{{ i }}" value="{{ id }}"{% if sex is not null and sex == id %} checked="checked"{% endif %}
|
||||
><label for="sex{{ i }}">{{ gender|lower }}</label><br/>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
{% if config.character_samples|length > 1 %}
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="Odd" valign="top">
|
||||
<td width="160"><br/><b>Select your vocation:</b></td>
|
||||
<td>
|
||||
<table class="TableContent" width="100%" >
|
||||
{% for key, sample_char in config.character_samples %}
|
||||
<tr>
|
||||
<td>
|
||||
<input form="form" type="radio" name="vocation" id="vocation{{ key }}" value="{{ key }}"
|
||||
{% if vocation is not null and vocation == key %} checked="checked"{% endif %}>
|
||||
<label for="vocation{{ key }}">{{ config['vocations'][key] }}</label>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if config.character_towns|length > 1 %}
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="Odd" valign="top">
|
||||
<td width="160"><br/><b>Select your city:</b></td>
|
||||
<td>
|
||||
<table class="TableContent" width="100%">
|
||||
{% for town_id in config.character_towns %}
|
||||
<tr>
|
||||
<td>
|
||||
<input form="form" type="radio" name="town" id="town{{ town_id }}" value="{{ town_id }}"
|
||||
{% if town is not null and town == town_id %} checked="checked"{% endif %}>
|
||||
<label for="town{{ town_id }}">{{ config.towns[town_id] }}</label>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%;">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/character/create') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="save" value="1">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript" src="tools/check_name.js"></script>
|
||||
|
@@ -1,68 +1,50 @@
|
||||
To delete a character enter the name of the character and your password.<br/><br/>
|
||||
<form action="{{ getLink('account/character/delete') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="deletecharactersave" value="1"/>
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" >
|
||||
<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" >Delete Character</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Character Name:</span></td>
|
||||
<td style="width:90%;">
|
||||
<input name="delete_name" value="" size="30" maxlength="29"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Password:</span></td>
|
||||
<td>
|
||||
<input type="password" name="delete_password" size="30" maxlength="29"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
{% set title = 'Delete Character' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Character Name:</span></td>
|
||||
<td style="width:90%;">
|
||||
<input form="form" name="delete_name" value="" size="30" maxlength="29"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Password:</span></td>
|
||||
<td>
|
||||
<input form="form" type="password" name="delete_password" size="30" maxlength="29"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/character/delete') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="deletecharactersave" value="1"/>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
<tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,61 +1,44 @@
|
||||
To generate new recovery key for your account please enter your password.<br/>
|
||||
<span style="color: red"><b>New recovery key cost {{ setting('core.account_generate_new_reckey_price') }} Premium Points.</span> You have {{ points }} premium points. You will receive e-mail with this recovery key.</b><br/>
|
||||
<form action="{{ getLink('account/register/new') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="registeraccountsave" value="1">
|
||||
<div class="TableContainer" >
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Generate recovery key</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" ><span>Password:</span></td>
|
||||
<td><input type="password" name="reg_password" size="30" maxlength="29" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<span style="color: red"><b>New recovery key cost {{ setting('core.account_generate_new_reckey_price') }} Premium Points</b>.</span> You have {{ points }} premium points. You will receive e-mail with this recovery key.
|
||||
<br/>
|
||||
{% set title = 'Generate recovery key' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV"><span>Password:</span></td>
|
||||
<td><input form="form" type="password" name="reg_password" size="30" maxlength="29" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form id="form" action="{{ getLink('account/register/new') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="registeraccountsave" value="1">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,40 +1,19 @@
|
||||
To generate recovery key for your account please enter your password.<br/><br/>
|
||||
<form action="{{ getLink('account/register') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="registeraccountsave" value="1"/>
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Generate recovery key</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" name="reg_password" size="30" maxlength="29" autofocus/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% set title = 'Generate recovery key' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td class="LabelV">
|
||||
<span>Password:</span>
|
||||
</td>
|
||||
<td>
|
||||
<input form="form" type="password" name="reg_password" size="30" maxlength="29" autofocus/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<table style="width:100%">
|
||||
<tr align="center">
|
||||
@@ -42,12 +21,15 @@ To generate recovery key for your account please enter your password.<br/><br/>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
<form id="form" action="{{ getLink('account/register') }}" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="registeraccountsave" value="1"/>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
</td>
|
||||
</form>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
|
@@ -1,28 +1,10 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" >
|
||||
<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">Logout Successful</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>You have logged out of your {{ config.serverName }} account. In order to view your account you need to <a href="{{ getLink('account/manage') }}" >log in</a> again.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% set title = 'Logout Successful' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>You have logged out of your {{ config.serverName }} account. In order to view your account you need to <a href="{{ getLink('account/manage') }}" >log in</a> again.</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
@@ -1,31 +1,13 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Login Successful</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>You have logged in.<br/>Press <a href="{{ redirect }}" >here</a> if you are not returned automatically.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% set title = 'Login Successful' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>You have logged in.<br/>Press <a href="{{ redirect }}" >here</a> if you are not returned automatically.</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
// Automatic redirect
|
||||
@@ -33,4 +15,4 @@
|
||||
function automaticRedirect() {
|
||||
window.location = "{{ redirect|raw }}";
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -39,7 +39,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center"><input type="submit" value="Submit"/>
|
||||
<td colspan="2" align="center">
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@@ -1,24 +1,26 @@
|
||||
<b>Boards</b>
|
||||
<table width="100%">
|
||||
<thead>
|
||||
<tr bgcolor="{{ config.vdarkborder }}" class="white">
|
||||
<td>
|
||||
<th>
|
||||
<span style="font-size: 10px"><b>Board</b></span>
|
||||
</td>
|
||||
<td>
|
||||
</th>
|
||||
<th>
|
||||
<span style="font-size: 10px"><b>Posts</b></span>
|
||||
</td>
|
||||
<td>
|
||||
</th>
|
||||
<th>
|
||||
<span style="font-size: 10px"><b>Threads</b></span>
|
||||
</td>
|
||||
<td align="center">
|
||||
</th>
|
||||
<th align="center">
|
||||
<span style="font-size: 10px"><b>Last Post</b></span>
|
||||
</td>
|
||||
</th>
|
||||
{% if canEdit %}
|
||||
<td>
|
||||
<th>
|
||||
<span style="font-size: 10px"><b>Options</b></span>
|
||||
</td>
|
||||
</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% set i = 0 %}
|
||||
{% for board in boards %}
|
||||
{% set i = i + 1 %}
|
||||
|
@@ -1,14 +1,24 @@
|
||||
<div style="text-align:center"><h2>Change guild description</h2></div>
|
||||
Here you can change description of your guild.<br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_description" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<textarea name="description" cols="60" rows="{{ setting('core.guild_description_lines_limit') - 1 }}">{{ guild.getCustomField('description')|raw }}</textarea><br>
|
||||
(max. {{ setting('core.guild_description_lines_limit') }} lines, max. {{ setting('core.guild_description_chars_limit') }} chars) <input type="submit" value="Save description"/></form><br/>
|
||||
<br/>
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
{% set title = 'Change guild description' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>
|
||||
Here you can change description of your guild.<br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_description" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<textarea name="description" cols="60" rows="{{ setting('core.guild_description_lines_limit') - 1 }}">{{ guild.getCustomField('description')|raw }}</textarea><br>
|
||||
(max. {{ setting('core.guild_description_lines_limit') }} lines, max. {{ setting('core.guild_description_chars_limit') }} chars) <input type="submit" value="Save description"/></form><br/>
|
||||
<br/>
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
@@ -1,20 +1,32 @@
|
||||
<div style="text-align:center"><h2>Change guild logo</h2></div>
|
||||
Here you can change logo of your guild.<br/>Actuall logo: <img src="{{ constant('GUILD_IMAGES_DIR') }}{{ guild_logo }}" height="64" width="64"><br/><br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_logo" method="post" id="upload_form">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save" />
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{{ max_image_size_b }}" />
|
||||
Select new logo: <input name="newlogo" id="newlogo" type="file" />
|
||||
<input type="submit" value="Send new logo" />
|
||||
</form>
|
||||
Only <b>jpg, gif, png, bmp</b> pictures. Max. size: <b>{{ setting('core.guild_image_size_kb') }} KB</b><br>
|
||||
<br/>
|
||||
{% set title = 'Change guild logo' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>
|
||||
Here you can change logo of your guild.<br/>Actuall logo: <img src="{{ constant('GUILD_IMAGES_DIR') }}{{ guild_logo }}" height="64" width="64"><br/><br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_logo" method="post" id="upload_form">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save" />
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{{ max_image_size_b }}" />
|
||||
Select new logo: <input name="newlogo" id="newlogo" type="file" />
|
||||
<input type="submit" value="Send new logo" />
|
||||
</form>
|
||||
Only <b>jpg, gif, png, bmp</b> pictures. Max. size: <b>{{ setting('core.guild_image_size_kb') }} KB</b><br>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#upload_form').submit(function (event) {
|
||||
|
@@ -1,11 +1,22 @@
|
||||
<div style="text-align:center"><h2>Change guild MOTD</h2></div>
|
||||
Here you can change MOTD (Message of the Day, showed in game!) of your guild.<br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_motd" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<textarea name="motd" cols="60" rows="3">{{ guild.getCustomField('motd')|raw }}</textarea><br/>
|
||||
(max. {{ setting('core.guild_motd_chars_limit') }} chars) <input type="submit" value="Save MOTD" /></form><br/>
|
||||
<br/>
|
||||
{% set title = 'Change guild MOTD' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>
|
||||
Here you can change MOTD (Message of the Day, showed in game!) of your guild.<br/>
|
||||
<form enctype="multipart/form-data" action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=change_motd" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<textarea name="motd" cols="60" rows="3">{{ guild.getCustomField('motd')|raw }}</textarea><br/>
|
||||
(max. {{ setting('core.guild_motd_chars_limit') }} chars) <input type="submit" value="Save MOTD" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
{{ csrf() }}
|
||||
|
@@ -1,37 +1,19 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Delete Guild</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>Are you sure you want delete guild <b>{{ guild.getName() }}</b>?<br/>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=delete_guild" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<input type="submit" value="Yes, delete"/>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% set title = 'Delete Guild' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>Are you sure you want delete guild <b>{{ guild.getName() }}</b>?<br/>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=delete_guild" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<input type="submit" value="Yes, delete"/>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
|
@@ -1,118 +1,96 @@
|
||||
<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">Active Guilds on {{ config.lua.serverName }}</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="Table3">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
{% set title = 'Active Guilds on ' ~ config.lua.serverName %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
{% if guilds|length > 0 %}
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td width="64"><b>Logo</b></td>
|
||||
<td><b>Description</b></td>
|
||||
<td width="12%"><b> </b></td>
|
||||
</tr>
|
||||
|
||||
{% set i = 0 %}
|
||||
{% for guild in guilds %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td>
|
||||
<img src="{{ constant('GUILD_IMAGES_DIR') }}{{ guild.logo }}" width="64" height="64">
|
||||
</td>
|
||||
|
||||
<td style="word-break: break-all">
|
||||
<span{% if guild.description is not empty %} valign="top"{% endif %}>
|
||||
<b>{{ guild.name }}</b>{% if isAdmin %}<a href="{{ getLink('guilds') }}?action=delete_by_admin&guild={{ guild.name }}"> - Delete this guild (for ADMIN only!)</a>{% endif %}
|
||||
</span>
|
||||
|
||||
{% if guild.description is not empty %}
|
||||
<br>
|
||||
<span>{{ guild.description }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border:0;">
|
||||
<form action="{{ guild.link }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.view.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top">
|
||||
<b>Create Guild</b>
|
||||
<br/>
|
||||
Actually there is no guild on server.{% if logged %} Create first! Press button "Create Guild"{% endif %}
|
||||
</td>
|
||||
|
||||
{% if logged %}
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<form action="{{ getLink('guilds') }}?action=create" method="post">
|
||||
{{ csrf() }}
|
||||
{% set button_name = 'Found Guild' %}
|
||||
{% set button_image = '_sbutton_foundguild' %}
|
||||
{% include('buttons.base.html.twig') %}
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url(https://static.tibia.com/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{% if guilds|length > 0 %}
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td width="64"><b>Logo</b></td>
|
||||
<td><b>Description</b></td>
|
||||
<td width="12%"><b> </b></td>
|
||||
</tr>
|
||||
|
||||
{% set i = 0 %}
|
||||
{% for guild in guilds %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td>
|
||||
<img src="{{ constant('GUILD_IMAGES_DIR') }}{{ guild.logo }}" width="64" height="64">
|
||||
</td>
|
||||
|
||||
<td style="word-break: break-all">
|
||||
<span{% if guild.description is not empty %} valign="top"{% endif %}>
|
||||
<b>{{ guild.name }}</b>{% if isAdmin %}<a href="{{ getLink('guilds') }}?action=delete_by_admin&guild={{ guild.name }}"> - Delete this guild (for ADMIN only!)</a>{% endif %}
|
||||
</span>
|
||||
|
||||
{% if guild.description is not empty %}
|
||||
<br>
|
||||
<span>{{ guild.description }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border:0;">
|
||||
<form action="{{ guild.link }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.view.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top">
|
||||
<b>Create Guild</b>
|
||||
<br/>
|
||||
Actually there is no guild on server.{% if logged %} Create first! Press button "Create Guild"{% endif %}
|
||||
</td>
|
||||
|
||||
{% if logged %}
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<form action="{{ getLink('guilds') }}?action=create" method="post">
|
||||
{{ csrf() }}
|
||||
{% set button_name = 'Found Guild' %}
|
||||
{% set button_image = '_sbutton_foundguild' %}
|
||||
{% include('buttons.base.html.twig') %}
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url(https://static.tibia.com/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br>
|
||||
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
|
@@ -54,41 +54,25 @@ Here you can change names of ranks, delete and add ranks, pass leadership to oth
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Add new rank</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td width="120" valign="top">New rank name:</td>
|
||||
<td>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=add_rank" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="text" name="rank_name" size="20"/>
|
||||
<input type="submit" value="Add"/>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="text-align:center"><h3>Change rank names and levels</h3></div>
|
||||
{% set title = 'Add new rank' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td width="120" valign="top">New rank name:</td>
|
||||
<td>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=add_rank" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="text" name="rank_name" size="20"/>
|
||||
<input type="submit" value="Add"/>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
||||
{% set title = 'Change rank names and levels' %}
|
||||
{% set content %}
|
||||
<form action="{{ getLink('guilds') }}?action=save_ranks&guild={{ guild.getName() }}" method="post">
|
||||
{{ csrf() }}
|
||||
<table style="clear:both" border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
@@ -146,6 +130,7 @@ Here you can change names of ranks, delete and add ranks, pass leadership to oth
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<h3>Ranks info:</h3>
|
||||
<b>0. Owner of guild</b> - it's highest rank, only one player in guild may has this rank. Player with this rank can:
|
||||
<li>Invite/Cancel Invitation/Kick Player from guild</li>
|
||||
@@ -155,15 +140,19 @@ Here you can change names of ranks, delete and add ranks, pass leadership to oth
|
||||
<li>Change {% if constant('MOTD_EXISTS') %}MOTD, {% endif %}logo and description of guild</li>
|
||||
<hr/>
|
||||
<b>1. Leader</b> - it's second rank in guild. Player with this rank can:
|
||||
<li>Invite/Cancel Invitation/Kick Player from guild (only with lower rank than his)
|
||||
<li>Change ranks of players with lower rank level ("vice leader", "member") in guild<hr>
|
||||
<li>Invite/Cancel Invitation/Kick Player from guild (only with lower rank than his)</li>
|
||||
<li>Change ranks of players with lower rank level ("vice leader", "member") in guild</li>
|
||||
<hr>
|
||||
<b>2. Vice Leader</b> - it's third rank in guild. Player with this rank can:
|
||||
<li>Invite/Cancel Invitation
|
||||
<li>Change ranks of players with lower rank level ("member") in guild<hr>
|
||||
<li>Invite/Cancel Invitation</li>
|
||||
<li>Change ranks of players with lower rank level ("member") in guild</li>
|
||||
<hr>
|
||||
<b>3. Member</b> - it's lowest rank in guild. Player with this rank can:
|
||||
<li>Be a member of guild
|
||||
<li>Be a member of guild</li>
|
||||
<br/>
|
||||
<div style="text-align:center">
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?action=show&guild={{ guild.getName() }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
|
@@ -1,38 +1,20 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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" >Pass leadership</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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer" >
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>Pass leadership to: </b><br>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=pass_leadership" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<input type="text" size="40" name="player"/>
|
||||
<input type="submit" value="Save">
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% set title = 'Pass leadership' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td><strong>Pass leadership to: </strong><br>
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=pass_leadership" method="post">
|
||||
{{ csrf() }}
|
||||
<input type="hidden" name="todo" value="save"/>
|
||||
<input type="text" size="40" name="player"/>
|
||||
<input type="submit" value="Save">
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<div style="text-align:center">
|
||||
<form action="{{ getLink('guilds') }}?guild={{ guild.getName() }}&action=manager" method="post">
|
||||
|
@@ -21,64 +21,170 @@
|
||||
|
||||
{{ hook('HOOK_GUILDS_AFTER_GUILD_HEADER') }}
|
||||
|
||||
<table width="100%">
|
||||
{% set title = 'Guild Information' %}
|
||||
{% set background = config('darkborder') %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="vertical-align:top;">
|
||||
<div class="TableContainer">
|
||||
<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">Guild Information</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>
|
||||
<td style="word-break: break-all">
|
||||
<div id="GuildInformationContainer">
|
||||
{% if description is not empty %}
|
||||
{{ description|raw }}
|
||||
<br>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if guild_owner is not empty %}
|
||||
{% set guildOwnerName = guild_owner.getName() %}
|
||||
|
||||
<a href="{{ getPlayerLink(guildOwnerName, false) }}"><b>{{ guildOwnerName }}</b></a> is guild leader of <b>{{ guild_name }}</b>.
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
The guild was founded on {{ config.lua.serverName }} on {{ guild_creation_date|date("j F Y") }}.
|
||||
{% if isLeader %}
|
||||
<a href="{{ getLink('guilds') }}?action=manager&guild={{ guild_name }}" style="float: right;">
|
||||
{% set button_name = 'Manage Guild' %}
|
||||
{% include('buttons.base.html.twig') %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
|
||||
{{ hook('HOOK_GUILDS_AFTER_GUILD_INFORMATION') }}
|
||||
|
||||
{% set title = 'Guild Members' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableContentAndRightShadow">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
<tr class="LabelH">
|
||||
<td>Rank</td>
|
||||
<td>Name{% if useGuildNick %} and Title{% endif %}</td>
|
||||
<td>Vocation</td>
|
||||
<td>Level</td>
|
||||
<td>Status</td>
|
||||
</tr>
|
||||
|
||||
{% set showedRank, i = false, 0 %}
|
||||
{% for rank in guild_members if rank.members|length > 0 %}
|
||||
{% set rankStyle, i = getStyle(i), i + 1 %}
|
||||
|
||||
{% for player in rank.members %}
|
||||
<tr bgcolor="{{ rankStyle }}">
|
||||
<td>
|
||||
{% if not showedRank %}{{ rank.rank_name }}{% endif %}
|
||||
{% set showedRank = true %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{% set playerName = player.getName() %}
|
||||
<form action="{{ getLink('guilds') }}?action=change_nick&name={{ playerName }}&guild={{ guild_name }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ getPlayerLink(playerName, true)|raw }}
|
||||
|
||||
{% set showGuildNick = false %}
|
||||
{% if player.getGuildNick() is not empty %}
|
||||
{% set showGuildNick = true %}
|
||||
{% set guildNickRaw = player.getGuildNick()|raw %}
|
||||
{% endif %}
|
||||
|
||||
{% if logged %}
|
||||
{% if player.getId() in players_from_account_ids %}
|
||||
(<input type="text" name="nick" value="{{ guildNickRaw }}"><input type="submit" value="Change">)
|
||||
{% else %}
|
||||
{% if showGuildNick %} ({{ guildNickRaw }}){% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if level_in_guild > rank.rank_level or isLeader %}
|
||||
{% if guildOwnerName != playerName %}
|
||||
<span style="font-size: 10px; float: right">
|
||||
{<a href="{{ getLink('guilds') }}?action=kick_player&guild={{ guild_name|url_encode }}&name={{ playerName|url_encode }}">KICK</a>}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if showGuildNick %} ({{ guildNickRaw }}){% endif %}
|
||||
{% endif %}
|
||||
</form>
|
||||
</td>
|
||||
|
||||
<td>{{ player.getVocationName() }}</td>
|
||||
<td>{{ player.getLevel() }}</td>
|
||||
<td>
|
||||
<span style="color: {% if player.isOnline() %} green;"><b>Online{% else %} red;"><b>Offline{% endif %}</b></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
{% set showedRank = false %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td colspan="5">No guild members found.</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
{{ hook('HOOK_GUILDS_AFTER_GUILD_MEMBERS') }}
|
||||
{% set title = 'Invited Characters' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break: break-all">
|
||||
<div id="GuildInformationContainer">
|
||||
{% if description is not empty %}
|
||||
{{ description|raw }}
|
||||
<br>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if guild_owner is not empty %}
|
||||
{% set guildOwnerName = guild_owner.getName() %}
|
||||
|
||||
<a href="{{ getPlayerLink(guildOwnerName, false) }}"><b>{{ guildOwnerName }}</b></a> is guild leader of <b>{{ guild_name }}</b>.
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
The guild was founded on {{ config.lua.serverName }} on {{ guild_creation_date|date("j F Y") }}.
|
||||
{% if isLeader %}
|
||||
<a href="{{ getLink('guilds') }}?action=manager&guild={{ guild_name }}" style="float: right;">
|
||||
<img src="{{ template_path }}/images/global/buttons/sbutton_manageguild.png" style="width: 120px; height: 20px;" alt="Manage Guild">
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<tr class="LabelH">
|
||||
<td><b>Name</b></td>
|
||||
</tr>
|
||||
|
||||
{% set i = 0 %}
|
||||
{% for invited_player in invited_list if invited_list|length > 0 %}
|
||||
{% if invited_player.isLoaded() %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
{% set i = i + 1 %}
|
||||
|
||||
<td>
|
||||
{{ getPlayerLink(invited_player.getName(), true)|raw }}
|
||||
|
||||
{% if isVice %}
|
||||
<div style="float: right">
|
||||
{<a href="{{ getLink('guilds') }}?action=delete_invite&guild={{ guild_name|url_encode }}&name={{ invited_player.getName()|url_encode }}">Cancel Invitation</a>}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td>
|
||||
No invited characters found.
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -86,191 +192,8 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
{{ hook('HOOK_GUILDS_AFTER_GUILD_INFORMATION') }}
|
||||
|
||||
<div class="TableContainer">
|
||||
<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">Guild Members</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>
|
||||
</div>
|
||||
|
||||
<table class="Table3" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableContentAndRightShadow">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
<tr class="LabelH">
|
||||
<td>Rank</td>
|
||||
<td>Name{% if useGuildNick %} and Title{% endif %}</td>
|
||||
<td>Vocation</td>
|
||||
<td>Level</td>
|
||||
<td>Status</td>
|
||||
</tr>
|
||||
|
||||
{% set showedRank, i = false, 0 %}
|
||||
{% for rank in guild_members if rank.members|length > 0 %}
|
||||
{% set rankStyle, i = getStyle(i), i + 1 %}
|
||||
|
||||
{% for player in rank.members %}
|
||||
<tr bgcolor="{{ rankStyle }}">
|
||||
<td>
|
||||
{% if not showedRank %}{{ rank.rank_name }}{% endif %}
|
||||
{% set showedRank = true %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{% set playerName = player.getName() %}
|
||||
<form action="{{ getLink('guilds') }}?action=change_nick&name={{ playerName }}&guild={{ guild_name }}" method="post">
|
||||
{{ csrf() }}
|
||||
{{ getPlayerLink(playerName, true)|raw }}
|
||||
|
||||
{% set showGuildNick = false %}
|
||||
{% if player.getGuildNick() is not empty %}
|
||||
{% set showGuildNick = true %}
|
||||
{% set guildNickRaw = player.getGuildNick()|raw %}
|
||||
{% endif %}
|
||||
|
||||
{% if logged %}
|
||||
{% if player.getId() in players_from_account_ids %}
|
||||
(<input type="text" name="nick" value="{{ guildNickRaw }}"><input type="submit" value="Change">)
|
||||
{% else %}
|
||||
{% if showGuildNick %} ({{ guildNickRaw }}){% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if level_in_guild > rank.rank_level or isLeader %}
|
||||
{% if guildOwnerName != playerName %}
|
||||
<span style="font-size: 10px; float: right">
|
||||
{<a href="{{ getLink('guilds') }}?action=kick_player&guild={{ guild_name|url_encode }}&name={{ playerName|url_encode }}">KICK</a>}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if showGuildNick %} ({{ guildNickRaw }}){% endif %}
|
||||
{% endif %}
|
||||
</form>
|
||||
</td>
|
||||
|
||||
<td>{{ player.getVocationName() }}</td>
|
||||
<td>{{ player.getLevel() }}</td>
|
||||
<td>
|
||||
<span style="color: {% if player.isOnline() %} green;"><b>Online{% else %} red;"><b>Offline{% endif %}</b></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
{% set showedRank = false %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td colspan="5">No guild members found.</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
|
||||
{{ hook('HOOK_GUILDS_AFTER_GUILD_MEMBERS') }}
|
||||
|
||||
<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">Invited Characters</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="Table3" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tbody>
|
||||
<tr class="LabelH">
|
||||
<td><b>Name</b></td>
|
||||
</tr>
|
||||
|
||||
{% set i = 0 %}
|
||||
{% for invited_player in invited_list if invited_list|length > 0 %}
|
||||
{% if invited_player.isLoaded() %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
{% set i = i + 1 %}
|
||||
|
||||
<td>
|
||||
{{ getPlayerLink(invited_player.getName(), true)|raw }}
|
||||
|
||||
{% if isVice %}
|
||||
<div style="float: right">
|
||||
{<a href="{{ getLink('guilds') }}?action=delete_invite&guild={{ guild_name|url_encode }}&name={{ invited_player.getName()|url_encode }}">Cancel Invitation</a>}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td>
|
||||
No invited characters found.
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
|
||||
{{ hook('HOOK_GUILDS_AFTER_INVITED_CHARACTERS', { 'guild': guild, 'isLeader': isLeader }) }}
|
||||
|
@@ -1,171 +1,151 @@
|
||||
<div class="TableContainer">
|
||||
{% if errors is not empty %}
|
||||
{% for error in errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<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" >House Search</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>
|
||||
{% set title = 'House Search' %}
|
||||
{% set content %}
|
||||
{% if errors is not empty %}
|
||||
{% for error in errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
Here you can see the list of all available houses, flats{{ guildString }}.
|
||||
Click on any view button to get more information about a house or adjust
|
||||
the search criteria and start a new search.
|
||||
<br><br>
|
||||
{% if cleanOldHouse is not empty or rentType != 'never' %}
|
||||
Every morning during global server save there is automatic house cleaning. Server delete house owners who have not logged in last {{ cleanOldHouse }} days{% if rentType != 'never' %} or have not paid {{ rentType }} house rent. Remember to leave money for a rent in {% if config.lua.bankSystem is not empty %}your house bank or {% else %}depo in same city where you have house!{% endif %}{% else %}.{% endif %}
|
||||
<br><br>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
Here you can see the list of all available houses, flats{{ guildString }}.
|
||||
Click on any view button to get more information about a house or adjust
|
||||
the search criteria and start a new search.
|
||||
<br><br>
|
||||
{% if cleanOldHouse is not empty or rentType != 'never' %}
|
||||
Every morning during global server save there is automatic house cleaning. Server delete house owners who have not logged in last {{ cleanOldHouse }} days{% if rentType != 'never' %} or have not paid {{ rentType }} house rent. Remember to leave money for a rent in {% if config.lua.bankSystem is not empty %}your house bank or {% else %}depo in same city where you have house!{% endif %}{% else %}.{% endif %}
|
||||
<br><br>
|
||||
{% endif %}
|
||||
{% if houses is not empty or housesSearch %}
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<tbody>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="6" class="white"><b>Available {{ houseType }}{% if townName is not empty %} in {{ townName }}{% endif %} on <b>{{ config.lua.serverName }}</b></b></td>
|
||||
</tr>
|
||||
|
||||
{% if houses is not empty or housesSearch %}
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<tbody>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="6" class="white"><b>Available {{ houseType }}{% if townName is not empty %} in {{ townName }}{% endif %} on <b>{{ config.lua.serverName }}</b></b></td>
|
||||
</tr>
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
{% if houses is not empty %}
|
||||
<td width="40%"><b>Name</b></td>
|
||||
<td width="10%"><b>Size</b></td>
|
||||
<td width="10%"><b>Rent</b></td>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
{% if houses is not empty %}
|
||||
<td width="40%"><b>Name</b></td>
|
||||
<td width="10%"><b>Size</b></td>
|
||||
<td width="10%"><b>Rent</b></td>
|
||||
<td width="40%"><b>Status</b></td>
|
||||
<td> </td>
|
||||
{% elseif housesSearch %}
|
||||
<td>No {{ houseType }} with specified criterias.</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
<td width="40%"><b>Status</b></td>
|
||||
<td> </td>
|
||||
{% elseif housesSearch %}
|
||||
<td>No {{ houseType }} with specified criterias.</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% if houses is not empty %}
|
||||
{% set i = 0 %}
|
||||
{% for house in houses %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td width="40%">
|
||||
{{ house.name }}
|
||||
</td>
|
||||
|
||||
{% if houses is not empty %}
|
||||
{% set i = 0 %}
|
||||
{% for house in houses %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td width="40%">
|
||||
{{ house.name }}
|
||||
</td>
|
||||
<td width="10%">
|
||||
{{ house.size }}
|
||||
</td>
|
||||
|
||||
<td width="10%">
|
||||
{{ house.size }}
|
||||
</td>
|
||||
<td width="10%">
|
||||
{{ house.rent }} golds
|
||||
</td>
|
||||
|
||||
<td width="10%">
|
||||
{{ house.rent }} golds
|
||||
</td>
|
||||
<td width="40%">
|
||||
{{ house.rentedBy|raw }}
|
||||
</td>
|
||||
|
||||
<td width="40%">
|
||||
{{ house.rentedBy|raw }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<form action="{{ getLink('houses/view') }}" method="post">
|
||||
<input type="hidden" name="house" value="{{ house.name }}">
|
||||
{{ include('buttons.view.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
<form action="{{ getLink('houses') }}" method="post">
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<tbody>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="4" class="white"><b>House Search</b></td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td width="25%"><b>Town</b></td>
|
||||
<td width="25%"><b>Status</b></td>
|
||||
<td width="25%"><b>Order</b></td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top" rowspan="2">
|
||||
{% set checked = false %}
|
||||
{% for id, name in config.towns if id > 0 %}
|
||||
{% if ((townId is empty and name is not empty) or id == townId) and not checked %}
|
||||
{% set variable = "checked" %}
|
||||
{% set checked = true %}
|
||||
{% else %}
|
||||
{% set variable = "" %}
|
||||
{% endif %}
|
||||
|
||||
<input type="radio" name="town" id="town_{{ id }}" value="{{ id }}"{% if variable is defined %} {{ variable }}{% endif %}>
|
||||
<label for="town_{{ id }}"> {{ name }}</label>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
|
||||
<td valign="top">
|
||||
<input type="radio" name="state" id="state_all" value=""{% if state is empty %} checked{% endif %}>
|
||||
<label for="state_all">all states</label><br>
|
||||
|
||||
<input type="radio" name="state" id="state_free" value="free"{% if state == 'free' %} checked{% endif %}>
|
||||
<label for="state_free">free</label><br>
|
||||
|
||||
<input type="radio" name="state" id="state_rented" value="rented"{% if state == 'rented' %} checked{% endif %}>
|
||||
<label for="state_rented">rented</label><br>
|
||||
</td>
|
||||
|
||||
<td valign="top" rowspan="2">
|
||||
<input type="radio" name="order" id="order_name" value=""{% if order is empty %} checked{% endif %}>
|
||||
<label for="order_name"> by name</label><br>
|
||||
|
||||
<input type="radio" name="order" id="order_size" value="size"{% if order == 'size' %} checked{% endif %}>
|
||||
<label for="order_size"> by size</label><br>
|
||||
|
||||
<input type="radio" name="order" id="order_rent" value="rent"{% if order == 'rent' %} checked{% endif %}>
|
||||
<label for="order_rent"> by rent</label><br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top">
|
||||
<input type="radio" name="type" id="type_all" value=""{% if type is empty %} checked{% endif %}>
|
||||
<label for="type"> all</label><br>
|
||||
<input type="radio" name="type" id="type_houses" value="houses"{% if type == 'houses' %} checked{% endif %}>
|
||||
<label for="type_houses"> houses and flats</label><br>
|
||||
<input type="radio" name="type" id="type_guildhalls" value="guildhalls"{% if type == 'guildhalls' %} checked{% endif %}>
|
||||
<label for="type_guildhalls"> guildhalls</label><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tbody>
|
||||
<tr align="center">
|
||||
<td>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<td>
|
||||
<form action="{{ getLink('houses/view') }}" method="post">
|
||||
<input type="hidden" name="house" value="{{ house.name }}">
|
||||
{{ include('buttons.view.html.twig') }}
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
<form action="{{ getLink('houses') }}" method="post">
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<tbody>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="4" class="white"><b>House Search</b></td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td width="25%"><b>Town</b></td>
|
||||
<td width="25%"><b>Status</b></td>
|
||||
<td width="25%"><b>Order</b></td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top" rowspan="2">
|
||||
{% set checked = false %}
|
||||
{% for id, name in config.towns if id > 0 %}
|
||||
{% if ((townId is empty and name is not empty) or id == townId) and not checked %}
|
||||
{% set variable = "checked" %}
|
||||
{% set checked = true %}
|
||||
{% else %}
|
||||
{% set variable = "" %}
|
||||
{% endif %}
|
||||
|
||||
<input type="radio" name="town" id="town_{{ id }}" value="{{ id }}"{% if variable is defined %} {{ variable }}{% endif %}>
|
||||
<label for="town_{{ id }}"> {{ name }}</label>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
|
||||
<td valign="top">
|
||||
<input type="radio" name="state" id="state_all" value=""{% if state is empty %} checked{% endif %}>
|
||||
<label for="state_all">all states</label><br>
|
||||
|
||||
<input type="radio" name="state" id="state_free" value="free"{% if state == 'free' %} checked{% endif %}>
|
||||
<label for="state_free">free</label><br>
|
||||
|
||||
<input type="radio" name="state" id="state_rented" value="rented"{% if state == 'rented' %} checked{% endif %}>
|
||||
<label for="state_rented">rented</label><br>
|
||||
</td>
|
||||
|
||||
<td valign="top" rowspan="2">
|
||||
<input type="radio" name="order" id="order_name" value=""{% if order is empty %} checked{% endif %}>
|
||||
<label for="order_name"> by name</label><br>
|
||||
|
||||
<input type="radio" name="order" id="order_size" value="size"{% if order == 'size' %} checked{% endif %}>
|
||||
<label for="order_size"> by size</label><br>
|
||||
|
||||
<input type="radio" name="order" id="order_rent" value="rent"{% if order == 'rent' %} checked{% endif %}>
|
||||
<label for="order_rent"> by rent</label><br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<tr bgcolor="{{ config.darkborder }}">
|
||||
<td valign="top">
|
||||
<input type="radio" name="type" id="type_all" value=""{% if type is empty %} checked{% endif %}>
|
||||
<label for="type"> all</label><br>
|
||||
<input type="radio" name="type" id="type_houses" value="houses"{% if type == 'houses' %} checked{% endif %}>
|
||||
<label for="type_houses"> houses and flats</label><br>
|
||||
<input type="radio" name="type" id="type_guildhalls" value="guildhalls"{% if type == 'guildhalls' %} checked{% endif %}>
|
||||
<label for="type_guildhalls"> guildhalls</label><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tbody>
|
||||
<tr align="center">
|
||||
<td>
|
||||
{{ include('buttons.submit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
@@ -1,51 +1,32 @@
|
||||
<div class="TableContainer">
|
||||
{% if errors is not empty %}
|
||||
{% for error in errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<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" >{{ houseName }}</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>
|
||||
{% set title = houseName %}
|
||||
{% set content %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table border="0" cellpadding="4" cellspacing="1" width="100%">
|
||||
<tr style="display: inline-flex;">
|
||||
<td><img src="{{ imgPath }}"></td>
|
||||
<td>
|
||||
{{ bedsMessage }} and has a size of <b>{{ houseSize }} square meters</b>.
|
||||
{% if errors is not empty %}
|
||||
{% for error in errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<table border="0" cellpadding="4" cellspacing="1" width="100%">
|
||||
<tr style="display: inline-flex;">
|
||||
<td><img src="{{ imgPath }}"></td>
|
||||
<td>
|
||||
{{ bedsMessage }} and has a size of <b>{{ houseSize }} square meters</b>.
|
||||
|
||||
{% if rentType != 'never' %}
|
||||
The {{ rentType }} is <b>{{ houseRent }} gold</b> and will be debited to the bank account on <b>{{ config.lua.serverName }}</b>.
|
||||
{% endif %}
|
||||
<br>
|
||||
{% if rentType != 'never' %}
|
||||
The {{ rentType }} is <b>{{ houseRent }} gold</b> and will be debited to the bank account on <b>{{ config.lua.serverName }}</b>.
|
||||
{% endif %}
|
||||
<br>
|
||||
|
||||
{% if owner is not empty %}
|
||||
The house has been rented by <b>{{ owner|raw }}</b>.
|
||||
{% else %}
|
||||
No one has bought this house yet.
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if owner is not empty %}
|
||||
The house has been rented by <b>{{ owner|raw }}</b>.
|
||||
{% else %}
|
||||
No one has bought this house yet.
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br><br>
|
||||
|
@@ -1,72 +1,53 @@
|
||||
<div class="TableContainer" >
|
||||
<table class="Table3">
|
||||
<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" >Last Kills</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>
|
||||
{% set title = 'Last Kills' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer" >
|
||||
<table style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
{% if lastkills|length <= 0 %}
|
||||
<tr>
|
||||
<td>
|
||||
No one died on {{ config.lua.serverName }}
|
||||
</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
{% for lastkill in lastkills %}
|
||||
<tr bgcolor="{{ getStyle(lastkill.id) }}">
|
||||
<td class="centralizeContent" width="30">
|
||||
{{ lastkill.id }}.
|
||||
</td>
|
||||
<td width="125">
|
||||
<small>{{ lastkill.time|date("j.m.Y, G:i:s") }}</small>
|
||||
</td>
|
||||
<td>
|
||||
{{ lastkill.killers_string|raw }}
|
||||
</td>
|
||||
{% if config.multiworld %}
|
||||
<td>
|
||||
{{ lastkill.world_id }}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url(https://static.tibia.com/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
{% if lastkills|length <= 0 %}
|
||||
<tr>
|
||||
<td>
|
||||
No one died on {{ config.lua.serverName }}
|
||||
</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
{% for lastkill in lastkills %}
|
||||
<tr bgcolor="{{ getStyle(lastkill.id) }}">
|
||||
<td class="centralizeContent" width="30">
|
||||
{{ lastkill.id }}.
|
||||
</td>
|
||||
<td width="125">
|
||||
<small>{{ lastkill.time|date("j.m.Y, G:i:s") }}</small>
|
||||
</td>
|
||||
<td>
|
||||
{{ lastkill.killers_string|raw }}
|
||||
</td>
|
||||
{% if config.multiworld %}
|
||||
<td>
|
||||
{{ lastkill.world_id }}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url(https://static.tibia.com/images/global/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
@@ -1,31 +1,17 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>{{ description|raw }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<thead>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="3" class="white"><b>{{ title|raw }}</b></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="background-color: {% if background is not null %}{{ background }}{% else %}{{ config.darkborder }}{% endif %}">
|
||||
<td>
|
||||
{{ description|raw }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
{% if custom_buttons is defined %}
|
||||
{{ custom_buttons|raw }}
|
||||
|
@@ -1,24 +1,14 @@
|
||||
<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="Table5" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
{{ content|raw }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table border="0" cellspacing="1" cellpadding="4" width="100%">
|
||||
<thead>
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td colspan="3" class="white"><b>{{ title|raw }}</b></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="background-color: {% if background is not null %}{{ background }}{% else %}{{ config.lightborder }}{% endif %}">
|
||||
<td>
|
||||
{{ content|raw }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@@ -1,186 +1,170 @@
|
||||
<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" >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.darkborder }}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
{% set i = 0 %}
|
||||
{% if setting('core.team_style') == 1 %}
|
||||
{% set title = 'Support in game' %}
|
||||
{% set content %}
|
||||
{% set i = 0 %}
|
||||
|
||||
<table border="0" cellpadding="4" cellspacing="1" width="100%">
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td width="10%" class="white">
|
||||
<b>Group</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td width="5%" class="white">
|
||||
<b>Outfit</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td width="40%" class="white">
|
||||
<b>Name</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td class="white">
|
||||
<b>Status</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td class="white">
|
||||
<b>World</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td class="white">
|
||||
<b>Last login</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
{% for group in groupmember|reverse %}
|
||||
{% if group.members is not empty %}
|
||||
{% for member in group.members|reverse %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
|
||||
<td>{{ group.group_name|capitalize }}</td>
|
||||
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td>
|
||||
<img style="position: absolute; margin-top: {% if member.player.looktype in setting('core.outfit_images_wrong_looktypes') %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td>
|
||||
{% if setting('core.account_country') %}
|
||||
{{ member.flag_image|raw }}
|
||||
{% endif %}
|
||||
{{ member.link|raw }}
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td>
|
||||
{% if member.status %}
|
||||
<span style="color: green"><b>Online</b></span>
|
||||
{% else %}
|
||||
<span style="color: red"><b>Offline</b></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td>
|
||||
<span><b>{{ member.world_name }}</b></span>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td>
|
||||
<span>{{ member.last_login }}</span>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% elseif setting('core.team_style') == 2 %}
|
||||
{% for group in groupmember|reverse %}
|
||||
{% if group.members is not empty %}
|
||||
<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 }}">
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td width="5%" class="white">
|
||||
<b>Outfit</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td width="40%" class="white">
|
||||
<b>Name</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td class="white">
|
||||
<b>Status</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td class="white">
|
||||
<b>World</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td class="white">
|
||||
<b>Last login</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
{% for member in group.members %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td>
|
||||
<img style="position: absolute; margin-top: {% if member.player.looktype in setting('core.outfit_images_wrong_looktypes') %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td>
|
||||
{% if setting('core.account_country') %}
|
||||
{{ member.flag_image|raw }}
|
||||
{% endif %}
|
||||
{{ member.link|raw }}
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td>
|
||||
{% if member.status %}
|
||||
<span style="color: green"><b>Online</b></span>
|
||||
{% else %}
|
||||
<span style="color: red"><b>Offline</b></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td>
|
||||
<span><b>{{ member.world_name }}</b></span>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td>
|
||||
<span>{{ member.last_login }}</span>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if setting('core.team_style') == 1 %}
|
||||
<table border="0" cellpadding="4" cellspacing="1" width="100%">
|
||||
<tr bgcolor="{{ config.vdarkborder }}">
|
||||
<td width="10%" class="white">
|
||||
<b>Group</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td width="5%" class="white">
|
||||
<b>Outfit</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td width="40%" class="white">
|
||||
<b>Name</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td class="white">
|
||||
<b>Status</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td class="white">
|
||||
<b>World</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td class="white">
|
||||
<b>Last login</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
{% for group in groupmember|reverse %}
|
||||
{% if group.members is not empty %}
|
||||
{% for member in group.members|reverse %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
|
||||
<td>{{ group.group_name|capitalize }}</td>
|
||||
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td>
|
||||
<img style="position: absolute; margin-top: {% if member.player.looktype in setting('core.outfit_images_wrong_looktypes') %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td>
|
||||
{% if setting('core.account_country') %}
|
||||
{{ member.flag_image|raw }}
|
||||
{% endif %}
|
||||
{{ member.link|raw }}
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td>
|
||||
{% if member.status %}
|
||||
<span style="color: green"><b>Online</b></span>
|
||||
{% else %}
|
||||
<span style="color: red"><b>Offline</b></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td>
|
||||
<span><b>{{ member.world_name }}</b></span>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td>
|
||||
<span>{{ member.last_login }}</span>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% elseif setting('core.team_style') == 2 %}
|
||||
|
||||
{% for group in groupmember|reverse %}
|
||||
{% if group.members is not empty %}
|
||||
<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 }}">
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td width="5%" class="white">
|
||||
<b>Outfit</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td width="40%" class="white">
|
||||
<b>Name</b>
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td class="white">
|
||||
<b>Status</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td class="white">
|
||||
<b>World</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td class="white">
|
||||
<b>Last login</b>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
{% for member in group.members %}
|
||||
{% set i = i + 1 %}
|
||||
<tr bgcolor="{{ getStyle(i) }}" style="height: 32px;">
|
||||
{% if setting('core.team_outfit') %}
|
||||
<td>
|
||||
<img style="position: absolute; margin-top: {% if member.player.looktype in setting('core.outfit_images_wrong_looktypes') %}-16px;margin-left:-0px;{% else %} -45px; margin-left: -30px;{% endif %}" src="{{ member.outfit }}" alt="player outfit"/>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td>
|
||||
{% if setting('core.account_country') %}
|
||||
{{ member.flag_image|raw }}
|
||||
{% endif %}
|
||||
{{ member.link|raw }}
|
||||
</td>
|
||||
|
||||
{% if setting('core.team_status') %}
|
||||
<td>
|
||||
{% if member.status %}
|
||||
<span style="color: green"><b>Online</b></span>
|
||||
{% else %}
|
||||
<span style="color: red"><b>Offline</b></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if (setting('core.multiworld') or setting('core.team_world')) %}
|
||||
<td>
|
||||
<span><b>{{ member.world_name }}</b></span>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if setting('core.team_lastlogin') %}
|
||||
<td>
|
||||
<span>{{ member.last_login }}</span>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
|
@@ -31,6 +31,8 @@ if($dev_mode) {
|
||||
}
|
||||
unset($dev_mode);
|
||||
|
||||
$twig->addExtension(new MyAAC\Twig\Extension\TypeCastingExtension());
|
||||
|
||||
$filter = new TwigFilter('timeago', function ($datetime) {
|
||||
|
||||
$time = time() - strtotime($datetime);
|
||||
@@ -71,8 +73,8 @@ $function = new TwigFunction('generateLink', function ($s, $n, $b = false) {
|
||||
});
|
||||
$twig->addFunction($function);
|
||||
|
||||
$function = new TwigFunction('getPlayerLink', function ($s, $p = true) {
|
||||
return getPlayerLink($s, $p);
|
||||
$function = new TwigFunction('getPlayerLink', function ($s, $p = true, $colored = false) {
|
||||
return getPlayerLink($s, $p, $colored);
|
||||
});
|
||||
$twig->addFunction($function);
|
||||
|
||||
|
@@ -1,17 +0,0 @@
|
||||
<h2>{{ title }}</h2><br/>
|
||||
{{ description|raw }}
|
||||
{% if custom_buttons is defined %}
|
||||
{{ custom_buttons|raw }}
|
||||
{% else %}
|
||||
<div style="text-align: center; margin: 0 auto;">
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px; text-align: center;">
|
||||
<input type="submit" name="Back" value="Back"/>
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
@@ -119,124 +119,107 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableContainer">
|
||||
<table class="Table3" cellpadding="0" cellspacing="0">
|
||||
<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" >General Information</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>
|
||||
{% set title = 'General Information' %}
|
||||
{% set tableClass = 'Table3' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;" >
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
{% if not config.account_login_by_email or config.account_login_by_email_fallback %}
|
||||
<tr style="background-color: {{ config.lightborder }};" >
|
||||
<td class="LabelV" >Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</td>
|
||||
<td style="width:90%;" >{{ account }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Email Address:</td>
|
||||
<td style="width:90%;" >{{ account_email ~ email_change}}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.lightborder }};" >
|
||||
<td class="LabelV" >Created:</td>
|
||||
<td>{{ account_created|date("j F Y, G:i:s") }}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Last Login:</td>
|
||||
<td>{{ "now"|date("j F Y, G:i:s") }}</td>
|
||||
</tr>
|
||||
{% autoescape false %}
|
||||
<tr style="background-color: {{ config.lightborder }};" >
|
||||
<td class="LabelV" >Account Status:</td>
|
||||
<td>{{ account_status }}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Registered:</td>
|
||||
<td>{{ account_registered }}</td>
|
||||
</tr>
|
||||
{% endautoescape %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
|
||||
</div>
|
||||
</td>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
{% if not config.account_login_by_email or config.account_login_by_email_fallback %}
|
||||
<tr style="background-color: {{ config.lightborder }};" >
|
||||
<td class="LabelV" >Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</td>
|
||||
<td style="width:90%;" >{{ account }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/password') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.change_password.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/email') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<input type="hidden" name="newemail" value=""/>
|
||||
<input type="hidden" name="newemaildate" value="0">
|
||||
{{ include('buttons.change_email.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td width="100%"></td>
|
||||
{# show button "register account" #}
|
||||
{% if recovery_key is empty %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/register') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.register_account.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Email Address:</td>
|
||||
<td style="width:90%;" >{{ account_email ~ email_change}}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.lightborder }};" >
|
||||
<td class="LabelV" >Created:</td>
|
||||
<td>{{ account_created|date("j F Y, G:i:s") }}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Last Login:</td>
|
||||
<td>{{ "now"|date("j F Y, G:i:s") }}</td>
|
||||
</tr>
|
||||
{% autoescape false %}
|
||||
<tr style="background-color: {{ config.lightborder }};">
|
||||
<td class="LabelV" >Account Status:</td>
|
||||
<td>{{ account_status }}</td>
|
||||
</tr>
|
||||
<tr style="background-color: {{ config.darkborder }};" >
|
||||
<td class="LabelV" >Registered:</td>
|
||||
<td>{{ account_registered }}</td>
|
||||
</tr>
|
||||
{% endautoescape %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/password') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.change_password.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/email') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<input type="hidden" name="newemail" value=""/>
|
||||
<input type="hidden" name="newemaildate" value="0">
|
||||
{{ include('buttons.change_email.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
<td width="100%"></td>
|
||||
{# show button "register account" #}
|
||||
{% if recovery_key is empty %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/register') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.register_account.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<a name="Public+Information"></a>
|
||||
<div class="TopButtonContainer">
|
||||
@@ -246,74 +229,56 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableContainer">
|
||||
<table class="Table5" cellpadding="0" cellspacing="0">
|
||||
<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" >Public Information</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>
|
||||
{% set title = 'Public Information' %}
|
||||
{% set tableClass = 'Table5' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);" ></div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);" ></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" >Real Name:</td>
|
||||
<td style="width:90%;" >{{ account_rlname }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" >Location:</td>
|
||||
<td style="width:90%;" >{{ account_location }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td align=right>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/info') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.edit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
|
||||
</div>
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td class="LabelV" >Real Name:</td>
|
||||
<td style="width:90%;" >{{ account_rlname }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="LabelV" >Location:</td>
|
||||
<td style="width:90%;" >{{ account_location }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td align=right>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/info') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.edit.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);">
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<a name="Account+Logs" ></a>
|
||||
<div class="TopButtonContainer">
|
||||
@@ -323,68 +288,50 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableContainer">
|
||||
<table class="Table5" cellpadding="0" cellspacing="0">
|
||||
<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" >Account logs</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>
|
||||
{% set title = 'Account logs' %}
|
||||
{% set tableClass = 'Table3' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
|
||||
<div class="TableContentContainer" >
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:60%">Action</td>
|
||||
<td style="width:25%">Date</td>
|
||||
<td style="width:15%">IP</td>
|
||||
</tr>
|
||||
{% autoescape false %}
|
||||
{% set i = 0 %}
|
||||
{% for action in actions %}
|
||||
{% set i = i + 1 %}
|
||||
<tr style="background-color: {{ getStyle(i) }}">
|
||||
<td>{{ action.action }}</td>
|
||||
<td>{{ action.date|date("jS F Y H:i:s") }}</td>
|
||||
<td>{{ action.ip }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endautoescape %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer" >
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td align=right>
|
||||
</td>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
|
||||
<div class="TableContentContainer" >
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:60%">Action</td>
|
||||
<td style="width:25%">Date</td>
|
||||
<td style="width:15%">IP</td>
|
||||
</tr>
|
||||
{% autoescape false %}
|
||||
{% set i = 0 %}
|
||||
{% for action in actions %}
|
||||
{% set i = i + 1 %}
|
||||
<tr style="background-color: {{ getStyle(i) }}">
|
||||
<td>{{ action.action }}</td>
|
||||
<td>{{ action.date|date("jS F Y H:i:s") }}</td>
|
||||
<td>{{ action.ip }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endautoescape %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer" >
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td align=right>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/>
|
||||
<a name="Characters" ></a>
|
||||
<div class="TopButtonContainer">
|
||||
@@ -394,128 +341,110 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableContainer">
|
||||
<table class="Table5" cellpadding="0" cellspacing="0">
|
||||
<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">Characters</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>
|
||||
{% set title = 'Characters' %}
|
||||
{% set content %}
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="TableShadowContainerRightTop">
|
||||
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
|
||||
</div>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:65%">Name</td>
|
||||
<td style="width:15%">Level</td>
|
||||
<td style="width:7%">Status</td>
|
||||
<td style="width:5%"> </td>
|
||||
</tr>
|
||||
{% set i = 0 %}
|
||||
{% for player in players %}
|
||||
{% set i = i + 1 %}
|
||||
<tr style="background-color: {{ getStyle(i) }};">
|
||||
<td>
|
||||
<nobr>{{ i }}. {{ player.getName() }}{% if player.isDeleted() %}<span style="color: red"><b> [ DELETED ] </b></span>{% endif %}</nobr>
|
||||
</td>
|
||||
<td>
|
||||
<nobr>{{ player.getLevel() }} {{ config.vocations[player.getVocation()] }}</nobr>
|
||||
</td>
|
||||
{% if player.isOnline() %}
|
||||
<td><span style="color: green"><b>Online</b></span></td>
|
||||
{% else %}
|
||||
<td><span style="color: red"><b>Offline</b></span></td>
|
||||
{% endif %}
|
||||
<td>{% if not player.isDeleted() %}[<a href="{{ getLink('account/character/comment/' ~ player.getName|urlencode) }}" >Edit</a>]{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url('.$template_path.'/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
|
||||
</div>
|
||||
</td>
|
||||
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
|
||||
<div class="TableContentContainer">
|
||||
<table class="TableContent" width="100%">
|
||||
<tr class="LabelH">
|
||||
<td style="width:65%">Name</td>
|
||||
<td style="width:15%">Level</td>
|
||||
<td style="width:7%">Status</td>
|
||||
<td style="width:5%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
{% set i = 0 %}
|
||||
{% for player in players %}
|
||||
{% set i = i + 1 %}
|
||||
<tr style="background-color: {{ getStyle(i) }};">
|
||||
<td>
|
||||
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0" >
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<form action="{{ getLink('account/character/create') }}" method="post" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.create_character.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% if setting('core.account_change_character_name') %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<form action="{{ getLink('account/character/name') }}" method="post" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.change_name.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% if setting('core.account_change_character_sex') %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<form action="{{ getLink('account/character/sex') }}" method="post" >
|
||||
<tr>
|
||||
<td style="border:0px;" >
|
||||
{{ include('buttons.change_sex.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
<td style="width:100%;" ></td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/character/delete') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.delete_character.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<nobr>{{ i }}. {{ player.getName() }}{% if player.isDeleted() %}<span style="color: red"><b> [ DELETED ] </b></span>{% endif %}</nobr>
|
||||
</td>
|
||||
<td>
|
||||
<nobr>{{ player.getLevel() }} {{ config.vocations[player.getVocation()] }}</nobr>
|
||||
</td>
|
||||
{% if player.isOnline() %}
|
||||
<td><span style="color: green"><b>Online</b></span></td>
|
||||
{% else %}
|
||||
<td><span style="color: red"><b>Offline</b></span></td>
|
||||
{% endif %}
|
||||
<td>{% if not player.isDeleted() %}[<a href="{{ getLink('account/character/comment/' ~ player.getName|urlencode) }}" >Edit</a>]{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="TableShadowContainer">
|
||||
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
|
||||
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
|
||||
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0" >
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/character/create') }}" method="post" >
|
||||
{{ include('buttons.create_character.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% if setting('core.account_change_character_name') %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/character/name') }}" method="post" >
|
||||
{{ include('buttons.change_name.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% if setting('core.account_change_character_sex') %}
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0" >
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
<form action="{{ getLink('account/character/sex') }}" method="post">
|
||||
{{ include('buttons.change_sex.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
{% endif %}
|
||||
<td style="width:100%;" ></td>
|
||||
<td>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="border: 0px;">
|
||||
<form action="{{ getLink('account/character/delete') }}" method="post">
|
||||
{{ include('buttons.delete_character.html.twig') }}
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endset %}
|
||||
{% include 'tables.headline.html.twig' %}
|
||||
<br/><br/>
|
||||
|
44
templates/tibiacom/success.html.twig
Normal file
44
templates/tibiacom/success.html.twig
Normal file
@@ -0,0 +1,44 @@
|
||||
<div class="TableContainer">
|
||||
<table class="Table1" cellpadding="0" cellspacing="0">
|
||||
<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>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td>{{ description|raw }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/>
|
||||
{% if custom_buttons is defined %}
|
||||
{{ custom_buttons|raw }}
|
||||
{% else %}
|
||||
<div style="text-align:center">
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<form action="{{ getLink('account/manage') }}" method="post">
|
||||
<tr>
|
||||
<td style="border:0px;">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
24
templates/tibiacom/tables.headline.html.twig
Normal file
24
templates/tibiacom/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="{% if tableClass is not null %}{{ tableClass }}{% else %}Table3{% endif %}" cellpadding="0" cellspacing="0" style="background-color: {% if background is not null %}{{ background }}{% else %}{{ config.lightborder }}{% endif %}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
{{ content|raw }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
@@ -67,6 +67,9 @@ if(isset($_GET['title'], $_GET['body'], $_GET['player_id'], $_GET['category'], $
|
||||
);
|
||||
|
||||
foreach($tickers as &$ticker) {
|
||||
/**
|
||||
* @var array $ticker
|
||||
*/
|
||||
$ticker['icon'] = $categories[$ticker['category']]['icon_id'];
|
||||
$ticker['body_short'] = short_text(strip_tags($ticker['body']), 100);
|
||||
$ticker['hidden'] = $ticker['hide'];
|
||||
|
Reference in New Issue
Block a user