original_string: protected static function export_user_data_in_course_contexts_rated_by_me($userid, $courseids, $path,
              performance_helper $helper) {
          global $DB;
  
          // Fetch all the records of competency proficiency in the course.
          $ffields = competency_framework::get_sql_fields('f', 'f_');
          $compfields = competency::get_sql_fields('c', 'c_');
          $uccfields = user_competency_course::get_sql_fields('ucc', 'ucc_');
          $ctxfields = context_helper::get_preload_record_columns_sql('ctx');
          list($insql, $inparams) = $DB->get_in_or_equal($courseids, SQL_PARAMS_NAMED);
          $sql = "
              SELECT $ffields, $compfields, $uccfields, $ctxfields
                FROM {" . user_competency_course::TABLE . "} ucc
                JOIN {" . competency::TABLE . "} c
                  ON c.id = ucc.competencyid
                JOIN {" . competency_framework::TABLE . "} f
                  ON f.id = c.competencyframeworkid
                JOIN {context} ctx
                  ON ctx.id = f.contextid
               WHERE ucc.usermodified = :userid
                 AND ucc.courseid $insql
            ORDER BY ucc.courseid, ucc.id";
          $params = array_merge($inparams, ['userid' => $userid]);
  
          // Export the data.
          static::recordset_loop_and_export($DB->get_recordset_sql($sql, $params), 'ucc_courseid', [],
              function($carry, $record) use ($helper) {
                  context_helper::preload_from_record($record);
  
                  $framework = new competency_framework(null, competency_framework::extract_record($record, 'f_'));
                  $competency = new competency(null, competency::extract_record($record, 'c_'));
                  $ucc = new user_competency_course(null, user_competency_course::extract_record($record, 'ucc_'));
                  $helper->ingest_framework($framework);
  
                  $carry[] = array_merge(static::transform_competency_brief($competency), [
                      'rating' => [
                          'userid' => transform::user($ucc->get('userid')),
                          'rating' => static::transform_competency_grade($competency, $ucc->get('grade'), $helper),
                          'proficient' => static::transform_proficiency($ucc->get('proficiency')),
                          'timemodified' => transform::datetime($ucc->get('timemodified')),
                      ]
                  ]);
                  return $carry;
  
              }, function($courseid, $data) use ($path) {
                  $context = context_course::instance($courseid);
                  writer::with_context($context)->export_related_data($path, 'rated_by_me', (object) [
                      'ratings' => $data
                  ]);
              }
          );
      }
code: protected static function export_user_data_in_course_contexts_rated_by_me($userid, $courseids, $path,
              performance_helper $helper) {
          global $DB;
  
          // Fetch all the records of competency proficiency in the course.
          $ffields = competency_framework::get_sql_fields('f', 'f_');
          $compfields = competency::get_sql_fields('c', 'c_');
          $uccfields = user_competency_course::get_sql_fields('ucc', 'ucc_');
          $ctxfields = context_helper::get_preload_record_columns_sql('ctx');
          list($insql, $inparams) = $DB->get_in_or_equal($courseids, SQL_PARAMS_NAMED);
          $sql = "
              SELECT $ffields, $compfields, $uccfields, $ctxfields
                FROM {" . user_competency_course::TABLE . "} ucc
                JOIN {" . competency::TABLE . "} c
                  ON c.id = ucc.competencyid
                JOIN {" . competency_framework::TABLE . "} f
                  ON f.id = c.competencyframeworkid
                JOIN {context} ctx
                  ON ctx.id = f.contextid
               WHERE ucc.usermodified = :userid
                 AND ucc.courseid $insql
            ORDER BY ucc.courseid, ucc.id";
          $params = array_merge($inparams, ['userid' => $userid]);
  
          // Export the data.
          static::recordset_loop_and_export($DB->get_recordset_sql($sql, $params), 'ucc_courseid', [],
              function($carry, $record) use ($helper) {
                  context_helper::preload_from_record($record);
  
                  $framework = new competency_framework(null, competency_framework::extract_record($record, 'f_'));
                  $competency = new competency(null, competency::extract_record($record, 'c_'));
                  $ucc = new user_competency_course(null, user_competency_course::extract_record($record, 'ucc_'));
                  $helper->ingest_framework($framework);
  
                  $carry[] = array_merge(static::transform_competency_brief($competency), [
                      'rating' => [
                          'userid' => transform::user($ucc->get('userid')),
                          'rating' => static::transform_competency_grade($competency, $ucc->get('grade'), $helper),
                          'proficient' => static::transform_proficiency($ucc->get('proficiency')),
                          'timemodified' => transform::datetime($ucc->get('timemodified')),
                      ]
                  ]);
                  return $carry;
  
              }, function($courseid, $data) use ($path) {
                  $context = context_course::instance($courseid);
                  writer::with_context($context)->export_related_data($path, 'rated_by_me', (object) [
                      'ratings' => $data
                  ]);
              }
          );
      }
