コード例 #1
0
ファイル: class.php プロジェクト: TheReaCompany/pooplog
 /**
  * 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;
 }