function comment_save($comment_id) { global $userdata; $user_id = is_object($userdata) ? $userdata->ID : 0; $user = intval($user_id); $ip = $_SERVER["REMOTE_ADDR"]; if ($this->post_comment["review"] > -1) { $comment_data = GDSRDatabase::get_comment_data($comment_id); if (count($comment_data) == 0) { GDSRDatabase::add_empty_comment($comment_id, $this->post_comment["post_id"], $this->post_comment["review"]); } else { GDSRDatabase::save_comment_review($comment_id, $this->post_comment["review"]); } } $std_minimum = $this->o["int_comment_std_zero"] == 1 ? -1 : 0; $mur_minimum = $this->o["int_comment_mur_zero"] == 1 ? 0 : 1; $id = $this->post_comment["post_id"]; if ($this->post_comment["standard_rating"] > $std_minimum) { $votes = $this->post_comment["standard_rating"]; $ua = $this->o["save_user_agent"] == 1 ? $_SERVER["HTTP_USER_AGENT"] : ""; $allow_vote = true; if ($this->o["cmm_integration_prevent_duplicates"] == 1) { $allow_vote = intval($votes) <= $this->o["stars"]; if ($allow_vote) { $allow_vote = gdsrFrontHelp::check_cookie($id); } if ($allow_vote) { $allow_vote = gdsrBlgDB::check_vote($id, $user, 'article', $ip, false, false); } } if ($allow_vote) { gdsrBlgDB::save_vote($id, $user, $ip, $ua, $votes, $comment_id); if ($this->o["cmm_integration_prevent_duplicates"] == 1) { gdsrFrontHelp::save_cookie($id); } do_action("gdsr_vote_rating_article_integrate", $id, $user, $votes); } } if ($this->post_comment["multi_id"] > 0 && $this->post_comment["multi_rating"] != "") { $set_id = $this->post_comment["multi_id"]; $set = gd_get_multi_set($set_id); $values = explode("X", $this->post_comment["multi_rating"]); $allow_vote = true; foreach ($values as $v) { if ($v > $set->stars || $v < $mur_minimum) { $allow_vote = false; break; } } if ($this->o["cmm_integration_prevent_duplicates"] == 1) { if ($allow_vote) { $allow_vote = gdsrFrontHelp::check_cookie($id . "#" . $set_id, "multis"); } if ($allow_vote) { $allow_vote = GDSRDBMulti::check_vote($id, $user, $set_id, 'multis', $ip, false, false); } } if ($allow_vote) { $ip = $_SERVER["REMOTE_ADDR"]; $ua = $this->o["save_user_agent"] == 1 ? $_SERVER["HTTP_USER_AGENT"] : ""; $data = GDSRDatabase::get_post_data($id); GDSRDBMulti::save_vote($id, $set->multi_id, $user, $ip, $ua, $values, $data, $comment_id); GDSRDBMulti::recalculate_multi_averages($id, $set->multi_id, "", $set, true); if ($this->o["cmm_integration_prevent_duplicates"] == 1) { gdsrFrontHelp::save_cookie($id . "#" . $set_id, "multis"); } do_action("gdsr_vote_rating_multis_integrate", $id, $user, $set_id, $values); } } }
function vote_multis($votes, $post_id, $set_id, $tpl_id, $size) { global $userdata; $ip = $_SERVER["REMOTE_ADDR"]; if ($this->g->o["save_user_agent"] == 1) { $ua = $_SERVER["HTTP_USER_AGENT"]; } else { $ua = ""; } $user = is_object($userdata) ? $userdata->ID : 0; $data = GDSRDatabase::get_post_data($post_id); $set = gd_get_multi_set($set_id); wp_gdsr_dump("VOTE_MUR", "[POST: " . $post_id . "|SET: " . $set_id . "] --" . $votes . "-- [" . $user . "]"); $values = explode("X", $votes); $allow_vote = true; foreach ($values as $v) { if ($v > $set->stars) { $allow_vote = false; break; } } $vote_value = GDSRDBMulti::recalculate_multi_vote($values, $set); if ($allow_vote) { $allow_vote = gdsrFrontHelp::check_cookie($post_id . "#" . $set_id, "multis"); } if ($allow_vote) { $allow_vote = GDSRDBMulti::check_vote($post_id, $user, $set_id, 'multis', $ip, $this->g->o["logged"] != 1, $this->g->o["mur_allow_mixed_ip_votes"] == 1); } $rating = 0; $total_votes = 0; $json = $summary = array(); if ($allow_vote) { GDSRDBMulti::save_vote($post_id, $set_id, $user, $ip, $ua, $values, $data); $summary = GDSRDBMulti::recalculate_multi_averages($post_id, $set_id, $data->rules_articles, $set, true, $size); gdsrFrontHelp::save_cookie($post_id . "#" . $set_id, "multis"); $rating = $summary["total"]["rating"]; $total_votes = $summary["total"]["votes"]; $json = $summary["json"]; do_action("gdsr_vote_rating_multis", $post_id, $user, $set_id, $values, $rating); } include STARRATING_PATH . 'code/t2/templates.php'; $template = new gdTemplateRender($tpl_id, "MRB"); $rt = GDSRRenderT2::render_srt_voted($template->dep["MRT"], array("rating" => $rating, "unit_count" => $set->stars, "votes" => $total_votes, "id" => $post_id, "vote" => $vote_value)); $json = apply_filters("gdsr_vote_rating_multis_return", $json, $summary, $values); $enc_values = "[" . join(",", $json) . "]"; return '{ "status": "ok", "values": ' . $enc_values . ', "rater": "' . str_replace('"', '\\"', $rt) . '", "average": "' . $rating . '" }'; }
function vote_multi_rating($votes, $post_id, $set_id, $tpl_id) { global $userdata; $ip = $_SERVER["REMOTE_ADDR"]; if ($this->o["save_user_agent"] == 1) { $ua = $_SERVER["HTTP_USER_AGENT"]; } else { $ua = ""; } $user = intval($userdata->ID); $data = GDSRDatabase::get_post_data($post_id); $set = gd_get_multi_set($set_id); wp_gdsr_dump("VOTE_MUR", "[POST: " . $post_id . "|SET: " . $set_id . "] --" . $votes . "-- [" . $user . "]"); $values = explode("X", $votes); $allow_vote = true; foreach ($values as $v) { if ($v > $set->stars) { $allow_vote = false; break; } } if ($allow_vote) { $allow_vote = $this->check_cookie($post_id . "#" . $set_id, "multis"); } if ($allow_vote) { $allow_vote = GDSRDBMulti::check_vote($post_id, $user, $set_id, 'multis', $ip, $this->o["logged"] != 1, $this->o["mur_allow_mixed_ip_votes"] == 1); } $rating = 0; $total_votes = 0; $json = array(); if ($allow_vote) { GDSRDBMulti::save_vote($post_id, $set_id, $user, $ip, $ua, $values, $data); $summary = GDSRDBMulti::recalculate_multi_averages($post_id, $set_id, $data->rules_articles, $set, true); $this->save_cookie($post_id . "#" . $set_id, "multis"); $rating = $summary["total"]["rating"]; $total_votes = $summary["total"]["votes"]; $json = $summary["json"]; } include $this->plugin_path . 'code/t2/gd-star-t2-templates.php'; $template = new gdTemplateRender($tpl_id, "MRB"); $rt = GDSRRenderT2::render_srt($template->dep["MRT"], $rating, $set->stars, $total_votes, $post_id); $enc_values = "[" . join(",", $json) . "]"; return "{ status: 'ok', values: " . $enc_values . ", rater: '" . $rt . "', average: '" . $rating . "' }"; }