original_string: public static function notify_dpo($dpo, data_request $request) {
          global $PAGE, $SITE;
  
          $output = $PAGE->get_renderer('tool_dataprivacy');
  
          $usercontext = \context_user::instance($request->get('requestedby'));
          $requestexporter = new data_request_exporter($request, ['context' => $usercontext]);
          $requestdata = $requestexporter->export($output);
  
          // Create message to send to the Data Protection Officer(s).
          $typetext = null;
          $typetext = $requestdata->typename;
          $subject = get_string('datarequestemailsubject', 'tool_dataprivacy', $typetext);
  
          $requestedby = $requestdata->requestedbyuser;
          $datarequestsurl = new moodle_url('/admin/tool/dataprivacy/datarequests.php');
          $message = new message();
          $message->courseid          = $SITE->id;
          $message->component         = 'tool_dataprivacy';
          $message->name              = 'contactdataprotectionofficer';
          $message->userfrom          = $requestedby->id;
          $message->replyto           = $requestedby->email;
          $message->replytoname       = $requestedby->fullname;
          $message->subject           = $subject;
          $message->fullmessageformat = FORMAT_HTML;
          $message->notification      = 1;
          $message->contexturl        = $datarequestsurl;
          $message->contexturlname    = get_string('datarequests', 'tool_dataprivacy');
  
          // Prepare the context data for the email message body.
          $messagetextdata = [
              'requestedby' => $requestedby->fullname,
              'requesttype' => $typetext,
              'requestdate' => userdate($requestdata->timecreated),
              'requestorigin' => $SITE->fullname,
              'requestoriginurl' => new moodle_url('/'),
              'requestcomments' => $requestdata->messagehtml,
              'datarequestsurl' => $datarequestsurl
          ];
          $requestingfor = $requestdata->foruser;
          if ($requestedby->id == $requestingfor->id) {
              $messagetextdata['requestfor'] = $messagetextdata['requestedby'];
          } else {
              $messagetextdata['requestfor'] = $requestingfor->fullname;
          }
  
          // Email the data request to the Data Protection Officer(s)/Admin(s).
          $messagetextdata['dponame'] = fullname($dpo);
          // Render message email body.
          $messagehtml = $output->render_from_template('tool_dataprivacy/data_request_email', $messagetextdata);
          $message->userto = $dpo;
          $message->fullmessage = html_to_text($messagehtml);
          $message->fullmessagehtml = $messagehtml;
  
          // Send message.
          return message_send($message);
      }
code: public static function notify_dpo($dpo, data_request $request) {
          global $PAGE, $SITE;
  
          $output = $PAGE->get_renderer('tool_dataprivacy');
  
          $usercontext = \context_user::instance($request->get('requestedby'));
          $requestexporter = new data_request_exporter($request, ['context' => $usercontext]);
          $requestdata = $requestexporter->export($output);
  
          // Create message to send to the Data Protection Officer(s).
          $typetext = null;
          $typetext = $requestdata->typename;
          $subject = get_string('datarequestemailsubject', 'tool_dataprivacy', $typetext);
  
          $requestedby = $requestdata->requestedbyuser;
          $datarequestsurl = new moodle_url('/admin/tool/dataprivacy/datarequests.php');
          $message = new message();
          $message->courseid          = $SITE->id;
          $message->component         = 'tool_dataprivacy';
          $message->name              = 'contactdataprotectionofficer';
          $message->userfrom          = $requestedby->id;
          $message->replyto           = $requestedby->email;
          $message->replytoname       = $requestedby->fullname;
          $message->subject           = $subject;
          $message->fullmessageformat = FORMAT_HTML;
          $message->notification      = 1;
          $message->contexturl        = $datarequestsurl;
          $message->contexturlname    = get_string('datarequests', 'tool_dataprivacy');
  
          // Prepare the context data for the email message body.
          $messagetextdata = [
              'requestedby' => $requestedby->fullname,
              'requesttype' => $typetext,
              'requestdate' => userdate($requestdata->timecreated),
              'requestorigin' => $SITE->fullname,
              'requestoriginurl' => new moodle_url('/'),
              'requestcomments' => $requestdata->messagehtml,
              'datarequestsurl' => $datarequestsurl
          ];
          $requestingfor = $requestdata->foruser;
          if ($requestedby->id == $requestingfor->id) {
              $messagetextdata['requestfor'] = $messagetextdata['requestedby'];
          } else {
              $messagetextdata['requestfor'] = $requestingfor->fullname;
          }
  
          // Email the data request to the Data Protection Officer(s)/Admin(s).
          $messagetextdata['dponame'] = fullname($dpo);
          // Render message email body.
          $messagehtml = $output->render_from_template('tool_dataprivacy/data_request_email', $messagetextdata);
          $message->userto = $dpo;
          $message->fullmessage = html_to_text($messagehtml);
          $message->fullmessagehtml = $messagehtml;
  
          // Send message.
          return message_send($message);
      }
