source: minimanager/game_object.php@ 43

Last change on this file since 43 was 19, checked in by george, 18 years ago

Aktualizace MaNGOS Minimanageru na verzi 0.1.4a.

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