Example #1
0
 function vote_thumbs_article($vote, $id, $tpl_id, $unit_width)
 {
     global $userdata;
     $ip = $_SERVER["REMOTE_ADDR"];
     $ua = $this->g->o["save_user_agent"] == 1 ? $_SERVER["HTTP_USER_AGENT"] : "";
     $user = is_object($userdata) ? $userdata->ID : 0;
     wp_gdsr_dump("VOTE_THUMB", "[POST: " . $id . "] --" . $vote . "-- [" . $user . "] " . $unit_width . "px");
     $allow_vote = $vote == "up" || $vote == "dw";
     if ($allow_vote) {
         $allow_vote = gdsrFrontHelp::check_cookie($id, "artthumb");
     }
     if ($allow_vote) {
         $allow_vote = gdsrBlgDB::check_vote($id, $user, 'artthumb', $ip, $this->g->o["logged"] != 1, $this->g->o["allow_mixed_ip_votes"] == 1);
     }
     $vote_value = $vote == "up" ? 1 : -1;
     if ($allow_vote) {
         gdsrBlgDB::save_vote_thumb($id, $user, $ip, $ua, $vote_value);
         gdsrFrontHelp::save_cookie($id, "artthumb");
         do_action("gdsr_vote_thumb_article", $id, $user, $vote_value);
     }
     $data = GDSRDatabase::get_post_data($id);
     $votes = $score = $votes_plus = $votes_minus = 0;
     if ($data->rules_articles == "A" || $data->rules_articles == "N") {
         $votes = $data->user_recc_plus + $data->user_recc_minus + $data->visitor_recc_plus + $data->visitor_recc_minus;
         $score = $data->user_recc_plus - $data->user_recc_minus + $data->visitor_recc_plus - $data->visitor_recc_minus;
         $votes_plus = $data->user_recc_plus + $data->visitor_recc_plus;
         $votes_minus = $data->user_recc_minus + $data->visitor_recc_minus;
     } else {
         if ($data->rules_articles == "V") {
             $votes = $data->visitor_recc_plus + $data->visitor_recc_minus;
             $score = $data->visitor_recc_plus - $data->visitor_recc_minus;
             $votes_plus = $data->visitor_recc_plus;
             $votes_minus = $data->visitor_recc_minus;
         } else {
             $votes = $data->user_recc_plus + $data->user_recc_minus;
             $score = $data->user_recc_plus - $data->user_recc_minus;
             $votes_plus = $data->user_recc_plus;
             $votes_minus = $data->user_recc_minus;
         }
     }
     include STARRATING_PATH . 'code/t2/templates.php';
     $template = new gdTemplateRender($tpl_id, "TAB");
     $rt = GDSRRenderT2::render_tat_voted($template->dep["TAT"], array("votes" => $votes, "score" => $score, "votes_plus" => $votes_plus, "votes_minus" => $votes_minus, "id" => $id, "vote" => $vote_value));
     return '{ "status": "ok", "value": "' . $score . '", "rater": "' . str_replace('"', '\\"', $rt) . '" }';
 }