code_tokens: public static function notify_dpo ( $ dpo , data_request $ request ) { global $ PAGE , $ SITE ; $ output = $ PAGE -> get_renderer ( 'tool_dataprivacy' ) ; $ usercontext = \ context_user :: instance ( $ request -> get ( 'requestedby' ) ) ; $ requestexporter = new data_request_exporter ( $ request , [ 'context' => $ usercontext ] ) ; $ requestdata = $ requestexporter -> export ( $ output ) ; // Create message to send to the Data Protection Officer(s). $ typetext = null ; $ typetext = $ requestdata -> typename ; $ subject = get_string ( 'datarequestemailsubject' , 'tool_dataprivacy' , $ typetext ) ; $ requestedby = $ requestdata -> requestedbyuser ; $ datarequestsurl = new moodle_url ( '/admin/tool/dataprivacy/datarequests.php' ) ; $ message = new message ( ) ; $ message -> courseid = $ SITE -> id ; $ message -> component = 'tool_dataprivacy' ; $ message -> name = 'contactdataprotectionofficer' ; $ message -> userfrom = $ requestedby -> id ; $ message -> replyto = $ requestedby -> email ; $ message -> replytoname = $ requestedby -> fullname ; $ message -> subject = $ subject ; $ message -> fullmessageformat = FORMAT_HTML ; $ message -> notification = 1 ; $ message -> contexturl = $ datarequestsurl ; $ message -> contexturlname = get_string ( 'datarequests' , 'tool_dataprivacy' ) ; // Prepare the context data for the email message body. $ messagetextdata = [ 'requestedby' => $ requestedby -> fullname , 'requesttype' => $ typetext , 'requestdate' => userdate ( $ requestdata -> timecreated ) , 'requestorigin' => $ SITE -> fullname , 'requestoriginurl' => new moodle_url ( '/' ) , 'requestcomments' => $ requestdata -> messagehtml , 'datarequestsurl' => $ datarequestsurl ] ; $ requestingfor = $ requestdata -> foruser ; if ( $ requestedby -> id == $ requestingfor -> id ) { $ messagetextdata [ 'requestfor' ] = $ messagetextdata [ 'requestedby' ] ; } else { $ messagetextdata [ 'requestfor' ] = $ requestingfor -> fullname ; } // Email the data request to the Data Protection Officer(s)/Admin(s). $ messagetextdata [ 'dponame' ] = fullname ( $ dpo ) ; // Render message email body. $ messagehtml = $ output -> render_from_template ( 'tool_dataprivacy/data_request_email' , $ messagetextdata ) ; $ message -> userto = $ dpo ; $ message -> fullmessage = html_to_text ( $ messagehtml ) ; $ message -> fullmessagehtml = $ messagehtml ; // Send message. return message_send ( $ message ) ; }
docstring: Sends a message to the site's Data Protection Officer about a request.
  
  @param stdClass $dpo The DPO user record
  @param data_request $request The data request
  @return int|false
  @throws coding_exception
  @throws moodle_exception
docstring_tokens: Sends a message to the site s Data Protection Officer about a request .