Example #1
0
/**
 * 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);
}
Example #2
0
<?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));
}
?>