From 86bf47458e526a26c1d339ee0725a63eb3eacc4a Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Wed, 23 Dec 2009 01:47:01 +0000 Subject: [PATCH] mod-hotpot MDL-20258 Added skeleton functions to extend navigation and removed update this module buttons --- lang/en_utf8/hotpot.php | 1 + mod/hotpot/lib.php | 51 +++++++++++++++++++++++++++++++++++++++++ mod/hotpot/report.php | 1 - mod/hotpot/review.php | 1 - mod/hotpot/view.php | 1 - 5 files changed, 52 insertions(+), 3 deletions(-) diff --git a/lang/en_utf8/hotpot.php b/lang/en_utf8/hotpot.php index bf749d1e6c..14ad1219cd 100644 --- a/lang/en_utf8/hotpot.php +++ b/lang/en_utf8/hotpot.php @@ -54,6 +54,7 @@ $string['hotpot:deleteattempt'] = 'Delete quiz attempts'; $string['hotpot:grade'] = 'Modify grades'; $string['hotpot:view'] = 'Use quiz'; $string['hotpot:viewreport'] = 'View reports'; +$string['hotpotadministration'] = 'Hot Potatoes quiz administration'; $string['hotpotcloses'] = 'Hot Potatoes quiz closes'; $string['hotpotopens'] = 'Hot Potatoes quiz opens'; $string['ignored'] = 'Ignored'; diff --git a/mod/hotpot/lib.php b/mod/hotpot/lib.php index f0506759a3..d43d14b493 100644 --- a/mod/hotpot/lib.php +++ b/mod/hotpot/lib.php @@ -2984,3 +2984,54 @@ function hotpot_reset_course_form_definition(&$mform) { function hotpot_reset_course_form_defaults($course) { return array('reset_hotpot_deleteallattempts' => 1); } + +/** + * This function extends the global navigaiton for the site. + * It is important to note that you should not rely on PAGE objects within this + * body of code as there is no guarantee that during an AJAX request they are + * available + * + * @param navigation_node $navigation The hotpot node within the global navigation + * @param stdClass $course The course object returned from the DB + * @param stdClass $module The module object returned from the DB + * @param stdClass $cm The course module isntance returned from the DB + */ +function hotpot_extend_navigation($navigation, $course, $module, $cm) { + /** + * This is currently just a stub so that it can be easily expanded upon. + * When expanding just remove this comment and the line below and then add + * you content. + */ + $navigation->nodetype = navigation_node::NODETYPE_LEAF; +} + +/** + * This function extends the settings navigation block for the site. + * + * It is safe to rely on PAGE here as we will only ever be within the module + * context when this is called. + * + * @param settings_navigation $settings + * @param stdClass $module + */ +function hotpot_extend_settings_navigation($settings, $module) { + global $PAGE, $CFG, $DB; + + // Load the hotpot instance from the database + $hotpot = $DB->get_record('hotpot', array('id'=>$PAGE->cm->instance)); + // Add a hotpot node to the settings navigation. + $hotpotnavkey = $settings->add(get_string('hotpotadministration', 'hotpot')); + $hotpotnav = $settings->get($hotpotnavkey); + $hotpotnav->forceopen = true; + + // If the user has the capability add an update this module link for the hotpot instance + if (has_capability('moodle/course:manageactivities', $PAGE->cm->context)) { + $url = new moodle_url($CFG->wwwroot.'/course/mod.php', array('update'=>$PAGE->cm->id, 'return'=>true, 'sesskey'=>sesskey())); + $hotpotnav->add(get_string('updatethis', '', get_string('modulename', 'hotpot')), $url); + } + + // Check if any children have been added. If not remove the node to save on clutter. + if (count($hotpotnav->children)<1) { + $settings->remove_child($hotpotnav); + } +} \ No newline at end of file diff --git a/mod/hotpot/report.php b/mod/hotpot/report.php index f607febbca..72727071ce 100644 --- a/mod/hotpot/report.php +++ b/mod/hotpot/report.php @@ -444,7 +444,6 @@ function hotpot_print_report_heading(&$course, &$cm, &$hotpot, &$mode) { $PAGE->set_title(format_string($course->shortname) . ": $hotpot->name"); $PAGE->set_heading($course->fullname); - $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'hotpot')); echo $OUTPUT->header(); $course_context = get_context_instance(CONTEXT_COURSE, $course->id); diff --git a/mod/hotpot/review.php b/mod/hotpot/review.php index 56e7757f5b..89b42ffd55 100644 --- a/mod/hotpot/review.php +++ b/mod/hotpot/review.php @@ -59,7 +59,6 @@ $PAGE->requires->js('lib/overlib/overlib_cssstyle.js')->in_head(); $PAGE->set_title(format_string($course->shortname) . ": $hotpot->name"); $PAGE->set_heading($course->fullname); - $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'hotpot')); echo $OUTPUT->header(); print ''; // for overlib echo $OUTPUT->heading($hotpot->name); diff --git a/mod/hotpot/view.php b/mod/hotpot/view.php index c48b611591..33d616d3e7 100644 --- a/mod/hotpot/view.php +++ b/mod/hotpot/view.php @@ -47,7 +47,6 @@ $title = format_string($course->shortname.': '.$hotpot->name, true); $heading = $course->fullname; - $button = $OUTPUT->update_module_button($cm->id, 'hotpot'); $button = '
'.$button.'
'; $loggedinas = ''.user_login_string($course, $USER).''; -- 2.39.5