function render_mrb($template_id, $rpar = array()) { $rdef = array("style" => "oxygen", "allow_vote" => true, "votes" => 0, "post_id" => 0, "set" => "", "height" => "", "header_text" => "", "tags_css" => array(), "avg_style" => "oxygen", "avg_size" => 20, "star_factor" => 1, "time_restirctions" => "N", "time_remaining" => 0, "time_date" => "", "button_active" => true, "button_text" => "Submit", "debug" => "", "wait_msg" => ""); $rpar = wp_parse_args($rpar, $rdef); $rpar = apply_filters('gdsr_t2parameters_mrb', $rpar); extract($rpar, EXTR_SKIP); $template = GDSRRenderT2::get_template($template_id, "MRB"); $tpl_render = $template->elm["normal"]; $tpl_render = html_entity_decode($tpl_render); $tpl_render = apply_filters('gdsr_t2render_mrb_normal', $tpl_render, $template, $rpar, "normal"); foreach ($tags_css as $tag => $value) { $tpl_render = str_replace('%' . $tag . '%', $value, $tpl_render); } $tpl_render = str_replace("%MUR_HEADER_TEXT%", html_entity_decode($header_text), $tpl_render); $rater = '<div id="gdsr_mur_block_' . $post_id . '_' . $set->multi_id . '" class="ratingmulti ' . $tags_css["MUR_CSS_BLOCK"] . '">'; $empty_value = str_repeat("0X", count($set->object)); $empty_value = substr($empty_value, 0, strlen($empty_value) - 1); if ($debug != '') { $rater .= '<div style="display: none">' . $debug . '</div>'; } if ($allow_vote) { $rater .= '<input type="hidden" id="gdsr_multi_' . $post_id . '_' . $set->multi_id . '" name="gdsrmulti[' . $post_id . '][' . $set->multi_id . ']" value="' . $empty_value . '" />'; } if (in_array("%POST_TITLE%", $template->tag["normal"])) { $act_post = get_post($post_id); $tpl_render = str_replace("%POST_TITLE%", $act_post->post_title, $tpl_render); } if (in_array("%POST_PERMALINK%", $template->tag["normal"])) { $tpl_render = str_replace("%POST_PERMALINK%", get_permalink($post_id), $tpl_render); } $i = 0; $weighted = 0; $total_votes = 0; $weight_norm = array_sum($set->weight); $rating_stars = ""; $table_row_class = $template->dep["MRS"]->dep["ETR"]; foreach ($set->object as $el) { $single_row = html_entity_decode($template->dep["MRS"]->elm["item"]); $single_row = str_replace('%ELEMENT_NAME%', $el, $single_row); $single_row = str_replace('%ELEMENT_ID%', $i, $single_row); $single_row = str_replace('%ELEMENT_VALUE%', $votes[$i]["rating"], $single_row); $single_row = str_replace('%ELEMENT_STARS%', GDSRRender::rating_stars_multi($style, $post_id, $template_id, $set->multi_id, $i, $height, $set->stars * $star_factor, $allow_vote, $votes[$i]["rating"] * $star_factor), $single_row); $single_row = str_replace('%TABLE_ROW_CLASS%', is_odd($i) ? $table_row_class->elm["odd"] : $table_row_class->elm["even"], $single_row); $rating_stars .= $single_row; $weighted += $votes[$i]["rating"] * $set->weight[$i] / $weight_norm; $total_votes += $votes[$i]["votes"]; $i++; } $rating = @number_format($weighted, 1); $total_votes = $i == 0 ? 0 : @number_format($total_votes / $i, 0); if (in_array("%MUR_RATING_TEXT%", $template->tag["normal"])) { $rating_text = GDSRRenderT2::render_mrt($template->dep["MRT"], array("rating" => $rating, "unit_count" => $set->stars, "votes" => $total_votes, "id" => $post_id, "time_restirctions" => $time_restirctions, "time_remaining" => $time_remaining, "time_date" => $time_date)); $rating_wait = $allow_vote ? GDSRRender::rating_wait("gdsr_mur_loader_" . $post_id . "_" . $set->multi_id, "100%", "", $wait_msg) : ""; $voted = $allow_vote ? '' : ' class="voted"'; $rating_text = $rating_wait . '<div' . $voted . ' id="gdsr_mur_text_' . $post_id . '_' . $set->multi_id . '">' . $rating_text . '</div>'; $tpl_render = str_replace("%MUR_RATING_TEXT%", $rating_text, $tpl_render); } if (in_array("%BUTTON%", $template->tag["normal"])) { if ($button_active) { $rating_button = '<div class="ratingbutton gdinactive gdsr_multisbutton_as ' . $tags_css["MUR_CSS_BUTTON"] . '" id="gdsr_button_' . $post_id . '_' . $set->multi_id . '_' . $template_id . '_' . $height . '"><a rel="nofollow">' . $button_text . '</a></div>'; } else { $rating_button = ""; } $tpl_render = str_replace("%BUTTON%", $rating_button, $tpl_render); } $tpl_render = str_replace("%MUR_RATING_STARS%", $rating_stars, $tpl_render); $tpl_render = str_replace("%AVG_RATING%", apply_filters('gdsr_t2_tag_value', $rating, "MRB", "%AVG_RATING%"), $tpl_render); if (in_array("%AVG_RATING_STARS%", $template->tag["normal"])) { $avg_id = "gdsr_mur_avgstars_" . $post_id . "_" . $set->multi_id; $tpl_render = str_replace("%AVG_RATING_STARS%", GDSRRender::render_static_stars($avg_style, $avg_size, $set->stars * $star_factor, $rating * $star_factor, $avg_id, "", $star_factor), $tpl_render); } $rater .= $tpl_render . "</div>"; return $rater; }
function render_mrb($style, $template_id, $allow_vote, $votes, $post_id, $set, $height, $header_text, $tags_css, $avg_style, $avg_size, $time_restirctions = "N", $time_remaining = 0, $time_date = "", $button_active = true, $button_text = "Submit", $debug = '', $wait_msg = '') { $template = GDSRRenderT2::get_template($template_id, "MRB"); $tpl_render = $template->elm["normal"]; $tpl_render = html_entity_decode($tpl_render); foreach ($tags_css as $tag => $value) { $tpl_render = str_replace('%' . $tag . '%', $value, $tpl_render); } $tpl_render = str_replace("%MUR_HEADER_TEXT%", html_entity_decode($header_text), $tpl_render); $rater = '<div id="gdsr_mur_block_' . $post_id . '_' . $set->multi_id . '" class="ratingmulti ' . $tags_css["MUR_CSS_BLOCK"] . '">'; $empty_value = str_repeat("0X", count($set->object)); $empty_value = substr($empty_value, 0, strlen($empty_value) - 1); if ($debug != '') { $rater .= '<div style="display: none">' . $debug . '</div>'; } if ($allow_vote) { $rater .= '<input type="hidden" id="gdsr_multi_' . $post_id . '_' . $set->multi_id . '" name="gdsrmulti[' . $post_id . '][' . $set->id . ']" value="' . $empty_value . '" />'; } $i = 0; $weighted = 0; $total_votes = 0; $weight_norm = array_sum($set->weight); $rating_stars = ""; $table_row_class = $template->dep["MRS"]->dep["ETR"]; foreach ($set->object as $el) { $single_row = html_entity_decode($template->dep["MRS"]->elm["item"]); $single_row = str_replace('%ELEMENT_NAME%', $el, $single_row); $single_row = str_replace('%ELEMENT_ID%', $i, $single_row); $single_row = str_replace('%ELEMENT_STARS%', GDSRRender::rating_stars_multi($style, $post_id, $template_id, $set->multi_id, $i, $height, $set->stars, $allow_vote, $votes[$i]["rating"]), $single_row); $single_row = str_replace('%TABLE_ROW_CLASS%', is_odd($i) ? $table_row_class->elm["odd"] : $table_row_class->elm["even"], $single_row); $rating_stars .= $single_row; $weighted += $votes[$i]["rating"] * $set->weight[$i] / $weight_norm; $total_votes += $votes[$i]["votes"]; $i++; } $rating = @number_format($weighted, 1); $total_votes = @number_format($total_votes / $i, 0); if (in_array("%MUR_RATING_TEXT%", $template->tag["normal"])) { $rating_text = GDSRRenderT2::render_mrt($template->dep["MRT"], $rating, $set->stars, $total_votes, $post_id, $time_restirctions, $time_remaining, $time_date); if ($allow_vote) { $rating_wait = GDSRRender::rating_wait("gdsr_mur_loader_" . $post_id . "_" . $set->multi_id, "100%", "", $wait_msg); } $rating_text = $rating_wait . '<div id="gdsr_mur_text_' . $post_id . '_' . $set->multi_id . '">' . $rating_text . '</div>'; $tpl_render = str_replace("%MUR_RATING_TEXT%", $rating_text, $tpl_render); } if (in_array("%BUTTON%", $template->tag["normal"])) { if ($button_active) { $rating_button = '<div class="ratingbutton gdinactive gdsr_multisbutton_as ' . $tags_css["MUR_CSS_BUTTON"] . '" id="gdsr_button_' . $post_id . '_' . $set->multi_id . '_' . $template_id . '"><a rel="nofollow">' . $button_text . '</a></div>'; } else { $rating_button = ""; } $tpl_render = str_replace("%BUTTON%", $rating_button, $tpl_render); } $tpl_render = str_replace("%MUR_RATING_STARS%", $rating_stars, $tpl_render); $tpl_render = str_replace("%AVG_RATING%", $rating, $tpl_render); if (in_array("%AVG_RATING_STARS%", $template->tag["normal"])) { $avg_id = "gdsr_mur_avgstars_" . $post_id . "_" . $set->multi_id; $tpl_render = str_replace("%AVG_RATING_STARS%", GDSRRender::render_static_stars($avg_style, $avg_size, $set->stars, $rating, $avg_id, "DIV"), $tpl_render); } $rater .= $tpl_render . "</div>"; return $rater; }