-
Notifications
You must be signed in to change notification settings - Fork 9
/
login-history.xml
40 lines (35 loc) · 1.73 KB
/
login-history.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<mod name="login-history" version="1.0" author="slawkens" contact="slawkens@gmail.com" enabled="yes">
<config name="login-history-config"><![CDATA[
expires = 30 * 24 * 60 * 60-- how long to store logs in database (default: 30 days)
]]></config>
<!--
CREATE TABLE `login_history`
(
`account_id` INT(11) NOT NULL DEFAULT 0,
`player_id` INT(11) NOT NULL DEFAULT 0,
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - server, 0 - website',
`login` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - login, 0 - logout',
`ip` INT(11) NOT NULL DEFAULT 0,
`date` INT(11) NOT NULL DEFAULT 0
) ENGINE = MyISAM;
-->
<event type="login" name="login-history-in" event="buffer"><![CDATA[
db.executeQuery('INSERT INTO login_history (account_id, player_id, type, login, ip, date) VALUES (' .. getPlayerAccountId(cid) .. ', ' .. getPlayerGUID(cid) .. ', 1, 1, ' .. getPlayerIp(cid) .. ', ' .. os.time() .. ')')
_result = true
]]></event>
<event type="logout" name="login-history-out" event="buffer"><![CDATA[
db.executeQuery('INSERT INTO login_history (account_id, player_id, type, login, ip, date) VALUES (' .. getPlayerAccountId(cid) .. ', ' .. getPlayerGUID(cid) .. ', 1, 0, ' .. getPlayerIp(cid) .. ', ' .. os.time() .. ')')
_result = true
]]></event>
<globalevent name="login-history-clean" type="start" event="buffer"><![CDATA[
if(db.tableExists and not db.tableExists("login_history")) then
print("login-history.xml :: please import mysql schema first!")
_result = false
return false
end
domodlib('login-history-config')
db.executeQuery('DELETE FROM login_history WHERE date < ' .. (os.time() - expires))
_result = true
]]></globalevent>
</mod>