root/dev/common/admin/admin_shp_val.php @ 207

Revision 207, 10.3 KB (checked in by ralle030583, 15 years ago)

- added system search
- added 12 new ship Signatures (thx to Arthur Ffrub)
- removed again some not needed includes

Line 
1<?php
2require_once('common/includes/class.contract.php');
3require_once('common/includes/class.http.php');
4require_once('common/admin/admin_menu.php');
5
6require_once('common/includes/autoupgrade.php');
7check_shipvaltable();
8
9$page = new Page();
10$page->setAdmin();
11
12if ($_REQUEST['opt'] == 'search')
13{
14    $page->setTitle('Administration - Shipvalues - Add a Shipvalue');
15
16    if ($id = intval($_REQUEST['searchid']))
17    {
18        $query = 'select count(shp_id) as cnt from kb3_ships_values where shp_id='.$id;
19        $qry = new DBQuery();
20        $qry->execute($query);
21        $data = $qry->getRow();
22        if ($data['cnt'] >= 1)
23        {
24            // value already added
25            unset($_REQUEST['opt']);
26            $html .= 'Error: That id is already on the list.<br/>';
27        }
28        else
29        {
30            $search = true;
31            $searchstr = ' where ksb.shp_value is null and shp.shp_class != 17 and shp.shp_id='.$id;
32        }
33    }
34    elseif ($name = slashfix($_REQUEST['searchname']))
35    {
36        $search = true;
37        $searchstr = " where ksb.shp_value is null and shp.shp_class != 17 and shp.shp_name like '%{$name}%'";
38    }
39    else
40    {
41        unset($_REQUEST['opt']);
42        $html .= 'Error: No id or name specified.<br/>';
43    }
44    if ($search)
45    {
46        $query = 'select shp.shp_id as id, shp.shp_externalid as ext, shp.shp_name, shp.shp_class,
47                         shp.shp_baseprice, scl.scl_class, shp.shp_techlevel, scl.scl_value, ksb.shp_value
48                         from kb3_ships shp inner join kb3_ship_classes scl on (shp.shp_class = scl.scl_id)
49                         left join kb3_ships_values ksb on (shp.shp_id = ksb.shp_id)';
50        $order = ' order by shp.shp_name asc';
51        $qry = new DBQuery();
52        $qry->execute($query.$searchstr.$order);
53        while ($data = $qry->getRow())
54        {
55            if (!$c)
56            {
57                $html .= '<form id="search" action="?a=admin_shp_val" method=post>';
58                $html .= '<table class=kb-table width="99%" align=center cellspacing="1">';
59                $html .= '<input type="hidden" name="opt" value="add"/>';
60                $html .= '<tr class=kb-table-header>';
61                $html .= '<td class=kb-table-header align="center">Ship</td>';
62                $html .= '<td class=kb-table-header align="center">Ship id</td>';
63                $html .= '<td class=kb-table-header>Ship Name</td>';
64                $html .= '<td class=kb-table-header>Ship type</td>';
65                $html .= '<td class=kb-table-header align="center">Techlevel</td>';
66                $html .= '<td class=kb-table-header align="right">Baseprice</td>';
67                $html .= '<td class=kb-table-header align="right">Classvalue</td>';
68                $html .= '<td class=kb-table-header align="right">Shipvalue</td></tr>';
69            }
70            $c++;
71            if (!$odd)
72            {
73                $odd = true;
74                $class = 'kb-table-row-odd';
75            }
76            else
77            {
78                $odd = false;
79                $class = 'kb-table-row-even';
80            }
81            $html .= "<tr class=".$class." style=\"height: 66px;\">";
82            $html .= '<td width="64" align="center"><img src="'.IMG_URL.'/ships/64_64/'.$data['ext'].'.png"></td>';
83            $html .= '<td align="center">'.$data['id'].'</td>';
84            $html .= '<td>'.$data['shp_name'].'</td>';
85            $html .= '<td>'.$data['scl_class'].'</td>';
86            $html .= '<td width="64" align="center">'.$data['shp_techlevel'].'</td>';
87            $html .= '<td align="right">'.number_format($data['shp_baseprice'], 0, ',', '.').'</td>';
88            $html .= '<td align="right">'.number_format($data['scl_value'], 0, ',', '.').'</td>';
89            $html .= '<td width="180" align="right"><input type="text" name="ship['.$data['id'].']" value="'.$data['scl_value'].'"></td></tr>';
90        }
91        if ($c)
92        {
93            $html .= '</table>';
94            $html .= '<br/><input type="submit" name="submit" value="Save">&nbsp;Note: Only values different from classvalue and zero will be saved.';
95            $html .= '</form>';
96        }
97        else
98        {
99            $html .= 'No Ships found to be added.<br/>';
100            unset($_REQUEST['opt']);
101        }
102    }
103}
104if ($_REQUEST['opt'] == 'add')
105{
106    $qry = new DBQuery();
107    if (!isset($_POST['ship']))
108    {
109        $_POST['ship'] = array();
110    }
111    foreach ($_POST['ship'] as $id => $value)
112    {
113        $id = intval($id);
114        // kill everything thats not a number
115        $value = preg_replace('/[^0-9]/', '', $value);
116        if ($value == 0 || $id == 0)
117        {
118            continue;
119        }
120        $query = 'select shp.shp_id as id, scl.scl_value
121                         from kb3_ships shp inner join kb3_ship_classes scl on (shp.shp_class = scl.scl_id)
122                         where shp.shp_id='.$id;
123        $qry->execute($query);
124        $data = $qry->getRow();
125        if ($data['scl_value'] == $value)
126        {
127            $qry->execute('delete from kb3_ships_values where shp_id='.$id.' limit 1');
128            continue;
129        }
130
131        $query = 'select count(shp_id) as cnt from kb3_ships_values where shp_id='.$id;
132        $qry->execute($query);
133        $data = $qry->getRow();
134        if ($data['cnt'] >= 1)
135        {
136            $qry->execute('update kb3_ships_values set shp_value=\''.$value.'\' where shp_id='.$id);
137        }
138        else
139        {
140            $qry->execute('insert into kb3_ships_values (shp_id, shp_value) values ('.$id.',\''.$value.'\')');
141        }
142    }
143    $html .= 'Shipvalues added/changed<br/>';
144    unset($_REQUEST['opt']);
145}
146if (!isset($_REQUEST['opt']))
147{
148    $page->setTitle("Administration - Shipvalues");
149
150    $html .= '<div class=block-header2>Add a Shipvalue</div>';
151    $html .= '<form id="search" action="?a=admin_shp_val" method=post>';
152    $html .= '<input type="hidden" name="opt" value="search"/>';
153    $html .= '<table class="kb-subtable"><tr>';
154    $html .= '<td>ShipID</td><td>or Shipname</td>';
155    $html .= '</tr><tr>';
156    $html .= '<td><input id="searchid" name="searchid" type="text" size="4"/></td>';
157    $html .= '<td><input id="searchname" name="searchname" type="text" size="30"/></td>';
158    $html .= '<td><input type="submit" name="submit" value="Search"/></td>';
159    $html .= '</tr></table>';
160    $html .= '</form><br/>';
161
162    $html .= "<div class=block-header2>View/Change Shipvalues</div>";
163    $qry = new DBQuery();
164    $query = 'select kbs.shp_id as id, shp.shp_externalid as ext, shp.shp_name, shp.shp_class, kbs.shp_value,
165                     shp.shp_baseprice, scl.scl_class, shp.shp_techlevel, scl.scl_value
166                     from kb3_ships_values kbs
167                     inner join kb3_ships shp on (kbs.shp_id = shp.shp_id)
168                     inner join kb3_ship_classes scl on (shp.shp_class = scl.scl_id) order by shp.shp_name asc';
169    $qry->execute($query);
170    while ($data = $qry->getRow())
171    {
172        if (!$c)
173        {
174            $html .= '<form id="search" action="?a=admin_shp_val" method=post>';
175            $html .= '<table class="kb-table" width="99%" align=center cellspacing="1">';
176            $html .= '<input type="hidden" name="opt" value="add"/>';
177            $html .= '<script language="javascript">
178                        function geninput(object,id,value,orgval)
179                        {
180                          if (document.getElementById(\'ship_\'+id)) return;
181                          object.innerHTML = \'<input type="text" id="ship_\'+id+\'" name="ship[\'+id+\']" value="\'+value+\'" onblur="checkinput(this,\'+value+\',\\\'\'+orgval+\'\\\',\'+id+\');">\';
182                          document.getElementById(\'ship_\'+id).focus();
183                        }
184                        function checkinput(object,value,oldvalue,id)
185                        {
186                          if (object.value == value)
187                          {
188                              document.getElementById(\'tbrid_\'+id).innerHTML = oldvalue;
189                          }
190                        }
191                        </script>';
192            $html .= '<tr class=kb-table-header>';
193            $html .= '<td class=kb-table-header align="center">Ship</td>';
194            $html .= '<td class=kb-table-header align="center">Ship id</td>';
195            $html .= '<td class=kb-table-header>Ship Name</td>';
196            $html .= '<td class=kb-table-header>Ship type</td>';
197            $html .= '<td class=kb-table-header align="center">Techlevel</td>';
198            $html .= '<td class=kb-table-header align="right">Baseprice</td>';
199            $html .= '<td class=kb-table-header align="right">Classvalue</td>';
200            $html .= '<td class=kb-table-header align="right">Shipvalue</td></tr>';
201        }
202        $c++;
203        if (!$odd)
204        {
205            $odd = true;
206            $class = 'kb-table-row-odd';
207        }
208        else
209        {
210            $odd = false;
211            $class = 'kb-table-row-even';
212        }
213        $html .= "<tr class=".$class." style=\"height: 34px;\">";
214        $html .= '<td width="32" align="center"><img src="'.IMG_URL.'/ships/32_32/'.$data['ext'].'.png"></td>';
215        $html .= '<td align="center">'.$data['id'].'</td>';
216        $html .= '<td>'.$data['shp_name'].'</td>';
217        $html .= '<td>'.$data['scl_class'].'</td>';
218        $html .= '<td width="64" align="center">'.$data['shp_techlevel'].'</td>';
219        $html .= '<td align="right">'.number_format($data['shp_baseprice'], 0, ',', '.').'</td>';
220        $html .= '<td align="right">'.number_format($data['scl_value'], 0, ',', '.').'</td>';
221        $html .= '<td width="180" align="right" id="tbrid_'.$data['id'].'" onClick="geninput(this,'.$data['id'].','.$data['shp_value'].',\''.number_format($data['shp_value'], 0, ',', '.').'\');">'
222                 .number_format($data['shp_value'], 0, ',', '.').'</td></tr>';
223    }
224    if ($c)
225    {
226        $html .= '</table>';
227        $html .= '<br/><input type="submit" name="submit" value="Save">&nbsp;Note: Only values different from classvalue and zero will be saved. Hint: click into the Shipvalue field.';
228        $html .= '</form>';
229    }
230    else
231    {
232        $html .= 'No Data.<br/>';
233    }
234}
235$page->addContext($menubox->generate());
236$page->setContent($html);
237$page->generate();
238?>
Note: See TracBrowser for help on using the browser.