Merge branch 'MDL-52780-mailoriginscript' of https://github.com/brendanheywood/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 26 Jan 2016 00:01:12 +0000 (01:01 +0100)
committerDavid Monllao <davidm@moodle.com>
Fri, 29 Jan 2016 02:15:20 +0000 (10:15 +0800)
1  2 
lib/moodlelib.php

diff --combined lib/moodlelib.php
@@@ -3264,7 -3264,7 +3264,7 @@@ function fullname($user, $override=fals
      $allnames = get_all_user_name_fields();
      if ($CFG->debugdeveloper) {
          foreach ($allnames as $allname) {
 -            if (!array_key_exists($allname, $user)) {
 +            if (!property_exists($user, $allname)) {
                  // If all the user name fields are not set in the user object, then notify the programmer that it needs to be fixed.
                  debugging('You need to update your sql to include additional name fields in the user object.', DEBUG_DEVELOPER);
                  // Message has been sent, no point in sending the message multiple times.
@@@ -5589,6 -5589,25 +5589,25 @@@ function email_to_user($user, $from, $s
          }
      }
  
+     // If the X-PHP-Originating-Script email header is on then also add an additional
+     // header with details of where exactly in moodle the email was triggered from,
+     // either a call to message_send() or to email_to_user().
+     if (ini_get('mail.add_x_header')) {
+         $stack = debug_backtrace(false);
+         $origin = $stack[0];
+         foreach ($stack as $depth => $call) {
+             if ($call['function'] == 'message_send') {
+                 $origin = $call;
+             }
+         }
+         $originheader = $CFG->wwwroot . ' => ' . gethostname() . ':'
+              . str_replace($CFG->dirroot . '/', '', $origin['file']) . ':' . $origin['line'];
+         $mail->addCustomHeader('X-Moodle-Originating-Script: ' . $originheader);
+     }
      if (!empty($from->priority)) {
          $mail->Priority = $from->priority;
      }