root/dev/common/admin_postperm.php @ 134

Revision 134, 5.5 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('class.contract.php');
5require_once('admin_menu.php');
6require_once('class.http.php');
7
8$page = new Page();
9$page->setAdmin();
10$page->setTitle('Administration - Post Permissions');
11
12if ($_REQUEST['searchphrase'] != "" && strlen($_REQUEST['searchphrase']) >= 3)
13{
14    switch ($_REQUEST['searchtype'])
15    {
16        case "pilot":
17            $sql = "select plt.plt_id, plt.plt_name, crp.crp_name
18                    from kb3_pilots plt, kb3_corps crp
19                    where lower( plt.plt_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
20                    and plt.plt_crp_id = crp.crp_id
21                    order by plt.plt_name";
22            break;
23        case "corp":
24            $sql = "select crp.crp_id, crp.crp_name, ali.all_name
25                    from kb3_corps crp, kb3_alliances ali
26                    where lower( crp.crp_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
27                    and crp.crp_all_id = ali.all_id
28                    order by crp.crp_name";
29            break;
30        case "alliance":
31            $sql = "select ali.all_id, ali.all_name
32                    from kb3_alliances ali
33                    where lower( ali.all_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
34                    order by ali.all_name";
35            break;
36    }
37
38    $qry = new DBQuery();
39    if (!$qry->execute($sql))
40    {
41        die($qry->getErrorMsg());
42    }
43
44    while ($row = $qry->getRow())
45    {
46        switch ($_REQUEST['searchtype'])
47        {
48            case 'pilot':
49                $link = '?a=admin_postperm&add=p'.$row['plt_id'];
50                $descr = 'Pilot '.$row['plt_name'].' from '.$row['crp_name'];
51                break;
52            case 'corp':
53                $link = "?a=admin_postperm&add=c".$row['crp_id'];
54                $descr = 'Corp '.$row['crp_name'].', member of '.$row['all_name'];
55                break;
56            case 'alliance':
57                $link = '?a=admin_postperm&add=a'.$row['all_id'];
58                $descr = 'Alliance '.$row['all_name'];
59                break;
60        }
61        $results[] = array('descr' => $descr, 'link' => $link);
62    }
63    $smarty->assign_by_ref('results', $results);
64    $smarty->assign('search', true);
65}
66
67if (isset($_REQUEST['authall']))
68{
69    if ($_REQUEST['authall'])
70    {
71        $config->setConfig('post_permission', 'all');
72    }
73    else
74    {
75        $config->setConfig('post_permission', '');
76    }
77}
78if (!$string = $config->getConfig('post_permission'))
79{
80    $string = '';
81}
82if ($string != 'all')
83{
84    $tmp = explode(',', $string);
85    $permissions = array('a' => array(), 'c' => array(), 'p' => array());
86    foreach ($tmp as $item)
87    {
88        if (!$item)
89        {
90            continue;
91        }
92        $typ = substr($item, 0, 1);
93        $id = substr($item, 1);
94        $permissions[$typ][$id] = $id;
95    }
96
97    if ($_REQUEST['add'])
98    {
99        $typ = substr($_REQUEST['add'], 0, 1);
100        $id = intval(substr($_REQUEST['add'], 1));
101        $permissions[$typ][$id] = $id;
102        $configstr = '';
103        foreach ($permissions as $typ => $id_array)
104        {
105            foreach ($id_array as $id)
106            {
107                $conf[] = $typ.$id;
108            }
109        }
110        $config->setConfig('post_permission', implode(',', $conf));
111    }
112
113    if ($_REQUEST['del'])
114    {
115        $typ = substr($_REQUEST['del'], 0, 1);
116        $id = intval(substr($_REQUEST['del'], 1));
117        unset($permissions[$typ][$id]);
118        $conf = array();
119        foreach ($permissions as $typ => $id_array)
120        {
121            foreach ($id_array as $id)
122            {
123                $conf[] = $typ.$id;
124            }
125        }
126        $config->setConfig('post_permission', implode(',', $conf));
127    }
128
129    asort($permissions['a']);
130    asort($permissions['c']);
131    asort($permissions['p']);
132
133    $permt = array();
134    foreach ($permissions as $typ => $ids)
135    {
136        foreach ($ids as $id)
137        {
138            if ($typ == 'a')
139            {
140                $alliance = new Alliance($id);
141                $text = $alliance->getName();
142                $link = '?a=admin_postperm&del='.$typ.$id;
143                $permt[$typ][] = array('text' => $text, 'link' => $link);
144            }
145            if ($typ == 'p')
146            {
147                $pilot = new Pilot($id);
148                $text = $pilot->getName();
149                $link = '?a=admin_postperm&del='.$typ.$id;
150                $permt[$typ][] = array('text' => $text, 'link' => $link);
151            }
152            if ($typ == 'c')
153            {
154                $corp = new Corporation($id);
155                $text = $corp->getName();
156                $link = '?a=admin_postperm&del='.$typ.$id;
157                $permt[$typ][] = array('text' => $text, 'link' => $link);
158            }
159        }
160    }
161    $perm = array();
162    if ($permt['a'])
163    {
164        $perm[] = array('name' => 'Alliances', 'list' => $permt['a']);
165    }
166    if ($permt['p'])
167    {
168        $perm[] = array('name' => 'Pilots', 'list' => $permt['p']);
169    }
170    if ($permt['c'])
171    {
172        $perm[] = array('name' => 'Corporations', 'list' => $permt['c']);
173    }
174
175    $smarty->assign_by_ref('permissions', $perm);
176}
177$html = $smarty->fetch(get_tpl('admin_postperm'));
178
179$page->addContext($menubox->generate());
180$page->setContent($html);
181$page->generate();
182?>
Note: See TracBrowser for help on using the browser.