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

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

Made contracts to be able to be targeted on systems.
Added Mapoptions to make you graphics guys scream.
Added adjustable posting permissions for killmail authorization.
Aded killmail exporter, it can export multiple pilots, corporation and alliances at once.

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) or die ($qry->getErrorMessage());
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) or die ($qry->getErrorMessage());
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.