/** * Gets a full choicegroup record * * @global object * @param int $choicegroupid * @return object|bool The choicegroup or false */ function choicegroup_get_choicegroup($choicegroupid) { global $DB; if ($choicegroup = $DB->get_record("choicegroup", array("id" => $choicegroupid))) { $sortcolumn = choicegroup_get_sort_column($choicegroup); $sql = "SELECT grp_o.id, grp_o.groupid, grp_o.maxanswers FROM {groups} grp\n INNER JOIN {choicegroup_options} grp_o on grp.id = grp_o.groupid\n WHERE grp_o.choicegroupid = :choicegroupid\n ORDER BY {$sortcolumn} ASC"; $params = array('choicegroupid' => $choicegroupid); $options = $DB->get_records_sql($sql, $params); foreach ($options as $option) { $choicegroup->option[$option->id] = $option->groupid; $choicegroup->maxanswers[$option->id] = $option->maxanswers; } return $choicegroup; } return false; }
/** * Gets a full choicegroup record * * @global object * @param int $choicegroupid * @return object|bool The choicegroup or false */ function choicegroup_get_choicegroup($choicegroupid) { global $DB; if ($choicegroup = $DB->get_record("choicegroup", array("id" => $choicegroupid))) { $sortcolumn = choicegroup_get_sort_column($choicegroup); $params = array( 'choicegroupid' => $choicegroupid ); $grpfilter = ''; if (($groupid = optional_param('group', 0, PARAM_INT)) != 0) { $params['groupid'] = $groupid; $grpfilter = "AND grp_o.groupid = :groupid"; } $sql = "SELECT grp_m.id grpmemberid, grp_m.userid, grp_o.id, grp_o.groupid, grp_o.maxanswers FROM {groups} grp INNER JOIN {choicegroup_options} grp_o on grp.id = grp_o.groupid LEFT JOIN {groups_members} grp_m on grp_m.groupid = grp_o.groupid WHERE grp_o.choicegroupid = :choicegroupid $grpfilter ORDER BY $sortcolumn ASC"; $rs = $DB->get_recordset_sql($sql, $params); foreach ($rs as $option) { $choicegroup->option[$option->id] = $option->groupid; $choicegroup->grpmemberid[$option->grpmemberid] = array($option->groupid, $option->userid); $choicegroup->maxanswers[$option->id] = $option->maxanswers; } $rs->close(); return $choicegroup; } return false; }