original_string: protected function load_activity($cm, stdClass $course, navigation_node $activity) {
          global $CFG, $DB;
  
          // make sure we have a $cm from get_fast_modinfo as this contains activity access details
          if (!($cm instanceof cm_info)) {
              $modinfo = get_fast_modinfo($course);
              $cm = $modinfo->get_cm($cm->id);
          }
          $activity->nodetype = navigation_node::NODETYPE_LEAF;
          $activity->make_active();
          $file = $CFG->dirroot.'/mod/'.$cm->modname.'/lib.php';
          $function = $cm->modname.'_extend_navigation';
  
          if (file_exists($file)) {
              require_once($file);
              if (function_exists($function)) {
                  $activtyrecord = $DB->get_record($cm->modname, array('id' => $cm->instance), '*', MUST_EXIST);
                  $function($activity, $course, $activtyrecord, $cm);
              }
          }
  
          // Allow the active advanced grading method plugin to append module navigation
          $featuresfunc = $cm->modname.'_supports';
          if (function_exists($featuresfunc) && $featuresfunc(FEATURE_ADVANCED_GRADING)) {
              require_once($CFG->dirroot.'/grade/grading/lib.php');
              $gradingman = get_grading_manager($cm->context,  'mod_'.$cm->modname);
              $gradingman->extend_navigation($this, $activity);
          }
  
          return $activity->has_children();
      }
code: protected function load_activity($cm, stdClass $course, navigation_node $activity) {
          global $CFG, $DB;
  
          // make sure we have a $cm from get_fast_modinfo as this contains activity access details
          if (!($cm instanceof cm_info)) {
              $modinfo = get_fast_modinfo($course);
              $cm = $modinfo->get_cm($cm->id);
          }
          $activity->nodetype = navigation_node::NODETYPE_LEAF;
          $activity->make_active();
          $file = $CFG->dirroot.'/mod/'.$cm->modname.'/lib.php';
          $function = $cm->modname.'_extend_navigation';
  
          if (file_exists($file)) {
              require_once($file);
              if (function_exists($function)) {
                  $activtyrecord = $DB->get_record($cm->modname, array('id' => $cm->instance), '*', MUST_EXIST);
                  $function($activity, $course, $activtyrecord, $cm);
              }
          }
  
          // Allow the active advanced grading method plugin to append module navigation
          $featuresfunc = $cm->modname.'_supports';
          if (function_exists($featuresfunc) && $featuresfunc(FEATURE_ADVANCED_GRADING)) {
              require_once($CFG->dirroot.'/grade/grading/lib.php');
              $gradingman = get_grading_manager($cm->context,  'mod_'.$cm->modname);
              $gradingman->extend_navigation($this, $activity);
          }
  
          return $activity->has_children();
      }
code_tokens: protected function load_activity ( $ cm , stdClass $ course , navigation_node $ activity ) { global $ CFG , $ DB ; // make sure we have a $cm from get_fast_modinfo as this contains activity access details if ( ! ( $ cm instanceof cm_info ) ) { $ modinfo = get_fast_modinfo ( $ course ) ; $ cm = $ modinfo -> get_cm ( $ cm -> id ) ; } $ activity -> nodetype = navigation_node :: NODETYPE_LEAF ; $ activity -> make_active ( ) ; $ file = $ CFG -> dirroot . '/mod/' . $ cm -> modname . '/lib.php' ; $ function = $ cm -> modname . '_extend_navigation' ; if ( file_exists ( $ file ) ) { require_once ( $ file ) ; if ( function_exists ( $ function ) ) { $ activtyrecord = $ DB -> get_record ( $ cm -> modname , array ( 'id' => $ cm -> instance ) , '*' , MUST_EXIST ) ; $ function ( $ activity , $ course , $ activtyrecord , $ cm ) ; } } // Allow the active advanced grading method plugin to append module navigation $ featuresfunc = $ cm -> modname . '_supports' ; if ( function_exists ( $ featuresfunc ) && $ featuresfunc ( FEATURE_ADVANCED_GRADING ) ) { require_once ( $ CFG -> dirroot . '/grade/grading/lib.php' ) ; $ gradingman = get_grading_manager ( $ cm -> context , 'mod_' . $ cm -> modname ) ; $ gradingman -> extend_navigation ( $ this , $ activity ) ; } return $ activity -> has_children ( ) ; }
docstring: Loads the navigation structure for the given activity into the activities node.
  
  This method utilises a callback within the modules lib.php file to load the
  content specific to activity given.
  
  The callback is a method: {modulename}_extend_navigation()
  Examples:
  * {@link forum_extend_navigation()}
  * {@link workshop_extend_navigation()}
  
  @param cm_info|stdClass $cm
  @param stdClass $course
  @param navigation_node $activity
  @return bool
docstring_tokens: Loads the navigation structure for the given activity into the activities node .