Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403]

   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   * shows an analysed view of feedback
  19   *
  20   * @copyright Andreas Grabs
  21   * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
  22   * @package mod_feedback
  23   */
  24  
  25  require_once("../../config.php");
  26  require_once ("lib.php");
  27  
  28  $current_tab = 'analysis';
  29  
  30  $id = required_param('id', PARAM_INT);  // Course module id.
  31  
  32  $url = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
  33  $PAGE->set_url($url);
  34  
  35  list($course, $cm) = get_course_and_cm_from_cmid($id, 'feedback');
  36  require_course_login($course, true, $cm);
  37  
  38  $feedback = $PAGE->activityrecord;
  39  $feedbackstructure = new mod_feedback_structure($feedback, $cm);
  40  
  41  $context = context_module::instance($cm->id);
  42  
  43  if (!$feedbackstructure->can_view_analysis()) {
  44      print_error('error');
  45  }
  46  
  47  /// Print the page header
  48  
  49  $PAGE->set_heading($course->fullname);
  50  $PAGE->set_title($feedback->name);
  51  echo $OUTPUT->header();
  52  echo $OUTPUT->heading(format_string($feedback->name));
  53  
  54  /// print the tabs
  55  require ('tabs.php');
  56  
  57  
  58  //get the groupid
  59  $mygroupid = groups_get_activity_group($cm, true);
  60  groups_print_activity_menu($cm, $url);
  61  
  62  // Button "Export to excel".
  63  if (has_capability('mod/feedback:viewreports', $context) && $feedbackstructure->get_items()) {
  64      echo $OUTPUT->container_start('form-buttons');
  65      $aurl = new moodle_url('/mod/feedback/analysis_to_excel.php', ['sesskey' => sesskey(), 'id' => $id]);
  66      echo $OUTPUT->single_button($aurl, get_string('export_to_excel', 'feedback'));
  67      echo $OUTPUT->container_end();
  68  }
  69  
  70  // Show the summary.
  71  $summary = new mod_feedback\output\summary($feedbackstructure, $mygroupid);
  72  echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT));
  73  
  74  // Get the items of the feedback.
  75  $items = $feedbackstructure->get_items(true);
  76  
  77  $check_anonymously = true;
  78  if ($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
  79      $completedcount = $feedbackstructure->count_completed_responses($mygroupid);
  80      if ($completedcount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
  81          $check_anonymously = false;
  82      }
  83  }
  84  
  85  echo '<div>';
  86  if ($check_anonymously) {
  87      // Print the items in an analysed form.
  88      foreach ($items as $item) {
  89          $itemobj = feedback_get_item_class($item->typ);
  90          $printnr = ($feedback->autonumbering && $item->itemnr) ? ($item->itemnr . '.') : '';
  91          $itemobj->print_analysed($item, $printnr, $mygroupid);
  92      }
  93  } else {
  94      echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'),
  95                                      'insufficient_responses',
  96                                      'feedback', '', '', 3);
  97  }
  98  echo '</div>';
  99  
 100  echo $OUTPUT->footer();
 101