/** * Displays the ratingsfor a specific episode * @global stdClass $CFG * @global stdClass $USER * @global stdClass $DB * @global stdClass $OUTPUT * @param object $episode * @param object $cm * @param object $course */ function pcast_display_episode_ratings($episode, $cm, $course) { global $CFG, $USER, $DB, $OUTPUT; $sql = pcast_get_episode_sql(); $sql .= " WHERE p.id = ?"; $episodes = $DB->get_records_sql($sql, array('id' => $episode->id)); $context = get_context_instance(CONTEXT_MODULE, $cm->id); // load ratings require_once $CFG->dirroot . '/rating/lib.php'; if ($episode->assessed != RATING_AGGREGATE_NONE) { $ratingoptions = new stdClass(); // $ratingoptions->plugintype = 'mod'; // $ratingoptions->pluginname = 'pcast'; $ratingoptions->component = 'mod_pcast'; $ratingoptions->context = $context; $ratingoptions->items = $episodes; $ratingoptions->aggregate = $episode->assessed; //the aggregation method $ratingoptions->scaleid = $episode->scale; $ratingoptions->userid = $USER->id; $ratingoptions->returnurl = new moodle_url('/mod/pcast/showepisode.php', array('eid' => $episode->id, 'mode' => PCAST_EPISODE_COMMENT_AND_RATE)); $ratingoptions->assesstimestart = $episode->assesstimestart; $ratingoptions->assesstimefinish = $episode->assesstimefinish; $ratingoptions->ratingarea = 'episode'; $rm = new rating_manager(); $allepisodes = $rm->get_ratings($ratingoptions); } foreach ($allepisodes as $thisepisode) { if (!empty($thisepisode->rating)) { echo html_writer::tag('div', $OUTPUT->render($thisepisode->rating), array('class' => 'pcast-episode-rating')); } } }
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/lib.php'; require_once dirname(__FILE__) . '/locallib.php'; $eid = optional_param('eid', 0, PARAM_INT); // pcast episode id $mode = optional_param('mode', PCAST_EPISODE_VIEW, PARAM_INT); // pcast episode id $popup = optional_param('popup', 0, PARAM_INT); $url = new moodle_url('/mod/pcast/showepisode.php'); $url->param('eid', $eid); $url->param('mode', $mode); $PAGE->set_url($url); if ($eid) { $sql = pcast_get_episode_sql(); $sql .= " WHERE p.id = ?"; $episode = $DB->get_record_sql($sql, array($eid), MUST_EXIST); $pcast = $DB->get_record('pcast', array('id' => $episode->pcastid), '*', MUST_EXIST); $cm = get_coursemodule_from_instance('pcast', $pcast->id, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); require_course_login($course, true, $cm); $context = get_context_instance(CONTEXT_MODULE, $cm->id); $episode->pcastname = $pcast->name; $episode->cmid = $cm->id; $episode->courseid = $cm->course; $episodes = array($episode); } else { print_error('invalidelementid'); } if (!empty($episode->courseid)) {