root/dev/common/includes/class.summary.php @ 419

Revision 419, 18.6 KB (checked in by kovell, 12 years ago)

Fixes: some php4 errors fixed. The great commenting project continues.

Line 
1<?php
2require_once('common/includes/class.kill.php');
3require_once('common/includes/class.ship.php');
4
5class allianceSummary
6{
7        function allianceSummary($all_id)
8        {
9                $this->all_id_ = intval($all_id);
10                $this->executed_ = false;
11        }
12        //! Get the complete summary for this alliance.
13
14        //! \return an array of ship id by kill/loss count/isk.
15        function getSummary()
16        {
17                if(!$this->executed_) $this->execute();
18                return $this->summary;
19        }
20        //! Return total ISK killed.
21        function getTotalKillISK()
22        {
23                if(!$this->executed_) $this->execute();
24                foreach($this->summary as $value)
25                        $totalisk .= $value['killisk'];
26                return $totalisk;
27        }
28        //! Return total ISK lost.
29        function getTotalLossISK()
30        {
31                if(!$this->executed_) $this->execute();
32                foreach($this->summary as $value)
33                        $totalisk .= $value['lossisk'];
34                return $totalisk;
35        }
36        //! Return the number of kills for the given ship class.
37        function getKillCount($shp_class)
38        {
39                if(!$this->executed_) $this->execute();
40                return intval($this->summary[$ship_class]['killcount']);
41        }
42        //! Return the ISK value of kills for the given ship class.
43        function getKillISK($shp_class)
44        {
45                if(!$this->executed_) $this->execute();
46                return intval($this->summary[$ship_class]['killisk']);
47        }
48        //! Return the number of losses for the given ship class.
49        function getLossCount($shp_class)
50        {
51                if(!$this->executed_) $this->execute();
52                return intval($this->summary[$ship_class]['losscount']);
53        }
54        //! Return the ISK value of losses for the given ship class.
55        function getLossISK($shp_class)
56        {
57                if(!$this->executed_) $this->execute();
58                return intval($this->summary[$ship_class]['lossisk']);
59        }
60        //! Fetch the summary information.
61        function execute()
62        {
63                if($this->executed_) return;
64                if(!$this->all_id_)
65                {
66                        $this->executed_ = true;
67                        return false;
68                }
69
70                $qry = new DBQuery();
71                $qry->execute("SELECT 1 FROM kb3_sum_alliance WHERE asm_all_id = ".$this->all_id_);
72                if(!$qry->recordCount())
73                        $this->buildSummary($this->all_id_);
74
75                $sql = "SELECT scl_class, scl_id, kb3_sum_alliance.*
76                        FROM kb3_ship_classes left join kb3_sum_alliance
77                                ON (asm_shp_id = scl_id AND asm_all_id = ".$this->all_id_.")
78                        WHERE scl_class not in ('Drone','Unknown')
79                                ORDER BY scl_class";
80                $qry->execute($sql);
81                while($row = $qry->getRow())
82                {
83                        $this->summary[$row['scl_id']]['class_name'] = $row['scl_class'];
84                        $this->summary[$row['scl_id']]['killcount'] = intval($row['asm_kill_count']);
85                        $this->summary[$row['scl_id']]['killisk'] = floatval($row['asm_kill_isk']);
86                        $this->summary[$row['scl_id']]['losscount'] = intval($row['asm_loss_count']);
87                        $this->summary[$row['scl_id']]['lossisk'] = floatval($row['asm_loss_isk']);
88                }
89                $this->executed_ = true;
90        }
91        //! Build a new summary table for an alliance.
92        function buildSummary($all_id)
93        {
94                $all_id = intval($all_id);
95                if(!$all_id) return false;
96                $qry = new DBQuery();
97                $sql = 'INSERT INTO kb3_sum_alliance (asm_all_id, asm_shp_id, asm_kill_count, asm_kill_isk)
98                        SELECT '.$all_id.', shp_class, COUNT(distinct kll.kll_id) AS knb,
99                                sum(kll_isk_loss) AS kisk
100                        FROM kb3_kills kll
101                                INNER JOIN kb3_ships shp
102                                        ON ( shp.shp_id = kll.kll_ship_id )
103                                INNER JOIN (SELECT distinct c.ind_kll_id, c.ind_all_id
104                                                        FROM kb3_inv_detail c
105                                                        WHERE c.ind_all_id ='.$all_id.'  ) ind
106                                        ON (ind.ind_kll_id = kll.kll_id
107                                                AND kll.kll_all_id <> '.$all_id.')
108                        GROUP BY shp_class';
109                $qry->execute($sql);
110                $sql = "CREATE TEMPORARY TABLE tmp_summary (shp_id INT NOT NULL DEFAULT '0',
111                        loss_count INT NOT NULL DEFAULT '0',
112                        loss_isk FLOAT NOT NULL DEFAULT '0')
113                        ENGINE = MEMORY";
114                $qry->execute($sql);
115
116                $sql = 'INSERT INTO tmp_summary (shp_id, loss_count, loss_isk)
117                        SELECT shp_class, count(distinct kll_id) AS lnb, sum(kll_isk_loss) AS lisk
118                        FROM kb3_kills kll
119                                INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
120                        WHERE  kll.kll_all_id = '.$all_id.'
121                                AND EXISTS (SELECT 1
122                                                        FROM kb3_inv_detail ind
123                                                        WHERE kll.kll_id = ind_kll_id
124                                                        AND ind.ind_all_id <> '.$all_id.' limit 0,1)
125                        GROUP BY shp_class';
126                $qry->execute($sql);
127                $qry->execute("INSERT INTO kb3_sum_alliance (asm_all_id, asm_shp_id, asm_loss_count, asm_loss_isk)
128                        SELECT ".$all_id.", shp_id, loss_count, loss_isk FROM tmp_summary
129                        ON DUPLICATE KEY UPDATE asm_loss_count = loss_count, asm_loss_isk = loss_isk");
130                $qry->execute("DROP TEMPORARY TABLE tmp_summary");
131        }
132        //! Add a Kill and its value to the summary.
133        function addKill($kill)
134        {
135                $alls = array();
136                $qry = new DBQuery();
137                $qry->execute("SELECT 1 FROM kb3_sum_alliance WHERE asm_all_id = ".$kill->getVictimAllianceID());
138// Causes big slowdowns for feeds so just return and leave summary creation until the page is viewed.
139//              if(!$qry->recordCount()) allianceSummary::buildSummary($kill->getVictimAllianceID());
140                if($qry->recordCount())
141                {
142                        // php4 doesn't handle indirect references so specify each one.
143                        $ship = $kill->getVictimShip();
144                        $class = $ship->getClass();
145                        $sql = "INSERT INTO kb3_sum_alliance (asm_all_id, asm_shp_id, asm_loss_count, asm_loss_isk) ".
146                                "VALUES ( ".$kill->getVictimAllianceID().", ".$class->getID().", 1, ".
147                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
148                                "asm_loss_count = asm_loss_count + 1, ".
149                                "asm_loss_isk = asm_loss_isk + ".$kill->getISKLoss();
150                        $qry->execute($sql);
151                }
152                foreach($kill->involvedparties_ as $inv)
153                {
154                        if(intval($alls[$inv->getAllianceID()])) continue;
155                        $alls[$inv->getAllianceID()] = 1;
156                        $qry->execute("SELECT 1 FROM kb3_sum_alliance WHERE asm_all_id = ".$inv->getAllianceID());
157                        //if(!$qry->recordCount()) allianceSummary::buildSummary($inv->getAllianceID());
158                        if(!$qry->recordCount()) continue;
159                        // php4 doesn't handle indirect references so specify each one.
160                        $ship = $kill->getVictimShip();
161                        $class = $ship->getClass();
162                        $sql = "INSERT INTO kb3_sum_alliance (asm_all_id, asm_shp_id, asm_kill_count, asm_kill_isk) ".
163                                "VALUES ( ".$inv->getAllianceID().", ".$class->getID().", 1, ".
164                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
165                                "asm_kill_count = asm_kill_count + 1, ".
166                                "asm_kill_isk = asm_kill_isk + ".$kill->getISKLoss();
167                        $qry->execute($sql);
168                }
169        }
170        //! Add a Kill and its value to the summary.
171        function delKill($kill)
172        {
173                $alls = array();
174                $qry = new DBQuery();
175                $qry->execute("SELECT 1 FROM kb3_sum_alliance WHERE asm_all_id = ".$kill->getVictimAllianceID());
176                // No summary table to remove kill from so skip.
177                if($qry->recordCount())
178                {
179                        // php4 doesn't handle indirect references so specify each one.
180                        $ship = $kill->getVictimShip();
181                        $class = $ship->getClass();
182                        $sql = "UPDATE kb3_sum_alliance SET asm_loss_count = asm_loss_count - 1, ".
183                                " asm_loss_isk = asm_loss_isk - ".$kill->getISKLoss().
184                                " WHERE asm_all_id = ".$kill->getVictimAllianceID().
185                                        " AND asm_shp_id = ".$class->getID();
186                        $qry->execute($sql);
187                }
188                foreach($kill->involvedparties_ as $inv)
189                {
190                        if(intval($alls[$inv->getAllianceID()])) continue;
191                        $alls[$inv->getAllianceID()] = 1;
192                        $qry->execute("SELECT 1 FROM kb3_sum_alliance WHERE asm_all_id = ".$inv->getAllianceID());
193                        if(!$qry->recordCount()) continue;
194                        // php4 doesn't handle indirect references so specify each one.
195                        $ship = $kill->getVictimShip();
196                        $class = $ship->getClass();
197                        $sql = "UPDATE kb3_sum_alliance SET asm_kill_count = asm_kill_count - 1, ".
198                                " asm_kill_isk = asm_kill_isk - ".$kill->getISKLoss().
199                                " WHERE asm_all_id = ".$inv->getAllianceID().
200                                        " AND asm_shp_id = ".$class->getID();
201                        $qry->execute($sql);
202                }
203        }
204}
205
206class corpSummary extends allianceSummary
207{
208        function corpSummary($crp_id)
209        {
210                $this->crp_id_ = intval($crp_id);
211                $this->executed_ = false;
212        }
213        //! Fetch the summary information.
214        function execute()
215        {
216                if($this->executed_) return;
217                if(!$this->crp_id_)
218                {
219                        $this->executed_ = true;
220                        return false;
221                }
222
223                $qry = new DBQuery();
224                $qry->execute("SELECT 1 FROM kb3_sum_corp WHERE csm_crp_id = ".$this->crp_id_);
225                if(!$qry->recordCount())
226                        $this->buildSummary($this->crp_id_);
227
228                $sql = "SELECT scl_class, scl_id, kb3_sum_corp.*
229                        FROM kb3_ship_classes left join kb3_sum_corp
230                                ON (csm_shp_id = scl_id AND csm_crp_id = ".$this->crp_id_.")
231                        WHERE scl_class not in ('Drone','Unknown')
232                                ORDER BY scl_class";
233                $qry->execute($sql);
234                while($row = $qry->getRow())
235                {
236                        $this->summary[$row['scl_id']]['class_name'] = $row['scl_class'];
237                        $this->summary[$row['scl_id']]['killcount'] = intval($row['csm_kill_count']);
238                        $this->summary[$row['scl_id']]['killisk'] = floatval($row['csm_kill_isk']);
239                        $this->summary[$row['scl_id']]['losscount'] = intval($row['csm_loss_count']);
240                        $this->summary[$row['scl_id']]['lossisk'] = floatval($row['csm_loss_isk']);
241                }
242                $this->executed_ = true;
243        }
244        //! Build a new summary table for an corp.
245        function buildSummary($crp_id)
246        {
247                $crp_id = intval($crp_id);
248                if(!$crp_id) return false;
249                $qry = new DBQuery();
250                $sql = 'INSERT INTO kb3_sum_corp (csm_crp_id, csm_shp_id, csm_kill_count, csm_kill_isk)
251                        SELECT '.$crp_id.', shp_class, COUNT(distinct kll.kll_id) AS knb,
252                                sum(kll_isk_loss) AS kisk
253                        FROM kb3_kills kll
254                                INNER JOIN kb3_ships shp
255                                        ON ( shp.shp_id = kll.kll_ship_id )
256                                INNER JOIN (SELECT distinct c.ind_kll_id, c.ind_crp_id
257                                                        FROM kb3_inv_detail c
258                                                        WHERE c.ind_crp_id ='.$crp_id.'  ) ind
259                                        ON (ind.ind_kll_id = kll.kll_id
260                                                AND kll.kll_crp_id <> '.$crp_id.')
261                        GROUP BY shp_class';
262                $qry->execute($sql);
263                $sql = "CREATE TEMPORARY TABLE tmp_summary (shp_id INT NOT NULL DEFAULT '0',
264                        loss_count INT NOT NULL DEFAULT '0',
265                        loss_isk FLOAT NOT NULL DEFAULT '0')
266                        ENGINE = MEMORY";
267                $qry->execute($sql);
268
269                $sql = 'INSERT INTO tmp_summary (shp_id, loss_count, loss_isk)
270                        SELECT shp_class, count(distinct kll_id) AS lnb, sum(kll_isk_loss) AS lisk
271                        FROM kb3_kills kll
272                                INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
273                        WHERE  kll.kll_crp_id = '.$crp_id.'
274                                AND EXISTS (SELECT 1
275                                                        FROM kb3_inv_detail ind
276                                                        WHERE kll.kll_id = ind_kll_id
277                                                        AND ind.ind_crp_id <> '.$crp_id.' limit 0,1)
278                        GROUP BY shp_class';
279                $qry->execute($sql);
280                $qry->execute("INSERT INTO kb3_sum_corp (csm_crp_id, csm_shp_id, csm_loss_count, csm_loss_isk)
281                        SELECT ".$crp_id.", shp_id, loss_count, loss_isk FROM tmp_summary
282                        ON DUPLICATE KEY UPDATE csm_loss_count = loss_count, csm_loss_isk = loss_isk");
283                $qry->execute("DROP TEMPORARY TABLE tmp_summary");
284        }
285        //! Add a Kill and its value to the summary.
286        function addKill($kill)
287        {
288                $alls = array();
289                $qry = new DBQuery();
290                $qry->execute("SELECT 1 FROM kb3_sum_corp WHERE csm_crp_id = ".$kill->getVictimcorpID());
291                if(!$qry->recordCount())
292                {
293                        // php4 doesn't handle indirect references so specify each one.
294                        $ship = $kill->getVictimShip();
295                        $class = $ship->getClass();
296                        $sql = "INSERT INTO kb3_sum_corp (csm_crp_id, csm_shp_id, csm_loss_count, csm_loss_isk) ".
297                                "VALUES ( ".$kill->getVictimcorpID().", ".$class->getID().", 1, ".
298                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
299                                "csm_loss_count = csm_loss_count + 1, ".
300                                "csm_loss_isk = csm_loss_isk + ".$kill->getISKLoss();
301                        $qry->execute($sql);
302                }
303                foreach($kill->involvedparties_ as $inv)
304                {
305                        if(intval($alls[$inv->getcorpID()])) continue;
306                        $alls[$inv->getcorpID()] = 1;
307                        $qry->execute("SELECT 1 FROM kb3_sum_corp WHERE csm_crp_id = ".$inv->getcorpID());
308                        //if(!$qry->recordCount()) corpSummary::buildSummary($inv->getcorpID());
309                        if(!$qry->recordCount()) continue;
310                        // php4 doesn't handle indirect references so specify each one.
311                        $ship = $kill->getVictimShip();
312                        $class = $ship->getClass();
313                        $sql = "INSERT INTO kb3_sum_corp (csm_crp_id, csm_shp_id, csm_kill_count, csm_kill_isk) ".
314                                "VALUES ( ".$inv->getcorpID().", ".$class->getID().", 1, ".
315                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
316                                "csm_kill_count = csm_kill_count + 1, ".
317                                "csm_kill_isk = csm_kill_isk + ".$kill->getISKLoss();
318                        $qry->execute($sql);
319                }
320        }
321        //! Add a Kill and its value to the summary.
322        function delKill($kill)
323        {
324                $alls = array();
325                $qry = new DBQuery();
326                $qry->execute("SELECT 1 FROM kb3_sum_corp WHERE csm_crp_id = ".$kill->getVictimCorpID());
327                // No summary table to remove kill from so skip.
328                if($qry->recordCount())
329                {
330                        // php4 doesn't handle indirect references so specify each one.
331                        $ship = $kill->getVictimShip();
332                        $class = $ship->getClass();
333                        $sql = "UPDATE kb3_sum_corp SET csm_loss_count = csm_loss_count - 1, ".
334                                " csm_loss_isk = csm_loss_isk - ".$kill->getISKLoss().
335                                " WHERE csm_crp_id = ".$kill->getVictimCorpID().
336                                        " AND csm_shp_id = ".$class->getID();
337                        $qry->execute($sql);
338                }
339                foreach($kill->involvedparties_ as $inv)
340                {
341                        if(intval($alls[$inv->getCorpID()])) continue;
342                        $alls[$inv->getCorpID()] = 1;
343                        $qry->execute("SELECT 1 FROM kb3_sum_corp WHERE csm_crp_id = ".$inv->getCorpID());
344                        if(!$qry->recordCount()) continue;
345                        // php4 doesn't handle indirect references so specify each one.
346                        $ship = $kill->getVictimShip();
347                        $class = $ship->getClass();
348                        $sql = "UPDATE kb3_sum_corp SET csm_kill_count = csm_kill_count - 1, ".
349                                " csm_kill_isk = csm_kill_isk - ".$kill->getISKLoss().
350                                " WHERE csm_crp_id = ".$inv->getCorpID().
351                                        " AND csm_shp_id = ".$class->getID();
352                        $qry->execute($sql);
353                }
354        }
355}
356
357class pilotSummary extends allianceSummary
358{
359        function pilotSummary($plt_id)
360        {
361                $this->plt_id_ = intval($plt_id);
362                $this->executed_ = false;
363        }
364        //! Fetch the summary information.
365        function execute()
366        {
367                if($this->executed_) return;
368                if(!$this->plt_id_)
369                {
370                        $this->executed_ = true;
371                        return false;
372                }
373
374                $qry = new DBQuery();
375                $qry->execute("SELECT 1 FROM kb3_sum_pilot WHERE psm_plt_id = ".$this->plt_id_);
376                if(!$qry->recordCount())
377                        $this->buildSummary($this->plt_id_);
378
379                $sql = "SELECT scl_class, scl_id, kb3_sum_pilot.*
380                        FROM kb3_ship_classes left join kb3_sum_pilot
381                                ON (psm_shp_id = scl_id AND psm_plt_id = ".$this->plt_id_.")
382                        WHERE scl_class not in ('Drone','Unknown')
383                                ORDER BY scl_class";
384                $qry->execute($sql);
385                while($row = $qry->getRow())
386                {
387                        $this->summary[$row['scl_id']]['class_name'] = $row['scl_class'];
388                        $this->summary[$row['scl_id']]['killcount'] = intval($row['psm_kill_count']);
389                        $this->summary[$row['scl_id']]['killisk'] = floatval($row['psm_kill_isk']);
390                        $this->summary[$row['scl_id']]['losscount'] = intval($row['psm_loss_count']);
391                        $this->summary[$row['scl_id']]['lossisk'] = floatval($row['psm_loss_isk']);
392                }
393                $this->executed_ = true;
394        }
395        //! Build a new summary table for an pilot.
396        function buildSummary($plt_id)
397        {
398                $plt_id = intval($plt_id);
399                if(!$plt_id) return false;
400                $qry = new DBQuery();
401                $sql = 'INSERT INTO kb3_sum_pilot (psm_plt_id, psm_shp_id, psm_kill_count, psm_kill_isk)
402                        SELECT '.$plt_id.', shp_class, COUNT(distinct kll.kll_id) AS knb,
403                                sum(kll_isk_loss) AS kisk
404                        FROM kb3_kills kll
405                                INNER JOIN kb3_ships shp
406                                        ON ( shp.shp_id = kll.kll_ship_id )
407                                INNER JOIN (SELECT distinct c.ind_kll_id, c.ind_plt_id
408                                                        FROM kb3_inv_detail c
409                                                        WHERE c.ind_plt_id ='.$plt_id.'  ) ind
410                                        ON (ind.ind_kll_id = kll.kll_id
411                                                AND kll.kll_victim_id <> '.$plt_id.')
412                        GROUP BY shp_class';
413                $qry->execute($sql);
414                $sql = "CREATE TEMPORARY TABLE tmp_summary (shp_id INT NOT NULL DEFAULT '0',
415                        loss_count INT NOT NULL DEFAULT '0',
416                        loss_isk FLOAT NOT NULL DEFAULT '0')
417                        ENGINE = MEMORY";
418                $qry->execute($sql);
419
420                $sql = 'INSERT INTO tmp_summary (shp_id, loss_count, loss_isk)
421                        SELECT shp_class, count(distinct kll_id) AS lnb, sum(kll_isk_loss) AS lisk
422                        FROM kb3_kills kll
423                                INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
424                        WHERE  kll.kll_victim_id = '.$plt_id.'
425                                AND EXISTS (SELECT 1
426                                                        FROM kb3_inv_detail ind
427                                                        WHERE kll.kll_id = ind_kll_id
428                                                        AND ind.ind_plt_id <> '.$plt_id.' limit 0,1)
429                        GROUP BY shp_class';
430                $qry->execute($sql);
431                $qry->execute("INSERT INTO kb3_sum_pilot (psm_plt_id, psm_shp_id, psm_loss_count, psm_loss_isk)
432                        SELECT ".$plt_id.", shp_id, loss_count, loss_isk FROM tmp_summary
433                        ON DUPLICATE KEY UPDATE psm_loss_count = loss_count, psm_loss_isk = loss_isk");
434                $qry->execute("DROP TEMPORARY TABLE tmp_summary");
435        }
436        //! Add a Kill and its value to the summary.
437        function addKill($kill)
438        {
439                $alls = array();
440                $qry = new DBQuery();
441                $qry->execute("SELECT 1 FROM kb3_sum_pilot WHERE psm_plt_id = ".$kill->getVictimID());
442//              if(!$qry->recordCount()) pilotSummary::buildSummary($kill->getVictimpilotID());
443                if(!$qry->recordCount())
444                {
445                        // php4 doesn't handle indirect references so specify each one.
446                        $ship = $kill->getVictimShip();
447                        $class = $ship->getClass();
448                        $sql = "INSERT INTO kb3_sum_pilot (psm_plt_id, psm_shp_id, psm_loss_count, psm_loss_isk) ".
449                                "VALUES ( ".$kill->getVictimID().", ".$class->getID().", 1, ".
450                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
451                                "psm_loss_count = psm_loss_count + 1, ".
452                                "psm_loss_isk = psm_loss_isk + ".$kill->getISKLoss();
453                        $qry->execute($sql);
454                }
455                foreach($kill->involvedparties_ as $inv)
456                {
457                        if(intval($alls[$inv->getPilotID()])) continue;
458                        $alls[$inv->getPilotID()] = 1;
459                        $qry->execute("SELECT 1 FROM kb3_sum_pilot WHERE psm_plt_id = ".$inv->getPilotID());
460                        if(!$qry->recordCount()) continue;
461                        //if(!$qry->recordCount())pilotSummary::buildSummary($inv->getpilotID());
462                        // php4 doesn't handle indirect references so specify each one.
463                        $ship = $kill->getVictimShip();
464                        $class = $ship->getClass();
465                        $sql = "INSERT INTO kb3_sum_pilot (psm_plt_id, psm_shp_id, psm_kill_count, psm_kill_isk) ".
466                                "VALUES ( ".$inv->getPilotID().", ".$class->getID().", 1, ".
467                                $kill->getISKLoss().") ON DUPLICATE KEY UPDATE ".
468                                "psm_kill_count = psm_kill_count + 1, ".
469                                "psm_kill_isk = psm_kill_isk + ".$kill->getISKLoss();
470                        $qry->execute($sql);
471                }
472        }
473        //! Add a Kill and its value to the summary.
474        function delKill($kill)
475        {
476                $alls = array();
477                $qry = new DBQuery();
478                $qry->execute("SELECT 1 FROM kb3_sum_pilot WHERE psm_plt_id = ".$kill->getVictimID());
479                // No summary table to remove kill from so skip.
480                if($qry->recordCount())
481                {
482                        // php4 doesn't handle indirect references so specify each one.
483                        $ship = $kill->getVictimShip();
484                        $class = $ship->getClass();
485                        $sql = "UPDATE kb3_sum_pilot SET psm_loss_count = psm_loss_count - 1, ".
486                                " psm_loss_isk = psm_loss_isk - ".$kill->getISKLoss().
487                                " WHERE psm_plt_id = ".$kill->getVictimID().
488                                        " AND psm_shp_id = ".$class->getID();
489                        $qry->execute($sql);
490                }
491                foreach($kill->involvedparties_ as $inv)
492                {
493                        if(intval($alls[$inv->getPilotID()])) continue;
494                        $alls[$inv->getPilotID()] = 1;
495                        $qry->execute("SELECT 1 FROM kb3_sum_pilot WHERE psm_plt_id = ".$inv->getPilotID());
496                        if(!$qry->recordCount()) continue;
497                        // php4 doesn't handle indirect references so specify each one.
498                        $ship = $kill->getVictimShip();
499                        $class = $ship->getClass();
500                        $sql = "UPDATE kb3_sum_pilot SET psm_kill_count = psm_kill_count - 1, ".
501                                " psm_kill_isk = psm_kill_isk - ".$kill->getISKLoss().
502                                " WHERE psm_plt_id = ".$inv->getPilotID().
503                                        " AND psm_shp_id = ".$class->getID();
504                        $qry->execute($sql);
505                }
506        }
507}
508?>
Note: See TracBrowser for help on using the browser.