This patch changes the behavior of open action menus when using a mouse.
Before this patch when clicking on the page with an open action menu the focus would be
returned to the action menu's call button. This could cause the page to jump when a
mouse user did not close an action menu, scrolled and then tried to perform another
action on the page.
After this patch when clicking the focus will not be returned to the action menu's call button.
The behavior of the script will not be changed when using the keyboard.
Part of MDL-45774.
Contributions by John Okely, Jetha Chan and Damyon Wiese (squashed branch).
AMOS BEGIN
CPY [coursebadges,core_badges], [badges,core_badges]
AMOS END
This patch replaces all homegrown timezone
stuff with standard PHP date/time code.
The main change is the introduction of core_date
class that returns normalised user and server
timezones. From now on nobody should be using
$CFG->timezone or $user->timezone directly!
Other new features and fixes:
* admins are prompted for timezone during install
* editing of other users is finally fixed
* timezones are displayed in user profile
* new $this->setTimezone() in phpunit
* time locale is now automatically reset in phpunit
* timezone is now automatically reset in phpunit
* phpunit has Australia/Perth as default timezone
We now abstract the actual file generation to a new function.
We are then able to call this function from the other image generation
sources. This allows us to generate thumbnails in a more efficient manner.
* Stored files stay as stored files and are not temporarily re-written to
disk;
* Strings containing an image remain as a variable and are not temporarily
written to disk; and
* Arbitrary files are not captured to string.
This adds functionality to create individual request directories which can
be only be used for the current request. They are removed by a shutdown
handler.
The environment.xml files in plugins force you to define the versions of Moodle that the checks should be carried out against.
For community plugins the environment requirements of the plugin seem unlikely to be dependant on the version of Moodle.
This patch will allow the environment.xml files to use a new <PLUGIN> tag in place of the <MOODLE version="> tag.
This solution has the following properties:
* The Environment file will not break versions of Moodle that do not support the PLUGIN syntax.
* Specific versioned MOODLE tags can still be defined for versions of Moodle that do not have this patch.
* If both MOODLE and PLUGIN tags exist the PLUGIN tag will be used in preference.
* The PLUGIN tag will not function in the main Moodle environment.xml file.
* The PLUGIN tag has a mandatory name attribute that must match the frankenstyle name of the plugin being tested.
Rather than setting noemailever in the bootstrap, this sets up a default
phpmailer message sink which will catch all messages.
Tests which require the phpmailer sink will continue to work as before
without change, though the noemailever config setting no longer needs to
be altered.
For tests wanting to test with noemailever set with the previous behaviour,
they will need to load the message sink and then close it.