/** * Code for StarReviewMulti shortcode implementation * * @param array $atts */ function shortcode_starreviewmulti($atts = array()) { $settings = shortcode_atts($this->default_shortcode_starreviewmulti, $atts); $el_stars = $settings["element_stars"] != "" ? $settings["element_stars"] : $settings["style"]; $el_size = $settings["element_size"] != "" ? $settings["element_size"] : $settings["size"]; $post_id = $settings["post"]; if ($post_id == 0) { global $post; $post_id = $post->ID; } $multi_id = $settings["id"] == 0 ? $this->o["mur_review_set"] : $settings["id"]; $set = gd_get_multi_set($multi_id); if ($multi_id > 0 && $post_id > 0) { $vote_id = GDSRDBMulti::get_vote($post_id, $multi_id, count($set->object)); $multi_data = GDSRDBMulti::get_values($vote_id, 'rvw'); $votes = array(); foreach ($multi_data as $md) { $single_vote = array(); $single_vote["votes"] = 1; $single_vote["score"] = $md->user_votes; $single_vote["rating"] = $md->user_votes; $votes[] = $single_vote; } $avg_rating = GDSRDBMulti::get_multi_review_average($vote_id); return GDSRRenderT2::render_rmb($settings["tpl"], array("votes" => $votes, "star_factor" => $settings["factor"], "post_id" => $post_id, "set" => $set, "avg_rating" => $avg_rating, "style" => $el_stars, "size" => $el_size, "avg_style" => $settings["average_stars"], "avg_size" => $settings["average_size"])); } else { return ''; } }