index.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:9k
- <?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: index.php,v $
- // | $Date: 2004/02/10 01:34:26 $
- // | $Revision: 1.23 $
- // +-------------------------------------------------------------+
- // | File Details:
- // | - FAQ maintenance.
- // +-------------------------------------------------------------+
- error_reporting(E_ALL ^ E_NOTICE);
- if ($_REQUEST['do'] == 'pdf') {
- define('PDF', '1');
- }
- include "./../global.php";
- // default do
- $_REQUEST['do'] = trim($_REQUEST['do']);
- if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
- $_REQUEST['do'] = "navigate";
- }
- // globalise variables
- $global = array (
- array('catid')
- );
- rg($global);
- include ("./faq_include.php");
- if ($_REQUEST['do'] != 'pdf') {
- tech_nav('faq');
- }
- ############################### PDF GENERATION ######################################
- if ($_REQUEST['do'] == 'pdf') {
- if (!$_REQUEST['catid']) {
- $_REQUEST['catid'] = 0;
- }
- define('FPDF_FONTPATH','../../includes/fpdf/font/');
- require('../../includes/fpdf/fpdf.php');
- $pdf = new FPDF('P', 'mm', 'Letter');
- $pdf->Open();
- $pdf->AddPage();
- $pdf->SetTitle('Knowledge Base');
- $pdf->SetCreator('DeskPro v2.0');
- $pdf->SetFont('Times', 'B', 24);
- $pdf->Cell(0, 10, 'Knowledge Base', 0, 1, 'C');
- gen_pdf_faq($_REQUEST['categoryid']);
- $pdf->Output();
- exit;
- }
- ############################### SQL UPDATE CATEGORIES ###############################
- if ($_REQUEST['do'] == "edit_categories") {
- $categorycache = categorycache();
- // delete categories if empty, and reload cache
- if (is_array($_REQUEST['do_delete'])) {
- foreach ($_REQUEST['do_delete'] AS $key => $var) {
- $change = 1;
- $message .= delete_kbcategory($key);
- $categorycache = categorycache();
- }
- }
- foreach ($_REQUEST['do_category'] AS $key => $val) { // sort out parent
- if ($val != $categorycache[$key]['parent']) { // not same
- if ($val == $key) { // note self
- $message .= "<LI>You can set <b>" . $categorycache[$key]['name'] . "'s</b> parent to itself</LI>";
- } else { // can't move to own child
- if (@in_array($key, $categorycache[$val]['parentarray'])) {
- $message .= "<LI>You can not set <b>" . $categorycache[$key]['name'] . "'s</b> parent to one of its children</LI>";
- } else { // Update and reload cache
- $change = 1;
- $db->query("UPDATE faq_cats SET parent = '$val' WHERE id = '$key'");
- // reload category data
- $categorycache = categorycache();
- }
- }
- }
- }
- foreach ($_REQUEST['do_order'] AS $key => $var) { // sort out order
- $db->query("UPDATE faq_cats SET
- show_order = '" . mysql_escape_string($var) . "'
- WHERE id = '$key'
- ");
- }
-
- if ($change) {
- update_parentlist();
- update_counters();
- }
-
- $_REQUEST['do'] = "navigate";
- }
- ############################### SQL: UPDATE ARTICLES ###############################
- if ($_REQUEST['do'] == "edit_articles") {
- // get articles to check for changes
- $db->query("SELECT category, id FROM faq_articles WHERE category = '$_REQUEST[catid]'");
- while ($result = $db->row_array()) {
- $temp_cache[$result[id]] = $result[category];
- }
- while (list ($key, $val) = each ($_REQUEST['do_order'])) {
- $query = "UPDATE faq_articles SET show_order = '$val'";
- // category
- if (!($_REQUEST['do_category'][$key])) {
- $_REQUEST['do_category'][$key] = 0;
- }
-
- // check for changed category
- if ($temp_cache[$key] != $_REQUEST[do_category][$key]) {
- $change = 1;
- }
- $query .= ", category = '" . $_REQUEST[do_category][$key] . "'";
- $query .= " WHERE id = '$key'";
- $db->query($query);
- }
- if (is_array($_REQUEST['do_delete'])) {
- while (list ($key, $value) = each ($_REQUEST['do_delete'])) {
- $message .= delete_kbarticle($key);
- $change = 1;
- }
- }
-
- if ($change) {
- update_parentlist();
- update_counters();
- }
- $_REQUEST['do'] = "navigate";
- }
- ############################### CREATE NAVIGATION ###############################
- if ($_REQUEST['do'] == "navigate") {
- $catarray = faq_categoryjump();
- if (!$catid) {
- $catid = 0;
- }
- $parent = $categorycache[$catid]['parent'];
- while ($parent > 0) {
- $nav = " >> <a href="index.php?catid=" . $parent . "">" . $categorycache[$parent]['name'] . "</a>" . $nav;
- $parent = $categorycache[$parent]['parent'];
- }
- $nav = "<a href="index.php">Top</a>" . $nav;
- if ($catid != "0") {
- $nav .= " >> <a href="index.php?catid=$catid">" . $categorycache[$catid]['name'] . "</a>";
- }
- $nav .= " [Generate PDF <A HREF="index.php?catid=$catid&do=pdf">(These Topics)</A> <A HREF="index.php?catid=0&do=pdf">(All Topics)</A>]";
- echo "<BR><B>$nav</b><br /><br />";
- if ($message) { // errors from updating
- echo table_border("<UL>$message");
- echo "<br />";
- }
- //////////////////// sub categories ////////////////////
- $db->query("SELECT * FROM faq_cats WHERE parent = '$catid' ORDER BY show_order");
- while ($cats = $db->row_array()) {
- $table[$i] = array(
- "<b>$cats[name] ($cats[articles] / $cats[totalarticles])</b>",
- form_input($cats[id], $cats[show_order], '3', 'do_order'),
- iff($user['p_delete_k'], form_checkbox_single($cats[id], '1', '', 'do_delete'), ''),
- iff($user['p_edit_k'], form_select($cats[id], $catarray, 'do_category', $catid), ''),
- iff($user['p_edit_k'], "<a href="category.php?do=edit&catid=$cats[id]">Edit</a>", "<FONT COLOR="GRAY">Edit</FONT>"),
- "<a href="index.php?catid=$cats[id]">View</a>"
- );
- $i++;
- }
- if (is_array($table)) {
- $columns = array('name', 'order', 'delete', 'move', 'edit', 'view');
- table_header('Subcategories', 'index.php', array('do' => 'edit_categories', 'catid' => $catid));
- table_content($columns, $table, $extra);
- table_footer('Update Categories');
- } else {
- echo table_border('<b><center>This category has no subcategories.</center></b>');
- }
- //////////////////// related categories ////////////////////
- if ($_REQUEST['catid'] != 0) { // we don't have them for home category
- $db->query("
- SELECT faq_cats.*
- FROM faq_cats_related
- LEFT JOIN faq_cats ON (faq_cats_related.related_cat = faq_cats.id)
- WHERE show_cat = '$catid'
- ORDER BY name
- ");
- while ($cats = $db->row_array()) {
- $cats[name] = str_replace(' ', ' ', $cats[name]);
- $relcats[] = "<A HREF="index.php?catid=$cats[id]">$cats[name]</A>";
- }
- if (count($relcats)) {
- $relcats = join(' ', $relcats);
- } else {
- $relcats = '<I>This category has no related categories.';
- }
- table_header('Related Categories');
- table_content('', array($relcats));
- table_footer();
- }
- //////////////////// articles ////////////////////
- $catarray2 = $catarray;
- unset($catarray2[0]);
- unset($columns, $table, $extra);
- // select the articles
- $db->query("
- SELECT * FROM faq_articles
- WHERE category = '$catid'
- ORDER BY show_order
- ");
-
- while ($article = $db->row_array()) {
- $table[] = array(
- "<b>$article[title]</b>",
- form_input($article[id], $article[show_order], '3', 'do_order'),
- form_checkbox_single($article[id], '1', '', 'do_delete'),
- form_select($article[id], $catarray2, 'do_category', $catid),
- iff($article[to_validate], "<a href="validate.php?id=$article[id]">Validate</a>", '<i>Validated</i>'),
- "<a href="view.php?do=view&articleid=$article[id]">View</a>"
- );
- }
- if (is_array($table)) {
- $columns = array('Title', 'Order', 'Delete', 'Move', 'Validate', 'View');
- table_header('Articles in this Category', 'index.php', array('do' => 'edit_articles', 'catid' => $catid));
- table_content($columns, $table, $extra);
- table_footer('Update Articles');
- } elseif ($catid != '0') {
- echo table_border('<b><center>There are no articles in this category.</center></b>');
- }
- ############################### END PAGE ###############################
- echo "<form method="post" action="index.php">" . form_select('catid', $catarray) . " <input type="submit" name="submit" value="Jump"><br /><br />";
- if (count($catarray) > 1 AND $user['p_add_k']) {
- echo "<a href="view.php?do=add&catid=$catid">Add New Article</a><br />";
- }
- echo "<a href="category.php?do=add">Add New Category</a><br />";
- if(defined('DEVELOPERMODE')) {
- echo "<A HREF="actions.php?do=maintenance">Run FAQ Maintenance Tasks</A><BR />n";
- }
- }
- tech_footer();
- ?>