* 3.1.x:
[ticket/14831] Rename migration and replace preg_replace() with simpler methods
[ticket/14831] Compare depends_on for migrations and remove prefixless names
[ticket/14831] Add migration for deduplicating entries and fix typo
[ticket/14831] Add method for getting valid migration name
[ticket/14831] Fall back to possible migration names instead of adding prefix
[ticket/14831] Make sure migrations always start with backslash
[ticket/14831] Make sure migrations always start with backslash
* marc1706/ticket/14831:
[ticket/14831] Rename migration and replace preg_replace() with simpler methods
[ticket/14831] Compare depends_on for migrations and remove prefixless names
[ticket/14831] Add migration for deduplicating entries and fix typo
[ticket/14831] Add method for getting valid migration name
[ticket/14831] Fall back to possible migration names instead of adding prefix
[ticket/14831] Make sure migrations always start with backslash
Tracker ticket (set the ticket ID to your ticket ID):
https://tracker.phpbb.com/browse/PHPBB3-14859
This addresses the problem that notifications of new PM reports were not sent out to moderators that weren't global moderators but did have the permission "Can close/delete PM reports".
PHPBB3-14859
* 3.1.x:
[ticket/14831] Optimize code construction
[ticket/14831] Add more tests against UCP modules
[ticket/14831] Add more tests, better name for $e placeholder
[ticket/14831] Do not throw exception on the module existence checking
[ticket/14831] Fix module migrator tool
Instead of just adding the backslash as prefix if needed, this will take care
of falling back to any possible migration with or without backslash no matter
how the mgiration was saved in the database or called in the migrations file.
This will result in a more robust migrator in regards to naming the migrations
and previously run migrations.
PHPBB3-14831
The migration system expects every migration to start with a backslash.
If depends on definitions do not supply that leading backslash, we should
make sure it's added manually before calling the depends on migration.
PHPBB3-14831
When running purge_notifications(), if a notification type does not exist
then a db transaction is started but never completed.
On an error in get_notification_type_id(), end the transaction.
PHPBB3-14799