forked from turquoise-giggle/Axenia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSiteDao.php
136 lines (111 loc) · 3.58 KB
/
SiteDao.php
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
class SiteDao extends BotDao
{
public function getUserRewardsFull($user_id)
{
$res = $this->select("
SELECT t.img,t.title,t.level,r.description
FROM Reward_Type t, Rewards r
WHERE r.type_id=t.id AND r.user_id=" . $user_id
);
return $res;
}
public function getUserKarmaList($user_id)
{
$res = $this->select("
SELECT c.title, c.id, k.user_id, k.level, k.chat_id
FROM Karma k, Chats c
WHERE k.chat_id=c.id AND k.user_id=" . $user_id . "
ORDER BY level DESC", true
);
return $res;
}
public function getGroupKarmaList($chat_id)
{
$res = $this->select("
SELECT u . username, u . firstname, u . lastname, k . level, u . id
FROM Karma k, Users u
WHERE k . user_id = u . id AND k . chat_id = " . $chat_id . "
ORDER BY level DESC", true
);
return $res;
}
public function isUserPhotoRemembered($user_id, $photo_id)
{
$res = $this->select("SELECT 1 FROM Users WHERE id=" . $user_id . " AND img=" . $photo_id);
return !($res[0]) ? false : $res[0];
}
public function updateUserPhoto($user_id, $photo_id)
{
$query = "UPDATE Users SET img=" . $photo_id . " WHERE id=" . $user_id;
return $this->update($query);
}
public function getCountAllKarma()
{
$res = $this->select("SELECT sum(level) FROM Karma");
return !($res[0]) ? -1 : $res[0];
}
public function getCountUsers()
{
$res = $this->select("SELECT count(1) FROM Users");
return !($res[0]) ? -1 : $res[0];
}
public function getCountUsernames()
{
$res = $this->select("SELECT count(1) FROM Users WHERE username<>''");
return !($res[0]) ? -1 : $res[0];
}
public function getCountKarmaPositive()
{
$res = $this->select("SELECT count(1) FROM Karma WHERE level>0");
return !($res[0]) ? -1 : $res[0];
}
public function getCountKarmaNegative()
{
$res = $this->select("SELECT count(1) FROM Karma WHERE level<0");
return !($res[0]) ? -1 : $res[0];
}
public function getCountGroups()
{
$res = $this->select("
SELECT count(1)
FROM
(
SELECT c.title,k.chat_id,sum(k.level)
FROM Karma k,Chats c
WHERE c.id=k.chat_id and c.isPresented=1
GROUP BY k.chat_id
) k2"
);
return !($res[0]) ? -1 : $res[0];
}
public function insertStats($counts)
{
$karmas = $counts["karmas"];
$users = $counts["users"];
$usernames = $counts["usernames"];
$negatives = $counts["negatives"];
$positives = $counts["positives"];
$groups = $counts["groups"];
$query = "
INSERT INTO Counts (date_getting, karmas, users, usernames, negatives, positives, groups)
VALUES (DATE(now()),$karmas,$users,$usernames,$negatives,$positives,$groups)";
return $this->insert($query);
}
public function getStatsDayBefore()
{
$res = $this->select("
SELECT karmas, users, usernames, negatives, positives, groups
FROM Counts
WHERE date_getting = DATE(now()) - INTERVAL 1 DAY"
);
return $res;
}
public function checkBill($txn_id)
{
$res = $this->select("
SELECT b.user_id,d.nominal FROM Bills b, Donates d WHERE b.txn_id='".$txn_id."' and b.donate_id=d.id"
);
return $res;
}
}