Example #1
0
/**
 * 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'));
        }
    }
}
Example #2
0
 * @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)) {