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

📄 userhelp.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: userhelp.php,v $
// | $Date: 2004/02/10 01:34:25 $
// | $Revision: 1.26 $
// +-------------------------------------------------------------+
// | File Details:
// | - User interface help system maintenance (administration
// |   interface)
// +-------------------------------------------------------------+

error_reporting(E_ALL & ~E_NOTICE);

require_once('./global.php');
//Nullify WTN-WDYL Team
language_check();

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

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

admin_header('Technicians FAQ', 'Technicians FAQ');

############################### UPDATE ORDERS ###############################

if ($_REQUEST['do'] == 'updateorders') {

	foreach ($_REQUEST[displayorder] AS $key => $var) {

		$db->query("UPDATE user_help SET displayorder = '$var' WHERE id = '$key'");

	}
	
	alert('Ordering Updated');
	$_REQUEST['do'] = 'view';
}

if ($_REQUEST['do'] == 'delete') {
	$db->query("DELETE FROM user_help WHERE id = '$id'");
	$db->query("DELETE FROM user_help_entries WHERE helpid = '$id'");
}

############################### VIEW HELP ###############################

if ($_REQUEST['do'] == 'view') {

	$categories = $db->query_return_array_id("SELECT id, name FROM user_help_cats");
	$db->query("SELECT user_help.id AS id, 
			user_help.name AS name, 
			user_help.displayorder AS displayorder,
			user_help.category AS category,
			user_help_entries.language AS language
		FROM user_help
		LEFT JOIN user_help_entries ON user_help.id = user_help_entries.helpid
		ORDER BY user_help.category, user_help.name");
	while ($res = $db->row_array()) {
		$entries[$res['id']]['langs'][] = $res['language'];
		$entries[$res['id']]['name'] = $res['name'];
		$entries[$res['id']]['category'] = $res['category'];
		$entries[$res['id']]['displayorder'] = $res['displayorder'];
	}

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]");
	}

	foreach ($languages AS $lang) {
		$langnames[] = $lang['name'];
	}
	
	$i = 0;
	if (is_array($entries)) {
		foreach($entries AS $helpid => $data) {
			$table[$i][] = form_input($helpid, $data['displayorder'], 4, 'displayorder');
			$table[$i][] = $data['name'];
			$table[$i][] = $categories[$data['category']]['name'];

			foreach ($languages AS $key => $var) {
				if (@in_array($key, $entries[$helpid]['langs'])) {
					$table[$i][] = 'Y';
				} else {
					$table[$i][] = 'N';
				}
			}

			$table[$i][] = "<a href=\"userhelp.php?do=edit&id=$helpid\">Edit</a>";
			$table[$i][] = "<a href=\"userhelp.php?do=delete&id=$helpid\">Delete</a>";
			$i++;
		}
	}

	if (is_array($table)) {
		if (!count($table)) {
			$table[] = array('No entries.');
		}
	} else {
		$table = array(array('No entries.'));
	}

	$columns = array_merge(array_merge(array('Order', 'Name', 'Category'), $langnames), 'Edit', 'Delete');

	table_header('View Help Entries', 'userhelp.php', array('do' => 'updateorders'));
	table_content($columns, $table);
	table_footer('Update Ordering');

}

############################### ADD HELP (2) ###############################

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

	$db->query("
		INSERT INTO user_help SET
		name = '" . addslashes($_REQUEST[name]) . "',
		category = '" . addslashes($_REQUEST[category]) . "'
	");

	$id = $db->last_id();

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
	}

	foreach ($languages AS $key => $var) {

		if ($_REQUEST[entry][$key] != '') {

			$db->query("
				INSERT INTO user_help_entries SET
				language = '$key',
				helpid = '$id',
				title = '" . addslashes($_REQUEST[subjects][$key]) . "',
				helpentry = '" . addslashes($_REQUEST[entry][$key]) . "'
			");

		}
	}

	jump('userhelp.php', 'User help entry created');
}

