root/dev/common/class.killboard.php @ 159

Revision 159, 5.1 KB (checked in by exi, 14 years ago)

Changed socket timeout in class.http.php to 5s.
Removed references to $qry->getErrorMessage.
Modified parser to be more conservative when it comes to destroyed items in a container.
Changed class.thumb.php to set a socket timeout and supress error messages during image output.
The installer now includes the php_compat file for 4.0.9 compatibility.
Small modification to icon.tpl to fix the display on MSIE.
Added several alliance logos.

Line 
1<?php
2require_once("db.php");
3
4class Killboard
5{
6    function Killboard($site)
7    {
8        $this->qry_ = new DBQuery();
9
10        $this->site_ = $site;
11        $this->config_ = new Config($site);
12    }
13
14    function isSuspended()
15    {
16        $this->execQuery();
17        return $this->row_['rtl_suspended'] == "1";
18    }
19
20    function getConfig()
21    {
22        $this->execQuery();
23        return $this->config_;
24    }
25
26    function hasCampaigns($active = false)
27    {
28        $qry = new DBQuery();
29        $sql = "select ctr_id
30                 from kb3_contracts
31                 where ctr_campaign = 1
32                   and ctr_site = '".$this->site_."'";
33        if ($active) $sql .= " and ctr_ended is null";
34        $qry->execute($sql);
35        return ($qry->recordCount() > 0);
36    }
37
38    function hasContracts($active = false)
39    {
40        $qry = new DBQuery();
41        $sql = "select ctr_id
42                 from kb3_contracts
43                 where ctr_campaign = 0
44                   and ctr_site = '".$this->site_."'";
45        if ($active) $sql .= " and ( ctr_ended is null or now() <= ctr_ended )";
46        $qry->execute($sql);
47        return ($qry->recordCount() > 0);
48    }
49
50    function execQuery()
51    {
52    }
53}
54
55class Config
56{
57    function Config($site)
58    {
59        $this->qry_ = new DBQuery();
60        $this->sql_ = "select * from kb3_config where cfg_site = '".$site."'";
61
62        $this->site_ = $site;
63    }
64
65    function getStyleName()
66    {
67        $this->execQuery();
68        return $this->config['style_name'];
69    }
70
71    function getStyleBanner()
72    {
73        $this->execQuery();
74        return $this->config['style_banner'];
75    }
76
77    function getPostPassword()
78    {
79        $this->execQuery();
80        return $this->config['post_password'];
81    }
82
83    function getPostMailto()
84    {
85        $this->execQuery();
86        return $this->config['post_mailto'];
87    }
88
89    function getKillPoints()
90    {
91        $this->execQuery();
92        return $this->config['kill_points'];
93    }
94
95    function getLeastActive()
96    {
97        $this->execQuery();
98        return $this->config['least_active'];
99    }
100
101    function getConfig($key)
102    {
103        $this->execQuery();
104        if (isset($this->config[$key]))
105        {
106            return $this->config[$key];
107        }
108        return false;
109    }
110
111    function setConfig($key, $value)
112    {
113        $qry = new DBQuery();
114        $qry->execute("select cfg_value from kb3_config
115                       where cfg_key = '".$key."'
116                               and cfg_site = '".$this->site_."'");
117        if ($qry->recordCount())
118        {
119            $sql = "update kb3_config
120                    set cfg_value = '".$value."'
121                    where cfg_site = '".$this->site_."'
122                        and cfg_key = '".$key."'";
123        }
124        else
125        {
126            $sql = "insert into kb3_config values ( '".$this->site_."',
127                                                '".$key."',
128                                                '".$value."' )";
129        }
130        $qry->execute($sql) or die($qry->getErrorMsg());
131        $this->config[$key] = $value;
132    }
133
134    function delConfig($key)
135    {
136        $qry = new DBQuery();
137        $qry->execute("delete from kb3_config where cfg_key = '".$key."'
138                               and cfg_site = '".$this->site_."'");
139        if (isset($this->config[$key]))
140        {
141            unset($this->config[$key]);
142        }
143    }
144
145    function checkCheckbox($name)
146    {
147        if ($_POST[$name] == 'on')
148        {
149            $this->setConfig($name, '1');
150            return true;
151        }
152        $this->setConfig($name, '0');
153        return false;
154    }
155
156    function setStyleName($name)
157    {
158        $this->setConfig("style_name", $name);
159    }
160
161    function setStyleBanner($banner)
162    {
163        $this->setConfig("style_banner", $banner);
164    }
165
166    function setPostPassword($password)
167    {
168        $this->setConfig("post_password", $password);
169    }
170
171    function setPostMailto($mailto)
172    {
173        $this->setConfig("post_mailto", $mailto);
174    }
175
176    function setKillPoints($flag)
177    {
178        $this->setConfig("kill_points", $flag);
179    }
180
181    function setLeastActive($flag)
182    {
183        $this->setConfig("least_active", $flag);
184    }
185
186    function execQuery()
187    {
188        if (!$this->qry_->executed_)
189        {
190            $this->qry_->execute($this->sql_);
191
192            $this->config = array();
193            while ($row = $this->qry_->getRow())
194            {
195                $this->config[$row['cfg_key']] = $row['cfg_value'];
196            }
197            if (count($this->config) == 0)
198            {
199                // no config supplied, generate standard one
200
201                $this->setConfig('style_name', 'default');
202                $this->setConfig('style_banner', 'default');
203                $this->setConfig('kill_points', 1);
204                $this->setConfig('least_active', 0);
205                $this->setConfig('post_password', 'CHANGEME');
206            }
207        }
208    }
209}
210?>
Note: See TracBrowser for help on using the browser.