📄 userhelp.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> " . form_input('name', $help_entry[name]);
$table[] = "<b>Category</b> " . 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 + -