message MDL-25264 made it possible to edit another user's message preferences
authorAndrew Davis <andrew@affinitysoftware.net>
Thu, 18 Nov 2010 05:28:51 +0000 (05:28 +0000)
committerAndrew Davis <andrew@affinitysoftware.net>
Thu, 18 Nov 2010 05:28:51 +0000 (05:28 +0000)
message/edit.php
message/output/email/message_output_email.php

index 762bd5b..ca66db9 100644 (file)
@@ -144,7 +144,7 @@ if (($form = data_submitted()) && confirm_sesskey()) {
     $preferences['message_blocknoncontacts']  = !empty($form->blocknoncontacts)?1:0;
     //$preferences['message_beepnewmessage']    = !empty($form->beepnewmessage)?1:0;
 
-/// Save all the new preferences to the database
+    // Save all the new preferences to the database
     if (!set_user_preferences( $preferences, $user->id ) ){
         print_error('cannotupdateusermsgpref');
     }
@@ -154,6 +154,7 @@ if (($form = data_submitted()) && confirm_sesskey()) {
 
 /// Load preferences
 $preferences = new stdClass();
+$preferences->userdefaultemail = $user->email;//may be displayed by the email processor
 
 /// Get providers preferences
 $providers = message_get_my_providers();
@@ -204,8 +205,8 @@ if ($course->id != SITEID) {
 }
 echo $OUTPUT->header();
 
-/// Start the form.  We're not using mform here because of our special formatting needs ...
-echo '<form class="mform" method="post" action="'.$CFG->wwwroot.'/message/edit.php">';
+// Start the form.  We're not using mform here because of our special formatting needs ...
+echo '<form class="mform" method="post" action="'.$PAGE->url.'">';
 
 /// Settings table...
 echo '<fieldset id="providers" class="clearfix">';
index d98c311..0bd9165 100644 (file)
@@ -67,7 +67,13 @@ class message_output_email extends message_output {
         global $USER;
         $string = get_string('email','message_email').': <input size="30" name="email_email" value="'.$preferences->email_email.'" />';
         if (empty($preferences->email_email)) {
-            $string .= ' ('.get_string('default').': '.$USER->email.')';
+            $userdefaultemail = null;
+            if (empty($preferences->userdefaultemail)) {
+                $userdefaultemail = $USER->email;
+            } else {
+                $userdefaultemail = $preferences->userdefaultemail;
+            }
+            $string .= ' ('.get_string('default').': '.$userdefaultemail.')';
         }
         return $string;
     }