Skip to content

Commit 6aab68b

Browse files
author
Alexander Walther
authored
Merge pull request #133 from crydotsnake/feature/maintenance-update-interval-hinzugefuegt
FEATURE: Felder für Wartungsmodus-Aktualisierungsintervall hinzugefügt
2 parents 76e8114 + 9f6b041 commit 6aab68b

File tree

9 files changed

+37
-19
lines changed

9 files changed

+37
-19
lines changed

fragments/maintenance/backend.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
<?php
22
$maintenanceBackendHeadline = rex_config::get('maintenance', 'maintenance_backend_headline', 'Maintenance / Wartung');
3+
$maintenanceBackendUpdateIntervalNumber = rex_config::get('maintenance', 'maintenance_backend_update_interval', 60);
34
?>
45
<!doctype html>
56
<html lang="en">
67
<head>
78
<meta charset="utf-8">
89
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
10+
<meta http-equiv="refresh" content="<?= $maintenanceBackendUpdateIntervalNumber > 0 ? $maintenanceBackendUpdateIntervalNumber : '' ?>">
911
<title>
1012
<?php
11-
if (rex_addon::get('yrewrite')->isAvailable() && rex_yrewrite::getCurrentDomain()?->getName() !== null) {
13+
if (rex_addon::get('yrewrite')->isAvailable() && null !== rex_yrewrite::getCurrentDomain()?->getName()) {
1214
echo rex_yrewrite::getCurrentDomain()->getName();
1315
} else {
1416
echo rex::getServerName();
@@ -64,4 +66,3 @@
6466
</div>
6567
</body>
6668
</html>'
67-

fragments/maintenance/frontend.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
<?php
22
$maintenanceFrontendHeadline = rex_config::get('maintenance', 'maintenance_frontend_headline', 'Maintenance / Wartung');
3+
$maintenanceFrontendUpdateIntervalNumber = rex_config::get('maintenance', 'maintenance_frontend_update_interval', 60);
34
?>
45
<!doctype html>
56
<html lang="en">
67
<head>
78
<meta charset="utf-8">
89
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
10+
<meta http-equiv="refresh" content="<?= $maintenanceFrontendUpdateIntervalNumber > 0 ? $maintenanceFrontendUpdateIntervalNumber : '' ?>">
911
<title>
1012
<?php
11-
if (rex_addon::get('yrewrite')->isAvailable() && rex_yrewrite::getCurrentDomain()?->getName() !== null) {
13+
if (rex_addon::get('yrewrite')->isAvailable() && null !== rex_yrewrite::getCurrentDomain()?->getName()) {
1214
echo rex_yrewrite::getCurrentDomain()->getName();
1315
} else {
1416
echo rex::getServerName();

lang/de_de.lang

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ maintenance_frontend_title = Website-Frontend
55
maintenance_backend_title = REDAXO-Backend
66
maintenance_docs_title = Hilfe
77

8+
maintenance_update_interval_field_label = Aktualisierungsintervall
9+
maintenance_update_interval_field_notice = Geben Sie die Sekunden ein, nach denen die Seite automatisch neu geladen werden soll. Setzen Sie 0, um die automatische Aktualisierung zu deaktivieren. Standardwert: 60 Sekunden
810

911
// Console-Commands
1012

lang/en_gb.lang

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ maintenance_frontend_title = Website Frontend
55
maintenance_backend_title = REDAXO Backend
66
maintenance_docs_title = Documentation
77

8+
maintenance_update_interval_field_label = Update interval
9+
maintenance_update_interval_field_notice = Enter the number of seconds after which the page is automatically reloaded. Set 0 to deactivate the automatic refresh. Default value: 60 seconds
810

911
// Console-Commands
1012

lib/command/maintenance_mode.php

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@
77

88
class rex_maintenance_mode_command extends rex_console_command
99
{
10-
1110
#[Override]
1211
protected function configure(): void
1312
{
1413
$this
1514
->setName('maintenance:mode')
1615
->setDescription(rex_i18n::msg('maintenance_mode_command_description'))
1716
->addArgument(
18-
"state",
17+
'state',
1918
InputArgument::OPTIONAL,
2019
rex_i18n::msg('maintenance_mode_command_state_description'),
2120
);
@@ -26,36 +25,33 @@ protected function execute(InputInterface $input, OutputInterface $output): int
2625
{
2726
$io = $this->getStyle($input, $output);
2827
$io->title(rex_i18n::msg('maintenance_title'));
29-
28+
3029
$state = $input->getArgument('state');
3130

3231
$addon = rex_addon::get('maintenance');
3332
$currentBlockFrontendConfiguration = $addon->getConfig();
3433

35-
if ($currentBlockFrontendConfiguration['block_frontend'] === 1 && $state === "on")
36-
{
34+
if (1 === $currentBlockFrontendConfiguration['block_frontend'] && 'on' === $state) {
3735
$io->info(rex_i18n::msg('maintenance_mode_already_activated'));
3836
return Command::FAILURE;
3937
}
4038

41-
if ($currentBlockFrontendConfiguration['block_frontend'] === 0 && $state === "off")
42-
{
39+
if (0 === $currentBlockFrontendConfiguration['block_frontend'] && 'off' === $state) {
4340
$io->info(rex_i18n::msg('maintenance_mode_already_deactivated'));
4441
return Command::FAILURE;
45-
}
46-
47-
if ($state === "on")
48-
{
42+
}
43+
44+
if ('on' === $state) {
4945
$addon->setConfig('block_frontend', 1);
5046
$io->success(rex_i18n::msg('maintenance_mode_activated'));
51-
return Command::SUCCESS;
52-
} elseif ($state === "off") {
47+
return Command::SUCCESS;
48+
}
49+
if ('off' === $state) {
5350
$addon->setConfig('block_frontend', 0);
5451
$io->success(rex_i18n::msg('maintenance_mode_deactivated'));
5552
return Command::SUCCESS;
56-
} else {
57-
$io->error(rex_i18n::msg('maintenance_mode_invalid'));
58-
return Command::INVALID;
5953
}
54+
$io->error(rex_i18n::msg('maintenance_mode_invalid'));
55+
return Command::INVALID;
6056
}
6157
}

package.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ default_config:
5757
editor: 'class="form-control redactor-editor--default"'
5858
maintenance_frontend_headline: 'Maintenance / Wartung'
5959
maintenance_backend_headline: 'Maintenance / Wartung'
60+
maintenance_frontend_update_interval: 60
61+
maintenance_backend_update_interval: 60
6062

6163
installer_ignore:
6264
- .git

pages/backend.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
$field->setLabel($addon->i18n('maintenance_backend_headline_label'));
2020
$field->setNotice($addon->i18n('maintenance_backend_headline_notice'));
2121

22+
// Automatische Aktualisierung der Seite
23+
$field = $form->addInputField('number', 'maintenance_backend_update_interval');
24+
$field->setLabel($addon->i18n('maintenance_update_interval_field_label'));
25+
$field->setNotice($addon->i18n('maintenance_update_interval_field_notice'));
26+
$field->setAttribute('class', 'form-control');
27+
2228
$field = $form->addSelectField('block_backend');
2329
$field->setLabel($addon->i18n('maintenance_block_backend_label'));
2430
$select = $field->getSelect();

pages/frontend.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222
$field->setLabel($addon->i18n('maintenance_frontend_headline_label'));
2323
$field->setNotice($addon->i18n('maintenance_frontend_headline_notice'));
2424

25+
// Automatische Aktualisierung der Seite
26+
$field = $form->addInputField('number', 'maintenance_frontend_update_interval');
27+
$field->setLabel($addon->i18n('maintenance_update_interval_field_label'));
28+
$field->setNotice($addon->i18n('maintenance_update_interval_field_notice'));
29+
$field->setAttribute('class', 'form-control');
30+
2531
// Aktivierung/Deaktivierung des Wartungsmodus im Frontend - für alle Benutzer verfügbar
2632
$field = $form->addSelectField('block_frontend');
2733
$field->setLabel($addon->i18n('maintenance_block_frontend_label'));

pages/index.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
/**
34
* This file is part of the maintenance package.
45
*

0 commit comments

Comments
 (0)