MDL-27171 messages: ensure message preferences for the core message providers are set

upgrade_core also attempts to populate the preferences, but since during the
first installation it is called before message outputs are set, we need to
force preferences setting at the end.

Signed-off-by: Ruslan Kabalin <ruslan.kabalin@luns.net.uk>
This commit is contained in:
Ruslan Kabalin 2011-05-24 10:08:14 +01:00
parent ae2a213e1e
commit b53b2b0ee9
2 changed files with 12 additions and 0 deletions

View File

@ -320,6 +320,12 @@ if (moodle_needs_upgrading()) {
// If this is the first install, indicate that this site is fully configured
// except the admin password
if (during_initial_install()) {
// ensure message preferences for the core message providers are set
$fileproviders = message_get_providers_from_file('moodle');
foreach ($fileproviders as $messagename => $fileprovider) {
message_set_default_message_preference('moodle', $messagename, $fileprovider);
}
set_config('rolesactive', 1); // after this, during_initial_install will return false.
set_config('adminsetuppending', 1);
// we need this redirect to setup proper session

View File

@ -558,6 +558,12 @@ function install_cli_database(array $options, $interactive) {
// install all plugins types, local, etc.
upgrade_noncore(true);
// ensure message preferences for the core message providers are set
$fileproviders = message_get_providers_from_file('moodle');
foreach ($fileproviders as $messagename => $fileprovider) {
message_set_default_message_preference('moodle', $messagename, $fileprovider);
}
// set up admin user password
$DB->set_field('user', 'password', hash_internal_user_password($options['adminpass']), array('username' => 'admin'));