⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ticketactions.php

📁 本代码是为客户联系管理而做的系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
	}

	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 + -