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 .= "
";
$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 .= "
";
} 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");
?>