MDL-67853 message: Remove on/offline settings on message preferences

This commit is contained in:
Pau Ferrer Ocaña 2020-01-29 16:45:32 +01:00
parent e8ad1eaa43
commit d74bd798b6
44 changed files with 696 additions and 682 deletions

View file

@ -115,8 +115,8 @@ class message_airnotifier_external extends external_api {
$users = $DB->get_recordset_sql($usersql, $params);
$result = array(
'users' => array(),
'warnings' => array()
'users' => [],
'warnings' => []
);
$hasuserupdatecap = has_capability('moodle/user:update', context_system::instance());
foreach ($users as $user) {
@ -126,7 +126,7 @@ class message_airnotifier_external extends external_api {
if ($currentuser or $hasuserupdatecap) {
if (!empty($user->deleted)) {
$warning = array();
$warning = [];
$warning['item'] = 'user';
$warning['itemid'] = $user->id;
$warning['warningcode'] = '1';
@ -135,7 +135,7 @@ class message_airnotifier_external extends external_api {
continue;
}
$preferences = array();
$preferences = [];
$preferences['userid'] = $user->id;
$preferences['configured'] = 0;
@ -149,33 +149,30 @@ class message_airnotifier_external extends external_api {
break;
}
foreach (array('loggedin', 'loggedoff') as $state) {
$prefstocheck = array();
$prefname = 'message_provider_'.$provider->component.'_'.$provider->name.'_'.$state;
$prefstocheck = [];
$prefname = 'message_provider_'.$provider->component.'_'.$provider->name.'_enabled';
// First get forced settings.
if ($forcedpref = get_config('message', $prefname)) {
$prefstocheck = array_merge($prefstocheck, explode(',', $forcedpref));
}
// First get forced settings.
if ($forcedpref = get_config('message', $prefname)) {
$prefstocheck = array_merge($prefstocheck, explode(',', $forcedpref));
}
// Then get user settings.
if ($userpref = get_user_preferences($prefname, '', $user->id)) {
$prefstocheck = array_merge($prefstocheck, explode(',', $userpref));
}
if (in_array('airnotifier', $prefstocheck)) {
$preferences['configured'] = 1;
$configured = true;
break;
}
// Then get user settings.
if ($userpref = get_user_preferences($prefname, '', $user->id)) {
$prefstocheck = array_merge($prefstocheck, explode(',', $userpref));
}
if (in_array('airnotifier', $prefstocheck)) {
$preferences['configured'] = 1;
$configured = true;
break;
}
}
$result['users'][] = $preferences;
} else if (!$hasuserupdatecap) {
$warning = array();
$warning = [];
$warning['item'] = 'user';
$warning['itemid'] = $user->id;
$warning['warningcode'] = '2';

View file

@ -204,7 +204,7 @@ class message_output_email extends message_output {
* @return int The default settings
*/
public function get_default_messaging_settings() {
return MESSAGE_PERMITTED + MESSAGE_DEFAULT_LOGGEDIN + MESSAGE_DEFAULT_LOGGEDOFF;
return MESSAGE_PERMITTED + MESSAGE_DEFAULT_ENABLED;
}
/**

View file

@ -82,12 +82,11 @@ abstract class message_output {
/**
* Returns the message processors default settings
* Should the processor be enabled for logged in users by default?
* Should the processor be enabled for logged off users by default?
* Should the processor be enabled in users by default?
* Is enabling it disallowed, permitted or forced?
*
* @return int The Default message output settings expressed as a bit mask
* MESSAGE_DEFAULT_LOGGEDIN + MESSAGE_DEFAULT_LOGGEDOFF + MESSAGE_DISALLOWED|MESSAGE_PERMITTED|MESSAGE_FORCED
* MESSAGE_DEFAULT_ENABLED + MESSAGE_PERMITTED
*/
public function get_default_messaging_settings() {
return MESSAGE_PERMITTED;