/** * Renders single rating stars image with average rating for the multi rating post results from rating or review. * * @param int $post_id id of the post rating will be attributed to * @param bool $review if set to true average of review will be rendered * @param array $settings override settings for rendering the block */ function get_multi_average_rendered($post_id, $settings = array()) { $sum = $votes = $rating = 0; if ($settings["id"] == "") { $multi_id = $this->o["mur_review_set"]; } else { $multi_id = $settings["id"]; } if ($multi_id > 0 && $post_id > 0) { $set = gd_get_multi_set($multi_id); $data = GDSRDBMulti::get_averages($post_id, $multi_id); if ($set != null && is_object($data)) { if ($settings["render"] == "review") { $review = GDSRRender::render_static_stars($this->is_ie6 ? $this->o["mur_style_ie6"] : $this->o["mur_style"], $this->o['mur_size'], $set->stars, $data->average_review); return $review; } else { switch ($settings["show"]) { case "visitors": $rating = $data->average_rating_visitors; break; case "users": $rating = $data->average_rating_users; break; case "total": $sum = $data->average_rating_users * $data->total_votes_users + $data->average_rating_visitors * $data->total_votes_visitors; $votes = $data->total_votes_users + $data->total_votes_visitors; $rating = number_format($votes == 0 ? 0 : $sum / $votes, 1); break; } $rating = GDSRRender::render_static_stars($this->is_ie6 ? $this->o["mur_style_ie6"] : $this->o["mur_style"], $this->o['mur_size'], $set->stars, $rating); return $rating; } } } $max = is_null($set) ? 10 : $set->stars; $rating = GDSRRender::render_static_stars($this->is_ie6 ? $this->o["mur_style_ie6"] : $this->o["mur_style"], $this->o['mur_size'], $max, 0); return $rating; }