source: trunk/test_server/game_object.php@ 656

Last change on this file since 656 was 649, checked in by barny, 16 years ago

*Přidán minimanager pro test server

File size: 50.4 KB
Line 
1<?php
2
3
4require_once("header.php");
5valid_login($action_permission['read']);
6
7 $go_type = Array(
8 0 => array(0,$lang_game_object['DOOR']),
9 1 => array(1,$lang_game_object['BUTTON']),
10 2 => array(2,$lang_game_object['QUESTGIVER']),
11 3 => array(3,$lang_game_object['CHEST']),
12 4 => array(4,$lang_game_object['BINDER']),
13 5 => array(5,$lang_game_object['GENERIC']),
14 6 => array(6,$lang_game_object['TRAP']),
15 7 => array(7,$lang_game_object['CHAIR']),
16 8 => array(8,$lang_game_object['SPELL_FOCUS']),
17 9 => array(9,$lang_game_object['TEXT']),
18 10 => array(10,$lang_game_object['GOOBER']),
19 11 => array(11,$lang_game_object['TRANSPORT']),
20 12 => array(12,$lang_game_object['AREADAMAGE']),
21 13 => array(13,$lang_game_object['CAMERA']),
22 14 => array(14,$lang_game_object['MAP_OBJECT']),
23 15 => array(15,$lang_game_object['MO_TRANSPORT']),
24 16 => array(16,$lang_game_object['DUEL_FLAG']),
25 17 => array(17,$lang_game_object['FISHING_BOBBER']),
26 18 => array(18,$lang_game_object['RITUAL']),
27 19 => array(19,$lang_game_object['MAILBOX']),
28 20 => array(20,$lang_game_object['AUCTIONHOUSE']),
29 21 => array(21,$lang_game_object['GUARDPOST']),
30 22 => array(22,$lang_game_object['SPELLCASTER']),
31 23 => array(23,$lang_game_object['MEETING_STONE']),
32 24 => array(24,$lang_game_object['BG_Flag']),
33 25 => array(25,$lang_game_object['FISHING_HOLE']),
34 26 => array(26,$lang_game_object['FLAGDROP']),
35 27 => array(27,$lang_game_object['CUSTOM_TELEPORTER']),
36 28 => array(28,$lang_game_object['LOTTERY_KIOSK']),
37 29 => array(29,$lang_game_object['CAPTURE_POINT']),
38 30 => array(30,$lang_game_object['AURA_GENERATOR']),
39 31 => array(31,$lang_game_object['DUNGEON_DIFFICULTY'])
40);
41
42function get_go_type($flag){
43 global $lang_game_object, $go_type;
44
45 if (isset($go_type[$flag])) return $go_type[$flag][1];
46 else return $lang_game_object['unknown'];
47}
48
49function makeinfocell($text,$tooltip){
50 return "<a href=\"#\" onmouseover=\"toolTip('".addslashes($tooltip)."','info_tooltip')\" onmouseout=\"toolTip()\">$text</a>";
51}
52
53//########################################################################################################################
54// PRINT GO SEARCH FORM
55//########################################################################################################################
56function search() {
57 global $lang_global, $lang_game_object, $output, $world_db, $realm_id, $go_type;
58
59 $sql = new SQL;
60 $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
61
62 $result = $sql->query("SELECT count(*) FROM gameobject_template");
63 $tot_go = $sql->result($result, 0);
64 $sql->close();
65
66 $output .= "<center>
67 <fieldset class=\"full_frame\">
68 <legend>{$lang_game_object['search_template']}</legend><br />
69 <form action=\"game_object.php?action=do_search&amp;error=2\" method=\"post\" name=\"form\">
70 <table class=\"hidden\">
71 <tr>
72 <td>{$lang_game_object['entry']}:</td>
73 <td><input type=\"text\" size=\"14\" maxlength=\"11\" name=\"entry\" /></td>
74 <td>{$lang_game_object['name']}:</td>
75 <td colspan=\"3\"><input type=\"text\" size=\"45\" maxlength=\"100\" name=\"name\" /></td>
76 </tr>
77 <tr>
78 <td>{$lang_game_object['script_name']}</td>
79 <td><input type=\"text\" size=\"14\" maxlength=\"100\" name=\"ScriptName\" /></td>
80 <td >{$lang_game_object['type']}:</td>
81 <td colspan=\"3\"><select name=\"type\">
82 <option value=\"-1\">{$lang_game_object['select']}</option>";
83 foreach ($go_type as $type) $output .= "<option value=\"$type[0]\">($type[0]) $type[1]</option>";
84 $output .= "</select></td>
85 </tr>
86 <tr>
87 <td>{$lang_game_object['displayId']}:</td>
88 <td><input type=\"text\" size=\"14\" maxlength=\"11\" name=\"displayId\" /></td>
89 <td>{$lang_game_object['faction']}:</td>
90 <td><input type=\"text\" size=\"14\" maxlength=\"11\" name=\"faction\" /></td>
91 <td>{$lang_game_object['flags']}:</td>
92 <td><input type=\"text\" size=\"15\" maxlength=\"11\" name=\"flags\" /></td>
93 </tr>
94 <tr>
95 <td>{$lang_game_object['custom_search']}:</td>
96 <td colspan=\"3\"><input type=\"text\" size=\"45\" maxlength=\"512\" name=\"custom_search\" /></td>
97 <td colspan=\"2\">";
98 makebutton($lang_game_object['search'], "javascript:do_submit()",150);
99$output .= "</td></tr>
100 <tr>
101 <td colspan=\"6\">-----------------------------------------------------------------------------------------------------------------------------------------------</td>
102 </tr>
103 <tr>
104 <td></td>
105 <td colspan=\"2\">";
106 makebutton($lang_game_object['add_new'], "game_object.php?action=add_new&error=3",200);
107 $output .= "</td>
108 <td colspan=\"3\">{$lang_game_object['tot_go_templ']}: $tot_go</td>
109 </tr>
110 </table>
111</form>
112</fieldset><br /><br /></center>";
113}
114
115
116//########################################################################################################################
117// SHOW SEARCH RESULTS
118//########################################################################################################################
119function do_search() {
120 global $lang_global, $lang_game_object, $output, $world_db, $realm_id, $go_datasite, $sql_search_limit,
121 $go_type;
122 wowhead_tt();
123
124 require_once("./scripts/get_lib.php");
125 $deplang = get_lang_id();
126
127 if((!isset($_POST['entry'])||$_POST['entry'] === '')&&(!isset($_POST['name'])||$_POST['name'] === '')&&(!isset($_POST['ScriptName'])||$_POST['ScriptName'] === '')&&(!isset($_POST['displayId'])||$_POST['displayId'] === '')
128 &&(!isset($_POST['faction'])||$_POST['faction'] === '')&&(!isset($_POST['flags'])||$_POST['flags'] === '')&&(!isset($_POST['custom_search'])||$_POST['custom_search'] === '')
129 &&($_POST['type'] == -1 )) {
130 redirect("game_object.php?error=1");
131 }
132
133$sql = new SQL;
134$sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
135
136if ($_POST['entry'] != '') $entry = $sql->quote_smart($_POST['entry']);
137if ($_POST['name'] != '') $name = $sql->quote_smart($_POST['name']);
138if ($_POST['type'] != -1) $type = $sql->quote_smart($_POST['type']);
139if ($_POST['ScriptName'] != '') $ScriptName = $sql->quote_smart($_POST['ScriptName']);
140if ($_POST['displayId'] != '') $displayId = $sql->quote_smart($_POST['displayId']);
141if ($_POST['faction'] != '') $faction = $sql->quote_smart($_POST['faction']);
142if ($_POST['flags'] != '') $flags = $sql->quote_smart($_POST['flags']);
143if ($_POST['custom_search'] != '') $custom_search = $sql->quote_smart($_POST['custom_search']);
144 else $custom_search = "";
145
146 $where = "WHERE gameobject_template.entry > 0 ";
147 if($custom_search != "") $where .= " $custom_search ";
148 if(isset($entry)) $where .= "AND gameobject_template.entry = '$entry' ";
149 if(isset($name)) $where .= "AND IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`name`) LIKE '%$name%' ";
150 if(isset($type)) $where .= "AND type = '$type' ";
151 if(isset($ScriptName)) $where .= "AND ScriptName LIKE '%$ScriptName%' ";
152 if(isset($displayId)) $where .= "AND displayId = '$displayId' ";
153 if(isset($faction)) $where .= "AND faction = '$faction' ";
154 if(isset($flags)) $where .= "AND flags = '$flags' ";
155
156 if($where == "WHERE gameobject_template.entry > 0 ") redirect("game_object.php?error=1");
157 $result = $sql->query("SELECT gameobject_template.entry, type, displayId, IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`name`) as name, faction FROM gameobject_template LEFT JOIN locales_gameobject ON gameobject_template.entry = locales_gameobject.entry $where ORDER BY gameobject_template.entry LIMIT $sql_search_limit");
158 $total_found = $sql->num_rows($result);
159
160 $output .= "<center>
161 <table class=\"top_hidden\"></td>
162 <tr><td>";
163 makebutton($lang_game_object['new_search'], "game_object.php",160);
164 $output .= "</td>
165 <td align=\"right\">{$lang_game_object['tot_found']} : $total_found : {$lang_global['limit']} $sql_search_limit</td>
166 </tr></table>";
167
168 $output .= "<table class=\"lined\">
169 <tr>
170 <th width=\"10%\">{$lang_game_object['entry']}</th>
171 <th width=\"40%\">{$lang_game_object['name']}</th>
172 <th width=\"20%\">{$lang_game_object['type']}</th>
173 <th width=\"15%\">{$lang_game_object['displayId']}</th>
174 <th width=\"15%\">{$lang_game_object['faction']}</th>
175 </tr>";
176
177 for ($i=1; $i<=$total_found; $i++){
178 $go = $sql->fetch_row($result);
179
180 $output .= "<tr>
181 <td><a href=\"$go_datasite$go[0]\" target=\"_blank\">$go[0]</a></td>
182 <td><a href=\"game_object.php?action=edit&amp;entry=$go[0]&amp;error=4\">".htmlentities($go[3])."</a></td>
183 <td>".get_go_type($go[1])."</td>
184 <td>$go[2]</td>
185 <td>$go[4]</td>
186 </tr>";
187 }
188 $output .= "</table></center><br />";
189
190 $sql->close();
191}
192
193
194//########################################################################################################################
195// ADD GO
196//########################################################################################################################
197function add_new() {
198 global $lang_global, $lang_game_object, $output, $go_type;
199
200 $output .= "<script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>
201 <center>
202 <br /><br /><br />
203 <form method=\"post\" action=\"game_object.php?action=do_update\" name=\"form1\">
204 <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>
205 <input type=\"hidden\" name=\"opp_type\" value=\"add_new\"/>
206
207<div class=\"jtab-container\" id=\"container\">
208 <ul class=\"jtabs\">
209 <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">{$lang_game_object['general']}</a></li>
210 <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">{$lang_game_object['datas']}</a></li>
211 </ul>
212 <div class=\"jtab-panes\">";
213
214$output .= "<div id=\"pane1\"><br /><br />
215<table class=\"lined\" style=\"width: 720px;\">
216<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['general']}:</td></tr>
217<tr>
218 <td>".makeinfocell($lang_game_object['entry'],$lang_game_object['entry_desc'])."</td>
219 <td><input type=\"text\" name=\"entry\" size=\"10\" maxlength=\"20\" value=\"0\" /></td>
220
221 <td>".makeinfocell($lang_game_object['name'],$lang_game_object['name_desc'])."</td>
222 <td ><input type=\"text\" name=\"name\" size=\"25\" maxlength=\"100\" value=\"G.O.\" /></td>
223
224 <td>".makeinfocell($lang_game_object['faction'],$lang_game_object['faction_desc'])."</td>
225 <td><input type=\"text\" name=\"faction\" size=\"10\" maxlength=\"4\" value=\"0\" /></td>
226</tr>
227<tr>
228 <td>".makeinfocell($lang_game_object['type'],$lang_game_object['type_desc'])."</td>
229 <td colspan=\"3\"><select name=\"type\">";
230 foreach ($go_type as $type) $output .= "<option value=\"$type[0]\">($type[0]) $type[1]</option>";
231 $output .= "</select></td>
232 <td>".makeinfocell($lang_game_object['displayId'],$lang_game_object['displayId_desc'])."</td>
233 <td><input type=\"text\" name=\"displayId\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
234
235</tr>
236<tr>
237 <td>".makeinfocell($lang_game_object['flags'],$lang_game_object['flags_desc'])."</td>
238 <td><input type=\"text\" name=\"flags\" size=\"10\" maxlength=\"4\" value=\"0\" /></td>
239
240 <td>".makeinfocell($lang_game_object['size'],$lang_game_object['size_desc'])."</td>
241 <td><input type=\"text\" name=\"size\" size=\"10\" maxlength=\"25\" value=\"1\" /></td>
242
243 <td>".makeinfocell($lang_game_object['script_name'],$lang_game_object['ScriptName_desc'])."</td>
244 <td><input type=\"text\" name=\"ScriptName\" size=\"10\" maxlength=\"100\" value=\"\" /></td>
245</tr>
246
247<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>
248<tr>
249 <td>".makeinfocell($lang_game_object['data']." 0",$lang_game_object['data_desc'])."</td>
250 <td><input type=\"text\" name=\"data0\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
251
252 <td>".makeinfocell($lang_game_object['data']." 1",$lang_game_object['data_desc'])."</td>
253 <td><input type=\"text\" name=\"data1\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
254
255 <td>".makeinfocell($lang_game_object['data']." 2",$lang_game_object['data_desc'])."</td>
256 <td><input type=\"text\" name=\"data2\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
257</tr>
258<tr>
259 <td>".makeinfocell($lang_game_object['data']." 3",$lang_game_object['data_desc'])."</td>
260 <td><input type=\"text\" name=\"data3\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
261
262 <td>".makeinfocell($lang_game_object['data']." 4",$lang_game_object['data_desc'])."</td>
263 <td><input type=\"text\" name=\"data4\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
264
265 <td>".makeinfocell($lang_game_object['data']." 5",$lang_game_object['data_desc'])."</td>
266 <td><input type=\"text\" name=\"data5\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
267</tr>
268</table>
269<br /><br />
270</div>
271
272<div id=\"pane2\">
273 <br /><br /><table class=\"lined\" style=\"width: 720px;\">
274
275<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>
276<tr>
277 <td>".makeinfocell($lang_game_object['data']." 6",$lang_game_object['data_desc'])."</td>
278 <td><input type=\"text\" name=\"data6\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
279
280 <td>".makeinfocell($lang_game_object['data']." 7",$lang_game_object['data_desc'])."</td>
281 <td><input type=\"text\" name=\"data7\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
282
283 <td>".makeinfocell($lang_game_object['data']." 8",$lang_game_object['data_desc'])."</td>
284 <td><input type=\"text\" name=\"data8\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
285</tr>
286<tr>
287 <td>".makeinfocell($lang_game_object['data']." 9",$lang_game_object['data_desc'])."</td>
288 <td><input type=\"text\" name=\"data9\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
289
290 <td>".makeinfocell($lang_game_object['data']." 10",$lang_game_object['data_desc'])."</td>
291 <td><input type=\"text\" name=\"data10\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
292
293 <td>".makeinfocell($lang_game_object['data']." 11",$lang_game_object['data_desc'])."</td>
294 <td><input type=\"text\" name=\"data11\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
295</tr>
296<tr>
297 <td>".makeinfocell($lang_game_object['data']." 12",$lang_game_object['data_desc'])."</td>
298 <td><input type=\"text\" name=\"data12\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
299
300 <td>".makeinfocell($lang_game_object['data']." 13",$lang_game_object['data_desc'])."</td>
301 <td><input type=\"text\" name=\"data13\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
302
303 <td>".makeinfocell($lang_game_object['data']." 14",$lang_game_object['data_desc'])."</td>
304 <td><input type=\"text\" name=\"data14\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
305</tr>
306<tr>
307 <td>".makeinfocell($lang_game_object['data']." 15",$lang_game_object['data_desc'])."</td>
308 <td><input type=\"text\" name=\"data15\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
309
310 <td>".makeinfocell($lang_game_object['data']." 16",$lang_game_object['data_desc'])."</td>
311 <td><input type=\"text\" name=\"data16\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
312
313 <td>".makeinfocell($lang_game_object['data']." 17",$lang_game_object['data_desc'])."</td>
314 <td><input type=\"text\" name=\"data17\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
315</tr>
316<tr>
317 <td>".makeinfocell($lang_game_object['data']." 18",$lang_game_object['data_desc'])."</td>
318 <td><input type=\"text\" name=\"data18\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
319
320 <td>".makeinfocell($lang_game_object['data']." 19",$lang_game_object['data_desc'])."</td>
321 <td><input type=\"text\" name=\"data19\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
322
323 <td>".makeinfocell($lang_game_object['data']." 20",$lang_game_object['data_desc'])."</td>
324 <td><input type=\"text\" name=\"data20\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
325</tr>
326<tr>
327 <td>".makeinfocell($lang_game_object['data']." 21",$lang_game_object['data_desc'])."</td>
328 <td><input type=\"text\" name=\"data21\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
329
330 <td>".makeinfocell($lang_game_object['data']." 22",$lang_game_object['data_desc'])."</td>
331 <td><input type=\"text\" name=\"data22\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
332
333 <td>".makeinfocell($lang_game_object['data']." 23",$lang_game_object['data_desc'])."</td>
334 <td><input type=\"text\" name=\"data23\" size=\"10\" maxlength=\"11\" value=\"0\" /></td>
335</tr>
336</table><br /><br />
337</div>
338
339</div>
340<br />
341</form>
342<script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>";
343
344 $output .= "<table class=\"hidden\">
345 <tr><td>";
346 makebutton($lang_game_object['save_to_db'], "javascript:do_submit('form1',0)",180);
347 makebutton($lang_game_object['save_to_script'], "javascript:do_submit('form1',1)",180);
348 makebutton($lang_game_object['lookup_go'], "game_object.php",180);
349 $output .= "</td></tr>
350 </table></center>";
351}
352
353
354//########################################################################################################################
355// EDIT GO FORM
356//########################################################################################################################
357function edit() {
358 global $lang_global, $lang_game_object, $output, $world_db, $realm_id, $item_datasite, $go_datasite,
359 $go_type, $quest_datasite;
360 wowhead_tt();
361
362 if (!isset($_GET['entry'])) redirect("game_object.php?error=1");
363
364 $sql = new SQL;
365 $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
366
367 $entry = $sql->quote_smart($_GET['entry']);
368 require_once("./scripts/get_lib.php");
369 $deplang = get_lang_id();
370 $result = $sql->query("SELECT gameobject_template.`entry`,`type`,`displayId`,IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`name`) as name,`faction`,`flags`,`size`,`data0`,`data1`,`data2`,`data3`,`data4`,`data5`,`data6`,`data7`,`data8`,`data9`,`data10`,`data11`,`data12`,`data13`,`data14`,`data15`,`data16`,`data17`,`data18`,`data19`,`data20`,`data21`,`data22`,`data23`,`ScriptName` FROM gameobject_template LEFT JOIN locales_gameobject ON gameobject_template.entry = locales_gameobject.entry WHERE gameobject_template.entry = '$entry'");
371
372 if ($go = $sql->fetch_assoc($result)){
373
374 $output .= "<script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>
375 <center>
376 <br /><br /><br />
377 <form method=\"post\" action=\"game_object.php?action=do_update\" name=\"form1\">
378 <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>
379 <input type=\"hidden\" name=\"opp_type\" value=\"edit\"/>
380 <input type=\"hidden\" name=\"entry\" value=\"$entry\"/>
381
382<div class=\"jtab-container\" id=\"container\">
383 <ul class=\"jtabs\">
384 <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">{$lang_game_object['general']}</a></li>
385 <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">{$lang_game_object['datas']}</a></li>";
386if ($go['type'] == 3) $output .= "<li><a href=\"#\" onclick=\"return showPane('pane3', this)\">{$lang_game_object['loot']}</a></li>";
387 $output .= "<li><a href=\"#\" onclick=\"return showPane('pane4', this)\">{$lang_game_object['quests']}</a></li>
388 </ul>
389 <div class=\"jtab-panes\">";
390
391 $output .= "<div id=\"pane1\"><br /><br />
392<table class=\"lined\" style=\"width: 720px;\">
393<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['general']}:</td></tr>
394<tr>
395 <td>".makeinfocell($lang_game_object['entry'],$lang_game_object['entry_desc'])."</td>
396 <td><a href=\"$go_datasite{$go['entry']}\" target=\"_blank\">{$go['entry']}</a></td>
397
398 <td>".makeinfocell($lang_game_object['name'],$lang_game_object['name_desc'])."</td>
399 <td ><input type=\"text\" name=\"name\" size=\"25\" maxlength=\"100\" value=\"{$go['name']}\" /></td>
400
401 <td>".makeinfocell($lang_game_object['faction'],$lang_game_object['faction_desc'])."</td>
402 <td><input type=\"text\" name=\"faction\" size=\"10\" maxlength=\"4\" value=\"{$go['faction']}\" /></td>
403</tr>
404<tr>
405 <td>".makeinfocell($lang_game_object['type'],$lang_game_object['type_desc'])."</td>
406 <td colspan=\"3\"><select name=\"type\">";
407 foreach ($go_type as $type) {
408 $output .= "<option value=\"$type[0]\" ";
409 if ($type[0] == $go['type']) $output .= "selected=\"selected\" ";
410 $output .= ">($type[0]) $type[1]</option>";
411 }
412 $output .= "</select></td>
413 <td>".makeinfocell($lang_game_object['displayId'],$lang_game_object['displayId_desc'])."</td>
414 <td><input type=\"text\" name=\"displayId\" size=\"10\" maxlength=\"11\" value=\"{$go['displayId']}\" /></td>
415
416</tr>
417<tr>
418 <td>".makeinfocell($lang_game_object['flags'],$lang_game_object['flags_desc'])."</td>
419 <td><input type=\"text\" name=\"flags\" size=\"10\" maxlength=\"4\" value=\"{$go['flags']}\" /></td>
420
421 <td>".makeinfocell($lang_game_object['size'],$lang_game_object['size_desc'])."</td>
422 <td><input type=\"text\" name=\"size\" size=\"10\" maxlength=\"25\" value=\"{$go['size']}\" /></td>
423
424 <td>".makeinfocell($lang_game_object['script_name'],$lang_game_object['ScriptName_desc'])."</td>
425 <td><input type=\"text\" name=\"ScriptName\" size=\"10\" maxlength=\"100\" value=\"{$go['ScriptName']}\" /></td>
426</tr>
427
428<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>
429<tr>
430 <td>".makeinfocell($lang_game_object['data']." 0",$lang_game_object['data_desc'])."</td>
431 <td><input type=\"text\" name=\"data0\" size=\"10\" maxlength=\"11\" value=\"{$go['data0']}\" /></td>
432
433 <td>".makeinfocell($lang_game_object['data']." 1",$lang_game_object['data_desc'])."</td>
434 <td><input type=\"text\" name=\"data1\" size=\"10\" maxlength=\"11\" value=\"{$go['data1']}\" /></td>
435
436 <td>".makeinfocell($lang_game_object['data']." 2",$lang_game_object['data_desc'])."</td>
437 <td><input type=\"text\" name=\"data2\" size=\"10\" maxlength=\"11\" value=\"{$go['data2']}\" /></td>
438</tr>
439<tr>
440 <td>".makeinfocell($lang_game_object['data']." 3",$lang_game_object['data_desc'])."</td>
441 <td><input type=\"text\" name=\"data3\" size=\"10\" maxlength=\"11\" value=\"{$go['data3']}\" /></td>
442
443 <td>".makeinfocell($lang_game_object['data']." 4",$lang_game_object['data_desc'])."</td>
444 <td><input type=\"text\" name=\"data4\" size=\"10\" maxlength=\"11\" value=\"{$go['data4']}\" /></td>
445
446 <td>".makeinfocell($lang_game_object['data']." 5",$lang_game_object['data_desc'])."</td>
447 <td><input type=\"text\" name=\"data5\" size=\"10\" maxlength=\"11\" value=\"{$go['data5']}\" /></td>
448</tr>
449</table><br />";
450
451$result1 = $sql->query("SELECT COUNT(*) FROM gameobject WHERE id = '{$go['entry']}'");
452$output .= "<tr><td colspan=\"6\">{$lang_game_object['go_swapned']} : ".$sql->result($result1, 0)." {$lang_game_object['times']}.</td></tr>
453
454<br />
455</div>
456
457<div id=\"pane2\">
458 <br /><br /><table class=\"lined\" style=\"width: 720px;\">
459
460<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>
461<tr>
462 <td>".makeinfocell($lang_game_object['data']." 6",$lang_game_object['data_desc'])."</td>
463 <td><input type=\"text\" name=\"data6\" size=\"10\" maxlength=\"11\" value=\"{$go['data6']}\" /></td>
464
465 <td>".makeinfocell($lang_game_object['data']." 7",$lang_game_object['data_desc'])."</td>
466 <td><input type=\"text\" name=\"data7\" size=\"10\" maxlength=\"11\" value=\"{$go['data7']}\" /></td>
467
468 <td>".makeinfocell($lang_game_object['data']." 8",$lang_game_object['data_desc'])."</td>
469 <td><input type=\"text\" name=\"data8\" size=\"10\" maxlength=\"11\" value=\"{$go['data8']}\" /></td>
470</tr>
471<tr>
472 <td>".makeinfocell($lang_game_object['data']." 9",$lang_game_object['data_desc'])."</td>
473 <td><input type=\"text\" name=\"data9\" size=\"10\" maxlength=\"11\" value=\"{$go['data9']}\" /></td>
474
475 <td>".makeinfocell($lang_game_object['data']." 10",$lang_game_object['data_desc'])."</td>
476 <td><input type=\"text\" name=\"data10\" size=\"10\" maxlength=\"11\" value=\"{$go['data10']}\" /></td>
477
478 <td>".makeinfocell($lang_game_object['data']." 11",$lang_game_object['data_desc'])."</td>
479 <td><input type=\"text\" name=\"data11\" size=\"10\" maxlength=\"11\" value=\"{$go['data11']}\" /></td>
480</tr>
481<tr>
482 <td>".makeinfocell($lang_game_object['data']." 12",$lang_game_object['data_desc'])."</td>
483 <td><input type=\"text\" name=\"data12\" size=\"10\" maxlength=\"11\" value=\"{$go['data12']}\" /></td>
484
485 <td>".makeinfocell($lang_game_object['data']." 13",$lang_game_object['data_desc'])."</td>
486 <td><input type=\"text\" name=\"data13\" size=\"10\" maxlength=\"11\" value=\"{$go['data13']}\" /></td>
487
488 <td>".makeinfocell($lang_game_object['data']." 14",$lang_game_object['data_desc'])."</td>
489 <td><input type=\"text\" name=\"data14\" size=\"10\" maxlength=\"11\" value=\"{$go['data14']}\" /></td>
490</tr>
491<tr>
492 <td>".makeinfocell($lang_game_object['data']." 15",$lang_game_object['data_desc'])."</td>
493 <td><input type=\"text\" name=\"data15\" size=\"10\" maxlength=\"11\" value=\"{$go['data15']}\" /></td>
494
495 <td>".makeinfocell($lang_game_object['data']." 16",$lang_game_object['data_desc'])."</td>
496 <td><input type=\"text\" name=\"data16\" size=\"10\" maxlength=\"11\" value=\"{$go['data16']}\" /></td>
497
498 <td>".makeinfocell($lang_game_object['data']." 17",$lang_game_object['data_desc'])."</td>
499 <td><input type=\"text\" name=\"data17\" size=\"10\" maxlength=\"11\" value=\"{$go['data17']}\" /></td>
500</tr>
501<tr>
502 <td>".makeinfocell($lang_game_object['data']." 18",$lang_game_object['data_desc'])."</td>
503 <td><input type=\"text\" name=\"data18\" size=\"10\" maxlength=\"11\" value=\"{$go['data18']}\" /></td>
504
505 <td>".makeinfocell($lang_game_object['data']." 19",$lang_game_object['data_desc'])."</td>
506 <td><input type=\"text\" name=\"data19\" size=\"10\" maxlength=\"11\" value=\"{$go['data19']}\" /></td>
507
508 <td>".makeinfocell($lang_game_object['data']." 20",$lang_game_object['data_desc'])."</td>
509 <td><input type=\"text\" name=\"data20\" size=\"10\" maxlength=\"11\" value=\"{$go['data20']}\" /></td>
510</tr>
511<tr>
512 <td>".makeinfocell($lang_game_object['data']." 21",$lang_game_object['data_desc'])."</td>
513 <td><input type=\"text\" name=\"data21\" size=\"10\" maxlength=\"11\" value=\"{$go['data21']}\" /></td>
514
515 <td>".makeinfocell($lang_game_object['data']." 22",$lang_game_object['data_desc'])."</td>
516 <td><input type=\"text\" name=\"data22\" size=\"10\" maxlength=\"11\" value=\"{$go['data22']}\" /></td>
517
518 <td>".makeinfocell($lang_game_object['data']." 23",$lang_game_object['data_desc'])."</td>
519 <td><input type=\"text\" name=\"data23\" size=\"10\" maxlength=\"11\" value=\"{$go['data23']}\" /></td>
520</tr>
521</table>
522<br />
523</div>";
524
525if ($go['type'] == 3){
526$output .= "<div id=\"pane3\">
527 <br /><br /><table class=\"lined\" style=\"width: 720px;\">
528 <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['loot_tmpl_id']}:</td></tr>
529<tr>
530 <td colspan=\"6\">";
531 require_once("scripts/get_lib.php");
532
533 $cel_counter = 0;
534 $row_flag = 0;
535 $output .= "<table class=\"hidden\" align=\"center\"><tr>";
536 $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount, lootcondition, condition_value1, condition_value2 FROM gameobject_loot_template WHERE entry = {$go['data1']} ORDER BY ChanceOrQuestChance DESC");
537 while ($item = $sql->fetch_row($result1)){
538 $cel_counter++;
539 $tooltip = get_item_name($item[0])." ($item[0])<br />{$lang_game_object['drop_chance']}: $item[1]%<br />{$lang_game_object['quest_drop_chance']}: $item[2]%<br />{$lang_game_object['drop_chance']}: $item[3]-$item[4]<br />{$lang_game_object['lootcondition']}: $item[5]<br />{$lang_game_object['condition_value1']}: $item[6]<br />{$lang_game_object['condition_value2']}: $item[7]";
540 $output .= "<td>";
541 $output .= maketooltip("<img src=\"".get_item_icon($item[0])."\" class=\"icon_border\" alt=\"\" />", "$item_datasite$item[0]", "$tooltip", "item_tooltip", "target=\"_blank\"");
542 $output .= "<br /><input type=\"checkbox\" name=\"del_loot_items[]\" value=\"$item[0]\" /></td>";
543
544 if ($cel_counter >= 16) {
545 $cel_counter = 0;
546 $output .= "</tr><tr>";
547 $row_flag++;
548 }
549 };
550 if ($row_flag) $output .= "<td colspan=\"".(16 - $cel_counter)."\"></td>";
551 $output .= "</td></tr></table>
552 </td>
553</tr>
554<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['add_items_to_templ']}:</td></tr>
555<tr>
556<td>".makeinfocell($lang_game_object['loot_item_id'],$lang_game_object['loot_item_id_desc'])."</td>
557 <td><input type=\"text\" name=\"item\" size=\"8\" maxlength=\"10\" value=\"\" /></td>
558<td>".makeinfocell($lang_game_object['loot_drop_chance'],$lang_game_object['loot_drop_chance_desc'])."</td>
559 <td><input type=\"text\" name=\"ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" /></td>
560<td>".makeinfocell($lang_game_object['loot_quest_drop_chance'],$lang_game_object['loot_quest_drop_chance_desc'])."</td>
561 <td><input type=\"text\" name=\"groupid\" size=\"8\" maxlength=\"10\" value=\"0\" /></td>
562</tr>
563<tr>
564<td>".makeinfocell($lang_game_object['min_count'],$lang_game_object['min_count_desc'])."</td>
565 <td><input type=\"text\" name=\"mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>
566<td>".makeinfocell($lang_game_object['max_count'],$lang_game_object['max_count_desc'])."</td>
567 <td><input type=\"text\" name=\"maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>
568</tr>
569<tr>
570<td>".makeinfocell($lang_game_object['lootcondition'],$lang_game_object['lootcondition_desc'])."</td>
571 <td><input type=\"text\" name=\"lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>
572<td>".makeinfocell($lang_game_object['condition_value1'],$lang_game_object['condition_value1_desc'])."</td>
573 <td><input type=\"text\" name=\"condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>
574<td>".makeinfocell($lang_game_object['condition_value2'],$lang_game_object['condition_value2'])."</td>
575 <td><input type=\"text\" name=\"condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>
576</tr>
577</table><br />{$lang_game_object['check_to_delete']}<br /><br />
578</div>";
579}
580
581$output .= "<div id=\"pane4\">
582 <br /><br /><table class=\"lined\" style=\"width: 720px;\">
583 <tr class=\"large_bold\"><td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_game_object['start_quests']}:</td></tr>";
584
585 $result1 = $sql->query("SELECT quest FROM gameobject_questrelation WHERE id = {$go['entry']}");
586 while ($quest = $sql->fetch_row($result1)){
587 $query1 = $sql->query("SELECT QuestLevel, IFNULL(".($deplang<>0?"title_loc$deplang":"NULL").",`title`) as Title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='$quest[0]'");
588 $quest_templ = $sql->fetch_row($query1);
589
590 $output .= "<tr><td width=\"5%\"><input type=\"checkbox\" name=\"del_questrelation[]\" value=\"$quest[0]\" /></td>
591 <td width=\"95%\" align=\"left\"><a class=\"tooltip\" href=\"$quest_datasite$quest[0]\" target=\"_blank\">({$quest_templ[0]}) $quest_templ[1]</a></td></tr>";
592 };
593
594$output .= "<tr class=\"large_bold\" align=\"left\"><td colspan=\"2\" class=\"hidden\">{$lang_game_object['add_starts_quests']}:</td></tr>
595 <tr><td colspan=\"2\" align=\"left\">".makeinfocell($lang_game_object['quest_id'],$lang_game_object['quest_id_desc'])." :
596 <input type=\"text\" name=\"questrelation\" size=\"8\" maxlength=\"8\" value=\"\" /></td></tr>
597
598<tr class=\"large_bold\"><td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_game_object['ends_quests']}:</td></tr>";
599
600 $result1 = $sql->query("SELECT quest FROM gameobject_involvedrelation WHERE id = {$go['entry']}");
601 while ($quest = $sql->fetch_row($result1)){
602 $query1 = $sql->query("SELECT QuestLevel, IFNULL(".($deplang<>0?"title_loc$deplang":"NULL").",`title`) as Title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='$quest[0]'");
603 $quest_templ = $sql->fetch_row($query1);
604
605 $output .= "<tr><td width=\"5%\"><input type=\"checkbox\" name=\"del_involvedrelation[]\" value=\"$quest[0]\" /></td>
606 <td width=\"95%\" align=\"left\"><a class=\"tooltip\" href=\"$quest_datasite$quest[0]\" target=\"_blank\">({$quest_templ[0]}) $quest_templ[1]</a></td></tr>";
607 };
608
609$output .= "<tr class=\"large_bold\" align=\"left\"><td colspan=\"2\" class=\"hidden\">{$lang_game_object['add_ends_quests']}:</td></tr>
610 <tr><td colspan=\"2\" align=\"left\">".makeinfocell($lang_game_object['quest_id'],$lang_game_object['quest_id_desc'])." :
611 <input type=\"text\" name=\"involvedrelation\" size=\"8\" maxlength=\"8\" value=\"\" /></td></tr>
612
613</table><br />{$lang_game_object['check_to_delete']}<br /><br />
614</div>
615
616</div>
617</div>
618<br />
619</form>
620
621<script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>";
622
623 $output .= "<table class=\"hidden\">
624 <tr><td>";
625 makebutton($lang_game_object['save_to_db'], "javascript:do_submit('form1',0)",180);
626 makebutton($lang_game_object['del_go'], "game_object.php?action=delete&amp;entry=$entry",180);
627 makebutton($lang_game_object['del_spawns'], "game_object.php?action=delete_spwn&amp;entry=$entry",180);
628 makebutton($lang_game_object['save_to_script'], "javascript:do_submit('form1',1)",180);
629 $output .= "</td></tr><tr><td>";
630 makebutton($lang_game_object['lookup_go'], "game_object.php",760);
631 $output .= "</td></tr>
632 </table></center>";
633
634 $sql->close();
635 } else {
636 $sql->close();
637 error($lang_game_object['tmpl_not_found']);
638 exit();
639 }
640}
641
642
643//########################################################################################################################
644//DO UPDATE GO TEMPLATE
645//########################################################################################################################
646function do_update() {
647 global $world_db, $realm_id;
648
649 if (!isset($_POST['opp_type']) || $_POST['opp_type'] === '') redirect("game_object.php?error=1");
650 if (!isset($_POST['entry']) || $_POST['entry'] === '') redirect("game_object.php?error=1");
651
652 $sql = new SQL;
653 $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
654
655 $entry = $sql->quote_smart($_POST['entry']);
656 if (isset($_POST['type']) && $_POST['type'] != '') $type = $sql->quote_smart($_POST['type']);
657 else $type = 0;
658 if (isset($_POST['displayId']) && $_POST['displayId'] != '') $displayId = $sql->quote_smart($_POST['displayId']);
659 else $displayId = 0;
660 if (isset($_POST['name']) && $_POST['name'] != '') $name = $sql->quote_smart($_POST['name']);
661 else $name = "";
662 if (isset($_POST['faction']) && $_POST['faction'] != '') $faction = $sql->quote_smart($_POST['faction']);
663 else $faction = 0;
664 if (isset($_POST['flags']) && $_POST['flags'] != '') $flags = $sql->quote_smart($_POST['flags']);
665 else $flags = 0;
666 if (isset($_POST['size']) && $_POST['size'] != '') $size = $sql->quote_smart($_POST['size']);
667 else $size = 0;
668 if (isset($_POST['ScriptName']) && $_POST['ScriptName'] != '') $ScriptName = $sql->quote_smart($_POST['ScriptName']);
669 else $ScriptName = "";
670 if (isset($_POST['data0']) && $_POST['data0'] != '') $data0 = $sql->quote_smart($_POST['data0']);
671 else $data0 = 0;
672 if (isset($_POST['data1']) && $_POST['data1'] != '') $data1 = $sql->quote_smart($_POST['data1']);
673 else $data1 = 0;
674 if (isset($_POST['data2']) && $_POST['data2'] != '') $data2 = $sql->quote_smart($_POST['data2']);
675 else $data2 = 0;
676 if (isset($_POST['data3']) && $_POST['data3'] != '') $data3 = $sql->quote_smart($_POST['data3']);
677 else $data3 = 0;
678 if (isset($_POST['data4']) && $_POST['data4'] != '') $data4 = $sql->quote_smart($_POST['data4']);
679 else $data4 = 0;
680 if (isset($_POST['data5']) && $_POST['data5'] != '') $data5 = $sql->quote_smart($_POST['data5']);
681 else $data5 = 0;
682 if (isset($_POST['data6']) && $_POST['data6'] != '') $data6 = $sql->quote_smart($_POST['data6']);
683 else $data6 = 0;
684 if (isset($_POST['data7']) && $_POST['data7'] != '') $data7 = $sql->quote_smart($_POST['data7']);
685 else $data7 = 0;
686 if (isset($_POST['data8']) && $_POST['data8'] != '') $data8 = $sql->quote_smart($_POST['data8']);
687 else $data8 = 0;
688 if (isset($_POST['data9']) && $_POST['data9'] != '') $data9 = $sql->quote_smart($_POST['data9']);
689 else $data9 = 0;
690 if (isset($_POST['data10']) && $_POST['data10'] != '') $data10 = $sql->quote_smart($_POST['data10']);
691 else $data10 = 0;
692 if (isset($_POST['data11']) && $_POST['data11'] != '') $data11 = $sql->quote_smart($_POST['data11']);
693 else $data11 = 0;
694 if (isset($_POST['data12']) && $_POST['data12'] != '') $data12 = $sql->quote_smart($_POST['data12']);
695 else $data12 = 0;
696 if (isset($_POST['data13']) && $_POST['data13'] != '') $data13 = $sql->quote_smart($_POST['data13']);
697 else $data13 = 0;
698 if (isset($_POST['data14']) && $_POST['data14'] != '') $data14 = $sql->quote_smart($_POST['data14']);
699 else $data14 = 0;
700 if (isset($_POST['data15']) && $_POST['data15'] != '') $data15 = $sql->quote_smart($_POST['data15']);
701 else $data15 = 0;
702 if (isset($_POST['data16']) && $_POST['data16'] != '') $data16 = $sql->quote_smart($_POST['data16']);
703 else $data16 = 0;
704 if (isset($_POST['data17']) && $_POST['data17'] != '') $data17 = $sql->quote_smart($_POST['data17']);
705 else $data17 = 0;
706 if (isset($_POST['data18']) && $_POST['data18'] != '') $data18 = $sql->quote_smart($_POST['data18']);
707 else $data18 = 0;
708 if (isset($_POST['data19']) && $_POST['data19'] != '') $data19 = $sql->quote_smart($_POST['data19']);
709 else $data19 = 0;
710 if (isset($_POST['data20']) && $_POST['data20'] != '') $data20 = $sql->quote_smart($_POST['data20']);
711 else $data20 = 0;
712 if (isset($_POST['data21']) && $_POST['data21'] != '') $data21 = $sql->quote_smart($_POST['data21']);
713 else $data21 = 0;
714 if (isset($_POST['data22']) && $_POST['data22'] != '') $data22 = $sql->quote_smart($_POST['data22']);
715 else $data22 = 0;
716 if (isset($_POST['data23']) && $_POST['data23'] != '') $data23 = $sql->quote_smart($_POST['data23']);
717 else $data23 = 0;
718
719 if (isset($_POST['ChanceOrQuestChance']) && $_POST['ChanceOrQuestChance'] != '') $ChanceOrQuestChance = $sql->quote_smart($_POST['ChanceOrQuestChance']);
720 else $ChanceOrQuestChance = 0;
721 if (isset($_POST['groupid']) && $_POST['groupid'] != '') $groupid = $sql->quote_smart($_POST['groupid']);
722 else $groupid = 0;
723 if (isset($_POST['mincountOrRef']) && $_POST['mincountOrRef'] != '') $mincountOrRef = $sql->quote_smart($_POST['mincountOrRef']);
724 else $mincountOrRef = 0;
725 if (isset($_POST['maxcount']) && $_POST['maxcount'] != '') $maxcount = $sql->quote_smart($_POST['maxcount']);
726 else $maxcount = 0;
727 if (isset($_POST['lootcondition']) && $_POST['lootcondition'] != '') $lootcondition = $sql->quote_smart($_POST['lootcondition']);
728 else $lootcondition = 0;
729 if (isset($_POST['condition_value1']) && $_POST['condition_value1'] != '') $condition_value1 = $sql->quote_smart($_POST['condition_value1']);
730 else $condition_value1 = 0;
731 if (isset($_POST['condition_value2']) && $_POST['condition_value2'] != '') $condition_value2 = $sql->quote_smart($_POST['condition_value2']);
732 else $condition_value2 = 0;
733 if (isset($_POST['item']) && $_POST['item'] != '') $item = $sql->quote_smart($_POST['item']);
734 else $item = 0;
735 if (isset($_POST['del_loot_items']) && $_POST['del_loot_items'] != '') $del_loot_items = $sql->quote_smart($_POST['del_loot_items']);
736 else $del_loot_items = NULL;
737
738 if (isset($_POST['involvedrelation']) && $_POST['involvedrelation'] != '') $involvedrelation = $sql->quote_smart($_POST['involvedrelation']);
739 else $involvedrelation = 0;
740 if (isset($_POST['del_involvedrelation']) && $_POST['del_involvedrelation'] != '') $del_involvedrelation = $sql->quote_smart($_POST['del_involvedrelation']);
741 else $del_involvedrelation = NULL;
742 if (isset($_POST['questrelation']) && $_POST['questrelation'] != '') $questrelation = $sql->quote_smart($_POST['questrelation']);
743 else $questrelation = 0;
744 if (isset($_POST['del_questrelation']) && $_POST['del_questrelation'] != '') $del_questrelation = $sql->quote_smart($_POST['del_questrelation']);
745 else $del_questrelation = NULL;
746
747 if ($_POST['opp_type'] == "add_new"){
748 $sql_query = "INSERT INTO gameobject_template ( entry, type, displayId, name, faction, flags, size, data0, data1,
749 data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13,
750 data14, data15, data16, data17, data18, data19, data20, data21, data22, data23, ScriptName )
751 VALUES ( '$entry', '$type', '$displayId', '$name', '$faction', '$flags', '$size', '$data0', '$data1',
752 '$data2', '$data3', '$data4', '$data5', '$data6', '$data7', '$data8', '$data9', '$data10', '$data11',
753 '$data12', '$data13', '$data14', '$data15', '$data16', '$data17', '$data18', '$data19', '$data20',
754 '$data21', '$data22', '$data23', '$ScriptName' )";
755
756 } elseif ($_POST['opp_type'] == "edit"){
757
758 $sql_query = "UPDATE gameobject_template SET ";
759
760 $result = $sql->query("SELECT gameobject_template.`entry`,`type`,`displayId`,IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`name`) as name,`faction`,`flags`,`size`,`data0`,`data1`,`data2`,`data3`,`data4`,`data5`,`data6`,`data7`,`data8`,`data9`,`data10`,`data11`,`data12`,`data13`,`data14`,`data15`,`data16`,`data17`,`data18`,`data19`,`data20`,`data21`,`data22`,`data23`,`ScriptName` FROM gameobject_template LEFT JOIN locales_gameobject ON gameobject_template.entry = locales_gameobject.entry WHERE gameobject_template.entry = '$entry'");
761 if ($go_templ = $sql->fetch_assoc($result)){
762 if ($go_templ['type'] != $type) $sql_query .= "type='$type',";
763 if ($go_templ['displayId'] != $displayId) $sql_query .= "displayId='$displayId',";
764 if ($go_templ['name'] != $name) $sql_query .= "name='$name',";
765 if ($go_templ['faction'] != $faction) $sql_query .= "faction='$faction',";
766 if ($go_templ['flags'] != $flags) $sql_query .= "flags='$flags',";
767 if ($go_templ['size'] != $size) $sql_query .= "size='$size',";
768 if ($go_templ['data0'] != $data0) $sql_query .= "data0='$data0',";
769 if ($go_templ['data1'] != $data1) $sql_query .= "data1='$data1',";
770 if ($go_templ['data2'] != $data2) $sql_query .= "data2='$data2',";
771 if ($go_templ['data3'] != $data3) $sql_query .= "data3='$data3',";
772 if ($go_templ['data4'] != $data4) $sql_query .= "data4='$data4',";
773 if ($go_templ['data5'] != $data5) $sql_query .= "data5='$data5',";
774 if ($go_templ['data6'] != $data6) $sql_query .= "data6='$data6',";
775 if ($go_templ['data7'] != $data7) $sql_query .= "data7='$data7',";
776 if ($go_templ['data8'] != $data8) $sql_query .= "data8='$data8',";
777 if ($go_templ['data9'] != $data9) $sql_query .= "data9='$data9',";
778 if ($go_templ['data10'] != $data10) $sql_query .= "data10='$data10',";
779 if ($go_templ['data11'] != $data11) $sql_query .= "data11='$data11',";
780 if ($go_templ['data12'] != $data12) $sql_query .= "data12='$data12',";
781 if ($go_templ['data13'] != $data13) $sql_query .= "data13='$data13',";
782 if ($go_templ['data14'] != $data14) $sql_query .= "data14='$data14',";
783 if ($go_templ['data15'] != $data15) $sql_query .= "data15='$data15',";
784 if ($go_templ['data16'] != $data16) $sql_query .= "data16='$data16',";
785 if ($go_templ['data17'] != $data17) $sql_query .= "data17='$data17',";
786 if ($go_templ['data18'] != $data18) $sql_query .= "data18='$data18',";
787 if ($go_templ['data19'] != $data19) $sql_query .= "data19='$data19',";
788 if ($go_templ['data20'] != $data20) $sql_query .= "data20='$data20',";
789 if ($go_templ['data21'] != $data21) $sql_query .= "data21='$data21',";
790 if ($go_templ['data22'] != $data22) $sql_query .= "data22='$data22',";
791 if ($go_templ['data23'] != $data23) $sql_query .= "data23='$data23',";
792 if ($go_templ['ScriptName'] != $ScriptName) $sql_query .= "ScriptName='$ScriptName',";
793
794 $sql->free_result($result);
795 unset($go_templ);
796
797 if (($sql_query == "UPDATE gameobject_template SET ")&&(!$item)&&(!$del_loot_items)
798 &&(!$del_questrelation)&&(!$questrelation)&&(!$del_involvedrelation)&&(!$involvedrelation)){
799 $sql->close();
800 redirect("game_object.php?action=edit&entry=$entry&error=6");
801 } else {
802 if ($sql_query != "UPDATE gameobject_template SET "){
803 $sql_query[strlen($sql_query)-1] = " ";
804 $sql_query .= " WHERE entry = '$entry';\n";
805 } else $sql_query = "";
806 }
807
808 if ($item){
809 $sql_query .= "INSERT INTO gameobject_loot_template (entry, item, ChanceOrQuestChance, `groupid`, mincountOrRef, maxcount, lootcondition, condition_value1, condition_value2)
810 VALUES ($data1,$item,'$ChanceOrQuestChance', '$groupid' ,$mincountOrRef ,$maxcount ,$lootcondition ,$condition_value1 ,$condition_value2);\n";
811 }
812
813 if ($del_loot_items){
814 foreach($del_loot_items as $item_id)
815 $sql_query .= "DELETE FROM gameobject_loot_template WHERE entry = $data1 AND item = $item_id;\n";
816 }
817
818 if ($questrelation){
819 $sql_query .= "INSERT INTO gameobject_questrelation (id, quest) VALUES ($entry,$questrelation);\n";
820 }
821
822 if ($involvedrelation){
823 $sql_query .= "INSERT INTO gameobject_involvedrelation (id, quest) VALUES ($entry,$involvedrelation);\n";
824 }
825
826 if ($del_questrelation){
827 foreach($del_questrelation as $quest_id)
828 $sql_query .= "DELETE FROM gameobject_questrelation WHERE id = $entry AND quest = $quest_id;\n";
829 }
830
831 if ($del_involvedrelation){
832 foreach($del_involvedrelation as $quest_id)
833 $sql_query .= "DELETE FROM gameobject_involvedrelation WHERE id = $entry AND quest = $quest_id;\n";
834 }
835
836
837 } else {
838 $sql->close();
839 redirect("game_object.php?error=5");
840 }
841 } else {
842 $sql->close();
843 redirect("game_object.php?error=5");
844 }
845
846 if ( isset($_POST['backup_op']) && ($_POST['backup_op'] == 1) ){
847 $sql->close();
848 Header("Content-type: application/octet-stream");
849 Header("Content-Disposition: attachment; filename=goid_$entry.sql");
850 echo $sql_query;
851 exit();
852 redirect("game_object.php?action=edit&entry=$entry&error=4");
853 } else {
854 $sql_query = explode(';',$sql_query);
855 foreach($sql_query as $tmp_query) if(($tmp_query)&&($tmp_query != "\n")) $result = $sql->query($tmp_query);
856 $sql->close();
857 }
858
859 if ($result) redirect("game_object.php?action=edit&entry=$entry&error=4");
860 else redirect("game_object.php");
861
862}
863
864
865//#######################################################################################################
866// DELETE GO TEMPLATE
867//#######################################################################################################
868function delete() {
869global $lang_global, $lang_game_object, $output;
870 if(isset($_GET['entry'])) $entry = $_GET['entry'];
871 else redirect("game_object.php?error=1");
872
873 $output .= "<center><h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />
874 <font class=\"bold\">{$lang_game_object['go_template']}: <a href=\"game_object.php?action=edit&amp;entry=$entry\" target=\"_blank\">$entry</a>
875 {$lang_global['will_be_erased']}<br />{$lang_game_object['all_related_data']}</font><br /><br />
876 <table class=\"hidden\">
877 <tr>
878 <td>";
879 makebutton($lang_global['yes'], "game_object.php?action=do_delete&amp;entry=$entry",120);
880 makebutton($lang_global['no'], "game_object.php",120);
881 $output .= "</td>
882 </tr>
883 </table></center><br />";
884}
885
886
887//########################################################################################################################
888// DO DELETE GO TEMPLATE
889//########################################################################################################################
890function do_delete() {
891 global $world_db, $realm_id;
892
893 if(isset($_GET['entry'])) $entry = $_GET['entry'];
894 else redirect("game_object.php?error=1");
895
896 $sql = new SQL;
897 $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
898
899 $result = $sql->query("SELECT guid FROM gameobject WHERE id = '$entry'");
900 while ($guid = $sql->fetch_row($result)){
901 $result = $sql->query("DELETE FROM gameobject_respawn WHERE guid = '$guid'");
902 }
903 $sql->query("DELETE FROM gameobject_involvedrelation WHERE id = '$entry'");
904 $sql->query("DELETE FROM gameobject_questrelation WHERE id = '$entry'");
905 $sql->query("DELETE FROM gameobject_loot_template WHERE entry = '$data1'");
906 $sql->query("DELETE FROM gameobject_template WHERE entry = '$entry'");
907
908 $sql->close();
909 redirect("game_object.php");
910 }
911
912
913//########################################################################################################################
914// DELETE ALL GO SPAWNS
915//########################################################################################################################
916function delete_spwn() {
917 global $world_db, $realm_id;
918
919 if(isset($_GET['entry'])) $entry = $_GET['entry'];
920 else redirect("game_object.php?error=1");
921
922 $sql = new SQL;
923 $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
924 $sql->query("DELETE FROM gameobject WHERE id = '$entry'");
925 $sql->close();
926 redirect("game_object.php?action=edit&entry=$entry&error=4");
927 }
928
929
930//########################################################################################################################
931// MAIN
932//########################################################################################################################
933$err = (isset($_GET['error'])) ? $_GET['error'] : NULL;
934
935$output .= "<div class=\"top\">";
936switch ($err) {
937case 1:
938 $output .= "<h1><font class=\"error\">{$lang_global['empty_fields']}</font></h1>";
939 break;
940case 2:
941 $output .= "<h1><font class=\"error\">{$lang_item_edit['search_results']}</font></h1>";
942 break;
943case 3:
944 $output .= "<h1><font class=\"error\">{$lang_game_object['add_new_go_templ']}</font></h1>";
945 break;
946case 4:
947 $output .= "<h1><font class=\"error\">{$lang_game_object['edit_go_templ']}</font></h1>";
948 break;
949case 5:
950 $output .= "<h1><font class=\"error\">{$lang_game_object['err_adding_new']}</font></h1>";
951 break;
952case 6:
953 $output .= "<h1><font class=\"error\">{$lang_game_object['err_no_fields_updated']}</font></h1>";
954 break;
955default: //no error
956 $output .= "<h1>{$lang_game_object['search_go']}</h1>";
957}
958$output .= "</div>";
959
960$action = (isset($_GET['action'])) ? $_GET['action'] : NULL;
961
962switch ($action) {
963case "search":
964 search();
965 break;
966case "do_search":
967 do_search();
968 break;
969case "add_new":
970 add_new();
971 break;
972case "do_update":
973 do_update();
974 break;
975case "edit":
976 edit();
977 break;
978case "delete":
979 delete();
980 break;
981case "delete_spwn":
982 delete_spwn();
983 break;
984case "do_delete":
985 do_delete();
986 break;
987default:
988 search();
989}
990
991require_once("footer.php");
992?>
Note: See TracBrowser for help on using the repository browser.