mirror of
https://github.com/moodle/moodle.git
synced 2025-04-19 07:25:30 +02:00
MDL-10107 Fixed (sort of) the messaging form ... it's still not quite right, but leaving it for Luis
This commit is contained in:
parent
1c04ad9985
commit
b844d2b069
@ -76,7 +76,7 @@ function message_send_handler($eventdata){
|
||||
// to be able to distinguish between a user who has no settings and one who doesn't want contact
|
||||
// ... perhaps a "none" setting
|
||||
|
||||
$processor = get_user_preferences('message_provider_'.$eventdata->component.$eventdata->name.'_'.$userstate, 'email', $eventdata->userto->id);
|
||||
$processor = get_user_preferences('message_provider_'.$eventdata->component.'_'.$eventdata->name.'_'.$userstate, 'email', $eventdata->userto->id);
|
||||
|
||||
/// Now process the message
|
||||
|
||||
|
@ -106,14 +106,14 @@ $providers = message_get_my_providers();
|
||||
|
||||
foreach ( $providers as $providerid => $provider){
|
||||
foreach (array('loggedin', 'loggedoff') as $state){
|
||||
$linepref = get_user_preferences('message_provider_'.$provider->component.'_'.$state, '', $user->id);
|
||||
$linepref = get_user_preferences('message_provider_'.$provider->component.'_'.$provider->name.'_'.$state, '', $user->id);
|
||||
if ($linepref == ''){
|
||||
continue;
|
||||
}
|
||||
$lineprefarray = explode(',', $linepref);
|
||||
$preferences->{$provider->component.'_'.$state} = array();
|
||||
$preferences->{$provider->component.'_'.$provider->name.'_'.$state} = array();
|
||||
foreach ($lineprefarray as $pref){
|
||||
$preferences->{$provider->component.'_'.$state}[$provider->component.'_'.$state.'_'.$pref] = 1;
|
||||
$preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$provider->component.'_'.$provider->name.'_'.$state.'_'.$pref] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -145,17 +145,17 @@ if ($messageconf = $userform->get_data()) {
|
||||
|
||||
$preferences = array();
|
||||
|
||||
//get the list of normal preferences
|
||||
/// Set the overall preferences
|
||||
$preferences['message_showmessagewindow'] = $messageconf->showmessagewindow?1:0;
|
||||
$preferences['message_blocknoncontacts'] = $messageconf->blocknoncontacts?1:0;
|
||||
$preferences['message_beepnewmessage'] = $messageconf->beepnewmessage?1:0;
|
||||
$preferences['message_noframesjs'] = $messageconf->noframesjs?1:0;
|
||||
|
||||
//get a listing of all the message providers and process the form
|
||||
/// Set all the preferences for all the message providers
|
||||
foreach ( $providers as $providerid => $provider){
|
||||
foreach (array('loggedin', 'loggedoff') as $state){
|
||||
$linepref = '';
|
||||
foreach ($messageconf->{$provider->component.'_'.$state} as $process=>$one){
|
||||
foreach ($messageconf->{$provider->component.'_'.$provider->name.'_'.$state} as $process=>$one){
|
||||
$parray = explode( '_', $process);
|
||||
if ($linepref == ''){
|
||||
$linepref = $parray[2];
|
||||
@ -163,11 +163,11 @@ if ($messageconf = $userform->get_data()) {
|
||||
$linepref .= ','.$parray[2];
|
||||
}
|
||||
}
|
||||
$preferences[ 'message_provider_'.$provider->component.'_'.$state ] = $linepref;
|
||||
$preferences['message_provider_'.$provider->component.'_'.$provider->name.'_'.$state] = $linepref;
|
||||
}
|
||||
}
|
||||
|
||||
//list all the processors options (need to get funcion from processor's lib.php)
|
||||
/// Set all the processor options as well
|
||||
$processors = $DB->get_records('message_processors');
|
||||
foreach ( $processors as $processorid => $processor){
|
||||
$processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/lib.php';
|
||||
@ -184,7 +184,7 @@ if ($messageconf = $userform->get_data()) {
|
||||
}
|
||||
}
|
||||
|
||||
//set the user preferences
|
||||
/// Save all the new preferences to the database
|
||||
if (!set_user_preferences( $preferences, $user->id ) ){
|
||||
error('Error updating user message preferences');
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user