array(0,$lang_ticket['other']), 1 => array(1,$lang_ticket['stuck']), 2 => array(2,$lang_ticket['behavior']), 3 => array(3,$lang_ticket['guild']), 4 => array(4,$lang_ticket['item']), 5 => array(5,$lang_ticket['environmental']), 6 => array(6,$lang_ticket['creep']), 7 => array(7,$lang_ticket['quest']), 8 => array(8,$lang_ticket['technical']), 9 => array(9,$lang_ticket['account']), 10 => array(10,$lang_ticket['character']) ); //######################################################################################################################## // BROWSE TICKETS //######################################################################################################################## function browse_tickets() { global $lang_global, $lang_ticket, $output, $characters_db, $realm_id, $itemperpage, $ticket_type; $sql = new SQL; $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']); $start = (isset($_GET['start'])) ? $sql->quote_smart($_GET['start']) : 0; $order_by = (isset($_GET['order_by'])) ? $sql->quote_smart($_GET['order_by']) : "ticket_id"; $dir = (isset($_GET['dir'])) ? $sql->quote_smart($_GET['dir']) : 1; $order_dir = ($dir) ? "ASC" : "DESC"; $dir = ($dir) ? 0 : 1; //get total number of items $query_1 = $sql->query("SELECT count(*) FROM character_ticket"); $all_record = $sql->result($query_1,0); $query = $sql->query("select `characters`.`character_ticket`.`ticket_id` AS `ticket_id`,`characters`.`character_ticket`.`guid` AS `guid`,SUBSTRING_INDEX(`character_ticket`.`ticket_text`,' ',6) AS `SUBSTRING_INDEX(character_ticket.ticket_text,' ',6)`,`characters`.`character_ticket`.`ticket_category` AS `ticket_category`,`characters`.`characters`.`name` AS `name`, ((`characters`.`characters`.`race`=1) or (`characters`.`characters`.`race`=3) or (`characters`.`characters`.`race`=4) or (`characters`.`characters`.`race`=7) or (`characters`.`characters`.`race`=11)) AS `race` from (`characters`.`character_ticket` join (`characters`.`characters` left join `characters`.`character_ticket` `k1` on((`k1`.`guid` = `characters`.`characters`.`guid`)))) where (`characters`.`character_ticket`.`guid` = `characters`.`characters`.`guid`) ORDER BY $order_by $order_dir LIMIT $start, $itemperpage"); $this_page = $sql->num_rows($query); $output .="
"; $output .= generate_pagination("ticket.php?action=browse_tickets&order_by=$order_by&dir=".!$dir, $all_record, $itemperpage, $start); $output .= "
"; $output .= "
"; while ($ticket = $sql->fetch_row($query)){ $output .= ""; } $output .= "
{$lang_global['edit']} ".($order_by=='ticket_id' ? " " : "")."{$lang_ticket['id']} ".($order_by=='guid' ? " " : "")."{$lang_ticket['sender']} {$lang_ticket['ticket_text']} ".($order_by=='ticket_category' ? " " : "")."{$lang_ticket['category']} Frakcja
{$lang_global['edit']} $ticket[0] $ticket[4] $ticket[2] ... {$ticket_type[$ticket[3]][1]} ".($ticket[5]?'Alliance':'Horde')."

"; makebutton($lang_ticket['del_selected_tickets'], "javascript:do_submit()",200); $output .= " {$lang_ticket['tot_tickets']}: $all_record

"; $sql->close(); } //######################################################################################################################## // DELETE TICKETS //######################################################################################################################## function delete_tickets() { global $lang_global, $characters_db, $realm_id; $sql = new SQL; $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']); if(isset($_GET['check'])) $check = $sql->quote_smart($_GET['check']); else redirect("ticket.php?error=1"); $deleted_tickets = 0; for ($i=0; $iquery("DELETE FROM character_ticket WHERE ticket_id = '$check[$i]'"); $deleted_tickets++; } } $sql->close(); if ($deleted_tickets == 0) redirect("ticket.php?error=3"); else redirect("ticket.php?error=2"); } //######################################################################################################################## // EDIT TICKET //######################################################################################################################## function edit_ticket() { global $lang_global, $lang_ticket, $output, $characters_db, $realm_id, $ticket_type; $sql = new SQL; $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']); if(isset($_GET['id'])) $id = $sql->quote_smart($_GET['id']); else redirect("ticket.php?error=1"); $query = $sql->query("SELECT character_ticket.guid, character_ticket.ticket_text, character_ticket.ticket_category,`characters`.name FROM character_ticket,`characters` LEFT JOIN character_ticket k1 ON k1.`guid`=`characters`.`guid` WHERE character_ticket.guid = `characters`.`guid` AND character_ticket.ticket_id = '$id'"); if ($ticket = $sql->fetch_row($query)) { $output .= "
{$lang_ticket['edit_reply']}
{$lang_ticket['ticket_id']} $id
{$lang_ticket['submitted_by']}: $ticket[3]
{$lang_ticket['ticket_text']}
{$lang_ticket['category']}
"; makebutton($lang_ticket['send_ingame_mail'], "mail.php?type=ingame_mail&to=$ticket[3]",205); makebutton($lang_global['back'], "ticket.php",120); $output .= "
"; $output .= "


"; } else error($lang_global['err_no_records_found']); $sql->close(); } //######################################################################################################################## // DO EDIT TICKET //######################################################################################################################## function do_edit_ticket() { global $characters_db, $realm_id; if((!isset($_POST['new_category'])) ||($_POST['new_category'] === '')|| empty($_POST['new_text']) || empty($_POST['id']) ) { redirect("ticket.php?error=1"); } $sql = new SQL; $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']); $new_category = $sql->quote_smart($_POST['new_category']); $new_text = $sql->quote_smart($_POST['new_text']); $id = $sql->quote_smart($_POST['id']); $query = $sql->query("UPDATE character_ticket SET ticket_text='$new_text', ticket_category ='$new_category' WHERE ticket_id = '$id'"); if ($sql->affected_rows()) { $sql->close(); redirect("ticket.php?error=5"); } else { $sql->close(); redirect("ticket.php?error=6"); } } //######################################################################################################################## // MAIN //######################################################################################################################## $err = (isset($_GET['error'])) ? $_GET['error'] : NULL; $output .= "
"; switch ($err) { case 1: $output .= "

{$lang_global['empty_fields']}

"; break; case 2: $output .= "

{$lang_ticket['ticked_deleted']}

"; break; case 3: $output .= "

{$lang_ticket['ticket_not_deleted']}

"; break; case 4: $output .= "

{$lang_ticket['edit_ticked']}

"; break; case 5: $output .= "

{$lang_ticket['ticket_updated']}

"; break; case 6: $output .= "

{$lang_ticket['ticket_update_err']}

"; break; default: //no error $output .= "

{$lang_ticket['browse_tickets']}

"; } $output .= "
"; $action = (isset($_GET['action'])) ? $_GET['action'] : NULL; switch ($action) { case "browse_tickets": browse_tickets(); break; case "delete_tickets": delete_tickets(); break; case "edit_ticket": edit_ticket(); break; case "do_edit_ticket": do_edit_ticket(); break; default: browse_tickets(); } require_once("footer.php"); ?>