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;