1 | <?php
|
---|
2 |
|
---|
3 | class RegistrationLimit
|
---|
4 | {
|
---|
5 | var $db;
|
---|
6 | var $Server;
|
---|
7 | var $Config;
|
---|
8 |
|
---|
9 | function __construct($db, $Server, $Config)
|
---|
10 | {
|
---|
11 | $this->db = $db;
|
---|
12 | $this->Server = $Server;
|
---|
13 | $this->Config = $Config;
|
---|
14 | }
|
---|
15 |
|
---|
16 | function Update()
|
---|
17 | {
|
---|
18 | $AccountOnlineCount = $this->Server->RealmOnline();
|
---|
19 | $AccountCount = $this->Server->AccountCount();
|
---|
20 |
|
---|
21 | $this->db->select_db($this->Config['Database']['Database']);
|
---|
22 | $DbResult = $this->db->query('SELECT * FROM `CharacterOnlineHistory` WHERE `Date` = CURDATE()');
|
---|
23 | if($DbResult->num_rows > 0)
|
---|
24 | {
|
---|
25 | // Update max, min
|
---|
26 | $this->db->query('UPDATE `CharacterOnlineHistory` SET `Max` = GREATEST(`Max`, '.$AccountOnlineCount.'), `Min` = LEAST(`Min`, '.$AccountOnlineCount.'), `AccountCount` = '.$AccountCount.' WHERE `Date` = CURDATE()');
|
---|
27 | echo($this->db->error);
|
---|
28 | } else
|
---|
29 | $this->db->query('INSERT INTO `CharacterOnlineHistory` (`Max`, `Min`, `Date`, `AccountCount`) VALUES ('.$AccountOnlineCount.', '.$AccountOnlineCount.', CURDATE(), '.$AccountCount.')');
|
---|
30 | }
|
---|
31 |
|
---|
32 | function GetFreeRegistrationCount()
|
---|
33 | {
|
---|
34 | $AccountCount = $this->Server->AccountCount();
|
---|
35 |
|
---|
36 | $this->db->select_db($this->Config['Database']['Database']);
|
---|
37 | $DbResult = $this->db->query('SELECT * FROM `CharacterOnlineHistory` WHERE `Date` = DATE_SUB(CURDATE(), INTERVAL 1 DAY)');
|
---|
38 | if($DbResult->num_rows > 0)
|
---|
39 | {
|
---|
40 | $Yesterday = $DbResult->fetch_assoc();
|
---|
41 | } else
|
---|
42 | $Yesterday = array('Max' => 0, 'AccountCount' => 0);
|
---|
43 |
|
---|
44 | $NextDayFreeRegistration = $this->Config['Mangos']['RequiredOnlinePlayers'] - $Yesterday['Max'];
|
---|
45 | if($NextDayFreeRegistration < 0) $NextDayFreeRegistration = 0;
|
---|
46 | $NextDayUsedRegistration = $AccountCount - $Yesterday['AccountCount'];
|
---|
47 | $FreeRegistration = $NextDayFreeRegistration - $NextDayUsedRegistration;
|
---|
48 | if($FreeRegistration < 0) $FreeRegistration = 0;
|
---|
49 | return($FreeRegistration);
|
---|
50 | }
|
---|
51 |
|
---|
52 | function GetPerDeyRegistrationCount()
|
---|
53 | {
|
---|
54 | $AccountCount = $this->Server->AccountCount();
|
---|
55 |
|
---|
56 | $this->db->select_db($this->Config['Database']['Database']);
|
---|
57 | $DbResult = $this->db->query('SELECT * FROM `CharacterOnlineHistory` WHERE `Date` = DATE_SUB(CURDATE(), INTERVAL 1 DAY)');
|
---|
58 | if($DbResult->num_rows > 0)
|
---|
59 | {
|
---|
60 | $Yesterday = $DbResult->fetch_assoc();
|
---|
61 | } else
|
---|
62 | $Yesterday = array('Max' => 0, 'AccountCount' => 0);
|
---|
63 |
|
---|
64 | $NextDayFreeRegistration = $this->Config['Mangos']['RequiredOnlinePlayers'] - $Yesterday['Max'];
|
---|
65 | if($NextDayFreeRegistration < 0) $NextDayFreeRegistration = 0;
|
---|
66 | return($NextDayFreeRegistration);
|
---|
67 | }
|
---|
68 | }
|
---|
69 |
|
---|
70 | ?>
|
---|