From e0e0e467012a5fb9979cc4387af6bad1d4540279 Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 13:30:35 +0100 Subject: [PATCH 01/17] Move forum show_board code to Twig --- system/pages/forum/show_board.php | 64 +++++++-------------- system/templates/forum.show_board.html.twig | 57 ++++++++++++++++++ 2 files changed, 78 insertions(+), 43 deletions(-) create mode 100644 system/templates/forum.show_board.html.twig diff --git a/system/pages/forum/show_board.php b/system/pages/forum/show_board.php index e899cc99..51e8a856 100644 --- a/system/pages/forum/show_board.php +++ b/system/pages/forum/show_board.php @@ -42,35 +42,12 @@ for($i = 0; $i < $threads_count['threads_count'] / setting('core.forum_threads_p $links_to_pages .= ''.($i + 1).' '; } -echo 'Boards >> '.$sections[$section_id]['name'].''; - -if($logged && (!$sections[$section_id]['closed'] || Forum::isModerator())) { - echo '

- '; -} - -echo '

Page: '.$links_to_pages.'
'; $last_threads = $db->query("SELECT `players`.`id` as `player_id`, `players`.`name`, `" . FORUM_TABLE_PREFIX . "forum`.`first_post`, `" . FORUM_TABLE_PREFIX . "forum`.`post_text`, `" . FORUM_TABLE_PREFIX . "forum`.`post_topic`, `" . FORUM_TABLE_PREFIX . "forum`.`id`, `" . FORUM_TABLE_PREFIX . "forum`.`last_post`, `" . FORUM_TABLE_PREFIX . "forum`.`replies`, `" . FORUM_TABLE_PREFIX . "forum`.`views`, `" . FORUM_TABLE_PREFIX . "forum`.`post_date` FROM `players`, `" . FORUM_TABLE_PREFIX . "forum` WHERE `players`.`id` = `" . FORUM_TABLE_PREFIX . "forum`.`author_guid` AND `" . FORUM_TABLE_PREFIX . "forum`.`section` = ".$section_id." AND `" . FORUM_TABLE_PREFIX . "forum`.`first_post` = `" . FORUM_TABLE_PREFIX . "forum`.`id` ORDER BY `" . FORUM_TABLE_PREFIX . "forum`.`last_post` DESC LIMIT ".setting('core.forum_threads_per_page')." OFFSET ".($_page * setting('core.forum_threads_per_page')))->fetchAll(PDO::FETCH_ASSOC); -if(isset($last_threads[0])) { - echo ' - - - - - - -'; - +$threads = []; +if(count($last_threads) > 0) { $player = new OTS_Player(); foreach($last_threads as $thread) { - echo ''; - } - echo '
-ThreadThread StarterRepliesViewsLast Post
'; - if(Forum::isModerator()) { - echo ''; - $twig->display('forum.remove_post.html.twig', ['post' => $thread]); - } - $player->load($thread['player_id']); if(!$player->isLoaded()) { throw new RuntimeException('Forum error: Player not loaded.'); @@ -79,28 +56,29 @@ if(isset($last_threads[0])) { $player_account = $player->getAccount(); $canEditForum = $player_account->hasFlag(FLAG_CONTENT_FORUM) || $player_account->isAdmin(); - echo ''.htmlspecialchars($thread['post_topic']). '
'.($canEditForum ? substr(strip_tags($thread['post_text']), 0, 50) : htmlspecialchars(substr($thread['post_text'], 0, 50))).'...
' . getPlayerLink($thread['name']) . ''.(int) $thread['replies'].''.(int) $thread['views'].''; + $thread['link'] = getForumThreadLink($thread['id']); + + $thread['post_shortened'] = ($canEditForum ? substr(strip_tags($thread['post_text']), 0, 50) : htmlspecialchars(substr($thread['post_text'], 0, 50))); + + $thread['player'] = $player; + $thread['player_link'] = getPlayerLink($thread['name']); + if($thread['last_post'] > 0) { $last_post = $db->query("SELECT `players`.`name`, `" . FORUM_TABLE_PREFIX . "forum`.`post_date` FROM `players`, `" . FORUM_TABLE_PREFIX . "forum` WHERE `" . FORUM_TABLE_PREFIX . "forum`.`first_post` = ".(int) $thread['id']." AND `players`.`id` = `" . FORUM_TABLE_PREFIX . "forum`.`author_guid` ORDER BY `post_date` DESC LIMIT 1")->fetch(); - if(isset($last_post['name'])) { - echo date('d.m.y H:i:s', $last_post['post_date']) . '
by ' . getPlayerLink($last_post['name']); - } - else { - echo 'No posts.'; - } + $last_post['player_link'] = getPlayerLink($last_post['name']); + $thread['latest_post'] = $last_post; } - else { - echo date('d.m.y H:i:s', $thread['post_date']) . '
by ' . getPlayerLink($thread['name']); - } - echo '
'; - if($logged && (!$sections[$section_id]['closed'] || Forum::isModerator())) { - echo '
'; + $threads[] = $thread; } } -else { - echo '

No threads in this board.

'; -} + +$twig->display('forum.show_board.html.twig', [ + 'threads' => $threads, + 'section_id' => $section_id, + 'section_name' => $sections[$section_id]['name'], + 'links_to_pages' => $links_to_pages, + 'is_moderator' => Forum::isModerator(), + 'closed' => $sections[$section_id]['closed'], +]); diff --git a/system/templates/forum.show_board.html.twig b/system/templates/forum.show_board.html.twig new file mode 100644 index 00000000..7cdef157 --- /dev/null +++ b/system/templates/forum.show_board.html.twig @@ -0,0 +1,57 @@ +Boards >> {{ section_name }} + +{% if (logged and (not closed or is_moderator)) %} +

+ +{% endif %} + +{% if threads|length > 0 %} +

Page: {{ links_to_pages|raw }}
+ + + + + + + + + + + {% set i = 0 %} + {% for thread in threads %} + + + + + + + + + {% set i = i + 1 %} + {% endfor %} +
ThreadThread StarterRepliesViewsLast Post
+ {% if is_moderator %} + + {{ include('forum.remove_post.html.twig', {post: thread}) }} + {% endif %} + {{ thread.post_topic }}
+ {{ thread.post_shortened|raw }}... +
{{ thread.player_link|raw }}{{ thread.replies }}{{ thread.views }} + {% if thread.last_post > 0 %} + {% if thread.latest_post.name is defined %} + {{ thread.latest_post.post_date|date('d.m.y H:i:s') }}
by {{ thread.latest_post.player_link|raw }} + {% else %} + No posts. + {% endif %} + {% else %} + {{ thread.post_date|date('d.m.y H:i:s') }}
by {{ thread.player_link|raw }} + {% endif %} +
+ +{% else %} +

No threads in this board.

+{% endif %} + +{% if(logged and (not closed or is_moderator)) %} +
+{% endif %} From 18c0212f9a6225c0a8b6bf463297e144ee74c10e Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 14:04:34 +0100 Subject: [PATCH 02/17] Forum better button styling --- system/templates/forum.new_post.html.twig | 5 +++-- system/templates/forum.new_thread.html.twig | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/system/templates/forum.new_post.html.twig b/system/templates/forum.new_post.html.twig index d267b7db..af2a4c1a 100644 --- a/system/templates/forum.new_post.html.twig +++ b/system/templates/forum.new_post.html.twig @@ -1,7 +1,7 @@
{{ csrf() }} - + @@ -43,7 +43,8 @@
- + {% set button_name = 'Post Reply' %} + {{ include('buttons.base.html.twig') }}
diff --git a/system/templates/forum.new_thread.html.twig b/system/templates/forum.new_thread.html.twig index e37bda08..bb9e0129 100644 --- a/system/templates/forum.new_thread.html.twig +++ b/system/templates/forum.new_thread.html.twig @@ -44,6 +44,7 @@
- + {% set button_name = 'Post Thread' %} + {{ include('buttons.base.html.twig') }}
From 5c68fba82adbe1b6422844229478bd54b561eeb4 Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 15:51:10 +0100 Subject: [PATCH 03/17] Add labels to some inputs + some small adjustments --- system/pages/account/change-password.php | 2 +- system/pages/account/register-new.php | 2 +- system/templates/account.change-email.html.twig | 8 ++++---- system/templates/account.change-info.html.twig | 16 +++++++++++----- .../templates/account.change-password.html.twig | 6 +++--- .../account.characters.change-name.html.twig | 12 ++++++++---- .../account.characters.change-sex.html.twig | 12 ++++++++---- .../account.characters.delete.html.twig | 12 ++++++++---- system/templates/account.create.html.twig | 2 +- .../account.generate_new_recovery_key.html.twig | 14 ++++++++------ .../account.generate_recovery_key.html.twig | 6 +++--- 11 files changed, 56 insertions(+), 36 deletions(-) diff --git a/system/pages/account/change-password.php b/system/pages/account/change-password.php index 157515b7..a48902e7 100644 --- a/system/pages/account/change-password.php +++ b/system/pages/account/change-password.php @@ -22,7 +22,7 @@ csrfProtect(); $new_password = $_POST['new_password'] ?? null; $new_password_confirm = $_POST['new_password_confirm'] ?? null; $old_password = $_POST['old_password'] ?? null; -if(empty($new_password) && empty($new_password_confirm) && empty($old_password)) { +if(is_null($new_password) && is_null($new_password_confirm) && is_null($old_password)) { $twig->display('account.change-password.html.twig'); } else { diff --git a/system/pages/account/register-new.php b/system/pages/account/register-new.php index bca3b798..d328a310 100644 --- a/system/pages/account/register-new.php +++ b/system/pages/account/register-new.php @@ -48,7 +48,7 @@ else $account_logged->setCustomField('key', $new_rec_key); $account_logged->setCustomField(setting('core.donate_column'), $account_logged->getCustomField(setting('core.donate_column')) - setting('core.account_generate_new_reckey_price')); $account_logged->logAction('Generated new recovery key for ' . setting('core.account_generate_new_reckey_price') . ' premium points.'); - $message = '
Your recovery key were send on email address '.$account_logged->getEMail().' for '.setting('core.account_generate_new_reckey_price').' premium points.'; + $message = '
Your recovery key was sent on email address '.$account_logged->getEMail().' for '.setting('core.account_generate_new_reckey_price').' premium points.'; } else $message = '

An error occurred while sending email ( '.$account_logged->getEMail().' ) with recovery key! Recovery key not changed. Try again later. For Admin: More info can be found in system/logs/mailer-error.log

'; diff --git a/system/templates/account.change-email.html.twig b/system/templates/account.change-email.html.twig index ab2a8c06..3fde55a9 100644 --- a/system/templates/account.change-email.html.twig +++ b/system/templates/account.change-email.html.twig @@ -5,18 +5,18 @@ Please enter your password and the new email address. Make sure that you enter a
- New Email Address: + - +
- Password: + - +
diff --git a/system/templates/account.change-info.html.twig b/system/templates/account.change-info.html.twig index e3481472..9461b986 100644 --- a/system/templates/account.change-info.html.twig +++ b/system/templates/account.change-info.html.twig @@ -4,20 +4,26 @@ Here you can tell other players about yourself. This information will be display {% set content %} - + - + {% if setting('core.account_country') %} - +
Real Name: + + - +
Location: + + - +
Country: + +
- Current Password: + @@ -17,7 +17,7 @@ Please enter your current password and a new password. For your security, please
- New Password: + @@ -28,7 +28,7 @@ Please enter your current password and a new password. For your security, please
- New Password Again: + diff --git a/system/templates/account.characters.change-name.html.twig b/system/templates/account.characters.change-name.html.twig index 7a0cfe22..f70eaf89 100644 --- a/system/templates/account.characters.change-name.html.twig +++ b/system/templates/account.characters.change-name.html.twig @@ -1,4 +1,4 @@ -To change a name of character select player and choose a new name.
+To change the name of a character, select a player and choose a new name.
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' }}.

{% set title = 'Change Name' %} @@ -6,9 +6,11 @@ To change a name of character select player and choose a new name.
{% set content %} - + - + {% if setting('core.mail_enabled') and setting('core.account_mail_verify') %} - + {% endif %} {{ hook('HOOK_ACCOUNT_CREATE_AFTER_EMAIL') }} diff --git a/system/templates/account.generate_new_recovery_key.html.twig b/system/templates/account.generate_new_recovery_key.html.twig index fc48d3a9..2c743378 100644 --- a/system/templates/account.generate_new_recovery_key.html.twig +++ b/system/templates/account.generate_new_recovery_key.html.twig @@ -1,13 +1,15 @@ -To generate new recovery key for your account please enter your password.
-New recovery key cost {{ setting('core.account_generate_new_reckey_price') }} Premium Points. You have {{ points }} premium points. You will receive e-mail with this recovery key. +To generate a new recovery key for your account, please enter your password.
+New recovery key 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' }}. You will receive an e-mail with this recovery key.
{% set title = 'Generate recovery key' %} {% set background = config('darkborder') %} {% set content %}
Character: + + - {% for player in account_logged.getPlayersList(false) %} {% endfor %} @@ -16,7 +18,9 @@ To change a name of character select player and choose a new name.
New Name: + + diff --git a/system/templates/account.characters.change-sex.html.twig b/system/templates/account.characters.change-sex.html.twig index 440fed9f..7dd35fa1 100644 --- a/system/templates/account.characters.change-sex.html.twig +++ b/system/templates/account.characters.change-sex.html.twig @@ -6,9 +6,11 @@ To change a sex of character select player and choose a new sex.
{% set content %} - + - + - + - +
Character: + + - {% for player in players %} {% endfor %} @@ -16,9 +18,11 @@ To change a sex of character select player and choose a new sex.
New Sex: + + - {% for id, gender in config.genders %} {% endfor %} diff --git a/system/templates/account.characters.delete.html.twig b/system/templates/account.characters.delete.html.twig index b946d221..172c36b1 100644 --- a/system/templates/account.characters.delete.html.twig +++ b/system/templates/account.characters.delete.html.twig @@ -4,15 +4,19 @@ To delete a character enter the name of the character and your password.

Character Name: + + - +
Password: + + - +
diff --git a/system/templates/account.create.html.twig b/system/templates/account.create.html.twig index 2e5267e2..6e71d045 100644 --- a/system/templates/account.create.html.twig +++ b/system/templates/account.create.html.twig @@ -48,7 +48,7 @@
Please use real address!
We will send a link to validate your Email.
Please use a real address!
We will send a link to validate your Email.
- - + +
Password: + +
{% endset %} @@ -18,7 +20,7 @@ To generate new recovery key for your account please enter your password.
-
+
{{ csrf() }} @@ -31,7 +33,7 @@ To generate new recovery key for your account please enter your password.
-
+ {{ csrf() }} {{ include('buttons.back.html.twig') }} diff --git a/system/templates/account.generate_recovery_key.html.twig b/system/templates/account.generate_recovery_key.html.twig index 526d4659..82901be8 100644 --- a/system/templates/account.generate_recovery_key.html.twig +++ b/system/templates/account.generate_recovery_key.html.twig @@ -5,10 +5,10 @@ To generate recovery key for your account please enter your password.

- Password: + - +
@@ -20,7 +20,7 @@ To generate recovery key for your account please enter your password.

- {% if players|length > 0 %} - + From aba50ca0f12ae0b2cca03c1587e8cb9054a9f765 Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 20:07:17 +0100 Subject: [PATCH 06/17] Better delete rank button --- images/news/delete.png | Bin 1005 -> 0 bytes system/templates/guilds.manager.html.twig | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 images/news/delete.png diff --git a/images/news/delete.png b/images/news/delete.png deleted file mode 100644 index 417be1b52324478148104edfac9752007aca1c62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1005 zcmV<-3T9?xT3cH}LqmQ{N`{7niHV1R zfq+U%N}wPhZg6mTd3kz!dxkA7Z#_M9LP2LiLZu`llrAlCa&tB|I9N?hwhs@VA0Wj9 z1ZP`Xc}GTUZEk#he3LmiogE#f85)i>G{Ff8mLnr|c6Mw@5W zZd6lKM@Xs`7h_9HjwdHvP*Hk2JBvO&ZB0#kJv_D*6@xuHY+zoWEG&6bP<2~cnkXlF zIyz%lRh!?78~^|S4|GyaQvl%lY3Al>B_;mg`rv8$I=;b90006^NklQxQ~Ie{S>SWF<1AIcaE)~-L+_VxAE z1IJJDA<*)-u+bwZoxUO*&+!PFSzi#86iUrAQer013n>DC z{L3y(WHc}nFUlT*Pz9dfQUPdCYLF?mrJ{6VVii_a8cY27@TOlMcRL$$n;bKF_+J%AFSJ|bZAhuv~>p8zqM`#zaJJ8sb3${g$6$wOX4 zL1iUYk*f^gxy@|=`V?RDp_pFG8j6hBZV4b8xVAlM0UU}P7lvWZLVKf0@ZXU7ysjh>iyt*BXH?Epbc$@FM7tm7J%Jr^^xHfDA5GA~-(E3I|fh b$7T8-x`HWdAqUzZ00000NkvXXu0mjfjY64@ diff --git a/system/templates/guilds.manager.html.twig b/system/templates/guilds.manager.html.twig index adebdff2..b7fcc67b 100644 --- a/system/templates/guilds.manager.html.twig +++ b/system/templates/guilds.manager.html.twig @@ -105,7 +105,8 @@ Here you can change names of ranks, delete and add ranks, pass leadership to oth {{ csrf() }} - + +
+ {{ csrf() }} From ba1c63921dc45665d43c9311e65a7c4d1916ebb0 Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 20:02:57 +0100 Subject: [PATCH 04/17] Update guilds.leave_guild.html.twig --- system/templates/guilds.leave_guild.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/templates/guilds.leave_guild.html.twig b/system/templates/guilds.leave_guild.html.twig index 4d865cef..b168e31f 100644 --- a/system/templates/guilds.leave_guild.html.twig +++ b/system/templates/guilds.leave_guild.html.twig @@ -6,7 +6,7 @@ Leave guild
Select character to leave guild:Select a character to leave the guild:
From 0110bf6ea2a66bb05be4ad4cc26a36edc4a786fd Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 2 Jan 2026 20:06:07 +0100 Subject: [PATCH 05/17] Account character list: Add [ DELETED ] for deleted characters --- system/templates/account.management.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/templates/account.management.html.twig b/system/templates/account.management.html.twig index 03e2c2a6..7df72d9e 100644 --- a/system/templates/account.management.html.twig +++ b/system/templates/account.management.html.twig @@ -179,7 +179,7 @@ {% set i = i + 1 %}
- {{ player.getName() }} + {{ player.getName() }}{% if player.isDeleted() %} [ DELETED ] {% endif %} {{ player.getLevel() }} {{ player.getVocationName() }} From 2d8d35f5c8fbe38fce0f9ec3a265d2e7e506ae5e Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 13:21:13 +0100 Subject: [PATCH 07/17] Some adjustments to the online page Use tables.headline Use .myaac-table --- system/templates/online.html.twig | 56 +++++++++++++++++++------------ 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/system/templates/online.html.twig b/system/templates/online.html.twig index 6f798740..a15cb5f3 100644 --- a/system/templates/online.html.twig +++ b/system/templates/online.html.twig @@ -4,24 +4,35 @@
{% endif %} +
+ {# vocation statistics #} {% if setting('core.online_vocations') %} -
+ + {% set title = 'Vocation statistics' %} + {% set tableClass = 'Table3' %} + {% set background = config('darkborder') %} + {% set content %} + {% if setting('core.online_vocations_images') %} - - - - - - - - +
+ + - + + + + + + + + + + @@ -29,30 +40,30 @@
Sorcerers Druids Paladins Knights
{{ vocs[1] }} {{ vocs[2] }} {{ vocs[3] }}
 
- {% else %} - - - - - + {% else %} +
Vocation statistics
{% for i in 1..config.vocations_amount %} - + {% endfor %}
{{ config.vocations[i] }} {{ vocs[i] }}
-
+
{% endif %} + +{% endset %} +{% include 'tables.headline.html.twig' %} + {% endif %}
{# show skulls #} {% if setting('core.online_skulls') %} - +
-
+ - 1 - 6 Frags
- 6+ Frags or Red Skull
- 10+ Frags or Black Skull @@ -125,7 +136,8 @@ {% set title = 'Players Online' %} {% set tableClass = 'Table2' %} {% set content %} - +
+ {% if setting('core.account_country') %} + {% if setting('core.account_country') %} {% endif %} From 7c9c8d299029fc94c6e7d2c6cdfd32daa7033261 Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 13:43:32 +0100 Subject: [PATCH 08/17] More small adjustments to online page --- system/templates/online.html.twig | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/system/templates/online.html.twig b/system/templates/online.html.twig index a15cb5f3..0593f884 100644 --- a/system/templates/online.html.twig +++ b/system/templates/online.html.twig @@ -138,22 +138,22 @@ {% set content %}
#   @@ -151,7 +163,7 @@ {% for player in players %} {% set i = i + 1 %} -
{{ player.country_image|raw }}
- + {% if setting('core.account_country') %} - {% endif %} {% if setting('core.online_outfit') %} - + {% endif %} - - - @@ -169,14 +169,14 @@ {% endif %} {% if setting('core.online_outfit') %} - + {% endif %} - - - + + {% endfor %}
#   + #   OutfitOutfitName   + Name   [sort] Level   + Level   [sort] Vocation   + Vocation   [sort] player outfitplayer outfit + {{ player.name|raw }}{{ player.skull|raw }} {{ player.level }}{{ player.vocation }}{{ player.level }}{{ player.vocation }}
From 7e6480b380799add7a2b1b7ce1d3c1f2b6819ff1 Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 20:25:12 +0100 Subject: [PATCH 09/17] Return 404 when signature player not found In most cases it was a request for a non existing file --- tools/signature/index.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/signature/index.php b/tools/signature/index.php index c791831b..f981d44d 100644 --- a/tools/signature/index.php +++ b/tools/signature/index.php @@ -35,14 +35,14 @@ if(!isset($_REQUEST['name'])) die('Please enter name as get or post parameter.'); - $name = stripslashes(ucwords(strtolower(trim($_REQUEST['name'])))); $player = new OTS_Player(); - $player->find($name); + $player->find($_REQUEST['name']); if(!$player->isLoaded()) { - header('Content-type: image/png'); - readfile(SIGNATURES_IMAGES.'nocharacter.png'); + //header('Content-type: image/png'); + //readfile(SIGNATURES_IMAGES.'nocharacter.png'); + http_response_code(404); exit; } From fec3f3d297bd82d9a893529a166ecaf3002f10ed Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 20:39:49 +0100 Subject: [PATCH 10/17] Fix wrong header in admin changelogs --- system/templates/admin.changelog.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/templates/admin.changelog.html.twig b/system/templates/admin.changelog.html.twig index 7581beef..bee10934 100644 --- a/system/templates/admin.changelog.html.twig +++ b/system/templates/admin.changelog.html.twig @@ -1,6 +1,6 @@
-
News: +
Changelogs:
{{ csrf() }} From c65d4e4b62ef26fb4e24ecb1d2bcc4556d746adf Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 20:40:44 +0100 Subject: [PATCH 11/17] Settings: better responsiveness on mobile --- system/src/Settings.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/src/Settings.php b/system/src/Settings.php index fea52d04..2a7a1681 100644 --- a/system/src/Settings.php +++ b/system/src/Settings.php @@ -184,11 +184,11 @@ class Settings implements \ArrayAccess } ?>

- +
- + From efef16ee86795119fae0fae2e0cae67f81966bf6 Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 22:01:58 +0100 Subject: [PATCH 12/17] Extract script.ajax-setup.html.twig --- system/templates/admin.settings.html.twig | 8 ++------ system/templates/script.ajax-setup.html.twig | 7 +++++++ 2 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 system/templates/script.ajax-setup.html.twig diff --git a/system/templates/admin.settings.html.twig b/system/templates/admin.settings.html.twig index 7982780d..f05198e0 100644 --- a/system/templates/admin.settings.html.twig +++ b/system/templates/admin.settings.html.twig @@ -73,13 +73,9 @@ - From 55da00520df7463a1d1ca41931df1598e9f2ffeb Mon Sep 17 00:00:00 2001 From: slawkens Date: Sat, 3 Jan 2026 22:04:49 +0100 Subject: [PATCH 13/17] Admin Panel: save menu collapse state --- admin/template/template.php | 5 +-- admin/tools/menu_collapse.php | 23 +++++++++++++ .../templates/admin.menu-collapse.html.twig | 33 +++++++++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 admin/tools/menu_collapse.php create mode 100644 system/templates/admin.menu-collapse.html.twig diff --git a/admin/template/template.php b/admin/template/template.php index c6b8747b..cdb20519 100644 --- a/admin/template/template.php +++ b/admin/template/template.php @@ -19,14 +19,14 @@ trigger(HOOK_ADMIN_HEAD_END); ?> - + trigger(HOOK_ADMIN_BODY_START); ?>
diff --git a/system/templates/online.html.twig b/system/templates/online.html.twig index 0593f884..2ce64287 100644 --- a/system/templates/online.html.twig +++ b/system/templates/online.html.twig @@ -18,35 +18,35 @@
NameValueValue Description
[ALL]
- {% for i in 0..config.vocations_amount %} + {% for i in baseVocations %} {{ config.vocations[i]}}
{% endfor %}
- - - - + {% for vocationId in baseVocations %} + + {% endfor %} - - - - + {% for vocationId in baseVocations %} + + {% endfor %} - - - - + {% for vocationId in baseVocations %} + + {% endfor %}
SorcerersDruidsPaladinsKnights{{ config('vocations')[vocationId] }}s
{{ vocs[1] }}{{ vocs[2] }}{{ vocs[3] }}{{ vocs[4] }}{{ vocs[vocationId] }}
 
{% else %} - {% for i in 1..config.vocations_amount %} - - - - + {% set i = 0 %} + {% for vocationId in baseVocations %} + + + + + + {% set i = i + 1 %} {% endfor %}
{{ config.vocations[i] }}{{ vocs[i] }}
{{ config.vocations[vocationId] }}{{ vocs[vocationId] }}

From af9d4c2aeb49d67b53e4b03ca246183ec5d6b119 Mon Sep 17 00:00:00 2001 From: slawkens Date: Sun, 4 Jan 2026 13:04:01 +0100 Subject: [PATCH 16/17] Update CHANGELOG-2.x.md --- CHANGELOG-2.x.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG-2.x.md b/CHANGELOG-2.x.md index 3a51ae46..ff679d60 100644 --- a/CHANGELOG-2.x.md +++ b/CHANGELOG-2.x.md @@ -1,4 +1,9 @@ ## [2.0-dev - x.x.2025] ### Changed -* Reworked account action logs to use single IP column as varchar(45) for both ipv4 and ipv6 (https://github.com/slawkens/myaac/pull/289) +* Better handling of vocations: (#345) + * Load from vocations.xml (No need to manually set) + * Support for Monk vocation +* Add an access option to Menus (#340) + * Possibility to hide menus for unauthorized users +* Reworked account action logs to use a single IP column as varchar(45) for both ipv4 and ipv6 (https://github.com/slawkens/myaac/pull/289) From 7289cce826a8ff78cd97800f75273e5f2c661ef6 Mon Sep 17 00:00:00 2001 From: slawkens Date: Sun, 4 Jan 2026 13:13:14 +0100 Subject: [PATCH 17/17] Update CHANGELOG-2.x.md --- CHANGELOG-2.x.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG-2.x.md b/CHANGELOG-2.x.md index ff679d60..096b1ee2 100644 --- a/CHANGELOG-2.x.md +++ b/CHANGELOG-2.x.md @@ -6,4 +6,4 @@ * Support for Monk vocation * Add an access option to Menus (#340) * Possibility to hide menus for unauthorized users -* Reworked account action logs to use a single IP column as varchar(45) for both ipv4 and ipv6 (https://github.com/slawkens/myaac/pull/289) +* Reworked account action logs to use a single IP column as varchar(45) for both ipv4 and ipv6 (#289)