Esempio n. 1
0
 /**
  * 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:
  *  * {@see forum_extend_navigation()}
  *  * {@see workshop_extend_navigation()}
  *
  * @param cm_info|stdClass $cm
  * @param stdClass $course
  * @param navigation_node $activity
  * @return bool
  */
 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->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);
             return true;
         }
     }
     $activity->nodetype = navigation_node::NODETYPE_LEAF;
     return false;
 }
 /**
  * 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
  */
 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, $cm->modname);
         $gradingman->extend_navigation($this, $activity);
     }
     return $activity->has_children();
 }
Esempio n. 3
0
 /**
  * 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:
  *  * {@see forum_extend_navigation()}
  *  * {@see workshop_extend_navigation()}
  *
  * @param stdClass $cm
  * @param stdClass $course
  * @param navigation_node $activity
  * @return bool
  */
 protected function load_activity(stdClass $cm, stdClass $course, navigation_node $activity)
 {
     global $CFG, $DB;
     $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);
             return true;
         }
     }
     $activity->nodetype = navigation_node::NODETYPE_LEAF;
     return false;
 }