コード例 #1
0
if (!($entryrating = $field->get_entry_rating($entry))) {
    $result->error = get_string('ratepermissiondenied', 'rating');
    echo json_encode($result);
    die;
}
$entry->rating = $entryrating;
$rm = new ratingmdl_rating_manager();
// Check the module rating permissions.
if (!$field->user_can_rate($entry, $USER->id)) {
    $result->error = get_string('ratepermissiondenied', 'rating');
    echo json_encode($result);
    die;
}
// Check that the rating is valid.
$params = array('context' => $context, 'component' => $component, 'ratingarea' => $ratingarea, 'itemid' => $itemid, 'scaleid' => $scaleid, 'rating' => $userrating, 'rateduserid' => $rateduserid, 'aggregation' => $aggregationmethod);
if (!$rm->check_rating_is_valid($params)) {
    $result->error = get_string('ratinginvalid', 'rating');
    echo json_encode($result);
    die;
}
// Check that the rating value is in accordance with the field settings.
if ($validationcode = $field->user_can_assign_the_rating_value($entryrating, $userrating)) {
    $result->error = get_string("ratinginvalid{$validationcode}", 'dataformfield_ratingmdl');
    echo json_encode($result);
    die;
}
// Rating options used to update the rating then retrieving the aggregations.
$ratingoptions = new stdClass();
$ratingoptions->context = $context;
$ratingoptions->ratingarea = $ratingarea;
$ratingoptions->component = $component;