From 0961861e63023fc83ab322ffa379298b80ce54a0 Mon Sep 17 00:00:00 2001 From: samhemelryk Date: Fri, 11 Sep 2009 05:38:44 +0000 Subject: [PATCH] mod-glossary MDL-20256 Upgraded module to use the new navigation blocks --- lang/en_utf8/glossary.php | 1 + mod/glossary/edit.php | 6 ++++++ mod/glossary/export.php | 1 + mod/glossary/import.php | 1 + mod/glossary/lib.php | 40 +++++++++++++++++++++++++++++++++++++++ mod/glossary/view.php | 5 +++++ 6 files changed, 54 insertions(+) diff --git a/lang/en_utf8/glossary.php b/lang/en_utf8/glossary.php index e569803b2d..33984291f1 100644 --- a/lang/en_utf8/glossary.php +++ b/lang/en_utf8/glossary.php @@ -122,6 +122,7 @@ $string['fillfields'] = 'Concept and definition are mandatory fields.'; $string['filtername'] = 'Glossary Auto-linking'; $string['fullmatch'] = 'Match whole words only'; $string['globalglossary'] = 'Global glossary'; +$string['glossaryadministration'] = 'Glossary Administration'; $string['glossary:approve'] = 'Approve unapproved entries'; $string['glossary:comment'] = 'Create comments'; $string['glossary:export'] = 'Export entries'; diff --git a/mod/glossary/edit.php b/mod/glossary/edit.php index 77f6df21e4..f67b109d4b 100644 --- a/mod/glossary/edit.php +++ b/mod/glossary/edit.php @@ -27,6 +27,12 @@ if (!$glossary = $DB->get_record('glossary', array('id'=>$cm->instance))) { print_error('invalidid', 'glossary'); } +$url = new moodle_url($CFG->wwwroot.'/mod/glossary/edit.php', array('cmid'=>$cm->id)); +if (!empty($id)) { + $url->param('id', $id); +} +$PAGE->set_url($url); + if ($id) { // if entry is specified if (!$entry = $DB->get_record('glossary_entries', array('id'=>$id, 'glossaryid'=>$glossary->id))) { print_error('invalidentry'); diff --git a/mod/glossary/export.php b/mod/glossary/export.php index abf2d7a256..94804cc765 100644 --- a/mod/glossary/export.php +++ b/mod/glossary/export.php @@ -37,6 +37,7 @@ $strexportfile = get_string("exportfile", "glossary"); $strexportentries = get_string('exportentriestoxml', 'glossary'); + $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$cm->id))); $PAGE->navbar->add($strexportentries); $PAGE->set_title(format_string($glossary->name)); $PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary)); diff --git a/mod/glossary/import.php b/mod/glossary/import.php index 45b1ba1838..759ee38e90 100644 --- a/mod/glossary/import.php +++ b/mod/glossary/import.php @@ -44,6 +44,7 @@ $strsearch = get_string("search"); $strimportentries = get_string('importentriesfromxml', 'glossary'); + $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/import.php', array('id'=>$cm->id, 'mode'=>$mode, 'hook'=>$hook))); $PAGE->navbar->add($strimportentries); $PAGE->set_title(format_string($glossary->name)); $PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary)); diff --git a/mod/glossary/lib.php b/mod/glossary/lib.php index 91ae0eadbe..690ec05410 100644 --- a/mod/glossary/lib.php +++ b/mod/glossary/lib.php @@ -2887,3 +2887,43 @@ class glossary_entry_portfolio_caller extends portfolio_module_caller_base { return sha1(serialize($this->entry)); } } + +function glossary_extend_navigation($navigation, $course, $module, $cm) { + global $CFG; + $navigation->add(get_string('standardview', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->instance, 'mode'=>'letter'))); + $navigation->add(get_string('categoryview', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->instance, 'mode'=>'cat'))); + $navigation->add(get_string('dateview', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->instance, 'mode'=>'date'))); + $navigation->add(get_string('authorview', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->instance, 'mode'=>'author'))); +} + +function glossary_extend_settings_navigation($settings, $module) { + global $PAGE, $DB, $CFG, $USER; + + $mode = optional_param('mode', '', PARAM_ALPHA); + $hook = optional_param('hook', 'ALL', PARAM_CLEAN); + + $glossary = $DB->get_record('glossary', array('id'=>$PAGE->cm->instance)); + $glossarynavkey = $settings->add(get_string('glossaryadministration', 'glossary')); + $glossarynav = $settings->get($glossarynavkey); + $glossarynav->forceopen = true; + + if (has_capability('mod/glossary:import', $PAGE->cm->context)) { + $glossarynav->add(get_string('importentries', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/import.php', array('id'=>$PAGE->cm->id))); + } + + if (has_capability('mod/glossary:export', $PAGE->cm->context)) { + $glossarynav->add(get_string('exportentries', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$PAGE->cm->id, 'mode'=>$mode, 'hook'=>$hook))); + } + + if (has_capability('mod/glossary:approve', $PAGE->cm->context) && ($hiddenentries = $DB->count_records('glossary_entries', array('glossaryid'=>$glossary->id, 'approved'=>0)))) { + $glossarynav->add(get_string('waitingapproval', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$PAGE->cm->id, 'mode'=>'approval'))); + } + + if (has_capability('mod/glossary:write', $PAGE->cm->context)) { + $glossarynav->add(get_string('addentry', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/edit.php', array('cmid'=>$PAGE->cm->id))); + } + + if (has_capability('moodle/course:manageactivities', $PAGE->cm->context)) { + $glossarynav->add(get_string('updatethis', '', get_string('modulename', 'glossary')), new moodle_url($CFG->wwwroot.'/course/mod.php', array('update' => $PAGE->cm->id, 'return' => true, 'sesskey' => sesskey()))); + } +} \ No newline at end of file diff --git a/mod/glossary/view.php b/mod/glossary/view.php index 622b25b08f..43524b40dc 100644 --- a/mod/glossary/view.php +++ b/mod/glossary/view.php @@ -228,6 +228,11 @@ /// If we are in approval mode, prit special header $PAGE->set_title(format_string($glossary->name)); $PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary)); + $url = new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->id)); + if (isset($mode)) { + $url->param('mode', $mode); + } + $PAGE->set_url($url); if ($tab == GLOSSARY_APPROVAL_VIEW) { require_capability('mod/glossary:approve', $context); $PAGE->navbar->add($strwaitingapproval); -- 2.39.5