php const NONE const LIKE const DISLIKE like like DISLIKE NONE functio

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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]);
}
}