<?php
const NONE = 0;
const LIKE = 1;
const DISLIKE = 2;
like($like, DISLIKE, NONE);
function like($like, $type, $old_type) {
if ($old_type == $type) {
// Если нажали на уже нажатую кнопку - нужно удалить лайк
// Тут нужно сделать обе кнопки не нажатые
if ($type == LIKE)
$like->plus--;
else
$like->minus--;
api("votes.delete", ["Oid" => 1, "Ot" => 1]);
} else if ($old_type != NONE) {
// Если нажали на кнопку, но противоположная была уже нажата
// => меняем полярность
// Нажжатость кнопок нужно поменять местами
if ($type == LIKE) {
$like->plus++;
$like->minus--;
} else {
$like->plus--;
$like->minus++;
}
api("votes.like", ["Oid" => 1, "Ot" => 1, "Down" => $type == LIKE ? 0 : 1]);
} else {
// Это новый лайк
// Сделать кнопку внешне уже нажатой
if ($type == LIKE)
$like->plus++;
else
$like->minus++;
api("votes.like", ["Oid" => 1, "Ot" => 1, "Down" => $type == LIKE ? 0 : 1]);
}
}