############################### EDIT HELP (2) ###############################

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

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
	}

	$db->query("
		UPDATE user_help SET 
		name = '" . addslashes($_REQUEST[name]) . "',
		category = '" . addslashes($_REQUEST[category]) . "'
		WHERE id = '$_REQUEST[helpid]'
	");

	// delete old entries
	$db->query("DELETE FROM user_help_entries WHERE helpid = '" . addslashes($_REQUEST[helpid]) . "'");
	
	foreach ($languages AS $key => $var) {

		if ($_REQUEST[entry][$key] != '') {

			$db->query("
				INSERT user_help_entries SET
				language = '$key',
				helpid = '" . $_REQUEST[helpid] . "',
				title = '" . addslashes($_REQUEST[subjects][$key]) . "',
				helpentry = '" . addslashes($_REQUEST[entry][$key]) . "'
			");
		}
	}

	jump('userhelp.php', 'User help entry updated');

}

############################### ADD / EDIT HELP ###############################

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

	if ($_REQUEST['do'] == 'edit') {
		
		$db->query("
			SELECT * FROM user_help_entries
			WHERE helpid = '$id'
		");
	
		while ($result = $db->row_array()) {
			$help[$result['language']] = $result['helpentry'];
			$help_subjects[$result['language']] = $result['title'];
		}

	}

	$help_entry = $db->query_return("SELECT * FROM user_help WHERE id = '$id'");
	$categories = $db->query_return_array_id("SELECT id, name FROM user_help_cats");
	if (is_array($categories)) {
		foreach ($categories AS $cat) {
			$cats[$cat['id']] = $cat['name'];
		}
	}

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
	}

	$table[] = "<b>Internal name</b> &nbsp;" . form_input('name', $help_entry[name]);
	$table[] = "<b>Category</b> &nbsp;" . form_select('category', $cats, '', $help_entry[category]);

	foreach ($languages AS $key => $var) {

		$table[] = "<table><tr><td><b>Subject:</b></td><td>" . form_input($key, $help_subjects[$key], '40', "subjects") . " <I>This is the <b>$var</b> language help entry</td></tr><tr><td><b>Message:</b></td><td>" . form_textarea($key, 90, '10', $help[$key], "entry") . "</td></tr></table>";

	}

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

		table_header('Manage Categories', 'userhelp.php', array('do' => 'add2'));
		table_content($columns, $table);
		table_footer('Create Help Entry');

	} else {

		table_header('Manage Categories', 'userhelp.php', array('do' => 'edit2', 'helpid' => $id));
		table_content($columns, $table);
		table_footer('Update Help Entry');

	}

}

