root/dev/common/includes/class.contract.php @ 190

Revision 190, 25.7 KB (checked in by exi, 16 years ago)

This is a big update...
Moved all admin scripts to common/admin.
Moved all includes and classes to common/includes.
Edited all include-paths to reflect the movement.
Fixed a bug with the session system allowing every registered user to access admin pages.
Replaced calls to date() to use a wrapper so gmdate can be used.
Replaced some calls to $config with calls to the static object.
Fixed a big which caused the portrait_grab to not download a new picute.
Added a classified-state to kills.
Removed the sync_server server script in this tree.
Added code to help modules find the includes to index.php.

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.