original_string: public static function export_user_data(approved_contextlist $contextlist) {
          global $DB;
  
          $context = \context_user::instance($contextlist->get_user()->id);
  
          $sql = "SELECT ml.id, mh.wwwroot, mh.name, ml.remoteid, ml.time, ml.userid, ml.ip, ml.course,
                         ml.coursename, ml.module, ml.cmid, ml.action, ml.url, ml.info
                    FROM {mnet_log} ml
                    JOIN {mnet_host} mh ON mh.id = ml.hostid
                   WHERE ml.userid = :userid
                ORDER BY mh.name, ml.coursename";
          $params = ['userid' => $contextlist->get_user()->id];
  
          $data = [];
          $lastcourseid = null;
  
          $logentries = $DB->get_recordset_sql($sql, $params);
          foreach ($logentries as $logentry) {
              $item = (object) [
                      'time' => transform::datetime($logentry->time),
                      'remoteid' => $logentry->remoteid,
                      'ip' => $logentry->ip,
                      'course' => $logentry->course,
                      'coursename' => format_string($logentry->coursename),
                      'module' => $logentry->module,
                      'cmid' => $logentry->cmid,
                      'action' => $logentry->action,
                      'url' => $logentry->url,
                      'info' => format_string($logentry->info)
              ];
  
              $item->externalhost =
                      ($logentry->name == '') ? preg_replace('#^https?://#', '', $logentry->wwwroot) :
                              preg_replace('#^https?://#', '', $logentry->name);
  
              if ($lastcourseid && $lastcourseid != $logentry->course) {
                  $path = [get_string('pluginname', 'auth_mnet'), $data[0]->externalhost, $data[0]->coursename];
                  writer::with_context($context)->export_data($path, (object) $data);
                  $data = [];
              }
  
              $data[] = $item;
              $lastcourseid = $logentry->course;
          }
          $logentries->close();
  
          $path = [get_string('pluginname', 'auth_mnet'), $item->externalhost, $item->coursename];
          writer::with_context($context)->export_data($path, (object) $data);
      }
code: public static function export_user_data(approved_contextlist $contextlist) {
          global $DB;
  
          $context = \context_user::instance($contextlist->get_user()->id);
  
          $sql = "SELECT ml.id, mh.wwwroot, mh.name, ml.remoteid, ml.time, ml.userid, ml.ip, ml.course,
                         ml.coursename, ml.module, ml.cmid, ml.action, ml.url, ml.info
                    FROM {mnet_log} ml
                    JOIN {mnet_host} mh ON mh.id = ml.hostid
                   WHERE ml.userid = :userid
                ORDER BY mh.name, ml.coursename";
          $params = ['userid' => $contextlist->get_user()->id];
  
          $data = [];
          $lastcourseid = null;
  
          $logentries = $DB->get_recordset_sql($sql, $params);
          foreach ($logentries as $logentry) {
              $item = (object) [
                      'time' => transform::datetime($logentry->time),
                      'remoteid' => $logentry->remoteid,
                      'ip' => $logentry->ip,
                      'course' => $logentry->course,
                      'coursename' => format_string($logentry->coursename),
                      'module' => $logentry->module,
                      'cmid' => $logentry->cmid,
                      'action' => $logentry->action,
                      'url' => $logentry->url,
                      'info' => format_string($logentry->info)
              ];
  
              $item->externalhost =
                      ($logentry->name == '') ? preg_replace('#^https?://#', '', $logentry->wwwroot) :
                              preg_replace('#^https?://#', '', $logentry->name);
  
              if ($lastcourseid && $lastcourseid != $logentry->course) {
                  $path = [get_string('pluginname', 'auth_mnet'), $data[0]->externalhost, $data[0]->coursename];
                  writer::with_context($context)->export_data($path, (object) $data);
                  $data = [];
              }
  
              $data[] = $item;
              $lastcourseid = $logentry->course;
          }
          $logentries->close();
  
          $path = [get_string('pluginname', 'auth_mnet'), $item->externalhost, $item->coursename];
          writer::with_context($context)->export_data($path, (object) $data);
      }
code_tokens: public static function export_user_data ( approved_contextlist $ contextlist ) { global $ DB ; $ context = \ context_user :: instance ( $ contextlist -> get_user ( ) -> id ) ; $ sql = "SELECT ml.id, mh.wwwroot, mh.name, ml.remoteid, ml.time, ml.userid, ml.ip, ml.course,
                         ml.coursename, ml.module, ml.cmid, ml.action, ml.url, ml.info
                    FROM {mnet_log} ml
                    JOIN {mnet_host} mh ON mh.id = ml.hostid
                   WHERE ml.userid = :userid
                ORDER BY mh.name, ml.coursename" ; $ params = [ 'userid' => $ contextlist -> get_user ( ) -> id ] ; $ data = [ ] ; $ lastcourseid = null ; $ logentries = $ DB -> get_recordset_sql ( $ sql , $ params ) ; foreach ( $ logentries as $ logentry ) { $ item = ( object ) [ 'time' => transform :: datetime ( $ logentry -> time ) , 'remoteid' => $ logentry -> remoteid , 'ip' => $ logentry -> ip , 'course' => $ logentry -> course , 'coursename' => format_string ( $ logentry -> coursename ) , 'module' => $ logentry -> module , 'cmid' => $ logentry -> cmid , 'action' => $ logentry -> action , 'url' => $ logentry -> url , 'info' => format_string ( $ logentry -> info ) ] ; $ item -> externalhost = ( $ logentry -> name == '' ) ? preg_replace ( '#^https?://#' , '' , $ logentry -> wwwroot ) : preg_replace ( '#^https?://#' , '' , $ logentry -> name ) ; if ( $ lastcourseid && $ lastcourseid != $ logentry -> course ) { $ path = [ get_string ( 'pluginname' , 'auth_mnet' ) , $ data [ 0 ] -> externalhost , $ data [ 0 ] -> coursename ] ; writer :: with_context ( $ context ) -> export_data ( $ path , ( object ) $ data ) ; $ data = [ ] ; } $ data [ ] = $ item ; $ lastcourseid = $ logentry -> course ; } $ logentries -> close ( ) ; $ path = [ get_string ( 'pluginname' , 'auth_mnet' ) , $ item -> externalhost , $ item -> coursename ] ; writer :: with_context ( $ context ) -> export_data ( $ path , ( object ) $ data ) ; }
docstring: Export all user data for the specified user, in the specified contexts, using the supplied exporter instance.
  
  @param   approved_contextlist $contextlist The approved contexts to export information for.
docstring_tokens: Export all user data for the specified user in the specified contexts using the supplied exporter instance .