Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * User competency page.
  19   *
  20   * @package    tool_lp
  21   * @copyright  2016 Frédéric Massart - FMCorz.net
  22   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23   */
  24  
  25  require(__DIR__ . '/../../../config.php');
  26  
  27  $id = required_param('id', PARAM_INT);
  28  
  29  require_login(null, false);
  30  if (isguestuser()) {
  31      throw new require_login_exception('Guests are not allowed here.');
  32  }
  33  \core_competency\api::require_enabled();
  34  
  35  $uc = \core_competency\api::get_user_competency_by_id($id);
  36  $params = array('id' => $id);
  37  $url = new moodle_url('/admin/tool/lp/user_competency.php', $params);
  38  
  39  $user = core_user::get_user($uc->get('userid'));
  40  if (!$user || !core_user::is_real_user($user->id)) {
  41      throw new moodle_exception('invaliduser', 'error');
  42  }
  43  $iscurrentuser = ($USER->id == $user->id);
  44  
  45  $competency = $uc->get_competency();
  46  $compexporter = new \core_competency\external\competency_exporter($competency, array('context' => $competency->get_context()));
  47  
  48  $PAGE->set_pagelayout('standard');
  49  $PAGE->set_url($url);
  50  $PAGE->navigation->override_active_url(new moodle_url('/admin/tool/lp/plans.php', array('userid' => $uc->get('userid'))));
  51  $PAGE->set_context($uc->get_context());
  52  if (!$iscurrentuser) {
  53      $PAGE->navigation->extend_for_user($user);
  54      $PAGE->navigation->set_userid_for_parent_checks($user->id);
  55  }
  56  $output = $PAGE->get_renderer('tool_lp');
  57  $compdata = $compexporter->export($output);
  58  $PAGE->navbar->add($compdata->shortname, $url);
  59  $PAGE->set_title($compdata->shortname);
  60  $PAGE->set_heading($compdata->shortname);
  61  
  62  echo $output->header();
  63  $page = new \tool_lp\output\user_competency_summary($uc);
  64  echo $output->render($page);
  65  // Trigger viewed event.
  66  \core_competency\api::user_competency_viewed($uc);
  67  
  68  echo $output->footer();