Skip to content

Commit

Permalink
mod_choicegroup: Improve efficiency and use fullnamedisplay setting
Browse files Browse the repository at this point in the history
  • Loading branch information
tonyjbutler committed Aug 5, 2021
1 parent 2b21078 commit 509c582
Showing 1 changed file with 3 additions and 8 deletions.
11 changes: 3 additions & 8 deletions renderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class mod_choicegroup_renderer extends plugin_renderer_base {
* @return string
*/
public function display_options($options, $coursemoduleid, $vertical = true, $publish = false, $limitanswers = false, $showresults = false, $current = false, $choicegroupopen = false, $disabled = false, $multipleenrollmentspossible = false, $onlyactive = false) {
global $DB, $PAGE, $choicegroup_groups, $choicegroup_users;
global $DB, $PAGE, $choicegroup_groups;

$target = new moodle_url('/mod/choicegroup/view.php');
$attributes = array('method'=>'POST', 'action'=>$target, 'class'=> 'tableform');
Expand Down Expand Up @@ -117,16 +117,11 @@ public function display_options($options, $coursemoduleid, $vertical = true, $pu

$context = \context_course::instance($group->courseid);
$labeltext = html_writer::tag('label', format_string($group->name), array('for' => 'choiceid_' . $option->attributes->value));
$group_members = $DB->get_records('groups_members', array('groupid' => $group->id));
$group_members = get_enrolled_users($context, '', $group->id, 'u.*', 'u.lastname, u.firstname', 0, 0, $onlyactive);
$group_members_names = array();
foreach ($group_members as $group_member) {
if (!is_enrolled($context, $group_member->userid, '', $onlyactive)) {
continue;
}
$group_user = (isset($choicegroup_users[$group_member->userid])) ? ($choicegroup_users[$group_member->userid]) : ($DB->get_record('user', array('id' => $group_member->userid)));
$group_members_names[] = $group_user->lastname . ', ' . $group_user->firstname;
$group_members_names[] = fullname($group_member);
}
sort($group_members_names);
if (!empty($option->attributes->disabled) || ($limitanswers && sizeof($group_members) >= $option->maxanswers) && empty($option->attributes->checked)) {
$labeltext .= ' ' . html_writer::tag('em', get_string('full', 'choicegroup'));
$option->attributes->disabled=true;
Expand Down

0 comments on commit 509c582

Please sign in to comment.