]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-10107 Fixed (sort of) the messaging form ... it's still not quite right, but...
authormoodler <moodler>
Thu, 31 Jul 2008 08:14:45 +0000 (08:14 +0000)
committermoodler <moodler>
Thu, 31 Jul 2008 08:14:45 +0000 (08:14 +0000)
lib/messagelib.php
message/edit.php

index ef6c7ab3ec7062958145cde84db57ae160d6f962..85b36ddbb175895db5c2fbbb31c537b6ecc159bd 100644 (file)
@@ -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
 
index c1bf83bcbb17b4d12b3a7b4093ac7254a13262e9..936c40b53189219ef0518cc5fef3a8736ff57cb5 100644 (file)
@@ -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');
     }