Only in phpBB2++/includes: functions.php.orig
diff -r -U 5 phpBB2++/includes/functions_post.php phpBB2++++/includes/functions_post.php
--- phpBB2++/includes/functions_post.php
+++ phpBB2++++/includes/functions_post.php
@@ -116,10 +116,16 @@
 		{
 			$username = '';
 		}
 	}
 
+	// Added by Cai: Force anonymous to enter username
+	elseif ($userdata['user_id'] == ANONYMOUS)
+	{
+		$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_username'] : $lang['Empty_username'];
+	}
+
 	// Check subject
 	if (!empty($subject))
 	{
 		// subject filter - by dynamis
 		if ( $userdata['user_level'] != ADMIN )
@@ -131,11 +137,12 @@
 			}
 		}
 		
 		$subject = htmlspecialchars(trim($subject));
 	}
-	else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
+	// Modified by Cai: Force to enter subject
+	else if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'quote' || $mode == 'editpost' || $mode == 'vote')
 	{
 		$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject'];
 	}
 
 	// Check message
Only in phpBB2++/install/schemas: mysql_basic.sql.orig
diff -r -U 5 phpBB2++/language/lang_english/lang_main.php phpBB2++++/language/lang_english/lang_main.php
--- phpBB2++/language/lang_english/lang_main.php
+++ phpBB2++++/language/lang_english/lang_main.php
@@ -328,11 +328,12 @@
 
 $lang['Confirm_delete'] = 'Are you sure you want to delete this post?';
 $lang['Confirm_delete_poll'] = 'Are you sure you want to delete this poll?';
 
 $lang['Flood_Error'] = 'You cannot make another post so soon after your last; please try again in a short while.';
-$lang['Empty_subject'] = 'You must specify a subject when posting a new topic.';
+$lang['Empty_username'] = 'You must enter a username.'; // Added by Cai: Force anonymous to enter username
+$lang['Empty_subject'] = 'You must enter a subject.'; // Modified by Cai: Force to enter subject
 $lang['Empty_message'] = 'You must enter a message when posting.';
 $lang['Forum_locked'] = 'This forum is locked: you cannot post, reply to, or edit topics.';
 $lang['Topic_locked'] = 'This topic is locked: you cannot edit posts or make replies.';
 $lang['No_post_id'] = 'You must select a post to edit';
 $lang['No_topic_id'] = 'You must select a topic to reply to';
diff -r -U 5 phpBB2++/language/lang_japanese/lang_main.php phpBB2++++/language/lang_japanese/lang_main.php
--- phpBB2++/language/lang_japanese/lang_main.php
+++ phpBB2++++/language/lang_japanese/lang_main.php
@@ -324,11 +324,12 @@
 
 $lang['Confirm_delete']      = 'この記事を本当に削除しますか？';
 $lang['Confirm_delete_poll'] = 'この投票を本当に削除しますか？';
 
 $lang['Flood_Error']           = '投稿直後に新しい記事を投稿することはできません。しばらくしてから再度投稿してください。';
-$lang['Empty_subject']         = 'トピックを新規投稿する場合は、件名を記入する必要があります';
+$lang['Empty_username']        = 'ユーザ名を記入してください'; // Added by Cai: Force anonymous to enter username
+$lang['Empty_subject']         = '件名を記入してください'; // Modified by Cai: Force to enter subject
 $lang['Empty_message']         = 'メッセージを記入してください';
 $lang['Forum_locked']          = 'このフォーラムはロックされているため、新規投稿、返信、編集を行うことはできません';
 $lang['Topic_locked']          = 'このトピックはロックされているため、返信、編集を行うことはできません';
 $lang['No_post_id']            = '編集する記事を選択してください';
 $lang['No_topic_id']           = '返信するトピックを選択してください';
diff -r -U 5 phpBB2++/posting.php phpBB2++++/posting.php
--- phpBB2++/posting.php
+++ phpBB2++++/posting.php
@@ -769,13 +769,26 @@
 	else if ( $mode == 'reply' )
 	{
 		$user_sig = ( $userdata['user_sig'] != '' ) ? $userdata['user_sig'] : '';
 
 		$username = ( $userdata['session_logged_in'] ) ? $userdata['username'] : '';
-		$subject = '';
+		// Modified by Cai: reply with Re:
+		$subject = $post_info['topic_title'];
 		$message = '';
 
+		// Added by Cai: reply with Re:
+		$orig_word = array();
+		$replacement_word = array();
+		obtain_word_list($orig_word, $replace_word);
+		if ( !empty($orig_word) )
+		{
+			$subject = ( !empty($subject) ) ? preg_replace($orig_word, $replace_word, $subject) : '';
+		}
+		if ( !preg_match('/^Re:/', $subject) && strlen($subject) > 0 )
+		{
+			$subject = 'Re: ' . $subject;
+		}
 	}
 	else if ( $mode == 'quote' || $mode == 'editpost' )
 	{
 		$subject = ( $post_data['first_post'] ) ? $post_info['topic_title'] : $post_info['post_subject'];
 		$message = $post_info['post_text'];
Only in phpBB2++: privmsg.php.orig
Only in phpBB2++/templates/subSilver: posting_body.tpl.orig
