亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tech.php

?? jsp程序開發(fā)系統(tǒng)
?? PHP
字號:
#!/usr/bin/php -q
<?php
// +-------------------------------------------------------------+
// | DeskPRO v [2.0.1 Production]
// | Copyright (C) 2001 - 2004 Headstart Solutions Limited
// | Supplied by WTN-WDYL
// | Nullified by WTN-WDYL
// | Distribution via WebForum, ForumRU and associated file dumps
// +-------------------------------------------------------------+
// | DESKPRO IS NOT FREE SOFTWARE
// +-------------------------------------------------------------+
// | License ID : Full Enterprise License =) ...
// | License Owner : WTN-WDYL Team
// +-------------------------------------------------------------+
// | $RCSfile: tech.php,v $
// | $Date: 2004/02/11 01:28:14 $
// | $Revision: 1.60 $
// +-------------------------------------------------------------+
// | File Details:
// | - process() provider for technician-mailed e-mails.
// +-------------------------------------------------------------+

error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);

//////////////////// PART 1 INCLUDES ////////////////////

define('TECHPOP', 1);
define('TECHZONE', 1);
include("mail_config.php");
include(INCLUDE_PATH . 'functions/admin-tech_functions.php');
include("mail.php");

###################### FUNCTION PROCESS() #######################

/*	Deals with incoming tech email for reply creation

		$message:	the email after it has been decoded (array of elements)
		$source :	the source of the email
		$gateway:	gateway info [optional]
*/

