/** * Get the rating for an answer * * @param ElggObject $answer * @return int */ function answers_overall_rating($answer) { return answers_count_likes($answer) - answers_count_dislikes($answer); }
<?php /** * Voting area view */ $answer = $vars['entity']; $question = get_question_for_answer($answer); $chosen_answer = $question->chosen_answer == $answer->getGUID(); $count_like = answers_count_likes($answer); $count_dislike = answers_count_dislikes($answer); $owns_question = $question->getOwnerGUID() == $_SESSION['guid']; $owns_answer = $answer->getOwnerGUID() == $_SESSION['guid']; $can_rate = elgg_is_logged_in() && !$owns_answer; if ($can_rate) { $user_like_dislike = answers_get_like_dislike($answer, $_SESSION['user']->getGUID()); $user_like = $user_like_dislike == "like"; $user_dislike = $user_like_dislike == "dislike"; $ts = time(); $token = generate_action_token($ts); $url_token = "&__elgg_token={$token}&__elgg_ts={$ts}"; $like_url = $vars['url'] . "action/answer/like?answer_id=" . $answer->getGUID() . $url_token; $dislike_url = $vars['url'] . "action/answer/dislike?answer_id=" . $answer->getGUID() . $url_token; $unlike_url = $vars['url'] . "action/answer/unlike?answer_id=" . $answer->getGUID() . $url_token; } ?> <div class="answers_rating_block"> <?php if ($can_rate) { echo elgg_view("answers/rating_icon", array('type' => 'like', 'tooltip' => $user_like ? 'unlike' : 'like', 'href' => $user_like ? $unlike_url : $like_url, 'selected' => $user_like)); } ?>