root/dev/common/admin_standings.php @ 134

Revision 134, 4.3 KB (checked in by exi, 14 years ago)

Added standings-management.
Changed installer step 3 to only use POST data now.
Character portraits should now look a bit better.
Changed all smarty template requests to use a wrapper function.
Modified standard page for IGB.
Added php compat file to reduce minimal needed version to 4.0.9.

Line 
1<?php
2require_once('db.php');
3require_once('class.page.php');
4require_once('admin_menu.php');
5require_once('class.corp.php');
6require_once('class.alliance.php');
7
8$page = new Page();
9$page->setAdmin();
10$page->setTitle('Administration - Standings');
11
12if ($_REQUEST['searchphrase'] != "" && strlen($_REQUEST['searchphrase']) >= 3)
13{
14    switch ($_REQUEST['searchtype'])
15    {
16        case 'corp':
17            $sql = "select crp.crp_id, crp.crp_name, ali.all_name
18                    from kb3_corps crp, kb3_alliances ali
19                    where lower( crp.crp_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
20                    and crp.crp_all_id = ali.all_id
21                    order by crp.crp_name";
22            break;
23        case 'alliance':
24            $sql = "select ali.all_id, ali.all_name
25                    from kb3_alliances ali
26                    where lower( ali.all_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
27                    order by ali.all_name";
28            break;
29    }
30
31    $qry = new DBQuery();
32    $qry->execute($sql);
33
34    while ($row = $qry->getRow())
35    {
36        switch ($_REQUEST['searchtype'])
37        {
38            case 'corp':
39                $typ = 'Corporation';
40                $link = 'c'.$row['crp_id'];
41                $descr = $row['crp_name'].', member of '.$row['all_name'];
42                break;
43            case 'alliance':
44                $typ = 'Alliance';
45                $link = 'a'.$row['all_id'];
46                $descr = $row['all_name'];
47                break;
48        }
49        $results[] = array('descr' => $descr, 'link' => $link, 'typ' => $typ);
50    }
51    $smarty->assign_by_ref('results', $results);
52    $smarty->assign('search', true);
53}
54if ($val = $_REQUEST['standing'])
55{
56    $fields = array();
57    if (CORP_ID)
58    {
59        $fromtyp = 'c';
60        $fields[] = CORP_ID;
61    }
62    else
63    {
64        $fromtyp = 'a';
65        $fields[] = ALLIANCE_ID;
66    }
67    $fields[] = intval(substr($_REQUEST['sta_id'], 1));
68    $fields[] = $fromtyp;
69    $fields[] = substr($_REQUEST['sta_id'], 0, 1);
70    $fields[] = str_replace(',', '.', $val);
71    $fields[] = slashfix($_REQUEST['comment']);
72
73    $qry = new DBQuery();
74    $qry->execute('INSERT INTO kb3_standings VALUES (\''.join("','", $fields).'\')');
75}
76if ($_REQUEST['del'])
77{
78    if (CORP_ID)
79    {
80        $fromtyp = 'c';
81        $fromid = CORP_ID;
82    }
83    else
84    {
85        $fromtyp = 'a';
86        $fromid = ALLIANCE_ID;
87    }
88    $totyp = substr($_REQUEST['del'], 0, 1);
89    $toid = intval(substr($_REQUEST['del'], 1));
90
91    $qry = new DBQuery();
92    $qry->execute('DELETE FROM kb3_standings WHERE sta_from='.$fromid.' AND sta_from_type=\''.$fromtyp.'\'
93                                             AND sta_to='.$toid.' AND sta_to_type=\''.$totyp.'\' LIMIT 1');
94}
95
96$qry = new DBQuery();
97if (CORP_ID)
98{
99    $qry->execute('SELECT * FROM kb3_standings WHERE sta_from='.CORP_ID.' AND sta_from_type=\'c\' ORDER BY sta_value DESC');
100}
101else
102{
103    $qry->execute('SELECT * FROM kb3_standings WHERE sta_from='.ALLIANCE_ID.' AND sta_from_type=\'a\' ORDER BY sta_value DESC');
104}
105
106$permt = array();
107while ($row = $qry->getRow())
108{
109    $typ = $row['sta_to_type'];
110    $val = sprintf("%01.1f", $row['sta_value']);
111    $id = $typ.$row['sta_to'];
112    if ($typ == 'a')
113    {
114        $alliance = new Alliance($row['sta_to']);
115        $text = $alliance->getName();
116        $link = '?a=admin_standings&del='.$typ.$row['sta_to'];
117        $permt[$typ][] = array('text' => $text, 'link' => $link, 'value' => $val, 'comment' => $row['sta_comment'], 'id' => $id);
118    }
119    if ($typ == 'c')
120    {
121        $corp = new Corporation($row['sta_to']);
122        $text = $corp->getName();
123        $link = '?a=admin_standings&del='.$typ.$row['sta_to'];
124        $permt[$typ][] = array('text' => $text, 'link' => $link, 'value' => $val, 'comment' => $row['sta_comment'], 'id' => $id);
125    }
126}
127$perm = array();
128if ($permt['a'])
129{
130    $perm[] = array('name' => 'Alliances', 'list' => $permt['a']);
131}
132if ($permt['c'])
133{
134    $perm[] = array('name' => 'Corporations', 'list' => $permt['c']);
135}
136
137$smarty->assign_by_ref('standings', $perm);
138
139$page->addContext($menubox->generate());
140$page->setContent($smarty->fetch(get_tpl('admin_standings')));
141$page->generate();
142?>
Note: See TracBrowser for help on using the browser.