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

Revision 188, 25.7 KB (checked in by exi, 14 years ago)

Changed default td width for options to 160px.
Added the appropiate timeframe to the fast contractlisttable.
Events now can also return a reference to a variable containing additional information.
Killlists now return a non formatted isk-value for losses/kills, please report any errors on other pages.
Added a custom user menu, able to be shownon every page.
Added some code for user logins, please ignore it for now.
Added a small battle statistics frame to the battle overview.
To login as admin now just leave user blank and use the admin password.

Line 
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();
58        if (!$caqry->execute($sql))
59        {
60            include_once('autoupgrade.php');
61            check_contracts();
62            $caqry->execute($sql);
63        }
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    {
125        if (!$datet = $this->getEndDate())
126        {
127            $datet = 'now';
128        }
129
130        $diff = strtotime($datet) - strtotime($this->getStartDate());
131        return floor($diff/86400);
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;
217        if ($enddate != "") $enddate = "'".$enddate." 23:59:59'";
218        else $enddate = "null";
219
220        if (!$this->ctr_id_)
221        {
222            $sql = "insert into kb3_contracts values ( null, '".$name."',
223                                                   '".KB_SITE."', ".$campaign.",
224                                                   '".$startdate." 00:00:00',
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."',
232                                         ctr_started = '".$startdate." 00:00:00',
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
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            if ($contract->klist_->timeframe_)
599            {
600                $sql .= $contract->klist_->timeframe_;
601            }
602
603            $result = $qry->execute($sql);
604            $kdata = $qry->getRow($result);
605
606            // and here goes the losses
607            $sql = 'select count(*) AS losses,';
608            if (config::get('ship_values'))
609            {
610                $sql .= ' sum(ifnull(ksv.shp_value,scl.scl_value)) AS lossisk FROM kb3_kills kll
611                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )
612                        left join kb3_ships_values ksv on (shp.shp_id = ksv.shp_id)';
613            }
614            else
615            {
616                $sql .= ' sum(scl.scl_value) AS kisk FROM kb3_kills kll
617                        INNER JOIN kb3_ships shp ON ( shp.shp_id = kll.kll_ship_id )';
618            }
619            $sql .= ' INNER JOIN kb3_ship_classes scl ON ( scl.scl_id = shp.shp_class )
620                      inner join kb3_systems sys on ( sys.sys_id = kll.kll_system_id )';
621            if ($contract->llist_->inv_crp_)
622            {
623                $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 ) ';
624            }
625            if ($contract->llist_->inv_all_)
626            {
627                $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 ) ';
628            }
629            if ($contract->llist_->inv_plt_)
630            {
631                $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 ) ';
632            }
633            if ($contract->llist_->regions_)
634            {
635                $sql .= ' inner join kb3_constellations con
636                           on ( con.con_id = sys.sys_con_id )
637                                   inner join kb3_regions reg on ( reg.reg_id = con.con_reg_id
638                                   and reg.reg_id in ( '.join(',', $contract->llist_->regions_).' ) )';
639            }
640            if ($contract->llist_->systems_)
641            {
642                $sql .= ' and kll.kll_system_id in ( '.join(',', $contract->llist_->systems_).')';
643            }
644
645            $sql .= ' where 1=1 ';
646            if ($contract->llist_->vic_plt_)
647                $sql .= " and kll.kll_victim_id in ( ".join(',', $contract->llist_->vic_plt_)." )";
648            if ($contract->llist_->vic_crp_)
649                $sql .= " and kll.kll_crp_id in ( ".join(',', $contract->llist_->vic_crp_)." )";
650            if ($contract->llist_->vic_all_)
651                $sql .= " and kll.kll_all_id in ( ".join(',', $contract->llist_->vic_all_)." )";
652
653            if ($contract->llist_->timeframe_)
654            {
655                $sql .= $contract->llist_->timeframe_;
656            }
657
658            $result = $qry->execute($sql);
659            $ldata = $qry->getRow($result);
660
661            if ($kdata['killisk'])
662            {
663                $efficiency = round($kdata['killisk'] / ($kdata['killisk']+$ldata['lossisk']) *100, 2);
664            }
665            else
666            {
667                $efficiency = 0;
668            }
669            $bar = new BarGraph($efficiency, 100, 75);
670
671            $tbldata[] = array_merge(array('name' => $contract->getName(), 'startdate' => $contract->getStartDate(), 'bar' => $bar->generate(),
672                                     'enddate' => $contract->getEndDate(), 'efficiency' => $efficiency, 'id' => $contract->getID()), $kdata, $ldata);
673        }
674        $this->contractlist_->contractcounter_ = 1;
675        $this->contractlist_->qry_->rewind();
676        return $tbldata;
677    }
678
679    function generate()
680    {
681        if ($table = $this->getTableStats())
682        {
683            global $smarty;
684
685            $smarty->assign('contract_getactive', $this->contractlist_->getActive());
686            $smarty->assign_by_ref('contracts', $table);
687            $pagesplitter = new PageSplitter($this->contractlist_->getCount(), 10);
688
689            return $smarty->fetch(get_tpl('contractlisttable')).$pagesplitter->generate();
690        }
691
692        // old stuff, not used anymore (kept for reference)
693        if ($this->contractlist_->getCount())
694        {
695            $rowid = 0;
696            $html .= "<table class=kb-table width=\"98%\" align=center cellspacing=1>";
697            $html .= "<tr class=kb-table-header>";
698            $html .= "<td class=kb-table-cell width=180>Name</td>";
699            $html .= "<td class=kb-table-cell width=80 align=center>Start date</td>";
700            if ($this->contractlist_->getActive() == "no")
701                $html .= "<td class=kb-table-cell width=80 align=center>End date</td>";
702            $html .= "<td class=kb-table-cell width=50 align=center>Kills</td>";
703            $html .= "<td class=kb-table-cell width=70 align=center>ISK (M)</td>";
704            $html .= "<td class=kb-table-cell width=50 align=center>Losses</td>";
705            $html .= "<td class=kb-table-cell width=70 align=center>ISK (M)</td>";
706            $html .= "<td class=kb-table-cell width=70 align=center colspan=2>Efficiency</td>";
707            $html .= "</tr>";
708
709            $odd = false;
710            $rowclass = "kb-table-row-even";
711            while ($contract = $this->contractlist_->getContract())
712            {
713                if ($odd)
714                {
715                    $rowclass = "kb-table-row-even";
716                    $odd = false;
717                }
718                else
719                {
720                    $rowclass = "kb-table-row-odd";
721                    $odd = true;
722                }
723
724                $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()."';\">";
725                $html .= "<td class=kb-table-cell><b>".$contract->getName()."</b></td>";
726                $html .= "<td class=kb-table-cell align=center>".substr($contract->getStartDate(), 0, 10)."</td>";
727                if ($this->contractlist_->getActive() == "no")
728                {
729                    if ($contract->getEndDate() == "")
730                        $ended = "Active";
731                    else
732                        $ended = substr($contract->getEndDate(), 0, 10);
733                    $html .= "<td class=kb-table-cell align=center>".$ended."</td>";
734                }
735                if ($contract->getKills() == 0)
736                    $kclass = "kl-null";
737                else
738                    $kclass = "kl-kill";
739
740                if ($contract->getLosses() == 0)
741                    $lclass = "kl-null";
742                else
743                    $lclass = "kl-loss";
744
745                $html .= "<td class=".$kclass." align=center>".$contract->getKills()."</td>";
746                $html .= "<td class=".$kclass." align=center>".$contract->getKillISK()."</td>";
747                $html .= "<td class=".$lclass." align=center>".$contract->getLosses()."</td>";
748                $html .= "<td class=".$lclass." align=center>".$contract->getLossISK()."</td>";
749                $bar = new BarGraph($contract->getEfficiency(), 100, 75);
750                $html .= "<td class=kb-table-cell align=center width=40><b>".$contract->getEfficiency()."%</b></td>";
751                $html .= "<td class=kb-table-cell align=left width=75>".$bar->generate()."</td>";
752                $html .= "</tr>";
753            }
754            $html .= "</table>";
755            $pagesplitter = new PageSplitter($this->contractlist_->getCount(), 10);
756            $html .= $pagesplitter->generate();
757        }
758        else $html .= "None.";
759
760        return $html;
761    }
762}
763?>
Note: See TracBrowser for help on using the browser.