root/dev/common/includes/class.corp.php @ 317

Revision 254, 3.0 KB (checked in by exi, 15 years ago)

Merging 242:253 branch into dev

Line 
1<?php
2require_once('class.alliance.php');
3
4class Corporation
5{
6    function Corporation($id = 0)
7    {
8        $this->id_ = $id;
9        $this->qry_ = new DBQuery();
10    }
11
12    function isNPCCorp()
13    {
14        global $corp_npc;
15        if (in_array($this->getName(), $corp_npc))
16        {
17            return true;
18        }
19    }
20
21    function getUnique()
22    {
23        return preg_replace('/[^a-z0-9]/', '', strtolower($this->getName()));
24    }
25
26    function getPortraitURL($size = 64)
27    {
28        if ($this->isNPCCorp() || file_exists('img/corps/'.$this->getUnique().'.jpg'))
29        {
30            return '?a=thumb&type=corp&id='.$this->getUnique().'&size='.$size;
31        }
32        return '?a=thumb&type=corp&id='.$this->id_.'&size='.$size;
33    }
34
35    function getID()
36    {
37        return $this->id_;
38    }
39
40    function getName()
41    {
42        $this->execQuery();
43        return $this->row_['crp_name'];
44    }
45
46    function getAlliance()
47    {
48        $this->execQuery();
49        return new Alliance($this->row_['crp_all_id']);
50    }
51
52    function lookup($name)
53    {
54        $qry = new DBQuery();
55        $qry->execute("select * from kb3_corps
56                       where crp_name = '".slashfix($name)."'");
57        $row = $qry->getRow();
58        if ($row['crp_id']) $this->id_ = $row['crp_id'];
59    }
60
61    function execQuery()
62    {
63        if (!$this->qry_->executed_)
64        {
65            $this->sql_ = "select * from kb3_corps
66                                   where crp_id = ".$this->id_;
67            $this->qry_->execute($this->sql_);
68            $this->row_ = $this->qry_->getRow();
69        }
70    }
71
72    function add($name, $alliance, $timestamp)
73    {
74        $qry = new DBQuery();
75        $qry->execute("select * from kb3_corps
76                               where crp_name = '".slashfix($name)."'");
77
78        if ($qry->recordCount() == 0)
79        {
80            $qry->execute("insert into kb3_corps values ( null,'".slashfix($name)."',"
81                           .$alliance->getID().",0,date_format('".$timestamp."','%Y.%m.%d %H:%i:%s'))");
82            $this->id_ = $qry->getInsertID();
83        }
84        else
85        {
86            $row = $qry->getRow();
87            $this->id_ = $row['crp_id'];
88            if ($this->isUpdatable($timestamp) && $row['crp_all_id'] != $alliance->getID())
89            {
90                $qry->execute('update kb3_corps
91                                   set crp_all_id = '.$alliance->getID().",
92                                           crp_updated = date_format( '".$timestamp."','%Y.%m.%d %H:%i:%s')
93                                           where crp_id = ".$this->id_);
94            }
95        }
96
97        return $this->id_;
98    }
99
100    function isUpdatable($timestamp)
101    {
102        $qry = new DBQuery();
103        $qry->execute("select crp_id from kb3_corps
104                               where crp_id = ".$this->id_."
105                               and ( crp_updated < date_format( '".$timestamp."', '%Y.%m.%d %H:%i' )
106                                   or crp_updated is null )");
107        return $qry->recordCount() == 1;
108    }
109}
110?>
Note: See TracBrowser for help on using the browser.