With the deprecation of can_post_message() in favor of
can_send_message() all the new test_can_send_message_xxx()
were created from the original test_can_post_message_xxx() ones.
So, really we don't need all the old ones. Just ensure that
debugging is being called and done. New tests are already covering
the new method.
Note this is not strictly needed but in practice is allowing
MySQL + PHP 7.3 to stop segfaulting (because of some sort of limit /
overflow happening somewhere else). So this is just a practical
fix to avoid that while all the messaging tests are reorganizaed
@ MDL-63670. There are some good things to fix there.
It is possible that before this patch the user blocked a
teacher from messaging them, even though this would have
no effect. It is also possible for a user to block a user,
then that user gets 'promoted' to a teacher role and the
block becoming ineffective. In these cases we dont show the
user's status as blocked.
If blocking will have no effect (ie. you are attempting to block
the admin) the 'Block' button will not be shown and instead a
message will be shown explaining why you can not block the user.
Added additional pagination options based on the amount of courses the user is enrolled in.
This will allow the user to display all courses on one page if they wish, and scale based on their total
courses up to pages of 96 courses, now defaults to `All` if they have less than 12 courses and hides the
dropdown menu as there is only one choice.
Allow both UI and automated backups to be created without
including files. Instead include only file references.
This is essentially implementing "SAMESITE" to backup files
instead of only for import and export functionality.
A new backup setting to include files (defaults to yes)
has been included.
The restore process will also look for and attempt to
restore files from the trashdir as part of restoring
backups. Additionally to support this process the
ammount of time files are kept in trashdir before they
are cleaned up via cron is also adjustable via admin
setting.
Set the default state to disabled for message contact request
notifications for the web process. The user is notified about contact
requests in the message drawer so it's unnecessary to also generate
a notification in the notification popover for them.
We previously had this page when contact requests were first introduced
and unfortunately we created a bunch of notifications that reference
this URL directly which now won't work because the page has been removed.
I've added it back but set it to redirect to the message/index.php page
and load the contact requests page there.
When a backup (or restore) is in progress and the user
has another tab open that is taking time to generate and
holding the session lock, a condition arises where
multiple ajax calls are "queued" because the long page
is holding the session lock. When this lock is released,
the queued ajax requests complete. However, as the ajax
requests also lock this can block other requests until they
complete. This patch decreases the frequency of ajax calls
and stops them from holding the session lock.