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

📄 email.php

📁 jsp程序开发系统
💻 PHP
字号:
<?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: email.php,v $
// | $Date: 2004/02/11 01:28:14 $
// | $Revision: 1.28 $
// +-------------------------------------------------------------+
// | File Details:
// | - E-mail gateway settings and account maintenance
// |   (administration interface)
// +-------------------------------------------------------------+

error_reporting(E_ALL & ~E_NOTICE);
require_once('./global.php');
//Nullify WTN-WDYL Team

// default do
$_REQUEST['do'] = trim($_REQUEST['do']);
if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
	$_REQUEST['do'] = "list";
}

// globalise variables
$global = array	(
			array('id', 'number')
);
rg($global);

include('./settings_include.php');

############################### UPDATE THE SETTINGS ###############################

if ($_REQUEST['do'] == "update") {

	if ($_REQUEST[settings][use_email] == 1) {
		$db->query("SELECT id FROM gateway_accounts");
		if ($db->num_rows() < 1) {
			mistake("You can not enable the email gateway until you have created a gateway <a href=\"email.php?do=add\">account</a>");
			unset($_REQUEST[settings][use_email]);
		}
	}
	update_settings();

	$_REQUEST['do'] = "list";
}

############################### DISPLAY SETTINGS ###############################

if ($_REQUEST['do'] == "list") {

	admin_header('Email Gateway', 'View Settings');
	show_settings('email.php', array('Gateway Autoresponder Settings', 'Email Gateway', 'Tech Email Gateway'), false);
}

############################### CREATE ACCOUNT ###############################

