[Phpbbkb-checkins] SF.net SVN: phpbbkb: [30] root
Status: Alpha
Brought to you by:
markthedaemon
|
From: <so...@us...> - 2006-12-15 14:33:37
|
Revision: 30
http://svn.sourceforge.net/phpbbkb/?rev=30&view=rev
Author: softphp
Date: 2006-12-15 06:33:32 -0800 (Fri, 15 Dec 2006)
Log Message:
-----------
-Removed the ucp class and just using functions.php now. Further things added in admin_kb.php. Hoping to work more on it sunday or later tonight.
Modified Paths:
--------------
root/admin/admin_kb.php
root/kb/functions.php
root/kb.php
Removed Paths:
-------------
root/kb/ucp_class.php
Modified: root/admin/admin_kb.php
===================================================================
--- root/admin/admin_kb.php 2006-12-14 00:13:52 UTC (rev 29)
+++ root/admin/admin_kb.php 2006-12-15 14:33:32 UTC (rev 30)
@@ -151,9 +151,11 @@
//////////////////
function generate_cat_parents($selected = false)
{
- global $db;
+ global $db, $lang;
- $sql = "SELECT * FROM " . KB_CATEGORIES_TABLE . " WHERE cat_main = '0' ORDER BY cat_order"; // At the moment only one level of subcats
+ $sql = "SELECT cat_id, cat_title
+ FROM " . KB_CATEGORIES_TABLE . "
+ WHERE cat_main = '0' ORDER BY cat_order"; // At the moment only one level of subcats
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't get categories from categories table", "", __LINE__, __FILE__, $sql);
@@ -165,6 +167,36 @@
$cats[] = $row;
}
- $parent = "";
+ if(!$selected)
+ {
+ $parent = '<select name="parent">\n<option value="0" selected="selected">' . $lang['kb_main'] . '</option>\n';
+ }
+ else
+ {
+ $parent = '<select name="parent">\n<option value="0">' . $lang['kb_main'] . '</option>\n';
+ }
+
+ for($i = 0; $i < count($cats); $i++)
+ {
+ if(!$selected)
+ {
+ $parent .= '<option value="' . $cats[$i]['cat_id'] . '">' . $cats[$i]['cat_title'] . '</option>\n';
+ }
+ else
+ {
+ if($cats[$i]['cat_id'] == $selected)
+ {
+ $parent .= '<option value="' . $cats[$i]['cat_id'] . '" selected="selected">' . $cats[$i]['cat_title'] . '</option>\n';
+ }
+ else
+ {
+ $parent .= '<option value="' . $cats[$i]['cat_id'] . '">' . $cats[$i]['cat_title'] . '</option>\n';
+ }
+ }
+ }
+
+ $parent .= "</select>";
+
+ return $parent;
}
?>
Modified: root/kb/functions.php
===================================================================
--- root/kb/functions.php 2006-12-14 00:13:52 UTC (rev 29)
+++ root/kb/functions.php 2006-12-15 14:33:32 UTC (rev 30)
@@ -144,10 +144,494 @@
return $cats;
}
-// These vars we need for making html safe
+////////////////////////////////////////
+/// UCP FUNCTIONS ///
+////////////////////////////////////////
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
-/*
+$unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#');
+$unhtml_specialchars_replace = array('>', '<', '"', '&');
+
+// This is for posting articles, mostly cut out of the posting.php :)
+function ucp_article_form($mode, $id, $review)
+{
+ global $template, $board_config, $db, $userdata, $lang, $phpbb_root_path, $phpEx, $HTTP_POST_VARS;
+
+ $error_msg = '';
+ $user_sig = $userdata['user_sig'];
+
+ if(!empty($HTTP_POST_VARS['post']))
+ {
+ if($mode == 'edit')
+ {
+ // Let's get the old article data
+ $article_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : false;
+
+ $sql = "SELECT *
+ FROM " . KB_ARTICLES_TABLE . "
+ WHERE article_id = '$article_id'";
+ if (!$result = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error while retrieving old article data.', '', __LINE__, __FILE__, $sql);
+ }
+
+ $article = $db->sql_fetchrow($result);
+
+ // if user editing set status = 0, else set status = old status :)
+ if($userdata['user_id'] == $article_author)
+ {
+ $article_status = "0";
+ }
+ else
+ {
+ $article_status = $article['article_status'];
+ }
+ }
+
+ // Add the new article
+ // Make all the variables :)
+ if ( !$board_config['allow_html'] )
+ {
+ $html_on = 0;
+ }
+ else
+ {
+ $html_on = ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : 1;
+ }
+
+ if ( !$board_config['allow_bbcode'] )
+ {
+ $bbcode_on = 0;
+ }
+ else
+ {
+ $bbcode_on = ( !empty($HTTP_POST_VARS['disable_bbcode']) ) ? 0 : 1;
+ }
+
+ if ( !$board_config['allow_smilies'] )
+ {
+ $smilies_on = 0;
+ }
+ else
+ {
+ $smilies_on = ( !empty($HTTP_POST_VARS['disable_smilies']) ) ? 0 : 1;
+ }
+
+ $article_desc = ( !empty($HTTP_POST_VARS['desc']) ) ? trim($HTTP_POST_VARS['desc']) : '';
+ $article_title = ( !empty($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : '';
+ $message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
+ $article_author = ($mode == 'edit') ? $article['article_author'] : $userdata['user_id'];
+ $article_authorname = ( $mode == 'edit' ) ? ( ( empty($HTTP_POST_VARS['authorname']) ) ? $article['article_authorname'] : $HTTP_POST_VARS['authorname'] ) : ( ( empty($HTTP_POST_VARS['authorname']) ) ? $userdata['username'] : $HTTP_POST_VARS['authorname'] );
+ $bbcode_uid = '';
+ $cat_id = $HTTP_POST_VARS['cats'];
+ $attach_sig = ( !empty($HTTP_POST_VARS['attach_sig']) ) ? 1 : 0;
+
+ prepare_article($bbcode_on, $html_on, $smilies_on, $error_msg, $bbcode_uid, $article_title, $article_desc, $message, $cat_id);
+
+ if ( $error_msg == '' )
+ {
+ $current_time = time();
+
+ if($mode == 'post')
+ {
+ $sql = "INSERT INTO " . KB_ARTICLES_TABLE . " (article_id, article_title, article_desc, article_author, article_authorname, article_time, article_edittime, article_hits, article_editby, article_status, bbcode_uid, enable_sig, enable_html, enable_bbcode, enable_smilies, article_text) VALUES
+ ('', '$article_title', '$article_desc', '$article_author', '$article_authorname', '$current_time', '$current_time', '0', '" . $userdata['user_id'] . "', '0', '$bbcode_uid', '$attach_sig', '$html_on', '$bbcode_on', '$smilies_on', '$message');";
+ if (!$db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error in adding article', '', __LINE__, __FILE__, $sql);
+ }
+
+ $article_id = $db->sql_nextid();
+ // Now make the categories
+ foreach($cat_id as $i => $cat)
+ {
+ $sql = "INSERT INTO " . KB_ARTICLECATS_TABLE . " VALUES ('$article_id', '$cat');\n";
+ $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_articles = cat_articles + 1 WHERE cat_id = '$cat';\n";
+
+ if (!$db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error in adding articles categories.', '', __LINE__, __FILE__, $sql);
+ }
+
+ if (!$db->sql_query($sql2))
+ {
+ message_die(GENERAL_ERROR, 'Error in adding updating categories articles count.', '', __LINE__, __FILE__, $sql);
+ }
+ }
+
+ $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid('kb.' . $phpEx . '?pid=view_article&id=' . $article_id) . '>"';
+ $return_message = $lang['kb_added'] . '<br /><br />' . sprintf($lang['kb_click_view_article'], '<a href="' . append_sid('kb.' . phpEx . '?pid=view_article&id=' . $article_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['kb_click_return_ucp'], '<a href="' . append_sid('kb.' . $phpEx . '?pid=ucp') . '">', '</a>');
+ }
+ else
+ {
+ if(!$article_id)
+ {
+ message_die(GENERAL_ERROR, 'No article to edit.');
+ }
+
+ // First update the article table
+ $sql = "UPDATE " . KB_ARTICLES_TABLE . "
+ SET article_title = '$article_title',
+ article_desc = '$article_desc',
+ article_author = '$article_author',
+ article_authorname = '$article_authorname',
+ article_edittime = '$current_time',
+ article_editby = '" . $userdata['user_id'] . "',
+ article_status = '$article_status',
+ enable_sig = '$attach_sig',
+ enable_html = '$html_on',
+ enable_bbcode = '$bbcode_on',
+ enable_smilies = '$smilies_on',
+ article_text = '$message';";
+
+ if (!$db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error in editing article', '', __LINE__, __FILE__, $sql);
+ }
+
+ // Now delete all articlecats
+ $sql = "DELETE FROM " . KB_ARTICLECATS_TABLE . " WHERE article_id = '$article_id'";
+
+ if (!$db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error in deleting articlecat entries.', '', __LINE__, __FILE__, $sql);
+ }
+
+ // Last add them again doing the loop
+ foreach($cat_id as $i => $cat)
+ {
+ $sql = "INSERT INTO " . KB_ARTICLECATS_TABLE . " VALUES ('$article_id', '$cat');\n";
+ $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_articles = cat_articles + 1 WHERE cat_id = '$cat';\n";
+
+ if (!$db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Error in adding articles categories.', '', __LINE__, __FILE__, $sql);
+ }
+
+ if (!$db->sql_query($sql2))
+ {
+ message_die(GENERAL_ERROR, 'Error in adding updating categories articles count.', '', __LINE__, __FILE__, $sql);
+ }
+ }
+
+ // Message here somewhere
+ }
+ return;
+ }
+ }
+
+ $preview = ( !empty($HTTP_POST_VARS['preview']) ) ? true : false;
+ if($mode == "post" && !$preview && $error_msg == '')
+ {
+ $article_title = '';
+ $article_text = '';
+ $article_desc = '';
+ $authorname = $userdata['username'];
+ $form_action = append_sid('kb.' . $phpEx . '?pid=ucp&action=post_article');
+ $hidden_form_fields = "";
+ $attach_sig = ( $userdata['user_id'] == ANONYMOUS ) ? 0 : $userdata['user_attachsig'];
+
+ if ( !$board_config['allow_html'] )
+ {
+ $html_on = 0;
+ }
+ else
+ {
+ $html_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
+ }
+
+ if ( !$board_config['allow_bbcode'] )
+ {
+ $bbcode_on = 0;
+ }
+ else
+ {
+ $bbcode_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_bbcode'] : $userdata['user_allowbbcode'] );
+ }
+
+ if ( !$board_config['allow_smilies'] )
+ {
+ $smilies_on = 0;
+ }
+ else
+ {
+ $smilies_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_smilies'] : $userdata['user_allowsmile'] );
+ }
+
+ if($preview)
+ {
+ // Do funny preview stuff
+ }
+ }
+ elseif($preview || $error_msg != '')
+ {
+ $article_title = $HTTP_POST_VARS['title'];
+ $article_text = $HTTP_POST_VARS['message'];
+ $article_desc = $HTTP_POST_VARS['desc'];
+ $authorname = $HTTP_POST_VARS['authorname'];
+
+ $attach_sig = ( $HTTP_POST_VARS['enable_sig'] ) ? TRUE : 0;
+
+ $html_on = ( $HTTP_POST_VARS['disable_html'] ) ? false : true;
+ $bbcode_on = ( $HTTP_POST_VARS['disable_bbcode'] ) ? false : true;
+ $smilies_on = ( $HTTP_POST_VARS['disable_smilies'] ) ? false : true;
+
+ $form_action = append_sid("kb.php?pid=ucp&action=post_article");
+ $hidden_form_fields = "";
+ if($error_msg != "")
+ {
+ $template->set_filenames(array(
+ 'reg_header' => 'error_body.tpl')
+ );
+ $template->assign_vars(array(
+ 'ERROR_MESSAGE' => $error_msg)
+ );
+ $template->assign_var_from_handle('ERROR_BOX', 'reg_header');
+ }
+ }
+ else
+ {
+ if(empty($id))
+ {
+ message_die(GENERAL_ERROR, "No article defined.");
+ }
+
+ $sql = "SELECT *
+ FROM " . KB_ARTICLES_TABLE . "
+ WHERE article_id = '$id'";
+ if(!$result = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Could not query article data.', '', __LINE__, __FILE__, $sql);
+ }
+
+ if($db->sql_numrows($result) == 1)
+ {
+ $article = $db->sql_fetchrow($result);
+ }
+ else
+ {
+ message_die(GENERAL_ERROR, "Article does not exist.");
+ }
+
+ // Now make an array over the cats
+ $sql = "SELECT cat_id
+ FROM " . KB_ARTICLECATS_TABLE . "
+ WHERE article_id = '$id'";
+ if(!$result = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, 'Could not query articlecats data.', '', __LINE__, __FILE__, $sql);
+ }
+
+ $article_cats = array();
+ while($row = $db->sql_fetchrow($result))
+ {
+ $article_cats[] = $row;
+ }
+
+ $article_title = $article['article_title'];
+ $article_text = $article['article_text'];
+ $article_desc = $article['article_desc'];
+ $authorname = $article['article_authorname'];
+
+ $attach_sig = ( $article['enable_sig'] ) ? TRUE : 0;
+
+ $html_on = ( $article['enable_html'] ) ? true : false;
+ $bbcode_on = ( $article['enable_bbcode'] ) ? true : false;
+ $smilies_on = ( $article['enable_smilies'] ) ? true : false;
+
+ $form_action = append_sid("kb.php?pid=ucp&action=edit_article");
+ $hidden_form_fields = '<input type="hidden" name="id" value="' . $id . '" />';
+ }
+
+ if ( $article['bbcode_uid'] != '' )
+ {
+ $article_text = preg_replace('/\:(([a-z0-9]:)?)' . $article['bbcode_uid'] . '/s', '', $article_text);
+ }
+
+ $article_text = str_replace('<', '<', $article_text);
+ $article_text = str_replace('>', '>', $article_text);
+ $article_text = str_replace('<br />', "\n", $article_text);
+
+ //
+ // Signature toggle selection
+ //
+ if( $user_sig != '' )
+ {
+ $template->assign_block_vars('switch_signature_checkbox', array());
+ }
+
+ //
+ // HTML toggle selection
+ //
+ if ( $board_config['allow_html'] )
+ {
+ $html_status = $lang['HTML_is_ON'];
+ $template->assign_block_vars('switch_html_checkbox', array());
+ }
+ else
+ {
+ $html_status = $lang['HTML_is_OFF'];
+ }
+
+ //
+ // BBCode toggle selection
+ //
+ if ( $board_config['allow_bbcode'] )
+ {
+ $bbcode_status = $lang['BBCode_is_ON'];
+ $template->assign_block_vars('switch_bbcode_checkbox', array());
+ }
+ else
+ {
+ $bbcode_status = $lang['BBCode_is_OFF'];
+ }
+
+ // Obtain categories structure
+ $cats = get_cats_structure();
+
+ // First lets sort main cats, yes i know there is a lot of loops, but i can't find a better way :S
+ $s_cats = '<option value="0">-' . $lang['kb_main'] . '</option>';
+ if($mode == "edit")
+ {
+ for($i = 0; $i < count($cats); $i++)
+ {
+ $selected = '';
+ for($k = 0; $k < count($article_cats); $k++)
+ {
+ if($article_cats[$k]['cat_id'] == $cats[$i]['cat_id'])
+ {
+ $selected = ' selected="selected"';
+ }
+ }
+ $s_cats .= '<option' . $selected . ' value="' . $cats[$i]['cat_id'] . '"> --' . $cats[$i]['cat_title'] . '</option>';
+
+ // Sort subcats
+ for($j = 0; $j < count($cats[$i]['subcats']); $j++)
+ {
+ $selected = '';
+ for($k = 0; $k < count($article_cats); $k++)
+ {
+ if($article_cats[$k]['cat_id'] == $cats[$i]['subcats'][$j]['cat_id'])
+ {
+ $selected = ' selected="selected"';
+ }
+ }
+ $s_cats .= '<option' . $selected . ' value="' . $cats[$i]['subcats'][$j]['cat_id'] . '"> --' . $cats[$i]['subcats'][$j]['cat_title'] . '</option>';
+ }
+ }
+ }
+ else
+ {
+ for($i = 0; $i < count($cats); $i++)
+ {
+ $s_cats .= '<option value="' . $cats[$i]['cat_id'] . '">--' . $cats[$i]['cat_title'] . '</option>';
+
+ // Sort subcats
+ for($j = 0; $j < count($cats[$i]['subcats']); $j++)
+ {
+ $s_cats .= '<option value="' . $cats[$i]['subcats'][$j]['cat_id'] . '">--' . $cats[$i]['subcats'][$j]['cat_title'] . '</option>';
+ }
+ }
+ }
+
+ //
+ // Smilies toggle selection
+ //
+ if ( $board_config['allow_smilies'] )
+ {
+ $smilies_status = $lang['Smilies_are_ON'];
+ $template->assign_block_vars('switch_smilies_checkbox', array());
+ }
+ else
+ {
+ $smilies_status = $lang['Smilies_are_OFF'];
+ }
+
+ $template->set_filenames(array(
+ 'body' => 'kb_article_posting.tpl')
+ );
+
+ create_navigation("ucp", $action);
+
+ // This is the template stuff we need no matter what
+ $template->assign_vars(array(
+ 'AUTHORNAME' => $authorname,
+ 'ARTICLE_TITLE' => $article_title,
+ 'ARTICLE' => $article_text,
+ 'DESC' => $article_desc,
+ 'HTML_STATUS' => $html_status,
+ 'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid("faq." . $phpEx . "?mode=bbcode") . '" target="_phpbbcode">', '</a>'),
+ 'SMILIES_STATUS' => $smilies_status,
+
+ 'L_POST_ARTICLE' => $lang['kb_post_article'],
+ 'L_AUTHORNAME' => $lang['kb_authorname'],
+ 'L_ARTICLE_NAME' => $lang['kb_articlename'],
+ 'L_ARTICLE_DESC' => $lang['kb_articledesc'],
+ 'L_ARTICLE_CATS' => $lang['kb_articlecats'],
+ 'L_ARTICLE_BODY' => $lang['kb_articletext'],
+ 'L_AUTHORNAME_DESC' => $lang['kb_authorname_desc'],
+ 'L_ARTICLEDESC_DESC' => $lang['kb_articledesc_desc'], // Funny one eh?
+ 'L_ARTICLECATS_DESC' => $lang['kb_articlecats_desc'],
+
+ 'L_OPTIONS' => $lang['Options'],
+ 'L_PREVIEW' => $lang['Preview'],
+ 'L_SUBMIT' => $lang['Submit'],
+ 'L_DISABLE_HTML' => $lang['Disable_HTML_post'],
+ 'L_DISABLE_BBCODE' => $lang['Disable_BBCode_post'],
+ 'L_DISABLE_SMILIES' => $lang['Disable_Smilies_post'],
+ 'L_ATTACH_SIGNATURE' => $lang['Attach_signature'],
+
+ 'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
+ 'L_BBCODE_I_HELP' => $lang['bbcode_i_help'],
+ 'L_BBCODE_U_HELP' => $lang['bbcode_u_help'],
+ 'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'],
+ 'L_BBCODE_C_HELP' => $lang['bbcode_c_help'],
+ 'L_BBCODE_L_HELP' => $lang['bbcode_l_help'],
+ 'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],
+ 'L_BBCODE_P_HELP' => $lang['bbcode_p_help'],
+ 'L_BBCODE_W_HELP' => $lang['bbcode_w_help'],
+ 'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],
+ 'L_BBCODE_S_HELP' => $lang['bbcode_s_help'],
+ 'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],
+ 'L_EMPTY_MESSAGE' => $lang['Empty_message'],
+
+ 'L_FONT_COLOR' => $lang['Font_color'],
+ 'L_COLOR_DEFAULT' => $lang['color_default'],
+ 'L_COLOR_DARK_RED' => $lang['color_dark_red'],
+ 'L_COLOR_RED' => $lang['color_red'],
+ 'L_COLOR_ORANGE' => $lang['color_orange'],
+ 'L_COLOR_BROWN' => $lang['color_brown'],
+ 'L_COLOR_YELLOW' => $lang['color_yellow'],
+ 'L_COLOR_GREEN' => $lang['color_green'],
+ 'L_COLOR_OLIVE' => $lang['color_olive'],
+ 'L_COLOR_CYAN' => $lang['color_cyan'],
+ 'L_COLOR_BLUE' => $lang['color_blue'],
+ 'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'],
+ 'L_COLOR_INDIGO' => $lang['color_indigo'],
+ 'L_COLOR_VIOLET' => $lang['color_violet'],
+ 'L_COLOR_WHITE' => $lang['color_white'],
+ 'L_COLOR_BLACK' => $lang['color_black'],
+
+ 'L_FONT_SIZE' => $lang['Font_size'],
+ 'L_FONT_TINY' => $lang['font_tiny'],
+ 'L_FONT_SMALL' => $lang['font_small'],
+ 'L_FONT_NORMAL' => $lang['font_normal'],
+ 'L_FONT_LARGE' => $lang['font_large'],
+ 'L_FONT_HUGE' => $lang['font_huge'],
+
+ 'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'],
+ 'L_STYLES_TIP' => $lang['Styles_tip'],
+
+ 'S_HTML_CHECKED' => ( !$html_on ) ? 'checked="checked"' : '',
+ 'S_BBCODE_CHECKED' => ( !$bbcode_on ) ? 'checked="checked"' : '',
+ 'S_SMILIES_CHECKED' => ( !$smilies_on ) ? 'checked="checked"' : '',
+ 'S_SIGNATURE_CHECKED' => ( $attach_sig ) ? 'checked="checked"' : '',
+ 'S_POST_ACTION' => $form_action,
+ 'CATS_HTML' => $s_cats,
+ 'S_HIDDEN_FORM_FIELDS' => $hidden_form_fields)
+ );
+}
+
//
// Prepare an article for the database
//
@@ -156,7 +640,6 @@
global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path;
// Check title
- $article_title = "BLABLA";
if (!empty($article_title))
{
$article_title = htmlspecialchars(trim($article_title));
@@ -170,7 +653,7 @@
if(!empty($message))
{
$bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : '';
- $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
+ $message = prepare_article_text(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
}
else
{
@@ -188,21 +671,16 @@
}
// Check categories
- if(is_array($cat_id))
+ if(!is_array($cat_id))
{
- print_r($cat_id);
- $cat_id = implode(",", $cat_id);
- }
- else
- {
$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['kb_empty_cats'] : $lang['kb_empty_cats'];
}
return;
}
-function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0)
+function prepare_article_text($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0)
{
- global $board_config, $html_entities_match, $html_entities_replace;
+ global $board_config, $phpEx;
//
// Clean up the message
@@ -223,6 +701,9 @@
$message = '';
+ // Include functions_post for clean_html
+ include($phpbb_root_path . "includes/functions_post." . $phpEx);
+
foreach ($message_split as $part)
{
$tag = array(array_shift($matches[0]), array_shift($matches[1]), array_shift($matches[2]));
@@ -244,5 +725,9 @@
return $message;
}
-*/
+
+function unprepare_message($message)
+{
+ return preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $message);
+}
?>
\ No newline at end of file
Deleted: root/kb/ucp_class.php
===================================================================
--- root/kb/ucp_class.php 2006-12-14 00:13:52 UTC (rev 29)
+++ root/kb/ucp_class.php 2006-12-15 14:33:32 UTC (rev 30)
@@ -1,693 +0,0 @@
-<?php
-/***************************************************************************
- * ucp_class.php
- * -------------------
- *
- * copyright: phpBB KB Group
- * site: http://www.phpbbknowledgebase.com
- * SF Project Page: http://www.sourceforge.net/projects/phpbbkb
- *
- ***************************************************************************/
-
-/***************************************************************************
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- ***************************************************************************/
-
-if (!defined('IN_PHPBB'))
-{
- die('Hacking attempt');
-}
-
-// This contains the entire ucp class, so it's seperated from the rest of kb.php
-class ucp
-{
- var $action = "";
- var $html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
- var $html_entities_replace = array('&', '<', '>', '"');
- var $unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#');
- var $unhtml_specialchars_replace = array('>', '<', '"', '&');
-
- function generate_page($action, $id=0, $preview=false)
- {
- $this->action = $action;
- switch($this->action)
- {
- case "articles":
- break;
-
- case "comments":
- break;
-
- case "post_article":
- $this->article_form("post", false, $preview);
- break;
-
- case "edit_article":
- $this->article_form("edit", $id, $preview);
- break;
-
- case "delete_article":
- $this->article_delete();
- break;
-
- case "post_comment": // Only input
- break;
-
- case "edit_comment":
- break;
-
- case "delete_comment":
- break;
-
- default:
- break;
- }
- }
-
- function generate_page_title($action)
- {
- global $lang;
-
- $title = $lang['kb_ucp'];
-
- switch($action)
- {
- case "articles":
- break;
-
- case "comments":
- break;
-
- case "post_article":
- $title .= ": " . $lang['kb_ucp_articlepost'];
- break;
-
- case "edit_article":
- $title .= ": " . $lang['kb_ucp_articleedit'];
- break;
-
- case "delete_article":
-
- break;
-
- case "post_comment": // Only input
- break;
-
- case "edit_comment":
- break;
-
- case "delete_comment":
- break;
-
- default:
- break;
- }
-
- return $title;
- }
-
- // This is for posting articles, mostly cut out of the posting.php :)
- function article_form($mode, $id, $review)
- {
- global $template, $board_config, $db, $userdata, $lang, $phpbb_root_path, $phpEx, $HTTP_POST_VARS;
-
- $error_msg = '';
- $user_sig = $userdata['user_sig'];
-
- if(!empty($HTTP_POST_VARS['post']))
- {
- if($mode == 'edit')
- {
- // Let's get the old article data
- $article_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : false;
-
- $sql = "SELECT *
- FROM " . KB_ARTICLES_TABLE . "
- WHERE article_id = '$article_id'";
- if (!$result = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error while retrieving old article data.', '', __LINE__, __FILE__, $sql);
- }
-
- $article = $db->sql_fetchrow($result);
-
- // if user editing set status = 0, else set status = old status :)
- if($userdata['user_id'] == $article_author)
- {
- $article_status = "0";
- }
- else
- {
- $article_status = $article['article_status'];
- }
- }
-
- // Add the new article
- // Make all the variables :)
- if ( !$board_config['allow_html'] )
- {
- $html_on = 0;
- }
- else
- {
- $html_on = ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : 1;
- }
-
- if ( !$board_config['allow_bbcode'] )
- {
- $bbcode_on = 0;
- }
- else
- {
- $bbcode_on = ( !empty($HTTP_POST_VARS['disable_bbcode']) ) ? 0 : 1;
- }
-
- if ( !$board_config['allow_smilies'] )
- {
- $smilies_on = 0;
- }
- else
- {
- $smilies_on = ( !empty($HTTP_POST_VARS['disable_smilies']) ) ? 0 : 1;
- }
-
- $article_desc = ( !empty($HTTP_POST_VARS['desc']) ) ? trim($HTTP_POST_VARS['desc']) : '';
- $article_title = ( !empty($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : '';
- $message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
- $article_author = ($mode == 'edit') ? $article['article_author'] : $userdata['user_id'];
- $article_authorname = ( $mode == 'edit' ) ? ( ( empty($HTTP_POST_VARS['authorname']) ) ? $article['article_authorname'] : $HTTP_POST_VARS['authorname'] ) : ( ( empty($HTTP_POST_VARS['authorname']) ) ? $userdata['username'] : $HTTP_POST_VARS['authorname'] );
- $bbcode_uid = '';
- $cat_id = $HTTP_POST_VARS['cats'];
- $attach_sig = ( !empty($HTTP_POST_VARS['attach_sig']) ) ? 1 : 0;
-
- $this->prepare_article($bbcode_on, $html_on, $smilies_on, $error_msg, $bbcode_uid, $article_title, $article_desc, $message, $cat_id);
-
- if ( $error_msg == '' )
- {
- $current_time = time();
-
- if($mode == 'post')
- {
- $sql = "INSERT INTO " . KB_ARTICLES_TABLE . " (article_id, article_title, article_desc, article_author, article_authorname, article_time, article_edittime, article_hits, article_editby, article_status, bbcode_uid, enable_sig, enable_html, enable_bbcode, enable_smilies, article_text) VALUES
- ('', '$article_title', '$article_desc', '$article_author', '$article_authorname', '$current_time', '$current_time', '0', '" . $userdata['user_id'] . "', '0', '$bbcode_uid', '$attach_sig', '$html_on', '$bbcode_on', '$smilies_on', '$message');";
- if (!$db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error in adding article', '', __LINE__, __FILE__, $sql);
- }
-
- $article_id = $db->sql_nextid();
- // Now make the categories
- foreach($cat_id as $i => $cat)
- {
- $sql = "INSERT INTO " . KB_ARTICLECATS_TABLE . " VALUES ('$article_id', '$cat');\n";
- $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_articles = cat_articles + 1 WHERE cat_id = '$cat';\n";
-
- if (!$db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error in adding articles categories.', '', __LINE__, __FILE__, $sql);
- }
-
- if (!$db->sql_query($sql2))
- {
- message_die(GENERAL_ERROR, 'Error in adding updating categories articles count.', '', __LINE__, __FILE__, $sql);
- }
- }
-
- $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid('kb.' . $phpEx . '?pid=view_article&id=' . $article_id) . '>"';
- $return_message = $lang['kb_added'] . '<br /><br />' . sprintf($lang['kb_click_view_article'], '<a href="' . append_sid('kb.' . phpEx . '?pid=view_article&id=' . $article_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['kb_click_return_ucp'], '<a href="' . append_sid('kb.' . $phpEx . '?pid=ucp') . '">', '</a>');
- }
- else
- {
- if(!$article_id)
- {
- message_die(GENERAL_ERROR, 'No article to edit.');
- }
-
- // First update the article table
- $sql = "UPDATE " . KB_ARTICLES_TABLE . "
- SET article_title = '$article_title',
- article_desc = '$article_desc',
- article_author = '$article_author',
- article_authorname = '$article_authorname',
- article_edittime = '$current_time',
- article_editby = '" . $userdata['user_id'] . "',
- article_status = '$article_status',
- enable_sig = '$attach_sig',
- enable_html = '$html_on',
- enable_bbcode = '$bbcode_on',
- enable_smilies = '$smilies_on',
- article_text = '$message';";
-
- if (!$db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error in editing article', '', __LINE__, __FILE__, $sql);
- }
-
- // Now delete all articlecats
- $sql = "DELETE FROM " . KB_ARTICLECATS_TABLE . " WHERE article_id = '$article_id'";
-
- if (!$db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error in deleting articlecat entries.', '', __LINE__, __FILE__, $sql);
- }
-
- // Last add them again doing the loop
- foreach($cat_id as $i => $cat)
- {
- $sql = "INSERT INTO " . KB_ARTICLECATS_TABLE . " VALUES ('$article_id', '$cat');\n";
- $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_articles = cat_articles + 1 WHERE cat_id = '$cat';\n";
-
- if (!$db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Error in adding articles categories.', '', __LINE__, __FILE__, $sql);
- }
-
- if (!$db->sql_query($sql2))
- {
- message_die(GENERAL_ERROR, 'Error in adding updating categories articles count.', '', __LINE__, __FILE__, $sql);
- }
- }
-
- // Message here somewhere
- }
- return;
- }
- }
-
- $preview = ( !empty($HTTP_POST_VARS['preview']) ) ? true : false;
- if($mode == "post" && !$preview && $error_msg == '')
- {
- $article_title = '';
- $article_text = '';
- $article_desc = '';
- $authorname = $userdata['username'];
- $form_action = append_sid('kb.' . $phpEx . '?pid=ucp&action=post_article');
- $hidden_form_fields = "";
- $attach_sig = ( $userdata['user_id'] == ANONYMOUS ) ? 0 : $userdata['user_attachsig'];
-
- if ( !$board_config['allow_html'] )
- {
- $html_on = 0;
- }
- else
- {
- $html_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
- }
-
- if ( !$board_config['allow_bbcode'] )
- {
- $bbcode_on = 0;
- }
- else
- {
- $bbcode_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_bbcode'] : $userdata['user_allowbbcode'] );
- }
-
- if ( !$board_config['allow_smilies'] )
- {
- $smilies_on = 0;
- }
- else
- {
- $smilies_on = ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_smilies'] : $userdata['user_allowsmile'] );
- }
-
- if($preview)
- {
- // Do funny preview stuff
- }
- }
- elseif($preview || $error_msg != '')
- {
- $article_title = $HTTP_POST_VARS['title'];
- $article_text = $HTTP_POST_VARS['message'];
- $article_desc = $HTTP_POST_VARS['desc'];
- $authorname = $HTTP_POST_VARS['authorname'];
-
- $attach_sig = ( $HTTP_POST_VARS['enable_sig'] ) ? TRUE : 0;
-
- $html_on = ( $HTTP_POST_VARS['disable_html'] ) ? false : true;
- $bbcode_on = ( $HTTP_POST_VARS['disable_bbcode'] ) ? false : true;
- $smilies_on = ( $HTTP_POST_VARS['disable_smilies'] ) ? false : true;
-
- $form_action = append_sid("kb.php?pid=ucp&action=post_article");
- $hidden_form_fields = "";
- if($error_msg != "")
- {
- $template->set_filenames(array(
- 'reg_header' => 'error_body.tpl')
- );
- $template->assign_vars(array(
- 'ERROR_MESSAGE' => $error_msg)
- );
- $template->assign_var_from_handle('ERROR_BOX', 'reg_header');
- }
- }
- else
- {
- if(empty($id))
- {
- message_die(GENERAL_ERROR, "No article defined.");
- }
-
- $sql = "SELECT *
- FROM " . KB_ARTICLES_TABLE . "
- WHERE article_id = '$id'";
- if(!$result = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Could not query article data.', '', __LINE__, __FILE__, $sql);
- }
-
- if($db->sql_numrows($result) == 1)
- {
- $article = $db->sql_fetchrow($result);
- }
- else
- {
- message_die(GENERAL_ERROR, "Article does not exist.");
- }
-
- // Now make an array over the cats
- $sql = "SELECT cat_id
- FROM " . KB_ARTICLECATS_TABLE . "
- WHERE article_id = '$id'";
- if(!$result = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, 'Could not query articlecats data.', '', __LINE__, __FILE__, $sql);
- }
-
- $article_cats = array();
- while($row = $db->sql_fetchrow($result))
- {
- $article_cats[] = $row;
- }
-
- $article_title = $article['article_title'];
- $article_text = $article['article_text'];
- $article_desc = $article['article_desc'];
- $authorname = $article['article_authorname'];
-
- $attach_sig = ( $article['enable_sig'] ) ? TRUE : 0;
-
- $html_on = ( $article['enable_html'] ) ? true : false;
- $bbcode_on = ( $article['enable_bbcode'] ) ? true : false;
- $smilies_on = ( $article['enable_smilies'] ) ? true : false;
-
- $form_action = append_sid("kb.php?pid=ucp&action=edit_article");
- $hidden_form_fields = '<input type="hidden" name="id" value="' . $id . '" />';
- }
-
- if ( $article['bbcode_uid'] != '' )
- {
- $article_text = preg_replace('/\:(([a-z0-9]:)?)' . $article['bbcode_uid'] . '/s', '', $article_text);
- }
-
- $article_text = str_replace('<', '<', $article_text);
- $article_text = str_replace('>', '>', $article_text);
- $article_text = str_replace('<br />', "\n", $article_text);
-
- //
- // Signature toggle selection
- //
- if( $user_sig != '' )
- {
- $template->assign_block_vars('switch_signature_checkbox', array());
- }
-
- //
- // HTML toggle selection
- //
- if ( $board_config['allow_html'] )
- {
- $html_status = $lang['HTML_is_ON'];
- $template->assign_block_vars('switch_html_checkbox', array());
- }
- else
- {
- $html_status = $lang['HTML_is_OFF'];
- }
-
- //
- // BBCode toggle selection
- //
- if ( $board_config['allow_bbcode'] )
- {
- $bbcode_status = $lang['BBCode_is_ON'];
- $template->assign_block_vars('switch_bbcode_checkbox', array());
- }
- else
- {
- $bbcode_status = $lang['BBCode_is_OFF'];
- }
-
- // Obtain categories structure
- $cats = get_cats_structure();
-
- // First lets sort main cats, yes i know there is a lot of loops, but i can't find a better way :S
- $s_cats = '<option value="0">-' . $lang['kb_main'] . '</option>';
- if($mode == "edit")
- {
- for($i = 0; $i < count($cats); $i++)
- {
- $selected = '';
- for($k = 0; $k < count($article_cats); $k++)
- {
- if($article_cats[$k]['cat_id'] == $cats[$i]['cat_id'])
- {
- $selected = ' selected="selected"';
- }
- }
- $s_cats .= '<option' . $selected . ' value="' . $cats[$i]['cat_id'] . '"> --' . $cats[$i]['cat_title'] . '</option>';
-
- // Sort subcats
- for($j = 0; $j < count($cats[$i]['subcats']); $j++)
- {
- $selected = '';
- for($k = 0; $k < count($article_cats); $k++)
- {
- if($article_cats[$k]['cat_id'] == $cats[$i]['subcats'][$j]['cat_id'])
- {
- $selected = ' selected="selected"';
- }
- }
- $s_cats .= '<option' . $selected . ' value="' . $cats[$i]['subcats'][$j]['cat_id'] . '"> --' . $cats[$i]['subcats'][$j]['cat_title'] . '</option>';
- }
- }
- }
- else
- {
- for($i = 0; $i < count($cats); $i++)
- {
- $s_cats .= '<option value="' . $cats[$i]['cat_id'] . '">--' . $cats[$i]['cat_title'] . '</option>';
-
- // Sort subcats
- for($j = 0; $j < count($cats[$i]['subcats']); $j++)
- {
- $s_cats .= '<option value="' . $cats[$i]['subcats'][$j]['cat_id'] . '">--' . $cats[$i]['subcats'][$j]['cat_title'] . '</option>';
- }
- }
- }
-
- //
- // Smilies toggle selection
- //
- if ( $board_config['allow_smilies'] )
- {
- $smilies_status = $lang['Smilies_are_ON'];
- $template->assign_block_vars('switch_smilies_checkbox', array());
- }
- else
- {
- $smilies_status = $lang['Smilies_are_OFF'];
- }
-
- $template->set_filenames(array(
- 'body' => 'kb_article_posting.tpl')
- );
-
- create_navigation("ucp", $this->action);
-
- // This is the template stuff we need no matter what
- $template->assign_vars(array(
- 'AUTHORNAME' => $authorname,
- 'ARTICLE_TITLE' => $article_title,
- 'ARTICLE' => $article_text,
- 'DESC' => $article_desc,
- 'HTML_STATUS' => $html_status,
- 'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid("faq." . $phpEx . "?mode=bbcode") . '" target="_phpbbcode">', '</a>'),
- 'SMILIES_STATUS' => $smilies_status,
-
- 'L_POST_ARTICLE' => $lang['kb_post_article'],
- 'L_AUTHORNAME' => $lang['kb_authorname'],
- 'L_ARTICLE_NAME' => $lang['kb_articlename'],
- 'L_ARTICLE_DESC' => $lang['kb_articledesc'],
- 'L_ARTICLE_CATS' => $lang['kb_articlecats'],
- 'L_ARTICLE_BODY' => $lang['kb_articletext'],
- 'L_AUTHORNAME_DESC' => $lang['kb_authorname_desc'],
- 'L_ARTICLEDESC_DESC' => $lang['kb_articledesc_desc'], // Funny one eh?
- 'L_ARTICLECATS_DESC' => $lang['kb_articlecats_desc'],
-
- 'L_OPTIONS' => $lang['Options'],
- 'L_PREVIEW' => $lang['Preview'],
- 'L_SUBMIT' => $lang['Submit'],
- 'L_DISABLE_HTML' => $lang['Disable_HTML_post'],
- 'L_DISABLE_BBCODE' => $lang['Disable_BBCode_post'],
- 'L_DISABLE_SMILIES' => $lang['Disable_Smilies_post'],
- 'L_ATTACH_SIGNATURE' => $lang['Attach_signature'],
-
- 'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
- 'L_BBCODE_I_HELP' => $lang['bbcode_i_help'],
- 'L_BBCODE_U_HELP' => $lang['bbcode_u_help'],
- 'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'],
- 'L_BBCODE_C_HELP' => $lang['bbcode_c_help'],
- 'L_BBCODE_L_HELP' => $lang['bbcode_l_help'],
- 'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],
- 'L_BBCODE_P_HELP' => $lang['bbcode_p_help'],
- 'L_BBCODE_W_HELP' => $lang['bbcode_w_help'],
- 'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],
- 'L_BBCODE_S_HELP' => $lang['bbcode_s_help'],
- 'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],
- 'L_EMPTY_MESSAGE' => $lang['Empty_message'],
-
- 'L_FONT_COLOR' => $lang['Font_color'],
- 'L_COLOR_DEFAULT' => $lang['color_default'],
- 'L_COLOR_DARK_RED' => $lang['color_dark_red'],
- 'L_COLOR_RED' => $lang['color_red'],
- 'L_COLOR_ORANGE' => $lang['color_orange'],
- 'L_COLOR_BROWN' => $lang['color_brown'],
- 'L_COLOR_YELLOW' => $lang['color_yellow'],
- 'L_COLOR_GREEN' => $lang['color_green'],
- 'L_COLOR_OLIVE' => $lang['color_olive'],
- 'L_COLOR_CYAN' => $lang['color_cyan'],
- 'L_COLOR_BLUE' => $lang['color_blue'],
- 'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'],
- 'L_COLOR_INDIGO' => $lang['color_indigo'],
- 'L_COLOR_VIOLET' => $lang['color_violet'],
- 'L_COLOR_WHITE' => $lang['color_white'],
- 'L_COLOR_BLACK' => $lang['color_black'],
-
- 'L_FONT_SIZE' => $lang['Font_size'],
- 'L_FONT_TINY' => $lang['font_tiny'],
- 'L_FONT_SMALL' => $lang['font_small'],
- 'L_FONT_NORMAL' => $lang['font_normal'],
- 'L_FONT_LARGE' => $lang['font_large'],
- 'L_FONT_HUGE' => $lang['font_huge'],
-
- 'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'],
- 'L_STYLES_TIP' => $lang['Styles_tip'],
-
- 'S_HTML_CHECKED' => ( !$html_on ) ? 'checked="checked"' : '',
- 'S_BBCODE_CHECKED' => ( !$bbcode_on ) ? 'checked="checked"' : '',
- 'S_SMILIES_CHECKED' => ( !$smilies_on ) ? 'checked="checked"' : '',
- 'S_SIGNATURE_CHECKED' => ( $attach_sig ) ? 'checked="checked"' : '',
- 'S_POST_ACTION' => $form_action,
- 'CATS_HTML' => $s_cats,
- 'S_HIDDEN_FORM_FIELDS' => $hidden_form_fields)
- );
- }
-
- //
- // Prepare an article for the database
- //
- function prepare_article(&$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$bbcode_uid, &$article_title, &$article_desc, &$message, &$cat_id)
- {
- global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path;
-
- // Check title
- if (!empty($article_title))
- {
- $article_title = htmlspecialchars(trim($article_title));
- }
- else
- {
- $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['kb_empty_article_title'] : $lang['kb_empty_article_title'];
- }
-
- // Check message
- if(!empty($message))
- {
- $bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : '';
- $message = $this->prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
- }
- else
- {
- $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['kb_empty_article'] : $lang['kb_empty_article'];
- }
-
- // Check Desc
- if (!empty($article_desc))
- {
- $article_desc = htmlspecialchars(trim($article_desc));
- }
- else
- {
- $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['kb_empty_article_desc'] : $lang['kb_empty_article_desc'];
- }
-
- // Check categories
- if(!is_array($cat_id))
- {
- $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['kb_empty_cats'] : $lang['kb_empty_cats'];
- }
- return;
- }
-
- function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0)
- {
- global $board_config, $phpEx;
-
- //
- // Clean up the message
- //
- $message = trim($message);
-
- if ($html_on)
- {
- // If HTML is on, we try to make it safe
- // This approach is quite agressive and anything that does not look like a valid tag
- // is going to get converted to HTML entities
- $message = stripslashes($message);
- $html_match = '#<[^\w<]*(\w+)((?:"[^"]*"|\'[^\']*\'|[^<>\'"])+)?>#';
- $matches = array();
-
- $message_split = preg_split($html_match, $message);
- preg_match_all($html_match, $message, $matches);
-
- $message = '';
-
- // Include functions_post for clean_html
- include($phpbb_root_path . "includes/functions_post." . $phpEx);
-
- foreach ($message_split as $part)
- {
- $tag = array(array_shift($matches[0]), array_shift($matches[1]), array_shift($matches[2]));
- $message .= preg_replace($this->html_entities_match, $this->html_entities_replace, $part) . clean_html($tag);
- }
-
- $message = addslashes($message);
- $message = str_replace('"', '\"', $message);
- }
- else
- {
- $message = preg_replace($this->html_entities_match, $this->html_entities_replace, $message);
- }
-
- if($bbcode_on && $bbcode_uid != '')
- {
- $message = bbencode_first_pass($message, $bbcode_uid);
- }
-
- return $message;
- }
-
- function unprepare_message($message)
- {
- return preg_replace($this->unhtml_specialchars_match, $this->unhtml_specialchars_replace, $message);
- }
-}
-?>
\ No newline at end of file
Modified: root/kb.php
===================================================================
--- root/kb.php 2006-12-14 00:13:52 UTC (rev 29)
+++ root/kb.php 2006-12-15 14:33:32 UTC (rev 30)
@@ -502,7 +502,7 @@
case "ucp":
$action = ( isset($HTTP_GET_VARS['action']) ) ? $HTTP_GET_VARS['action'] : "";
- include($phpbb_root_path . "kb/ucp_class." . $phpEx);
+ /*include($phpbb_root_path . "kb/ucp_class." . $phpEx);
$ucp = new ucp;
// Start Page output
@@ -510,7 +510,47 @@
include($phpbb_root_path . 'includes/page_header.' . $phpEx);
$ucp->generate_page($action, $HTTP_GET_VARS['id'], $HTTP_GET_VARS['preview']);
+ */
+ // The above have been removed and changed to functions.php
+ $id = isset($HTTP_GET_VARS['id']) ? $HTTP_GET_VARS['id'] : 0;
+ $preview = isset($HTTP_POST_VARS['preview']) ? true : false;
+ $page_title = ucp_generate_page_title($action);
+ include($phpbb_root_path . 'includes/page_header.' . $phpEx);
+
+ switch($action)
+ {
+ case "articles":
+ break;
+
+ case "comments":
+ break;
+
+ case "post_article":
+ ucp_article_form("post", false, $preview);
+ break;
+
+ case "edit_article":
+ ucp_article_form("edit", $id, $preview);
+ break;
+
+ case "delete_article":
+ ucp_article_delete();
+ break;
+
+ case "post_comment": // Only input
+ break;
+
+ case "edit_comment":
+ break;
+
+ case "delete_comment":
+ break;
+
+ default:
+ break;
+ }
+
//
// Generate the page
//
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|