############################### MANAGE CATEGORIES ###############################
if ($_REQUEST['do'] == 'manage_categories2') {

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
	}

	if (is_array($_REQUEST['categories']) AND is_array($_REQUEST['displayorder']) AND is_array($_REQUEST['name'])) {
		foreach($_REQUEST['categories'] AS $id => $data) {
			if ($_REQUEST['name'][$id]) {
				if (!defined('DEVELOPERMODE')) {
					$_REQUEST['is_custom'][$id] = 1;
				}
				$db->query("UPDATE user_help_cats SET name = '" 
					. mysql_escape_string($_REQUEST['name'][$id]) . "',
					is_custom = '" . $_REQUEST['is_custom'][$id] . "',
					displayorder = '" . $_REQUEST['displayorder'][$id] . "' WHERE id = '$id'");
				foreach ($languages AS $key => $name) {
					$db->query("UPDATE user_help_cats_entries SET entry = '" 
						. mysql_escape_string($_REQUEST['categories'][$id][$key]) 
						. "' WHERE categoryid = '$id' AND languageid = '$key'");
				}
			} else { 
				$db->query("DELETE FROM user_help_cats WHERE id = '$id'");
				$db->query("DELETE FROM user_help_cats_entries WHERE categoryid = '$id'");
			}
		}
	}

	if (is_array($_REQUEST['newcategories']) AND is_array($_REQUEST['newdisplayorder']) AND is_array($_REQUEST['newname'])) {
		foreach($_REQUEST['newcategories'] AS $id => $data) {
			if ($_REQUEST['newname'][$id]) {
				$db->query("INSERT INTO user_help_cats SET name = '" 
					. mysql_escape_string($_REQUEST['newname'][$id]) . "',
					is_custom = '" . $_REQUEST['newis_custom'][$id] . "',
					displayorder = '" . $_REQUEST['newdisplayorder'][$id] . "'");
				$new_id = $db->last_id();
				foreach ($languages AS $key => $name) {
					$db->query("INSERT user_help_cats_entries SET entry = '" 
						. mysql_escape_string($_REQUEST['newcategories'][$id][$key]) 
						. "', languageid = '$key', categoryid = '$new_id'");
				}
			}
		}
	}
	unset($data);
	unset($languages);
	alert('Categories Updated');
	$_REQUEST['do'] = 'manage_categories';
}

############################### MANAGE CATEGORIES ###############################

if ($_REQUEST['do'] == 'manage_categories') {

	if ($settings['language_on']) {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
	} else {
		$languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
	}

	foreach ($languages AS $key => $var) {
		$language_ids[] = $key;
	}

	// we get all the entries for appropriate language
	$db->query("
		SELECT user_help_cats.*, user_help_cats_entries.*
		FROM user_help_cats
		LEFT JOIN user_help_cats_entries ON (user_help_cats_entries.categoryid = user_help_cats.id)
		WHERE languageid IN " . array2sql($language_ids) . "
		ORDER BY displayorder
	");

	while ($result = $db->row_array()) {
		if (($result['is_custom'] AND defined('DEVELOPERMODE')) OR (!$result['is_custom'])) {
			$data[$result['id']]['name'] = $result['name'];
			$data[$result['id']]['displayorder'] = $result['displayorder'];
			$data[$result['id']]['langs'][$result['languageid']] = $result['entry'];
			$data[$result['id']]['is_custom'] = $result['is_custom'];
		}
	}

	if (is_array($data)) {
		foreach ($data AS $catid => $cat) {
			$tmp[] = form_input($catid, $cat['displayorder'], 4, 'displayorder');
			$tmp[] = form_input($catid, $cat['name'], 40, 'name');
			if (defined('DEVELOPERMODE')) {
				$tmp[] = form_checkbox_single($catid, 1, $cat['is_custom'], 'is_custom');
			}
			foreach ($cat['langs'] AS $langid => $entry) {
				$tmp[] = form_input($langid, $entry, 40, "categories[$catid]");
			}
			$table[] = $tmp;
			unset($tmp);
		}
	}

	$table[] = table_midheader('Create new categories');
	while ($y < 5) {
		$tmp[] = form_input($y, '', 4, 'newdisplayorder');
		$tmp[] = form_input($y, '', 40, 'newname');
		if (defined('DEVELOPERMODE')) {
			$tmp[] = form_checkbox_single($y, 1, NULL, 'newis_custom');
		}
		foreach ($languages AS $key => $name) {
				$tmp[] = form_input($key, '', '40', "newcategories[$y]");
		}
		$table[] = $tmp;
		unset($tmp);
		$y++;
	}

	if (defined('DEVELOPERMODE')) {
		$languages = array_merge(array('Order', 'Internal Name', 'Custom?'), $languages);
	} else {
		$languages = array_merge(array('Order', 'Internal Name'), $languages);
	}

	table_header('Manage Categories', 'userhelp.php', array('do' => 'manage_categories2'));
	table_content($languages, $table);
	table_footer('Update Categories');
	unset($table);
}

if ($_REQUEST['do'] == 'dump') {
	$user_help = $db->query_return_array("SELECT * from user_help");
	$user_help_cats = $db->query_return_array_id("SELECT * from user_help_cats");
	$user_help_cats_entries = $db->query_return_array_id("SELECT * from user_help_cats_entries");
	$user_help_entries = $db->query_return_array_id("SELECT * from user_help_entries");

	foreach ($user_help_cats_entries AS $catentry) {
		echo "Category ID: $catentry[categoryid]<br />";
		echo "Category Internal Name: {$user_help_cats[$catentry[categoryid]][name]} <br />";
		echo "Category English Name: $catentry[entry]<br />";
	}

	echo "<br /><br />";

	foreach ($user_help AS $entry) {
		echo "User Help ID: $entry[id]<br />";
		echo "Internal Name: $entry[name]<br />";
		foreach($user_help_entries AS $entry_data) {
			if ($entry_data['helpid'] == $entry['id'] AND $entry_data['language'] == 1) {
				$entry_text = htmlspecialchars($entry_data['helpentry']);
				echo "English Title: $entry_data[title]<br />";
				echo "English Entry: <PRE>$entry_text</PRE><br />";
				echo "<br />\n";
				break;
			}
		}
	}
}

⌨️ 快捷键说明

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