📄 ticketactions.php
字号:
}
if (is_array($nukes)) {
foreach ($nukes AS $key => $val) {
ban_email($val['email']);
$del_users[] = $val['userid'];
}
user_delete($del_users);
}
/***********************************************************
FINISH UP & REDIRECT
************************************************************/
form_jump('ticketsearch.php', $message, array('searchtype' => $_REQUEST['searchtype'], 'variables' => $_REQUEST['variables']));
}
/***********************************************************
INDIVIDUAL TICKET PROCESSING
************************************************************/
$ticket = $db->query_return("SELECT * FROM ticket WHERE id = '$id'");
############################### BAN E-MAIL ################################
if ($_REQUEST['do'] == 'nuke') {
if ($user['p_delete_users']) {
$userdata = $db->query_return("SELECT * FROM user WHERE id = '$ticket[userid]'");
user_delete($ticket['userid']);
ban_email($userdata['email']);
}
jump("../home/main.php", "The user has been banned, deleted, and the user's tickets have been deleted.");
}
if ($_REQUEST['do'] == 'banmail' AND $_REQUEST['email']) {
if (!$user['p_edit_users']) {
mistake("You do not have permission to ban users.");
exit;
}
ban_email($_REQUEST['email']);
jump("ticketview.php?id=$id", "The e-mail address has been added to the banned list.");
}
############################### STORE TICKET ###############################
if ($_REQUEST['do'] == "store" AND p_ticket('view')) {
$db->query("DELETE FROM tech_ticket_save WHERE ticketid = $id AND techid = '$user[id]'");
$db->query("INSERT INTO tech_ticket_save (ticketid, techid) VALUES ('$id', '$user[id]')");
jump("ticketview.php?id=$id", "Ticket has been saved in your saved list.");
}
############################### UN-STORE TICKET ###############################
if ($_REQUEST['do'] == "unstore" AND p_ticket('view')) {
$db->query("DELETE FROM tech_ticket_save WHERE ticketid = '$id' AND techid = '$user[id]'");
jump("ticketview.php?id=$id", "Ticket has been removed from your saved list.");
}
############################### FLAG TICKET AS SPAM ###############################
if ($_REQUEST['do'] == "spam" AND p_ticket('edit')) {
$db->query("UPDATE ticket set nodisplay = 1 WHERE id = '$id'");
ticketlog($id, 'spam');
jump("ticketview.php?id=$id", "Ticket has been marked as spam.");
}
############################### FLAG TICKET AS NOT SPAM ###############################
if ($_REQUEST['do'] == "nospam" AND p_ticket('edit')) {
$db->query("UPDATE ticket set nodisplay = 0 WHERE id = '$id'");
ticketlog($id, 'nonspam');
jump("ticketview.php?id=$id", "Ticket has been marked as non-spam.");
}
############################### LOCK TICKET ###############################
if ($_REQUEST['do'] == "lock" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("
UPDATE ticket SET is_locked = 1,
date_locked = '" . mktime() . "'
WHERE id = '$id'
");
ticketlog($id, 'lock');
jump("ticketview.php?id=$id", "Ticket has been locked");
} else {
nopermission('to lock this ticket');
}
}
############################### UNLOCK TICKET ###############################
if ($_REQUEST['do'] == "unlock" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("UPDATE ticket SET is_locked = 0, date_locked = 0 WHERE id = '$id'");
ticketlog($id, 'unlock');
jump("ticketview.php?id=$id", "Ticket has been unlocked");
} else {
nopermission('to lock this ticket');
}
}
############################### SET AS AWAITING TECH ###############################
if ($_REQUEST['do'] == "awaiting_tech" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("UPDATE ticket SET awaiting_tech = 1, date_awaiting_toggled = '" . mktime() . "' WHERE id = '$id'");
ticketlog($id, 'awaiting_tech');
jump("ticketview.php?id=$id", "Ticket has been set as awaiting a technician's response");
} else {
nopermission('to edit this ticket');
}
}
############################### SET AS AWAITING USER ###############################
if ($_REQUEST['do'] == "awaiting_user" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("UPDATE ticket SET awaiting_tech = 0, date_awaiting_toggled = '" . mktime() . "' WHERE id = '$id'");
ticketlog($id, 'awaiting_user');
jump("ticketview.php?id=$id", "Ticket has been set as awaiting a user's response");
} else {
nopermission('to edit this ticket');
}
}
############################### REMOVE OWNERSHIP ###############################
if ($_REQUEST['do'] == "remove_ownership" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("UPDATE ticket SET tech = 0 WHERE id = '$id'");
ticketlog($id, 'tech', $uuser[id], 0);
jump("ticketview.php?id=$id", "Your ownership to this ticket has been removed");
exit;
} else {
nopermission('to edit this ticket');
}
}
############################### TAKE OWNERSHIP ###############################
if ($_REQUEST['do'] == "take_ownership" AND p_ticket('edit')) {
if (p_ticket('edit')) {
$db->query("UPDATE ticket SET tech = $user[id] WHERE id = '$id'");
ticketlog($id, 'tech', $ticket[tech], $user[id]);
jump("ticketview.php?id=$id", "You have been assigned ownership of this ticket");
exit;
} else {
nopermission('to edit this ticket');
}
}
############################### CLOSE TICKET ###############################
if ($_REQUEST['do'] == "close") {
if (p_ticket('close')) {
$db->query("UPDATE ticket SET is_open = 0, date_closed = '$now_' WHERE id = '$id'");
ticketlog($id, 'close');
if ($_REQUEST[email] == '1') {
$ticket = $db->query_return("SELECT * FROM ticket WHERE id = '$id'");
$user_details = $db->query_return("SELECT * FROM user WHERE id = '$ticket[userid]'");
$user_details = update_user_details($user_details);
eval(makeemaileval('message', 'BODY_question_closed', $subject, $ticket));
dp_mail($user_details['email'], $subject, trim($message));
ticketlog($ticket['id'], 'email_sent_to_user', NULL, NULL, "To: $user_details[email], Subject: $subject");
}
jump("ticketview.php?id=$id", "The ticket has been closed");
}
}
############################### OPEN TICKET ###############################
if ($_REQUEST['do'] == "open") {
if (p_ticket('close')) {
ticketlog($id, 'reopen');
$db->query("UPDATE ticket SET is_open = 1 WHERE id = '$id'");
if ($_REQUEST[email] == '1') {
$ticket = $db->query_return("SELECT * FROM ticket WHERE id = '$id'");
$user_details = $db->query_return("SELECT * FROM user WHERE id = '$ticket[userid]'");
unset($user_details['password']);
$user_details = update_user_details($user_details);
eval(makeemaileval('message', 'BODY_question_reopened', $subject, $ticket));
dp_mail($user_details['email'], $subject, trim($message));
ticketlog($ticket['id'], 'email_sent_to_user', NULL, NULL, "To: $user_details[email], Subject: $subject");
}
jump("ticketview.php?id=$id", "The ticket has been reopened");
} else {
jump("ticketview.php?id=$id", "You don't have permission to re-open this ticket.");
}
}
############################### DELETE ###############################
if ($_REQUEST['do'] == "delete") {
if (p_ticket('delete')) {
ticket_delete(array($id));
} else {
nopermission('to delete this ticket');
}
jump("../home/main.php", 'The ticket has been deleted.');
}
############################### MERGE TICKET ###############################
if ($_REQUEST['do'] == "merge" ) {
$fromticket = mysql_escape_string($_REQUEST['fromticket']);
$toticket = mysql_escape_string($_REQUEST['toticket']);
if ($fromticket AND $toticket) {
$ticket_del = $db->query_return("SELECT * FROM ticket WHERE id = '$fromticket'");
$ticket_stay = $db->query_return("SELECT * FROM ticket WHERE id = '$toticket'");
} else {
jump("ticketview.php?id=$ticket_stay[id]", 'Two tickets must be specified
to merge.');
}
// need permission to edit both of these tickets.
if (p_ticket('edit', $ticket_del) AND
p_ticket('delete', $ticket_del) AND
p_ticket('edit', $ticket_stay)) {
// check that the user is the same, or error and jump back
if ($ticket_del[userid] != $ticket_stay[userid]) {
jump("ticketview.php?id=$ticket_stay[id]", 'The tickets belong to different
users and cannot be merged.');
}
// update ticketids for various tables
$db->query("UPDATE ticket_message SET ticketid = '$ticket_stay[id]'
WHERE ticketid = '$ticket_del[id]'");
$db->query("UPDATE ticket_attachments SET ticketid = '$ticket_stay[id]'
WHERE ticketid = '$ticket_del[id]'");
$db->query("UPDATE ticket_notes SET ticketid = '$ticket_stay[id]'
WHERE ticketid = '$ticket_del[id]'");
$db->query("UPDATE user_bill SET ticketid = '$ticket_stay[id]'
WHERE ticketid = '$ticket_del[id]'");
$db->query("UPDATE tech_ticket_watch SET ticketid = '$ticket_stay[id]' WHERE ticketid = '$ticket_del[id]'");
$db->query("SELECT ticketid FROM tech_ticket_save WHERE ticketid = '$ticket_stay[id]'");
if (!($db->num_rows())) { // Only move a saved ticket to the saved list if the receiving ticket isn't already saved
$db->query("UPDATE tech_ticket_save SET ticketid = '$ticket_stay[id]' WHERE ticketid = '$ticket_del[id]'");
}
$db->query("INSERT INTO ticket_merge SET old_id = '$ticket_del[id]', old_ref = '$ticket_del[ref]', new_id = '$ticket_stay[id]', new_ref = '$ticket_stay[ref]'");
// delete merged ticket
$db->query("DELETE FROM ticket WHERE id = '$fromticket'");
ticketlog($toticket, 'merge', $fromticket, $toticket);
jump("ticketview.php?id=$ticket_stay[id]", 'Ticket Merged');
} else {
jump("ticketview.php?id=$ticket_stay[id]", 'You don\'t have permission to edit
both tickets (or permission to delete the ticket to be merged');
}
}
######################### USER AUTORESPONDS TOGGLE #####################################
if ($_REQUEST['do'] == 'autoresp') {
if ($user['p_edit_users']) {
if ($_REQUEST['userid']) {
$db->query('UPDATE user SET autoresponds = ' . iff($_REQUEST['val'], 1, 0) . ' WHERE id = \'' . $_REQUEST['userid'] . "'");
jump("ticketview.php?id=$id", 'User updated.');
} else {
mistake('No user ID specified.');
}
} else {
mistake('You do not have permission to edit users.');
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -