/** * Return grade for given user or all users. * * @global object * @global object * @param object $forum * @param int $userid optional user id, 0 means all users * @return array array of grades, false if none */ function forum_get_user_grades($forum, $userid = 0) { global $CFG; require_once($CFG->dirroot.'/rating/lib.php'); $ratingoptions = new stdClass; $ratingoptions->component = 'mod_forum'; $ratingoptions->ratingarea = 'post'; //need these to work backwards to get a context id. Is there a better way to get contextid from a module instance? $ratingoptions->modulename = 'forum'; $ratingoptions->moduleid = $forum->id; $ratingoptions->userid = $userid; $ratingoptions->aggregationmethod = $forum->assessed; $ratingoptions->scaleid = $forum->scale; $ratingoptions->itemtable = 'forum_posts'; $ratingoptions->itemtableusercolumn = 'userid'; $rm = new rating_manager(); return $rm->get_user_grades($ratingoptions); }
/** * Return grade for given user or all users. * * @global object * @param int $glossaryid id of glossary * @param int $userid optional user id, 0 means all users * @return array array of grades, false if none */ function glossary_get_user_grades($glossary, $userid = 0) { /*global $DB; $params = array('userid'=>$userid, 'gid'=>$glossary->id); $user = $userid ? "AND u.id = :userid" : ""; $sql = "SELECT u.id, u.id AS userid, avg(gr.rating) AS rawgrade FROM {user} u, {glossary_entries} ge, {glossary_ratings} gr WHERE u.id = ge.userid AND ge.id = gr.entryid AND gr.userid != u.id AND ge.glossaryid = :gid $user GROUP BY u.id"; return $DB->get_records_sql($sql, $params);*/ global $CFG; require_once $CFG->dirroot . '/rating/lib.php'; $rm = new rating_manager(); $ratingoptions = new stdclass(); //need these to work backwards to get a context id. Is there a better way to get contextid from a module instance? $ratingoptions->modulename = 'glossary'; $ratingoptions->moduleid = $glossary->id; $ratingoptions->userid = $userid; $ratingoptions->aggregationmethod = $glossary->assessed; $ratingoptions->scaleid = $glossary->scale; $ratingoptions->itemtable = 'glossary_entries'; $ratingoptions->itemtableusercolumn = 'userid'; return $rm->get_user_grades($ratingoptions); }
/** * Return grade for given user or all users. * * @global object * @param object $data * @param int $userid optional user id, 0 means all users * @return array array of grades, false if none */ function data_get_user_grades($data, $userid=0) { global $CFG; require_once($CFG->dirroot.'/rating/lib.php'); $ratingoptions = new stdClass; $ratingoptions->component = 'mod_data'; $ratingoptions->ratingarea = 'entry'; $ratingoptions->modulename = 'data'; $ratingoptions->moduleid = $data->id; $ratingoptions->userid = $userid; $ratingoptions->aggregationmethod = $data->assessed; $ratingoptions->scaleid = $data->scale; $ratingoptions->itemtable = 'data_records'; $ratingoptions->itemtableusercolumn = 'userid'; $rm = new rating_manager(); return $rm->get_user_grades($ratingoptions); }
/** * Return grade for given user or all users. * * @global object * @param int $glossaryid id of glossary * @param int $userid optional user id, 0 means all users * @return array array of grades, false if none */ function glossary_get_user_grades($glossary, $userid = 0) { global $CFG; require_once $CFG->dirroot . '/rating/lib.php'; $rm = new rating_manager(); $ratingoptions = new stdclass(); //need these to work backwards to get a context id. Is there a better way to get contextid from a module instance? $ratingoptions->modulename = 'glossary'; $ratingoptions->moduleid = $glossary->id; $ratingoptions->userid = $userid; $ratingoptions->aggregationmethod = $glossary->assessed; $ratingoptions->scaleid = $glossary->scale; $ratingoptions->itemtable = 'glossary_entries'; $ratingoptions->itemtableusercolumn = 'userid'; return $rm->get_user_grades($ratingoptions); }