aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/event
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2019-04-04 22:16:37 +0200
committerMarc Alexander <admin@m-a-styles.de>2019-04-11 22:01:36 +0200
commitc3ecaa35cd0f3b21b3db2487265454b129d17bc4 (patch)
treef48fe997dc3020c17304d15e211008ccfb347890 /phpBB/phpbb/event
parentcc7c1c8447496f1d34721442505481d7883668c2 (diff)
downloadforums-c3ecaa35cd0f3b21b3db2487265454b129d17bc4.tar
forums-c3ecaa35cd0f3b21b3db2487265454b129d17bc4.tar.gz
forums-c3ecaa35cd0f3b21b3db2487265454b129d17bc4.tar.bz2
forums-c3ecaa35cd0f3b21b3db2487265454b129d17bc4.tar.xz
forums-c3ecaa35cd0f3b21b3db2487265454b129d17bc4.zip
[ticket/16010] Enforce alphabetical order for events in events.md
PHPBB3-16010
Diffstat (limited to 'phpBB/phpbb/event')
-rw-r--r--phpBB/phpbb/event/md_exporter.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/phpBB/phpbb/event/md_exporter.php b/phpBB/phpbb/event/md_exporter.php
index 085b20c234..c3942bd7ce 100644
--- a/phpBB/phpbb/event/md_exporter.php
+++ b/phpBB/phpbb/event/md_exporter.php
@@ -143,6 +143,8 @@ class md_exporter
list($event_name, $details) = explode("\n===\n", $event, 2);
$this->validate_event_name($event_name);
+ $sorted_events = [$this->current_event, $event_name];
+ natsort($sorted_events);
$this->current_event = $event_name;
if (isset($this->events[$this->current_event]))
@@ -150,6 +152,12 @@ class md_exporter
throw new \LogicException("The event '{$this->current_event}' is defined multiple times");
}
+ // Use array_values() to get actual first element and check against natural order
+ if (array_values($sorted_events)[0] === $event_name)
+ {
+ throw new \LogicException("The event '{$sorted_events[1]}' should be defined before '{$sorted_events[0]}'");
+ }
+
if (($this->filter == 'adm' && strpos($this->current_event, 'acp_') !== 0)
|| ($this->filter == 'styles' && strpos($this->current_event, 'acp_') === 0))
{