From b844d2b0692cdbe0ee134b3b5289e9b64014cba5 Mon Sep 17 00:00:00 2001 From: moodler Date: Thu, 31 Jul 2008 08:14:45 +0000 Subject: [PATCH] MDL-10107 Fixed (sort of) the messaging form ... it's still not quite right, but leaving it for Luis --- lib/messagelib.php | 2 +- message/edit.php | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/messagelib.php b/lib/messagelib.php index ef6c7ab3ec..85b36ddbb1 100644 --- a/lib/messagelib.php +++ b/lib/messagelib.php @@ -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 diff --git a/message/edit.php b/message/edit.php index c1bf83bcbb..936c40b531 100644 --- a/message/edit.php +++ b/message/edit.php @@ -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'); } -- 2.39.5