userhelp.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:13k
- <?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;
- }
- }
- }
- }