function process(&$message, &$source, $gateway = NULL) {
	global $db, $settings, $template_cache, $output, $sourceid, $user;

	// rename a few variables for ease of access
	$email['from'] = trim($message->fromEmail);
	$headers = $message->headers;
	$subject = $headers['subject'];

	//////////////////////////////////////////////////////////////
	/* 1. STANDARD PROCESSING									*/
	//////////////////////////////////////////////////////////////

	// insert the full email
	$sourceid = store_mail($headers, $source);

	// we don't want to autorespond to another DeskPRO
	if (in_string('DeskPRO', $headers['X-Mailer'])) {
		log_error('sent_by_deskpro', $message);
	}

	// no valid return email (decoding functions look at various mail headers)
	if (!$email['from']) {
		log_error('no_email', $message);
		return true;
	}

	if (!(validate_email($email['from']))) {
		log_error('invalid_email', $message);
		return true;
	}

	// Handle e-mail bans. First, if this sender is banned, reject it.
	if (banned_email(strtolower($email['from']), $banned_emails)) {
		log_error('banned_email', $message);
		return true;
	}

	// Next, if the sender is ourselves, ignore the message (because that's
	// a common spam trick and we'll never be mailing ourselves anyway)
	if (strtolower($settings[email_from]) == strtolower($email['from'])) {
		log_error('self_email', $message);
		return true;
	}

	// check the email is not a gateway email, if so we will get autoresponder loops.
	$db->query("SELECT id FROM gateway_accounts WHERE email = '" . mysql_escape_string(strtolower($email['from'])) . "'");
	if ($db->num_rows() > 0) {
		log_error('gateway_email', $message);
		return true;
	}

	// check for text
	if ($message->text) {
		$body = $message->text;
	} elseif ($message->html) {
		$body = strip_tags($message->html);
		$strip_tags = 1;
	} else {
		log_error('no_message', $message);
		return true;
	}

	if (trim($body) == '') {
		log_error('no_message', $message);
		return true;
	}

	/*
		Lets find the ref
			i) subject line							[AAAA-0000-AAAA]
			ii) code at the bottom of the email		<=== AAAA-0000-AAAA ===>
			iii) XML options						<TICKET>$ticket[ref]</TICKET>
					
	*/

	// subject check
	if (ereg("\[([0-9]{4}-[A-Za-z]{4}-[0-9]{4})\]", $subject, $arr)) {
		$ticketref = $arr[1];
	// xml check
	} elseif (ereg("<TICKET>([0-9]{4}-[A-Za-z]{4}-[0-9]{4})<\/TICKET>", $body, $arr)) {
		$ticketref = $arr[1];
	// footer check
	} elseif (ereg("<=== ([0-9]{4}-[A-Za-z]{4}-[0-9]{4}) ===>", $body, $arr)) {
		$ticketref = $arr[1];
	}

	if (!$ticketref) {
		log_error('no_ticketref', $message);
		return true;
	}

	/*
		Lets find the authcode
			i) subject line							(AAAA-0000-AAAA)
			ii) code at the bottom of the email		<=== $ticket[authcode] ===>
			iii) XML options						<AUTHCODE>$ticket[authcode]</AUTHCODE>		
	*/

	// subject check
	if (ereg("\[([a-zA-Z0-9]{8})\]", $subject, $arr)) {
		$ticketauth = $arr[1];
	// xml check
	} elseif (ereg("<AUTHCODE>([a-zA-Z0-9]{8})<\/AUTHCODE>", $body, $arr)) {
		$ticketauth = $arr[1];
	// footer check
	} elseif (ereg("<=== ([a-zA-Z0-9]{8}) ===>", $body, $arr)) {
		$ticketauth = $arr[1];
	}

	/*
		Lets find the tech
			i) XML options						<AUTHCODE>$ticket[authcode]</AUTHCODE>
			ii) From the sender address
	*/

	if (eregi("<TECH>(.*)<\/TECH>", $body, $arr)) {
		$tech_username = $arr[1];
		$user = $db->query_return("SELECT * FROM tech WHERE username = '" . addslashes($arr[1]) . "'");
	}
	if (!$db->num_rows()) {
		$user = $db->query_return("SELECT * FROM tech WHERE email LIKE '%$email[from]%'");
	}

	// we don't know who this tech is. 
	if (!is_array($user)) {
		log_error('no_tech', $message);
		return true;
	}

	// Get ticket information and check if it is valid
	$ticket = $db->query_return("
	SELECT 
		ticket.*, ticket_pri.id AS priority_id, ticket_pri.name AS priority_name, 
		ticket_cat.id AS category_id, ticket_cat.name AS category_name, 
		tech.id AS tech_id, tech.email AS tech_email
	FROM ticket
	LEFT JOIN ticket_pri ON (ticket.priority = ticket_pri.id)
	LEFT JOIN ticket_cat ON (ticket.category = ticket_cat.id)
	LEFT JOIN tech ON (ticket.tech = tech.id)
	WHERE ref = '" . addslashes($ticketref) . "'
	");

	// no match, lets just check this ticket wastn't merged
	if (!$db->num_rows()) {
		$ticket = $db->query_return("SELECT * FROM ticket_merge WHERE old_ref = '$ticketref'");
		
		if ($ticket['new_id']) {
			$ticket = $db->query_return("
				SELECT 
					ticket.*, ticket_pri.id AS priority_id, ticket_pri.name AS priority_name, 
					ticket_cat.id AS category_id, ticket_cat.name AS category_name, 
					tech.id AS tech_id, tech.email AS tech_email
				FROM ticket
				LEFT JOIN ticket_pri ON (ticket.priority = ticket_pri.id)
				LEFT JOIN ticket_cat ON (ticket.category = ticket_cat.id)
				LEFT JOIN tech ON (ticket.tech = tech.id)
				WHERE ticket = '" . addslashes($ticket['new_id']) . "'
			");
		}
	}

	//////////////////////////////////////////////////////////////
	/* 4. ERROR CHECKING										*/
	//////////////////////////////////////////////////////////////

	// is there a ticket?
	if (!is_array($ticket)) {
		log_error('no_ticket', $message);
		return true;
	}

	// check ticket is open
	if ($ticket[is_open] == "0" AND !$settings['gateway_ticket_reopen']) {
		log_error('ticket_closed', $message);
		return true;
	}

	if (($ticket['authcode']) AND ($ticket['authcode'] != $ticketauth)) {
		log_error('bad_authcode', $message);
		return true;
	}

	//////////////////////////////////////////////////////////////
	/* 4. ACTIONS												*/
	//////////////////////////////////////////////////////////////

	// close ticket
	if (eregi("<CLOSE TICKET>Yes</CLOSE TICKET>", $body) AND p_ticket('close', $ticket)) {
		$close = 1;
	}

	// remove ownership
	if (eregi("<REMOVE OWNERSHIP>Yes</REMOVE OWNERSHIP>", $body) AND p_ticket('edit', $ticket)) {
		$assign = 'remove';
	}

	// Taking ownership overrides removing ownership; just in case the tech tries to
	// be 'clever' and does both, we'll catch it
	if (eregi("<TAKE OWNERSHIP>Yes</TAKE OWNERSHIP>", $body) AND p_ticket('edit', $ticket)) {
		$assign = 'assign';
	}

	//////////////////////////////////////////////////////////////
	/* 6. AUTORESPONSE PROTECTION */
	//////////////////////////////////////////////////////////////

	// 1 hour
	$auto_time = mktime() - (3600 * 1);

	$result = $db->query_return(
		"SELECT COUNT(*) AS total FROM ticket_message
		WHERE ticketid = '$ticket[id]'
		AND date > $auto_time
		AND date > $ticket[date_lastreply_tech]
	");

	// we have reached the max replies to tickets, generate error and stop processing
	if ($settings['max_reply']) {
		if ($result[total] > $settings['max_reply']) {
			log_error('autoresponder_reply', $message);
			return true;
		}
	}	

	//////////////////////////////////////////////////////////////
	/* 7. IF SET BY ADMIN, ATTEMPT TO IGNORE PREVIOUS QUOTED REPLIES */
	//////////////////////////////////////////////////////////////

	if ($settings['gateway_reply_cut']) {

		// Look for our markers first.

		if (eregi('=== Enter your reply below this line ===(.*)=== Enter your reply above this line ===', $body, $arr)) {
			$body = $arr[1];
			if ($extra_quote = strrpos($body, '>')) {
				if ((strlen($body) - $extra_quote) < 5) {
					$body = substr($body, 0, $extra_quote);
				}
			}
		} elseif ($body_tmp = preg_replace('/^----- Original Message -----.*^From.*^To:.*^Sent:.*^Subject:.*$/imsU', '', $data)) {
			$body = trim($body_tmp);
		}

		if ($end) {
			// We do $end - 3 here because "usually" mail clients do quotes like this:
			// > original message
			// That's a quote marker, a space, then the text. We want to kill those two
			// characters, plus the newline preceeding them. This has a slight chance of
			// deleting the last character in the reply if the quote isn't shown by two
			// characters, or if it's otherwise malformed.

			$body = substr($body, 0, ($end - 3));

			if (trim($body == '')) {
				log_error('no_message', $message);
				return true;
			}
		}
	}

	//////////////////////////////////////////////////////////////
	/* 8. ADD REPLY TO TICKET								*/
	//////////////////////////////////////////////////////////////

	if (!p_ticket('edit', $ticket)) {
		log_error('no_permission', $message);
		return true;
	}

	// add the new post to database
	$db->query("INSERT into ticket_message SET
		message = '" . mysql_escape_string($body) . "',
		ticketid = '$ticket[id]',
		striptags = '$striptags',
		sourceid = '$sourceid',
		date = '" . mktime() . "',
		techid = '$user[id]'
	");

	$ticket['body'] = $body;
	
	ticketlog($ticket['id'], 'tech_replied'); 

	//////////////////////////////////////////////////////////////
	/* 9. UPDATE TICKET											*/
	//////////////////////////////////////////////////////////////

	$db->query("
		UPDATE ticket SET
		awaiting_tech = '0',
		date_awaiting_toggled = '" . mktime() . "',
		is_open = '" . iff($close, 0, 1) . "', ".
		iff($assign == 'assign', "tech = '$user[id]',") .
		iff($assign == 'remove', "tech = '0',") . "
		date_lastreply_tech = '" . mktime() . "'
		WHERE id = $ticket[id]
	");

	if ($assign OR $close) {
		$ticket['action'] = 1;
		if ($assign == 'assign') {
			$ticket['assign'] = 1;
			ticketlog($ticket['id'], 'tech', $ticket[tech], $user[id]);
		} elseif ($assign == 'remove') {
			$ticket['remove'] = 1;
			ticketlog($ticket['id'], 'tech', $ticket[tech], 0);
		}

		if ($close) {
			$ticket['close'] = 1;
			ticketlog($ticket['id'], 'close');
		}
	}

	//////////////////////////////////////////////////////////////
	/* 10. PROCESS ATTACHMENTS									*/
	//////////////////////////////////////////////////////////////

	$attachments = process_attachments($message->attachments, $message->embedded, $ticket[id], $user[id]);
	// Limit quoted message to 16k at most
	$message = substr($body, NULL, 16384);

	//////////////////////////////////////////////////////////////
	/* 11. SEND EMAIL TO USERS									*/
	//////////////////////////////////////////////////////////////
	
	$ticket['category'] = $ticket['category_name'];
	$ticket['priority'] = $ticket['priority_name'];

	$ticket_user = $db->query_return("SELECT * FROM user WHERE id = $ticket[userid]");
	notify_user('reply_tech', $ticket, $ticket_user, $message, $attachments, $ticket[gatewayid]);

	return true;
}
?>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区二区三区| 国产精品免费aⅴ片在线观看| 成人免费视频一区| 亚洲成a人在线观看| 国产欧美精品一区二区色综合朱莉| 欧美人伦禁忌dvd放荡欲情| 国产不卡视频在线播放| 秋霞午夜鲁丝一区二区老狼| 一区二区三区91| 国产欧美一区二区三区在线老狼 | 欧美午夜免费电影| 国产一区二区在线观看视频| 亚洲主播在线观看| 国产精品视频在线看| 日韩精品一区二区三区三区免费 | 成人h版在线观看| 青青草国产成人99久久| 亚洲综合一二三区| 亚洲欧美综合在线精品| 久久久久一区二区三区四区| 欧美乱妇15p| 日本丰满少妇一区二区三区| 懂色中文一区二区在线播放| 美腿丝袜亚洲色图| 视频一区在线播放| 一区二区不卡在线视频 午夜欧美不卡在| 国产网站一区二区| 久久午夜羞羞影院免费观看| 日韩欧美亚洲另类制服综合在线| 欧美高清www午色夜在线视频| 欧美午夜精品久久久久久超碰 | 欧美二区三区91| 欧美色偷偷大香| 欧美三电影在线| 欧美三级欧美一级| 欧美性受xxxx黑人xyx| 在线欧美日韩精品| 欧美在线观看一区| 欧美久久一二三四区| 欧美日韩视频专区在线播放| 欧美日韩一级片在线观看| 欧美视频一区二区| 欧美嫩在线观看| 欧美精品少妇一区二区三区| 91精品在线免费| 日韩欧美激情在线| 久久女同精品一区二区| 日本一区二区在线不卡| 国产精品传媒视频| 亚洲综合在线电影| 日av在线不卡| 激情综合一区二区三区| 国产精品一区免费在线观看| 国产91清纯白嫩初高中在线观看| 不卡av在线免费观看| 91蜜桃传媒精品久久久一区二区| 91福利区一区二区三区| 欧美精品日韩一区| 精品国产网站在线观看| 国产精品午夜久久| 亚洲国产精品久久不卡毛片 | 91久久精品一区二区| 在线免费一区三区| 欧美一区二区三区在线观看| 久久先锋影音av| 亚洲人妖av一区二区| 偷拍与自拍一区| 国产做a爰片久久毛片| 91丨porny丨国产入口| 欧美另类久久久品| 国产日韩影视精品| 亚洲一区影音先锋| 国内精品国产成人国产三级粉色| 成人av在线一区二区| 欧美日韩国产精选| 国产亚洲精品bt天堂精选| 一区二区三区精品在线| 免费观看30秒视频久久| jizz一区二区| 日韩手机在线导航| 中文字幕一区二区三区在线不卡 | 日韩欧美一区二区视频| 国产精品欧美综合在线| 亚洲mv大片欧洲mv大片精品| 久久99精品国产91久久来源| 91亚洲资源网| 亚洲精品一区二区三区精华液| 亚洲日本成人在线观看| 韩国一区二区三区| 欧美日韩大陆在线| 中文字幕一区二区三区四区不卡| 亚洲第一激情av| 成人高清在线视频| 日韩欧美一级特黄在线播放| 一区二区三区精品视频| 丁香五精品蜜臀久久久久99网站 | 91麻豆swag| 久久久av毛片精品| 蜜臀av一区二区在线免费观看| 99久久精品99国产精品| 久久夜色精品国产噜噜av| 亚洲综合免费观看高清完整版 | 国产精品原创巨作av| 欧美日韩精品一区二区三区| 中文字幕中文字幕一区二区| 精品一区二区影视| 欧美精品丝袜中出| 一区二区成人在线| 99这里都是精品| 国产欧美精品一区| 久久狠狠亚洲综合| 欧美理论在线播放| 亚洲国产精品尤物yw在线观看| 成人精品视频网站| 久久一夜天堂av一区二区三区| 日本va欧美va欧美va精品| 欧美三级蜜桃2在线观看| 亚洲欧美中日韩| 成人高清视频在线| 国产欧美一区二区精品仙草咪| 精品一区二区三区香蕉蜜桃| 日韩一级免费观看| 欧美a级理论片| 制服视频三区第一页精品| 亚洲国产美女搞黄色| 欧美自拍偷拍午夜视频| 一区二区三区四区国产精品| 91国偷自产一区二区开放时间 | 色婷婷综合久久久中文一区二区| 国产视频亚洲色图| 国产老肥熟一区二区三区| 久久久久久久久久久黄色| 国产一区视频网站| 国产亚洲欧美中文| 国产成人av电影在线观看| 欧美极品aⅴ影院| 成人少妇影院yyyy| 亚洲欧美一区二区在线观看| 97精品久久久久中文字幕 | 亚洲一区二三区| 欧美亚洲高清一区| 亚洲高清不卡在线| 欧美一区二区成人| 国产一区二区0| 国产精品国产a级| 色综合久久综合中文综合网| 一二三四社区欧美黄| 欧美高清www午色夜在线视频| 美女高潮久久久| 久久久久免费观看| 99国产精品一区| 亚洲国产欧美日韩另类综合| 欧美一区二区视频在线观看2020| 美女精品一区二区| 欧美国产一区视频在线观看| 成人激情免费网站| 亚洲美女视频在线观看| 欧美日韩精品一区二区三区蜜桃 | 自拍偷拍国产精品| 欧美三级午夜理伦三级中视频| 视频一区国产视频| 久久精品夜夜夜夜久久| 成人三级伦理片| 午夜视频在线观看一区二区 | 亚洲欧洲美洲综合色网| 色欧美片视频在线观看在线视频| 丝袜诱惑制服诱惑色一区在线观看| 欧美一级黄色大片| 成人精品视频一区二区三区尤物| 亚洲一区二区三区在线| 日韩情涩欧美日韩视频| 99久久精品国产麻豆演员表| 五月天激情小说综合| 国产视频亚洲色图| 欧美日韩一级片网站| 国产高清亚洲一区| 亚洲国产精品精华液网站| 久久婷婷综合激情| 欧美中文一区二区三区| 国产在线不卡一卡二卡三卡四卡| 亚洲精品免费在线| 精品国产免费一区二区三区四区| 91丨porny丨国产入口| 激情深爱一区二区| 亚洲午夜精品17c| 国产欧美一区二区在线| 欧美精品tushy高清| 99热在这里有精品免费| 久久国产精品露脸对白| 一区二区三区在线高清| 久久一夜天堂av一区二区三区| 欧美日韩亚洲综合一区二区三区| 国产成人免费在线观看不卡| 天堂午夜影视日韩欧美一区二区| 国产精品久久久久aaaa樱花| 精品乱码亚洲一区二区不卡| 欧美在线999| 99riav久久精品riav| 国产传媒一区在线| 久久精品国产精品青草|