/** * This function extends the category navigation to add learning plan links. * * @param navigation_node $navigation The navigation node to extend * @param context $coursecategorycontext The context of the course category */ function tool_lp_extend_navigation_category_settings($navigation, $coursecategorycontext) { if (!get_config('core_competency', 'enabled')) { return false; } // We check permissions before renderring the links. $templatereadcapability = \core_competency\template::can_read_context($coursecategorycontext); $competencyreadcapability = \core_competency\competency_framework::can_read_context($coursecategorycontext); if (!$templatereadcapability && !$competencyreadcapability) { return false; } // The link to the learning plan page. if ($templatereadcapability) { $title = get_string('templates', 'tool_lp'); $path = new moodle_url("/admin/tool/lp/learningplans.php", array('pagecontextid' => $coursecategorycontext->id)); $settingsnode = navigation_node::create($title, $path, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/competencies', '')); if (isset($settingsnode)) { $navigation->add_node($settingsnode); } } // The link to the competency frameworks page. if ($competencyreadcapability) { $title = get_string('competencyframeworks', 'tool_lp'); $path = new moodle_url("/admin/tool/lp/competencyframeworks.php", array('pagecontextid' => $coursecategorycontext->id)); $settingsnode = navigation_node::create($title, $path, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/competencies', '')); if (isset($settingsnode)) { $navigation->add_node($settingsnode); } } }
* @package tool_lp * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once __DIR__ . '/../../../config.php'; require_once $CFG->libdir . '/adminlib.php'; $id = required_param('competencyframeworkid', PARAM_INT); $pagecontextid = required_param('pagecontextid', PARAM_INT); // Reference to the context we came from. $search = optional_param('search', '', PARAM_RAW); require_login(); \core_competency\api::require_enabled(); $pagecontext = context::instance_by_id($pagecontextid); $framework = \core_competency\api::read_framework($id); $context = $framework->get_context(); if (!\core_competency\competency_framework::can_read_context($context)) { throw new required_capability_exception($context, 'moodle/competency:competencyview', 'nopermissions', ''); } $title = get_string('competencies', 'core_competency'); $pagetitle = get_string('competenciesforframework', 'tool_lp', $framework->get_shortname()); // Set up the page. $url = new moodle_url("/admin/tool/lp/competencies.php", array('competencyframeworkid' => $framework->get_id(), 'pagecontextid' => $pagecontextid)); $frameworksurl = new moodle_url('/admin/tool/lp/competencyframeworks.php', array('pagecontextid' => $pagecontextid)); $PAGE->navigation->override_active_url($frameworksurl); $PAGE->set_context($pagecontext); $PAGE->set_pagelayout('admin'); $PAGE->set_url($url); $PAGE->navbar->add($framework->get_shortname(), $url); $PAGE->set_title($title); $PAGE->set_heading($title); $output = $PAGE->get_renderer('tool_lp');