code_tokens: protected static function export_user_data_in_course_contexts_rated_by_me ( $ userid , $ courseids , $ path , performance_helper $ helper ) { global $ DB ; // Fetch all the records of competency proficiency in the course. $ ffields = competency_framework :: get_sql_fields ( 'f' , 'f_' ) ; $ compfields = competency :: get_sql_fields ( 'c' , 'c_' ) ; $ uccfields = user_competency_course :: get_sql_fields ( 'ucc' , 'ucc_' ) ; $ ctxfields = context_helper :: get_preload_record_columns_sql ( 'ctx' ) ; list ( $ insql , $ inparams ) = $ DB -> get_in_or_equal ( $ courseids , SQL_PARAMS_NAMED ) ; $ sql = "
              SELECT $ffields, $compfields, $uccfields, $ctxfields
                FROM {" . user_competency_course :: TABLE . "} ucc
                JOIN {" . competency :: TABLE . "} c
                  ON c.id = ucc.competencyid
                JOIN {" . competency_framework :: TABLE . "} f
                  ON f.id = c.competencyframeworkid
                JOIN {context} ctx
                  ON ctx.id = f.contextid
               WHERE ucc.usermodified = :userid
                 AND ucc.courseid $insql
            ORDER BY ucc.courseid, ucc.id" ; $ params = array_merge ( $ inparams , [ 'userid' => $ userid ] ) ; // Export the data. static :: recordset_loop_and_export ( $ DB -> get_recordset_sql ( $ sql , $ params ) , 'ucc_courseid' , [ ] , function ( $ carry , $ record ) use ( $ helper ) { context_helper :: preload_from_record ( $ record ) ; $ framework = new competency_framework ( null , competency_framework :: extract_record ( $ record , 'f_' ) ) ; $ competency = new competency ( null , competency :: extract_record ( $ record , 'c_' ) ) ; $ ucc = new user_competency_course ( null , user_competency_course :: extract_record ( $ record , 'ucc_' ) ) ; $ helper -> ingest_framework ( $ framework ) ; $ carry [ ] = array_merge ( static :: transform_competency_brief ( $ competency ) , [ 'rating' => [ 'userid' => transform :: user ( $ ucc -> get ( 'userid' ) ) , 'rating' => static :: transform_competency_grade ( $ competency , $ ucc -> get ( 'grade' ) , $ helper ) , 'proficient' => static :: transform_proficiency ( $ ucc -> get ( 'proficiency' ) ) , 'timemodified' => transform :: datetime ( $ ucc -> get ( 'timemodified' ) ) , ] ] ) ; return $ carry ; } , function ( $ courseid , $ data ) use ( $ path ) { $ context = context_course :: instance ( $ courseid ) ; writer :: with_context ( $ context ) -> export_related_data ( $ path , 'rated_by_me' , ( object ) [ 'ratings' => $ data ] ) ; } ) ; }
docstring: Export the ratings given in a course.
  
  @param int $userid The user ID.
  @param array $courseids The course IDs.
  @param array $path The root path.
  @param performance_helper $helper The performance helper.
  @return void
docstring_tokens: Export the ratings given in a course .