if ($_REQUEST['do'] == "add2") {

	// we need an email address at least
	if (!validate_email($_REQUEST['email'])) {
		
		alert('You must enter a valid email address');
		$repeat = 1;
		$_REQUEST['do'] = 'add';
			
	} else {
	
		// make account default if it is the first one
		$db->query("SELECT id FROM gateway_accounts");
		if (!$db->num_rows()) {
			$_REQUEST['is_default'] = 1;
			update_settings('new_gateway', $_REQUEST['email']);
		}

		// only want one default accounts
		if ($_REQUEST['is_default'] == 1) {
			$db->query("UPDATE gateway_accounts SET is_default = 0");
		}
	
		$db->query("INSERT INTO gateway_accounts SET
			category = '" . mysql_escape_string($_REQUEST[category]) . "',
			priority = '" . mysql_escape_string($_REQUEST[priority]) . "',
			email = '" . mysql_escape_string($_REQUEST[email]) . "',
			tech = '" . mysql_escape_string($_REQUEST[tech]) . "',
			auto_new = '" . mysql_escape_string($_REQUEST[auto_new]) . "',
			auto_reply = '" . mysql_escape_string($_REQUEST[auto_reply]) . "',
			is_default = '" . mysql_escape_string($_REQUEST[is_default]) .  "'
		");
	
		$id = $db->last_id();
	
		jump("email.php?do=edit&id=$id", 'Gateway account created');
	}
}

############################### EDIT ACCOUNT (2) ###############################

if ($_REQUEST['do'] == "edit2") {

	// we need an email address at least
	if (!validate_email($_REQUEST['email'])) {
		
		alert('You must enter a valid email address');
		$repeat = 1;
		$_REQUEST['do'] = 'edit';
			
	} else {

		// make account default if there is no other default
		$db->query("SELECT id FROM gateway_accounts WHERE id != '$id' AND is_default = 1");
		if (!$db->num_rows()) {
			$_REQUEST['is_default'] = 1;
			update_settings('new_gateway', $_REQUEST['email']);
		}
		
		// only want one default accounts
		if ($_REQUEST['is_default']) {
			$db->query("UPDATE gateway_accounts SET is_default = 0 WHERE id != '$id'");
		}
	
		$db->query("
			UPDATE gateway_accounts SET
				category = '" . mysql_escape_string($_REQUEST[category]) . "',
				priority = '" . mysql_escape_string($_REQUEST[priority]) . "',
				email = '" . mysql_escape_string($_REQUEST[email]) . "',
				tech = '" . mysql_escape_string($_REQUEST[tech]) . "',
				auto_new = '" . mysql_escape_string($_REQUEST[auto_new]) . "',
				auto_reply = '" . mysql_escape_string($_REQUEST[auto_reply]) . "',
				is_default = '" . mysql_escape_string($_REQUEST[is_default]) .  "'
			WHERE id = '$id'
		");
	
		jump('email.php?do=view', 'Gateway account updated');
	}
}

############################### DELETE ACCOUNT ###############################

if ($_REQUEST['do'] == "delete") {

	$result = $db->query_return("SELECT is_default FROM gateway_accounts WHERE id = '$id'");

	if ($result['is_default'] == 1) {
		mistake('You can not delete the default gateway account');
	} else {
		$db->query("DELETE FROM gateway_accounts WHERE id = '$id'");
		$_REQUEST['do'] = "view";

	}
}

############################### LIST ACCOUNTS ###############################

if ($_REQUEST['do'] == "view") {
	
	admin_header('Email Gateway', 'List Accounts');

	$db->query("SELECT * FROM gateway_accounts");
	while ($result = $db->row_array()) {
		$g[$result[id]] = $result[email];
	}

	$db->query("SELECT gateway_accounts.*, ticket_cat.name AS category, ticket_pri.name AS priority, tech.username AS tech
				FROM gateway_accounts
				LEFT JOIN ticket_cat ON (gateway_accounts.category = ticket_cat.id)
				LEFT JOIN ticket_pri ON (gateway_accounts.priority = ticket_pri.id)
				LEFT JOIN tech ON (gateway_accounts.tech = tech.id)
				ORDER BY is_default DESC
			");
	
	while ($gateway = $db->row_array()) {
		if ($gateway[is_default]) {
			$table[] = table_midheader('The Default Account');
		} else {
			if (!$x) {
				$table[] = table_midheader('Your Accounts');
				$x = 1;
			}
		}

		$table[] = array(
			$gateway[email], 
			ifynb($gateway[is_default]),
			$gateway[category], 
			iff($gateway[priority]), 
			iff($gateway[tech]), 
			ifynb($gateway[auto_new]), 
			ifynb($gateway[auto_reply]),
			iff($gateway[is_default], 'n/a', "<a href=\"email.php?do=delete&id=$gateway[id]\">delete</a>"),
			"<a href=\"email.php?do=edit&id=$gateway[id]\">edit</a>"
		);
	}

	$cols = array('Email Address', 'Default', 'Category', 'Priority', 'Technician', 'Auto New', 'Auto Reply', 'Delete', 'Edit');
	table_header("Gateway Accounts");
	table_content($cols, $table);
	table_footer();

	// if email gateway is set to Off we should alert the user to turn it on
	if (!$settings['use_email']) {
		echo table_border("Currently the email interface is turned off. If you wish to use it, you should activate it <a href=\"./email.php\">here</a>");
	}
}

############################### CREATE / VIEW ACCOUNT ###############################

if ($_REQUEST['do'] == "add" OR $_REQUEST['do'] == "edit") {

	if ($repeat) {
		$gateway = $_REQUEST;
	}

	if ($_REQUEST['do'] == "add") {
		admin_header('Email Gateway', 'Add Account');
	} else {
		admin_header('Email Gateway', 'Edit Account');
		$gateway = $db->query_return("SELECT * FROM gateway_accounts WHERE id = $id");
		if (!$db->num_rows()) {
			mistake('The specified gateway account is not defined.');
		}
	}

	$categories[0] = '--- None ---';
	// get category data
	$db->query("SELECT * from ticket_cat");
	while ($cat = $db->row_array()) {
		$categories[$cat[id]] = $cat[name];
	}
	
	$priority[0] = '--- None ---';
	// get priority data
	$db->query("SELECT * from ticket_pri ORDER by pri_order");
	while ($pri = $db->row_array()) {
		$priority[$pri[id]] = $pri[name];
	}
	
	$tech[0] = '--- None ---';
	// get technician data
	$db->query("SELECT id, username from tech");
	while ($tech_name = $db->row_array()) {
		$tech[$tech_name[id]] = $tech_name[username];
	}

	$bit = form_input('email', $gateway[email]);
	$table[] = array('<b>Email</b><br />The email address for this account', $bit);
	$bit = form_radio_yn('is_default', NULL, $gateway['is_default']);
	$table[] = array('<b>Default Account</b><br />Set this account as default', $bit);
	$bit = form_select(category, $categories, '', $gateway[category]);
	$table[] = array('<b>Category</b><br />Category to associate emails with', $bit);
	$bit = form_select('priority', $priority, '', $gateway[priority]);
	$table[] = array('<b>Priority</b><br />Priority to associate emails with', $bit);
	$bit = form_select('tech', $tech,'', $gateway[technician]);
	$table[] = array('<b>Tech Name</b><br />Associate email with a specific user?', $bit);
	$bit = form_radio_yn('auto_new', '', $gateway[auto_new]);
	$table[] = array('<b>New Ticket Autoresponder</b><br />Send new ticket autoresponder messages?', $bit);
	$bit = form_radio_yn('auto_reply', '', $gateway[auto_reply]);
	$table[] = array('<b>New Reply Autoresponder</b><br />Send new reply autoresponder messages?', $bit);

	if ($_REQUEST['do'] == 'add') {
		table_header('Create Gateway Account', 'email.php', array('do' => 'add2'));
		table_content('', $table);
		table_footer('Create Account');
	} else {
		table_header('Update Gateway Account', 'email.php', array('do' => 'edit2', 'id' => $gateway['id']));
		table_content('', $table);
		table_footer('Update Account');
	}
}	

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -