root/dev/common/class.contract.php @ 187

Revision 187, 25.4 KB (checked in by exi, 14 years ago)

Changed contracts/campaigns to use a sql query for the summary instead of iterating through all kill-objects which should be a lot faster now.
Converted some internal functions in class.killlist.php to use array stacks instead of strings.

RevLine 
[91]1<?php
2require_once("db.php");
3require_once("class.killlist.php");
4require_once("class.graph.php");
5require_once("class.pagesplitter.php");
6
7class Contract
8{
9    function Contract($ctr_id = 0)
10    {
11        $this->ctr_id_ = $ctr_id;
12        $this->contracttargets_ = array();
13
14        // overall kill/losslist
15        $this->klist_ = new KillList();
16        $this->llist_ = new KillList();
17        if (CORP_ID)
18        {
19            $this->klist_->addInvolvedCorp(new Corporation(CORP_ID));
20            $this->llist_->addVictimCorp(new Corporation(CORP_ID));
21        }
22        if (ALLIANCE_ID)
23        {
24            $this->klist_->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
25            $this->llist_->addVictimAlliance(new Alliance(ALLIANCE_ID));
26        }
27        $this->contractpointer_ = 0;
28        $this->qry_ = null;
29    }
30
31    function execQuery()
32    {
33        if ($this->qry_)
34            return;
35
36        $this->qry_ = new DBQuery();
37        // general
38        $sql = "select * from kb3_contracts ctr
39                where ctr.ctr_id = ".$this->ctr_id_;
40
41        $this->qry_ = new DBQuery();
42        if (!$this->qry_->execute($sql))
43            die($this->qry_->getErrorMsg());
44
45        $row = $this->qry_->getRow();
46        $this->ctr_name_ = $row['ctr_name'];
47        $this->ctr_started_ = $row['ctr_started'];
48        $this->ctr_ended_ = $row['ctr_ended'];
49        $this->campaign_ = ($row['ctr_campaign'] == "1");
50
51        // get corps & alliances for contract
52        $sql = "select ctd.ctd_crp_id, ctd.ctd_all_id, ctd.ctd_reg_id, ctd.ctd_sys_id
53                from kb3_contract_details ctd
54                where ctd.ctd_ctr_id = ".$row['ctr_id']."
55                    order by 3, 2, 1";
56
57        $caqry = new DBQuery();
[95]58        if (!$caqry->execute($sql))
59        {
60            include_once('autoupgrade.php');
61            check_contracts();
62            $caqry->execute($sql);
63        }
[91]64
65        while ($carow = $caqry->getRow())
66        {
67            $contracttarget = &new ContractTarget($this, $carow['ctd_crp_id'], $carow['ctd_all_id'], $carow['ctd_reg_id'], $carow['ctd_sys_id']);
68            array_push($this->contracttargets_, $contracttarget);
69            if ($carow['ctd_crp_id'])
70            {
71                $this->klist_->addVictimCorp(new Corporation($carow['ctd_crp_id']));
72                $this->llist_->addInvolvedCorp(new Corporation($carow['ctd_crp_id']));
73            }
74            elseif ($carow['ctd_all_id'])
75            {
76                $this->klist_->addVictimAlliance(new Alliance($carow['ctd_all_id']));
77                $this->llist_->addInvolvedAlliance(new Alliance($carow['ctd_all_id']));
78            }
79            elseif ($carow['ctd_reg_id'])
80            {
81                $this->klist_->addRegion(new Region($carow['ctd_reg_id']));
82                $this->llist_->addRegion(new Region($carow['ctd_reg_id']));
83            }
84            elseif ($carow['ctd_sys_id'])
85            {
86                $this->klist_->addSystem(new SolarSystem($carow['ctd_sys_id']));
87                $this->llist_->addSystem(new SolarSystem($carow['ctd_sys_id']));
88            }
89        }
90
91        $this->klist_->setStartDate($this->getStartDate());
92        $this->llist_->setStartDate($this->getStartDate());
93        if ($this->getEndDate() != "")
94        {
95            $this->klist_->setEndDate($this->getEndDate());
96            $this->llist_->setEndDate($this->getEndDate());
97        }
98    }
99
100    function getID()
101    {
102        return $this->ctr_id_;
103    }
104
105    function getName()
106    {
107        $this->execQuery();
108        return $this->ctr_name_;
109    }
110
111    function getStartDate()
112    {
113        $this->execQuery();
114        return $this->ctr_started_;
115    }
116
117    function getEndDate()
118    {
119        $this->execQuery();
120        return $this->ctr_ended_;
121    }
122
123    function getRunTime()
124    {
[158]125        if (!$datet = $this->getEndDate())
126        {
127            $datet = 'now';
128        }
[91]129
[158]130        $diff = strtotime($datet) - strtotime($this->getStartDate());
131        return floor($diff/86400);
[91]132    }
133
134    function getCampaign()
135    {
136        $this->execQuery();
137        return $this->campaign_;
138    }
139
140    function getCorps()
141    {
142        $this->execQuery();
143        return $this->corps_;
144    }
145
146    function getAlliances()
147    {
148        $this->execQuery();
149        return $this->alliances_;
150    }
151
152    function getKills()
153    {
154        $this->execQuery();
155        return $this->klist_->getCount();
156    }
157
158    function getLosses()
159    {
160        $this->execQuery();
161        return $this->llist_->getCount();
162    }
163
164    function getKillISK()
165    {
166        $this->execQuery();
167        if (!$this->klist_->getISK()) $this->klist_->getAllKills();
168        return $this->klist_->getISK();
169    }
170
171    function getLossISK()
172    {
173        $this->execQuery();
174        if (!$this->llist_->getISK()) $this->llist_->getAllKills();
175        return $this->llist_->getISK();
176    }
177
178    function getEfficiency()
179    {
180        $this->execQuery();
181        if ($this->klist_->getISK())
182            $efficiency = round($this->klist_->getISK() / ($this->klist_->getISK() + $this->llist_->getISK()) * 100, 2);
183        else
184            $efficiency = 0;
185
186        return $efficiency;
187    }
188
189    function getKillList()
190    {
191        $this->execQuery();
192        return $this->klist_;
193    }
194
195    function getLossList()
196    {
197        $this->execQuery();
198        return $this->llist_;
199    }
200
201    function getContractTarget()
202    {
203        if ($this->contractpointer_ > 30)
204            return null;
205
206        $target = $this->contracttargets_[$this->contractpointer_];
207        if ($target)
208            $this->contractpointer_++;
209        return $target;
210    }
211
212    function add($name, $type, $startdate, $enddate = "")
213    {
214        $qry = new DBQuery();
215        if ($type == "campaign") $campaign = 1;
216        else $campaign = 0;
[158]217        if ($enddate != "") $enddate = "'".$enddate." 23:59:59'";
[91]218        else $enddate = "null";
219
220        if (!$this->ctr_id_)
221        {
222            $sql = "insert into kb3_contracts values ( null, '".$name."',
223                                                   '".KB_SITE."', ".$campaign.",
[158]224                                                   '".$startdate." 00:00:00',
[91]225                                                   ".$enddate." )";
226            $qry->execute($sql) or die($qry->getErrorMsg());
227            $this->ctr_id_ = $qry->getInsertID();
228        }
229        else
230        {
231            $sql = "update kb3_contracts set ctr_name = '".$name."',
[158]232                                         ctr_started = '".$startdate." 00:00:00',
[91]233                                         ctr_ended = ".$enddate."
234                                     where ctr_id = ".$this->ctr_id_;
235            $qry->execute($sql) or die($qry->getErrorMsg());
236            $this->ctr_id_ = $qry->getInsertID();
237        }
238    }
239
240    function remove()
241    {
242        $qry = new DBQuery();
243
244        $qry->execute("delete from kb3_contracts
245                       where ctr_id = ".$this->ctr_id_);
246
247        $qry->execute("delete from kb3_contract_details
248                       where ctd_ctr_id = ".$this->ctr_id_);
249    }
250
251    function validate()
252    {
253        $qry = new DBQuery();
254
255        $qry->execute("select * from kb3_contracts
256                       where ctr_id = ".$this->ctr_id_."
257                         and ctr_site = '".KB_SITE."'");
258        return ($qry->recordCount() > 0);
259    }
260}
261
262class ContractTarget
263{
264    function ContractTarget($contract, $crp_id, $all_id, $reg_id , $sys_id)
265    {
266        $this->contract_ = $contract;
267        $this->crp_id_ = $crp_id;
268        $this->all_id_ = $all_id;
269        $this->reg_id_ = $reg_id;
270        $this->sys_id_ = $sys_id;
271
272        $this->klist_ = &new KillList();
273        $this->llist_ = &new KillList();
274
275        if ($this->crp_id_)
276        {
277            $this->type_ = "corp";
278            $this->klist_->addVictimCorp(new Corporation($this->crp_id_));
279            $this->llist_->addInvolvedCorp(new Corporation($this->crp_id_));
280            $this->id_ = $this->crp_id_;
281        }
282        elseif ($this->all_id_)
283        {
284            $this->type_ = "alliance";
285            $this->klist_->addVictimAlliance(new Alliance($this->all_id_));
286            $this->llist_->addInvolvedAlliance(new Alliance($this->all_id_));
287            $this->id_ = $this->all_id_;
288        }
289        elseif ($this->reg_id_)
290        {
291            $this->type_ = "region";
292            $this->klist_->addRegion(new Region($this->reg_id_));
293            $this->llist_->addRegion(new Region($this->reg_id_));
294            $this->id_ = $this->reg_id_;
295        }
296        elseif ($this->sys_id_)
297        {
298            $this->type_ = "system";
299            $this->klist_->addSystem(new SolarSystem($this->sys_id_));
300            $this->llist_->addSystem(new SolarSystem($this->sys_id_));
301            $this->id_ = $this->sys_id_;
302        }
303        if (CORP_ID)
304        {
305            $this->klist_->addInvolvedCorp(new Corporation(CORP_ID));
306            $this->llist_->addVictimCorp(new Corporation(CORP_ID));
307        }
308        if (ALLIANCE_ID)
309        {
310            $this->klist_->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
311            $this->llist_->addVictimAlliance(new Alliance(ALLIANCE_ID));
312        }
313
314        $this->klist_->setStartDate($contract->getStartDate());
315        $this->llist_->setStartDate($contract->getStartDate());
316        if ($contract->getEndDate() != "")
317        {
318            $this->klist_->setEndDate($contract->getEndDate());
319            $this->llist_->setEndDate($contract->getEndDate());
320        }
321    }
322
323    function getID()
324    {
325        return $this->id_;
326    }
327
328    function getName()
329    {
330        if ($this->name_ == "")
331        {
332            $qry = new DBQuery();
333            switch ($this->type_)
334            {
335                case "corp":
336                    $qry->execute("select crp_name as name from kb3_corps where crp_id = ".$this->crp_id_);
337                    break;
338                case "alliance":
339                    $qry->execute("select all_name as name from kb3_alliances where all_id = ".$this->all_id_);
340                    break;
341                case "region":
342                    $qry->execute("select reg_name as name from kb3_regions where reg_id = ".$this->reg_id_);
343                    break;
344                case "system":
345                    $qry->execute("select sys_name as name from kb3_systems where sys_id = ".$this->sys_id_);
346                    break;
347            }
348            $row = $qry->getRow();
349            $this->name_ = $row['name'];
350        }
351        return $this->name_;
352    }
353
354    function getType()
355    {
356        return $this->type_;
357    }
358
359    function getKillList()
360    {
361        return $this->klist_;
362    }
363
364    function getLossList()
365    {
366        return $this->llist_;
367    }
368
369    function getEfficiency()
370    {
371        if ($this->klist_->getISK())
372            $efficiency = round($this->klist_->getISK() / ($this->klist_->getISK() + $this->llist_->getISK()) * 100, 2);
373        else
374            $efficiency = 0;
375
376        return $efficiency;
377    }
378
379    function getKills()
380    {
381    }
382
383    function getLosses()
384    {
385    }
386
387    function add()
388    {
389        $qry = new DBQuery();
390        $sql = "insert into kb3_contract_details
391                     values ( ".$this->contract_->getID().",";
392        switch ($this->type_)
393        {
394            case "corp":
395                $sql .= $this->id_.", 0, 0, 0 )";
396                break;
397            case "alliance":
398                $sql .= "0, ".$this->id_.", 0, 0 )";
399                break;
400            case "region":
401                $sql .= "0, 0, ".$this->id_.",0 )";
402                break;
403            case "system":
404                $sql .= "0, 0, 0, ".$this->id_." )";
405                break;
406        }
407        $qry->execute($sql) or die($qry->getErrorMsg());
408    }
409
410    function remove()
411    {
412        $qry = new DBQuery();
413        $sql = "delete from kb3_contract_details
414                    where ctd_ctr_id = ".$this->contract_->getID();
415        switch ($this->type_)
416        {
417            case "corp":
418                $sql .= " and ctd_crp_id = ".$this->id_;
419                break;
420            case "alliance":
421                $sql .= " and ctd_all_id = ".$this->id_;
422                break;
423            case "region":
424                $sql .= " and ctd_reg_id = ".$this->id_;
425                break;
426            case "system":
427                $sql .= " and ctd_sys_id = ".$this->id_;
428                break;
429        }
430        $qry->execute($sql) or die($qry->getErrorMsg());
431    }
432}
433
434class ContractList
435{
436    function ContractList()
437    {
438        $this->qry_ = new DBQuery();
439        $this->active_ = "both";
440        $this->contractcounter_ = 1;
441    }
442
443    function execQuery()
444    {
445        if ($this->qry_->executed())
446            return;
447
448        $sql = "select ctr.ctr_id, ctr.ctr_started, ctr.ctr_ended, ctr.ctr_name
449                from kb3_contracts ctr
450               where ctr.ctr_site = '".KB_SITE."'";
451        if ($this->active_ == "yes")
452            $sql .= " and ( ctr_ended is null or now() <= ctr_ended )";
453        elseif ($this->active_ == "no")
454            $sql .= " and ( now() >= ctr_ended )";
455
456        if ($this->campaigns_)
457            $sql .= " and ctr.ctr_campaign = 1";
458        else
459            $sql .= " and ctr.ctr_campaign = 0";
460
461        $sql .= " order by ctr_ended, ctr_started desc";
462        // if ( $this->limit_ )
463        // $sql .= " limit ".( $this->page_ / $this->limit_ ).", ".$this->limit_;
464        $this->qry_ = new DBQuery();
465        $this->qry_->execute($sql) or die($this->qry_->getErrorMsg());
466    }
467
468    function setActive($active)
469    {
470        $this->active_ = $active;
471    }
472
473    function setCampaigns($campaigns)
474    {
475        $this->campaigns_ = $campaigns;
476    }
477
478    function setLimit($limit)
479    {
480        $this->limit_ = $limit;
481    }
482
483    function setPage($page)
484    {
485        $this->page_ = $page;
486        $this->offset_ = ($page * $this->limit_) - $this->limit_;
487    }
488
489    function getContract()
490    {
491        // echo "off: ".$this->offset_."<br>";
492        // echo "cnt: ".$this->contractcounter_."<br>";
493        // echo "limit: ".$this->limit_."<br>";
494        $this->execQuery();
495        if ($this->offset_ && $this->contractcounter_ < $this->offset_)
496        {
497            for ($i = 0; $i < $this->offset_; $i++)
498            {
499                $row = $this->qry_->getRow();
500                $this->contractcounter_++;
501            }
502        }
503        if ($this->limit_ && ($this->contractcounter_ - $this->offset_) > $this->limit_)
504            return null;
505
506        $row = $this->qry_->getRow();
507        if ($row)
508        {
509            $this->contractcounter_++;
510            return new Contract($row['ctr_id']);
511        }
512        else
513            return null;
514    }
515
516    function getCount()
517    {
518        $this->execQuery();
519        return $this->qry_->recordCount();
520    }
521
522    function getActive()
523    {
524        return $this->active_;
525    }
526}
527
528class ContractListTable
529{
530    function ContractListTable($contractlist)
531    {
532        $this->contractlist_ = $contractlist;
533    }
534
535    function paginate($paginate, $page = 1)
536    {
537        if (!$page) $page = 1;
538        $this->paginate_ = $paginate;
539        $this->contractlist_->setLimit($paginate);
540        $this->contractlist_->setPage($page);
541    }
542
[187]543    function getTableStats()
544    {
545        $qry = new DBQuery();
546        while ($contract = $this->contractlist_->getContract())
547        {
548            // generate all neccessary objects within the contract
549            $contract->execQuery();
550
551            // this is the sql for kills
552            $sql = 'select count(*) AS kills,';
553            if (config::get('ship_values'))
554            {
555                $sql .= ' sum(ifnull(ksv.shp_value,scl.scl_value)) AS killisk FROM kb3_kills kll
556                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
557                        left join kb3_ships_values ksv on (shp.shp_id = ksv.shp_id)';
558            }
559            else
560            {
561                $sql .= ' sum(scl.scl_value) AS kisk FROM kb3_kills kll
562                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )';
563            }
564            $sql .= ' INNER JOIN kb3_ship_classes scl ON ( scl.scl_id = shp.shp_class )
565                      inner join kb3_systems sys on ( sys.sys_id = kll.kll_system_id )';
566            if ($contract->klist_->inv_crp_)
567            {
568                $sql .= ' inner join kb3_inv_crp inc on ( inc.inc_crp_id in ( '.join(',', $contract->klist_->inv_crp_).' ) and kll.kll_id = inc.inc_kll_id ) ';
569            }
570            if ($contract->klist_->inv_all_)
571            {
572                $sql .= ' inner join kb3_inv_all ina on ( ina.ina_all_id in ( '.join(',', $contract->klist_->inv_all_).' ) and kll.kll_id = ina.ina_kll_id ) ';
573            }
574            if ($contract->klist_->inv_plt_)
575            {
576                $sql .= ' inner join kb3_inv_plt inp on ( inp.inp_plt_id in ( '.join(',', $contract->klist_->inv_plt_).' ) and kll.kll_id = inp.inp_kll_id ) ';
577            }
578            if ($contract->klist_->regions_)
579            {
580                $sql .= ' inner join kb3_constellations con
581                           on ( con.con_id = sys.sys_con_id )
582                                   inner join kb3_regions reg on ( reg.reg_id = con.con_reg_id
583                                   and reg.reg_id in ( '.join(',', $contract->klist_->regions_).' ) )';
584            }
585            if ($contract->klist_->systems_)
586            {
587                $sql .= ' and kll.kll_system_id in ( '.join(',', $contract->klist_->systems_).')';
588            }
589
590            $sql .= ' where 1=1 ';
591            if ($contract->klist_->vic_plt_)
592                $sql .= " and kll.kll_victim_id in ( ".join(',', $contract->klist_->vic_plt_)." )";
593            if ($contract->klist_->vic_crp_)
594                $sql .= " and kll.kll_crp_id in ( ".join(',', $contract->klist_->vic_crp_)." )";
595            if ($contract->klist_->vic_all_)
596                $sql .= " and kll.kll_all_id in ( ".join(',', $contract->klist_->vic_all_)." )";
597
598            $result = $qry->execute($sql);
599            $kdata = $qry->getRow($result);
600
601            // and here goes the losses
602            $sql = 'select count(*) AS losses,';
603            if (config::get('ship_values'))
604            {
605                $sql .= ' sum(ifnull(ksv.shp_value,scl.scl_value)) AS lossisk FROM kb3_kills kll
606                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
607                        left join kb3_ships_values ksv on (shp.shp_id = ksv.shp_id)';
608            }
609            else
610            {
611                $sql .= ' sum(scl.scl_value) AS kisk FROM kb3_kills kll
612                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )';
613            }
614            $sql .= ' INNER JOIN kb3_ship_classes scl ON ( scl.scl_id = shp.shp_class )
615                      inner join kb3_systems sys on ( sys.sys_id = kll.kll_system_id )';
616            if ($contract->llist_->inv_crp_)
617            {
618                $sql .= ' inner join kb3_inv_crp inc on ( inc.inc_crp_id in ( '.join(',', $contract->llist_->inv_crp_).' ) and kll.kll_id = inc.inc_kll_id ) ';
619            }
620            if ($contract->llist_->inv_all_)
621            {
622                $sql .= ' inner join kb3_inv_all ina on ( ina.ina_all_id in ( '.join(',', $contract->llist_->inv_all_).' ) and kll.kll_id = ina.ina_kll_id ) ';
623            }
624            if ($contract->llist_->inv_plt_)
625            {
626                $sql .= ' inner join kb3_inv_plt inp on ( inp.inp_plt_id in ( '.join(',', $contract->llist_->inv_plt_).' ) and kll.kll_id = inp.inp_kll_id ) ';
627            }
628            if ($contract->llist_->regions_)
629            {
630                $sql .= ' inner join kb3_constellations con
631                           on ( con.con_id = sys.sys_con_id )
632                                   inner join kb3_regions reg on ( reg.reg_id = con.con_reg_id
633                                   and reg.reg_id in ( '.join(',', $contract->llist_->regions_).' ) )';
634            }
635            if ($contract->llist_->systems_)
636            {
637                $sql .= ' and kll.kll_system_id in ( '.join(',', $contract->llist_->systems_).')';
638            }
639
640            $sql .= ' where 1=1 ';
641            if ($contract->llist_->vic_plt_)
642                $sql .= " and kll.kll_victim_id in ( ".join(',', $contract->llist_->vic_plt_)." )";
643            if ($contract->llist_->vic_crp_)
644                $sql .= " and kll.kll_crp_id in ( ".join(',', $contract->llist_->vic_crp_)." )";
645            if ($contract->llist_->vic_all_)
646                $sql .= " and kll.kll_all_id in ( ".join(',', $contract->llist_->vic_all_)." )";
647
648            $result = $qry->execute($sql);
649            $ldata = $qry->getRow($result);
650
651            if ($kdata['killisk'])
652            {
653                $efficiency = round($kdata['killisk'] / ($kdata['killisk']+$ldata['lossisk']) *100, 2);
654            }
655            else
656            {
657                $efficiency = 0;
658            }
659            $bar = new BarGraph($efficiency, 100, 75);
660
661            $tbldata[] = array_merge(array('name' => $contract->getName(), 'startdate' => $contract->getStartDate(), 'bar' => $bar->generate(),
662                                     'enddate' => $contract->getEndDate(), 'efficiency' => $efficiency, 'id' => $contract->getID()), $kdata, $ldata);
663        }
664        $this->contractlist_->contractcounter_ = 1;
665        $this->contractlist_->qry_->rewind();
666        return $tbldata;
667    }
668
[91]669    function generate()
670    {
[187]671        if ($table = $this->getTableStats())
672        {
673            global $smarty;
674
675            $smarty->assign('contract_getactive', $this->contractlist_->getActive());
676            $smarty->assign_by_ref('contracts', $table);
677            $pagesplitter = new PageSplitter($this->contractlist_->getCount(), 10);
678
679            return $smarty->fetch(get_tpl('contractlisttable')).$pagesplitter->generate();
680        }
681
682        // old stuff, not used anymore (kept for reference)
[91]683        if ($this->contractlist_->getCount())
684        {
685            $rowid = 0;
686            $html .= "<table class=kb-table width=\"98%\" align=center cellspacing=1>";
687            $html .= "<tr class=kb-table-header>";
688            $html .= "<td class=kb-table-cell width=180>Name</td>";
689            $html .= "<td class=kb-table-cell width=80 align=center>Start date</td>";
690            if ($this->contractlist_->getActive() == "no")
691                $html .= "<td class=kb-table-cell width=80 align=center>End date</td>";
692            $html .= "<td class=kb-table-cell width=50 align=center>Kills</td>";
693            $html .= "<td class=kb-table-cell width=70 align=center>ISK (M)</td>";
694            $html .= "<td class=kb-table-cell width=50 align=center>Losses</td>";
695            $html .= "<td class=kb-table-cell width=70 align=center>ISK (M)</td>";
696            $html .= "<td class=kb-table-cell width=70 align=center colspan=2>Efficiency</td>";
697            $html .= "</tr>";
698
699            $odd = false;
700            $rowclass = "kb-table-row-even";
701            while ($contract = $this->contractlist_->getContract())
702            {
703                if ($odd)
704                {
705                    $rowclass = "kb-table-row-even";
706                    $odd = false;
707                }
708                else
709                {
710                    $rowclass = "kb-table-row-odd";
711                    $odd = true;
712                }
713
714                $html .= "<tr class=".$rowclass." onmouseover=\"this.className='kb-table-row-hover';\" onmouseout=\"this.className='".$rowclass."';\" onClick=\"window.location.href='?a=cc_detail&ctr_id=".$contract->getID()."';\">";
715                $html .= "<td class=kb-table-cell><b>".$contract->getName()."</b></td>";
716                $html .= "<td class=kb-table-cell align=center>".substr($contract->getStartDate(), 0, 10)."</td>";
717                if ($this->contractlist_->getActive() == "no")
718                {
719                    if ($contract->getEndDate() == "")
720                        $ended = "Active";
721                    else
722                        $ended = substr($contract->getEndDate(), 0, 10);
723                    $html .= "<td class=kb-table-cell align=center>".$ended."</td>";
724                }
725                if ($contract->getKills() == 0)
726                    $kclass = "kl-null";
727                else
728                    $kclass = "kl-kill";
729
730                if ($contract->getLosses() == 0)
731                    $lclass = "kl-null";
732                else
733                    $lclass = "kl-loss";
734
735                $html .= "<td class=".$kclass." align=center>".$contract->getKills()."</td>";
736                $html .= "<td class=".$kclass." align=center>".$contract->getKillISK()."</td>";
737                $html .= "<td class=".$lclass." align=center>".$contract->getLosses()."</td>";
738                $html .= "<td class=".$lclass." align=center>".$contract->getLossISK()."</td>";
739                $bar = new BarGraph($contract->getEfficiency(), 100, 75);
740                $html .= "<td class=kb-table-cell align=center width=40><b>".$contract->getEfficiency()."%</b></td>";
741                $html .= "<td class=kb-table-cell align=left width=75>".$bar->generate()."</td>";
742                $html .= "</tr>";
743            }
744            $html .= "</table>";
745            $pagesplitter = new PageSplitter($this->contractlist_->getCount(), 10);
746            $html .= $pagesplitter->generate();
747        }
748        else $html .= "None.";
749
750        return $html;
751    }
752}
753?>
Note: See TracBrowser for help on using the browser.