original_string: public static function get_modules_branch(\context $coursecontext) {
  
          if ($coursecontext->contextlevel !== CONTEXT_COURSE) {
              throw new \coding_exception('A course context should be provided');
          }
  
          $branches = [];
  
          // Using the current user.
          $modinfo = get_fast_modinfo($coursecontext->instanceid);
          foreach ($modinfo->get_instances() as $moduletype => $instances) {
              foreach ($instances as $cm) {
  
                  if (!$cm->uservisible) {
                      continue;
                  }
  
                  $a = (object)[
                      'instancename' => shorten_text($cm->get_formatted_name()),
                      'modulename' => get_string('pluginname', 'mod_' . $moduletype),
                  ];
  
                  $text = get_string('moduleinstancename', 'tool_dataprivacy', $a);
                  $branches[] = self::complete([
                      'text' => $text,
                      'contextid' => $cm->context->id,
                  ]);
              }
          }
  
          return $branches;
      }
code: public static function get_modules_branch(\context $coursecontext) {
  
          if ($coursecontext->contextlevel !== CONTEXT_COURSE) {
              throw new \coding_exception('A course context should be provided');
          }
  
          $branches = [];
  
          // Using the current user.
          $modinfo = get_fast_modinfo($coursecontext->instanceid);
          foreach ($modinfo->get_instances() as $moduletype => $instances) {
              foreach ($instances as $cm) {
  
                  if (!$cm->uservisible) {
                      continue;
                  }
  
                  $a = (object)[
                      'instancename' => shorten_text($cm->get_formatted_name()),
                      'modulename' => get_string('pluginname', 'mod_' . $moduletype),
                  ];
  
                  $text = get_string('moduleinstancename', 'tool_dataprivacy', $a);
                  $branches[] = self::complete([
                      'text' => $text,
                      'contextid' => $cm->context->id,
                  ]);
              }
          }
  
          return $branches;
      }
code_tokens: public static function get_modules_branch ( \ context $ coursecontext ) { if ( $ coursecontext -> contextlevel !== CONTEXT_COURSE ) { throw new \ coding_exception ( 'A course context should be provided' ) ; } $ branches = [ ] ; // Using the current user. $ modinfo = get_fast_modinfo ( $ coursecontext -> instanceid ) ; foreach ( $ modinfo -> get_instances ( ) as $ moduletype => $ instances ) { foreach ( $ instances as $ cm ) { if ( ! $ cm -> uservisible ) { continue ; } $ a = ( object ) [ 'instancename' => shorten_text ( $ cm -> get_formatted_name ( ) ) , 'modulename' => get_string ( 'pluginname' , 'mod_' . $ moduletype ) , ] ; $ text = get_string ( 'moduleinstancename' , 'tool_dataprivacy' , $ a ) ; $ branches [ ] = self :: complete ( [ 'text' => $ text , 'contextid' => $ cm -> context -> id , ] ) ; } } return $ branches ; }
docstring: Gets the modules branch for the provided course.
  
  @param \context $coursecontext
  @return array
docstring_tokens: Gets the modules branch for the provided course .