update updater to latest stable release; refactored modal-action-button for UI fixed

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2024-03-29 11:40:08 +01:00
parent b49f20af95
commit 61ae182ba7
4 changed files with 47 additions and 19 deletions

View File

@@ -237,3 +237,13 @@ if (Froxlor::isFroxlorVersion('2.1.5')) {
Update::showUpdateStep("Updating from 2.1.5 to 2.1.6", false);
Froxlor::updateToVersion('2.1.6');
}
if (Froxlor::isFroxlorVersion('2.1.6')) {
Update::showUpdateStep("Updating from 2.1.6 to 2.1.7", false);
Froxlor::updateToVersion('2.1.7');
}
if (Froxlor::isFroxlorVersion('2.1.7')) {
Update::showUpdateStep("Updating from 2.1.7 to 2.1.8", false);
Froxlor::updateToVersion('2.1.8');
}

View File

@@ -35,7 +35,7 @@ if (!defined('_CRON_UPDATE')) {
}
}
if (Froxlor::isFroxlorVersion('2.1.6')) {
if (Froxlor::isFroxlorVersion('2.1.8')) {
Update::showUpdateStep("Enhancing virtual email table");
Database::query("ALTER TABLE `" . TABLE_MAIL_VIRTUAL . "` ADD `spam_tag_level` float(4,1) NOT NULL DEFAULT 7.0;");
Database::query("ALTER TABLE `" . TABLE_MAIL_VIRTUAL . "` ADD `spam_kill_level` float(4,1) NOT NULL DEFAULT 14.0;");

View File

@@ -52,25 +52,8 @@
{{ data.text }}
{% endif %}
</{% if data.href is defined %}a{% else %}span{% endif %}>
{% if data.modal is defined and data.modal is iterable %}
<div class="modal fade" data-action="{{ data.modal.action|default('') }}" data-entry="{{ data.modal.entry }}" id="{{ data.modal.id }}" aria-hidden="true" aria-labelledby="{{ data.modal.id }}Label" tabindex="-1">
<div class="modal-dialog {{ data.modal.size|default('modal-xl') }} modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="{{ data.modal.id }}Label">{{ data.modal.title }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ lng('panel.modalclose') }}"></button>
</div>
<div class="modal-body text-start">
{{ data.modal.body|raw }}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">{{ lng('panel.modalclose') }}</button>
</div>
</div>
</div>
</div>
{% endif %}
{% endapply %}
{# the modal-markup if any will be generated using actions_modal()-macro after the table itself #}
{% endmacro %}
{% macro domainWithSan(data) %}
@@ -90,3 +73,30 @@
{% endif %}
{% endfor %}
{% endmacro %}
{% macro actions_modal(data) %}
{% for action in data %}
{% if action.visible is not defined or action.visible is defined and action.visible %}
{% apply spaceless %}
{% if action.modal is defined and action.modal is iterable %}
<div class="modal fade" data-action="{{ action.modal.action|default('') }}" data-entry="{{ action.modal.entry }}" id="{{ action.modal.id }}" aria-hidden="true" aria-labelledby="{{ action.modal.id }}Label" tabindex="-1">
<div class="modal-dialog {{ action.modal.size|default('modal-xl') }} modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="{{ action.modal.id }}Label">{{ action.modal.title }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ lng('panel.modalclose') }}"></button>
</div>
<div class="modal-body text-start">
{{ action.modal.body|raw }}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">{{ lng('panel.modalclose') }}</button>
</div>
</div>
</div>
</div>
{% endif %}
{% endapply %}
{% endif %}
{% endfor %}
{% endmacro %}

View File

@@ -64,6 +64,14 @@
{{ pagination.paging(listing.pagination) }}
{% endif %}
</div>
{# handle potential modal-html if defined by actions #}
{% for tr in listing.table.tr %}
{% for td in tr.td %}
{% if td.data is iterable and td.data.macro == 'actions' %}
{{ macros.actions_modal(td.data.data) }}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
<!-- Modal -->