aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJames Atkinson <thefinn@users.sourceforge.net>2001-07-11 02:19:13 +0000
committerJames Atkinson <thefinn@users.sourceforge.net>2001-07-11 02:19:13 +0000
commit255304d87a14d8a61c2fa987b03f31dbd4f493e2 (patch)
tree2762f03ad0454aee0881ff2916f8ade3aa36dc51 /phpBB
parent2cabdbebc3797c6b20b97dc5dc6ad57a43923fa2 (diff)
downloadforums-255304d87a14d8a61c2fa987b03f31dbd4f493e2.tar
forums-255304d87a14d8a61c2fa987b03f31dbd4f493e2.tar.gz
forums-255304d87a14d8a61c2fa987b03f31dbd4f493e2.tar.bz2
forums-255304d87a14d8a61c2fa987b03f31dbd4f493e2.tar.xz
forums-255304d87a14d8a61c2fa987b03f31dbd4f493e2.zip
Split is half done... don't try and use it though its current b0rked :)
git-svn-id: file:///svn/phpbb/trunk@627 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions.php37
-rwxr-xr-xphpBB/language/lang_english.php2
-rw-r--r--phpBB/modcp.php125
3 files changed, 159 insertions, 5 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 27d980ccb4..2402f5efca 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -184,6 +184,43 @@ function make_jumpbox()
return($boxstring);
}
+function make_forum_box($box_name, $default_forum = -1)
+{
+ global $db;
+
+ $limit_forums = "";
+
+ $sql = "SELECT forum_id, forum_name
+ FROM ".FORUMS_TABLE."
+ ORDER BY cat_id, forum_order";
+ if(!$q_forums = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, "Couldn't obtain forums information.", "", __LINE__, __FILE__, $sql);
+ }
+ $total_forums = $db->sql_numrows($q_forums);
+ $forum_rows = $db->sql_fetchrowset($q_forums);
+
+ $boxstring = '<select name="'.$box_name.'">';
+ if($total_forums)
+ {
+ for($y = 0; $y < $total_forums; $y++)
+ {
+ $name = stripslashes($forum_rows[$y]['forum_name']);
+ $boxstring .= "<option value=\"".$forum_rows[$y]['forum_id']."\"";
+ if($forum_rows[$y]['forum_id'] == $default_forum)
+ {
+ $boxstring .= " SELECTED";
+ }
+ $boxstring .= ">$name</option>\n";
+ }
+ }
+ else
+ {
+ $boxstring .= "<option value=\"-1\">-- ! No Forums ! --</option>\n";
+ }
+
+ return($boxstring);
+}
//
// Initialise user settings on page load
function init_userprefs($userdata)
diff --git a/phpBB/language/lang_english.php b/phpBB/language/lang_english.php
index 76c5cc6f2a..bb3d3bdcf2 100755
--- a/phpBB/language/lang_english.php
+++ b/phpBB/language/lang_english.php
@@ -496,6 +496,8 @@ $lang['Confirm_delete_topic'] = "Are you sure you want to remove the selected to
$lang['Confirm_lock_topic'] = "Are you sure you want to lock the selected topic(s)?";
$lang['Confirm_unlock_topic'] = "Are you sure you want to unlock the selected topic(s)?";
$lang['Confirm_move_topic'] = "Are you sure you want to move the selected topic(s)?";
+$lang['Split_posts'] = "Split Posts";
+$lang['Split_after'] = "Split Posts Beyond Selected";
//
// Old format ... _DON'T_add_any_ new entries here!!
diff --git a/phpBB/modcp.php b/phpBB/modcp.php
index a61a7a23fa..0f47d4c8ab 100644
--- a/phpBB/modcp.php
+++ b/phpBB/modcp.php
@@ -33,7 +33,7 @@
include('extension.inc');
include('common.'.$phpEx);
-
+include('includes/bbcode.'.$phpEx);
$pagetype = "modcp";
$page_title = "Modertator Control Panel";
@@ -112,7 +112,7 @@ if($HTTP_POST_VARS['not_confirm'])
include('includes/page_header.'.$phpEx);
// Set template files
-$template->set_filenames(array("body" => "modcp_body.tpl", "confirm" => "confirm_body.tpl"));
+$template->set_filenames(array("body" => "modcp_body.tpl", "confirm" => "confirm_body.tpl", "split_body" => "split_body.tpl"));
$mode = ($HTTP_POST_VARS['mode']) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
$quick_op = ($HTTP_GET_VARS['quick_op']) ? $HTTP_GET_VARS['quick_op'] : $HTTP_POST_VARS['quick_op'];
@@ -426,13 +426,128 @@ switch($mode)
case 'split':
if($HTTP_POST_VARS['split_posts'])
{
-
-
+ if($HTTP_POST_VARS['spilt_after'])
+ {
+ // Split off posts after the selected one
+ }
+ else if($HTTP_POST_VARS['split'])
+ {
+ $posts = $HTTP_POST_VARS['preform_op'];
+
+ $sql = "SELECT poster_id FROM ".POSTS_TABLE." WHERE post_id = ".$posts[0];
+ if(!$result = $db->sql_query($sql, BEGIN_TRANSACTION))
+ {
+ message_die(GENERAL_ERROR, "Could not get post information", "Error", __LINE__, __FILE__, $sql);
+ }
+
+ $post_rowset = $db->sql_fetchrowset($result);
+ $first_poster = $post_rowset[0]['poster_id'];
+
+ $subject = trim(strip_tags(htmlspecialchars(stripslashes($HTTP_POST_VARS['subject']))));
+ $new_forum_id = $HTTP_POST_VARS['new_forum_id'];
+ $topic_time = get_gmt_ts();
+ /*
+ $sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_notify, topic_status, topic_type)
+ VALUES ('$subject', $first_poster, " . $topic_time . ", $new_forum_id, 0, " . TOPIC_UNLOCKED . ", ".TOPIC_NORMAL.")";
+ if(!$result = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, "Could not insert new topic", "Error", __LINE__, __FILE__, $sql);
+ }
+
+ $new_topic_id = $db->sql_nextid();
+ */
+ $new_topic_id = 100;
+
+ $sql = "UPDATE ".POSTS_TABLE." SET topic_id = $new_topic_id WHERE ";
+ for($x = 0; $x < $posts; $x++)
+ {
+ if($x > 0)
+ {
+ $sql .= " OR ";
+ }
+ $sql .= "post_id = ".$posts[$x];
+ }
+
+ echo $sql;
+ }
}
else
{
-
+ $topic_id = ($HTTP_POST_VARS[POST_TOPIC_URL]) ? $HTTP_POST_VARS[POST_TOPIC_URL] : $HTTP_GET_VARS[POST_TOPIC_URL];
+
+ $sql = "SELECT u.username, p.post_time, p.post_id, p.bbcode_uid, pt.post_text, pt.post_subject, p.post_username
+ FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
+ WHERE p.topic_id = $topic_id
+ AND p.poster_id = u.user_id
+ AND p.post_id = pt.post_id
+ ORDER BY p.post_time ASC";
+ if(!$result = $db->sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, "Could not get topic/post information", "Error", __LINE__, __FILE__, $sql);
+ }
+ if(($total_posts = $db->sql_numrows($result)) > 0)
+ {
+ $postrow = $db->sql_fetchrowset($result);
+
+ $template->assign_vars(array("L_AUTHOR" => $lang['Author'],
+ "L_MESSAGE" => $lang['Message'],
+ "L_SELECT" => $lang['Select'],
+ "L_SUBJECT" => $lang['Subject'],
+ "L_POSTED" => $lang['Posted'],
+ "L_SPLIT_POSTS" => $lang['Split_posts'],
+ "L_SPLIT_AFTER" => $lang['Split_after'],
+ "FORUM_INPUT" => make_forum_box("new_forum_id", $forum_id)));
+
+ for($i = 0; $i < $total_posts; $i++)
+ {
+ $poster_id = $postrow[$i]['user_id'];
+ $poster = stripslashes($postrow[$i]['username']);
+ $post_date = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['default_timezone']);
+ $post_id = $postrow[$i]['post_id'];
+
+ if($poster_id == ANONYMOUS && $postrow[$i]['post_username'] != '')
+ {
+ $poster = stripslashes($postrow[$i]['post_username']);
+ }
+ $post_subject = ($postrow[$i]['post_subject'] != "") ? stripslashes($postrow[$i]['post_subject']) : "";
+
+ $bbcode_uid = $postrow[$i]['bbcode_uid'];
+
+ $user_sig = stripslashes($postrow[$i]['user_sig']);
+ $message = stripslashes($postrow[$i]['post_text']);
+
+ if(!$board_config['allow_html'])
+ {
+ $user_sig = strip_tags($user_sig);
+ $message = strip_tags($message);
+ }
+
+ if($board_config['allow_bbcode'])
+ {
+ // do bbcode stuff here
+ $sig_uid = make_bbcode_uid();
+ $user_sig = bbencode_first_pass($user_sig, $sig_uid);
+ $user_sig = bbencode_second_pass($user_sig, $sig_uid);
+
+ $message = bbencode_second_pass($message, $bbcode_uid);
+ }
+
+ $message = make_clickable($message);
+ $message = str_replace("\n", "<br />", $message);
+ $message = eregi_replace("\[addsig]$", "<br /><br />_________________<br />" . nl2br($user_sig), $message);
+
+ //$message = (strlen($message) > 100) ? substr($message, 0, 100) . " ..." : $message;
+
+ $template->assign_block_vars("postrow", array(
+ "POSTER_NAME" => $poster,
+ "POST_DATE" => $post_date,
+ "POST_SUBJECT" => $post_subject,
+ "MESSAGE" => $message,
+ "POST_ID" => $post_id));
+ }
+ $template->pparse("split_body");
+ }
}