/**
 * 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;
}
示例#2
0
/**
 * 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;
}