diff options
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/db/mysql_schema.sql | 4 | ||||
-rw-r--r-- | phpBB/develop/convert_sigs.php | 81 | ||||
-rw-r--r-- | phpBB/posting.php | 59 | ||||
-rw-r--r-- | phpBB/viewtopic.php | 38 |
4 files changed, 139 insertions, 43 deletions
diff --git a/phpBB/db/mysql_schema.sql b/phpBB/db/mysql_schema.sql index 22e7c9913d..2f91f023f3 100644 --- a/phpBB/db/mysql_schema.sql +++ b/phpBB/db/mysql_schema.sql @@ -216,6 +216,7 @@ CREATE TABLE phpbb_posts ( enable_bbcode tinyint(1) DEFAULT '1' NOT NULL, enable_html tinyint(1) DEFAULT '0' NOT NULL, enable_smilies tinyint(1) DEFAULT '1' NOT NULL, + enable_sig tinyint(1) DEFAULT '1' NOT NULL, bbcode_uid char(10) NOT NULL, post_edit_time int(11), post_edit_count smallint(6) DEFAULT '0' NOT NULL, @@ -254,7 +255,8 @@ CREATE TABLE phpbb_privmsgs ( privmsgs_ip char(8) NOT NULL, privmsgs_enable_bbcode tinyint(1) DEFAULT '1' NOT NULL, privmsgs_enable_html tinyint(1) DEFAULT '0' NOT NULL, - privmsgs_enable_smilies tinyint(1) DEFAULT '1' NOT NULL, + privmsgs_enable_smilies tinyint(1) DEFAULT '1' NOT NULL, + privmsgs_enable_sig tinyint(1) DEFAULT '1' NOT NULL, privmsgs_bbcode_uid char(10) DEFAULT '0' NOT NULL, PRIMARY KEY (privmsgs_id), KEY privmsgs_from_userid (privmsgs_from_userid), diff --git a/phpBB/develop/convert_sigs.php b/phpBB/develop/convert_sigs.php new file mode 100644 index 0000000000..0ba2f22304 --- /dev/null +++ b/phpBB/develop/convert_sigs.php @@ -0,0 +1,81 @@ + +<? + +$phpbb_root_path = "../"; + +include($phpbb_root_path . 'extension.inc'); +include($phpbb_root_path . 'config.'.$phpEx); +include($phpbb_root_path . 'includes/constants.'.$phpEx); +include($phpbb_root_path . 'includes/db.'.$phpEx); + +$sql = "SELECT post_id, post_text + FROM " . POSTS_TEXT_TABLE; +if( $result = $db->sql_query($sql) ) +{ + $rowset = $db->sql_fetchrowset($result); + + $attach_sql = ""; + $non_attach_sql = ""; + + for($i = 0; $i < count($rowset); $i++) + { + if( ereg("\[addsig]$", $rowset[$i]['post_text'])) + { + if( $attach_sql != "" ) + { + $attach_sql .= ", "; + } + $attach_sql .= $rowset[$i]['post_id']; + + $sql = "UPDATE " . POSTS_TEXT_TABLE . " + SET post_text = '" . addslashes(preg_replace("/\[addsig\]/is", "", $rowset[$i]['post_text'])) . "' + WHERE post_id = " . $rowset[$i]['post_id']; + if( !$result = $db->sql_query($sql) ) + { + die("Couldn't update post_text - " . $i); + } + + } + else + { + if( $non_attach_sql != "" ) + { + $non_attach_sql .= ", "; + } + $non_attach_sql .= $rowset[$i]['post_id']; + } + } + + echo "<BR>"; + + if( $attach_sql != "" ) + { + echo $sql = "UPDATE " . POSTS_TABLE . " + SET enable_sig = 1 + WHERE post_id IN ($attach_sql)"; + if( !$result = $db->sql_query($sql) ) + { + die("Couldn't update post table attach_sig - "); + } + } + + echo "<BR>"; + + if( $non_attach_sql != "" ) + { + echo $sql = "UPDATE " . POSTS_TABLE . " + SET enable_sig = 0 + WHERE post_id IN ($non_attach_sql)"; + if( !$result = $db->sql_query($sql) ) + { + die("Couldn't update post table non_attach_sig - "); + } + } + +} + +$db->sql_close(); + + echo "<BR><BR>COMPLETE<BR>"; + +?> diff --git a/phpBB/posting.php b/phpBB/posting.php index 7ca8e626dc..7131b3c2c1 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -30,8 +30,8 @@ include($phpbb_root_path . 'includes/bbcode.'.$phpEx); // Do some initial checks, set basic variables, // etc. // -$html_entities_match = array("#<#", "#>#", "#& #"); -$html_entities_replace = array("<", ">", "& "); +$html_entities_match = array("#<#", "#>#", "#& #", "#\"#"); +$html_entities_replace = array("<", ">", "& ", """); $submit = ( isset($HTTP_POST_VARS['submit']) ) ? TRUE : 0; $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : 0; @@ -93,20 +93,21 @@ if( $cancel ) { if($post_id != "") { - header("Location: " . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id")); + $redirect = "viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id"; } else if($topic_id != "") { - header("Location: " . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id")); + $redirect = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"; } else if($forum_id != "") { - header("Location: " . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id")); + $redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"; } else { - header("Location: " . append_sid("index.$phpEx")); + $redirect = "index.$phpEx"; } + header("Location:" . append_sid($redirect)); } // // Continue var definitions @@ -510,10 +511,6 @@ if( $submit && $mode != "vote" ) $post_message = prepare_message($HTTP_POST_VARS['message'], $html_on, $bbcode_on, $smilies_on, $bbcode_uid); - if( $attach_sig ) - { - $post_message .= (ereg(" $", $post_message)) ? "[addsig]" : " [addsig]"; - } } } else @@ -694,8 +691,8 @@ if( ( $submit || $confirm ) && !$error ) $new_topic_id = $topic_id; } - $sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, bbcode_uid, enable_bbcode, enable_html, enable_smilies) - VALUES ($new_topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', '$bbcode_uid', $bbcode_on, $html_on, $smilies_on)"; + $sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, bbcode_uid, enable_bbcode, enable_html, enable_smilies, enable_sig) + VALUES ($new_topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', '$bbcode_uid', $bbcode_on, $html_on, $smilies_on, $attach_sig)"; $result = ($mode == "reply") ? $db->sql_query($sql, BEGIN_TRANSACTION) : $db->sql_query($sql); if($result) @@ -1191,7 +1188,7 @@ if( ( $submit || $confirm ) && !$error ) } $sql = "UPDATE " . POSTS_TABLE . " - SET bbcode_uid = '$bbcode_uid', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on" . $edited_sql . " + SET bbcode_uid = '$bbcode_uid', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id"; if($db->sql_query($sql, BEGIN_TRANSACTION)) @@ -1505,7 +1502,7 @@ else if( $preview || $refresh || $error ) @reset($HTTP_POST_VARS['poll_option_text']); while( list($option_id, $option_text) = each($HTTP_POST_VARS['poll_option_text']) ) { - $poll_option_list[$option_id] = trim(strip_tags(stripslashes($option_text))); + $poll_option_list[$option_id] = trim(strip_tags(preg_replace($html_entities_match, $html_entities_replace, stripslashes($option_text)))); $poll_options++; } } @@ -1655,17 +1652,16 @@ else $post_subject = $postrow['post_subject']; $post_message = $postrow['post_text']; - if( eregi("\[addsig]$", $post_message) ) + if( $mode == "editpost" ) { - $post_message = eregi_replace("\[addsig]$", "", $post_message); - - $attach_sig = ( $mode == "editpost" ) ? ( ( $postrow['user_sig'] != "" ) ? TRUE : 0 ) : ( ( $userdata['user_sig'] != "" ) ? TRUE : 0 ); + $attach_sig = ( $postrow['enable_sig'] && $postrow['user_sig'] != "" ) ? TRUE : 0; + $user_sig = $postrow['user_sig']; } - else + else { - $attach_sig = ( $mode == "editpost" ) ? 0 : ( ( $userdata['user_sig'] != "" ) ? TRUE : 0 ); + $attach_sig = ( $userdata['user_attachsig'] ) ? TRUE : 0; + $user_sig = $userdata['user_sig']; } - $user_sig = ( $attach_sig ) ? ( ( $mode == "editpost" ) ? $postrow['user_sig'] : $userdata['user_sig'] ) : ""; $post_message = preg_replace("/\:[0-9a-z\:]*?\]/si", "]", $post_message); $post_message = str_replace("<br />", "\n", $post_message); @@ -1712,12 +1708,16 @@ else } $vote_results_sum = 0; - while( $row = $db->sql_fetchrow($result) ) + if( $row = $db->sql_fetchrow($result) ) { $poll_title = $row['vote_text']; $poll_length = $row['vote_length']; $poll_option_list[$row['vote_option_id']] = $row['vote_option_text']; + while( $row = $db->sql_fetchrow($result) ) + { + $poll_option_list[$row['vote_option_id']] = $row['vote_option_text']; + } } $poll_length = $poll_length / 86400; @@ -1809,7 +1809,7 @@ if( $preview && !$error ) } } - if( $user_sig != "" && $board_config['allow_bbcode'] ) + if( $attach_sig && $user_sig != "" && $board_config['allow_bbcode'] ) { $sig_uid = make_bbcode_uid(); $user_sig = bbencode_first_pass($user_sig, $sig_uid); @@ -1855,11 +1855,6 @@ if( $preview && !$error ) ); $template->pparse("preview"); - // - // Post preview output conversion - // - $post_message = preg_replace($html_entities_match, $html_entities_replace, $post_message); - } // // End preview output @@ -2018,13 +2013,13 @@ switch($mode) // Output the data to the template // $template->assign_vars(array( - "USERNAME" => $post_username, - "SUBJECT" => $post_subject, + "USERNAME" => preg_replace($html_entities_match, $html_entities_replace, $post_username), + "SUBJECT" => preg_replace($html_entities_match, $html_entities_replace, $post_subject), "MESSAGE" => $post_message, "HTML_STATUS" => $html_status, "BBCODE_STATUS" => $bbcode_status, "SMILIES_STATUS" => $smilies_status, - "POLL_TITLE" => $poll_title, + "POLL_TITLE" => preg_replace($html_entities_match, $html_entities_replace, $poll_title), "POLL_LENGTH" => $poll_length, "L_SUBJECT" => $lang['Subject'], @@ -2086,7 +2081,7 @@ if( $display_poll ) while( list($option_id, $option_text) = each($poll_option_list) ) { $template->assign_block_vars("poll_option_rows", array( - "POLL_OPTION" => $option_text, + "POLL_OPTION" => preg_replace($html_entities_match, $html_entities_replace, $option_text), "S_POLL_OPTION_NUM" => $option_id) ); diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index c4233c0c77..723b914fb2 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -332,7 +332,7 @@ $select_post_order .= "</select>"; // // Go ahead and pull all data for this topic // -$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_avatar, p.post_time, p.post_id, p.post_username, p.bbcode_uid, p.post_edit_time, p.post_edit_count, p.enable_bbcode, p.enable_html, p.enable_smilies, pt.post_text, pt.post_subject +$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_avatar, p.*, pt.post_text, pt.post_subject FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt WHERE p.topic_id = $topic_id AND p.poster_id = u.user_id @@ -519,6 +519,11 @@ if( !empty($forum_row['topic_vote']) ) $vote_graphic_img = $images['voting_graphic'][$vote_graphic]; $vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0; + if( count($orig_word) ) + { + $vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']); + } + $template->assign_block_vars("poll_option", array( "POLL_OPTION_CAPTION" => $vote_info[$i]['vote_option_text'], "POLL_OPTION_RESULT" => $vote_info[$i]['vote_result'], @@ -542,6 +547,11 @@ if( !empty($forum_row['topic_vote']) ) for($i = 0; $i < $vote_options; $i++) { + if( count($orig_word) ) + { + $vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']); + } + $template->assign_block_vars("poll_option", array( "POLL_OPTION_ID" => $vote_info[$i]['vote_option_id'], "POLL_OPTION_CAPTION" => $vote_info[$i]['vote_option_text']) @@ -558,6 +568,11 @@ if( !empty($forum_row['topic_vote']) ) $s_hidden_fields = '<input type="hidden" name="topic_id" value="' . $topic_id . '"><input type="hidden" name="mode" value="vote">'; } + if( count($orig_word) ) + { + $vote_title = preg_replace($orig_word, $replacement_word, $vote_title); + } + $template->assign_vars(array( "POLL_QUESTION" => $vote_title, @@ -672,7 +687,7 @@ for($i = 0; $i < $total_posts; $i++) $aim_img = ($postrow[$i]['user_aim']) ? "<a href=\"aim:goim?screenname=" . stripslashes($postrow[$i]['user_aim']) . "&message=Hello+Are+you+there?\"><img src=\"" . $images['icon_aim'] . "\" border=\"0\" alt=\"" . $lang['AIM'] . "\" /></a>" : ""; - $msn_img = ($postrow[$i]['user_msnm']) ? "<a href=\"profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$poster_id\"><img src=\"" . $images['icon_msnm'] . "\" border=\"0\" alt=\"" . $lang['MSNM'] . "\" /></a>" : ""; + $msn_img = ($postrow[$i]['user_msnm']) ? "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$poster_id") . "\"><img src=\"" . $images['icon_msnm'] . "\" border=\"0\" alt=\"" . $lang['MSNM'] . "\" /></a>" : ""; $yim_img = ($postrow[$i]['user_yim']) ? "<a href=\"http://edit.yahoo.com/config/send_webmesg?.target=" . $postrow[$i]['user_yim'] . "&.src=pg\"><img src=\"" . $images['icon_yim'] . "\" border=\"0\" alt=\"" . $lang['YIM'] . "\" /></a>" : ""; } @@ -704,7 +719,7 @@ for($i = 0; $i < $total_posts; $i++) if( $is_auth['auth_mod'] ) { - $ip_img = "<a href=\"" . append_sid("modcp.$phpEx?mode=viewip&" . POST_POST_URL . "=" . $post_id) . "\"><img src=\"" . $images['icon_ip'] . "\" alt=\"" . $lang['View_IP'] . "\" border=\"0\" /></a>"; + $ip_img = "<a href=\"" . append_sid("modcp.$phpEx?mode=viewip&" . POST_POST_URL . "=" . $postrow[$i]['post_id']) . "\"><img src=\"" . $images['icon_ip'] . "\" alt=\"" . $lang['View_IP'] . "\" border=\"0\" /></a>"; $delpost_img = "<a href=\"" . append_sid("topicadmin.$phpEx?mode=delpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']) . "\"><img src=\"" . $images['icon_delpost'] . "\" alt=\"" . $lang['Delete_post'] . "\" border=\"0\" /></a>"; } @@ -727,7 +742,7 @@ for($i = 0; $i < $total_posts; $i++) // if( !$board_config['allow_html'] ) { - if($user_sig != "") + if( $user_sig != "" && $postrow[$i]['enable_sig'] ) { $user_sig = preg_replace("#(<)([\/]?.*?)(>)#is", "<\\2>", $user_sig); } @@ -740,7 +755,7 @@ for($i = 0; $i < $total_posts; $i++) if( $board_config['allow_bbcode'] && $bbcode_uid != "" ) { - if($user_sig != "") + if( $user_sig != "" && $postrow[$i]['enable_sig'] ) { $sig_uid = make_bbcode_uid(); $user_sig = bbencode_first_pass($user_sig, $sig_uid); @@ -754,7 +769,10 @@ for($i = 0; $i < $total_posts; $i++) $message = preg_replace("/\:[0-9a-z\:]+\]/si", "]", $message); } - $message = ($user_sig != "") ? ereg_replace("\[addsig]$", "<br /><br />_________________<br />" . $user_sig, $message) : ereg_replace("\[addsig]$", "", $message); + if( $postrow[$i]['enable_sig'] ) + { + $message .= "<br /><br />_________________<br />" . $user_sig; + } if( count($orig_word) ) { @@ -865,13 +883,13 @@ if($can_watch_topic) { if($is_watching_topic) { - $s_watching_topic = "<a href=\"viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic&start=$start\">" . $lang['Stop_watching_topic'] . "</a>"; - $s_watching_topic_img = "<a href=\"viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic&start=$start\"><img src=\"" . $images['Topic_un_watch'] . "\" alt=\"" . $lang['Stop_watching_topic'] . "\" border=\"0\"></a>"; + $s_watching_topic = "<a href=\"" . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic&start=$start") . "\">" . $lang['Stop_watching_topic'] . "</a>"; + $s_watching_topic_img = "<a href=\"" . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic&start=$start") . "\"><img src=\"" . $images['Topic_un_watch'] . "\" alt=\"" . $lang['Stop_watching_topic'] . "\" border=\"0\"></a>"; } else { - $s_watching_topic = "<a href=\"viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&watch=topic&start=$start\">" . $lang['Start_watching_topic'] . "</a>"; - $s_watching_topic_img = "<a href=\"viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&watch=topic&start=$start\"><img src=\"" . $images['Topic_watch'] . "\" alt=\"" . $lang['Start_watching_topic'] . "\" border=\"0\"></a>"; + $s_watching_topic = "<a href=\"" . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&watch=topic&start=$start") . "\">" . $lang['Start_watching_topic'] . "</a>"; + $s_watching_topic_img = "<a href=\"" . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&watch=topic&start=$start") . "\"><img src=\"" . $images['Topic_watch'] . "\" alt=\"" . $lang['Start_watching_topic'] . "\" border=\"0\"></a>"; } } else |