Index: modules/in-bulletin/units/topics/topics_config.php
===================================================================
--- modules/in-bulletin/units/topics/topics_config.php
+++ modules/in-bulletin/units/topics/topics_config.php
@@ -100,6 +100,17 @@
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
+
+						array(
+							'Mode' => hBEFORE,
+							'Conditional' => false,
+							'HookToPrefix' => 'user-profile',
+							'HookToSpecial' => '*',
+							'HookToEvent' => array('OnAfterConfigRead'),
+							'DoPrefix' => '',
+							'DoSpecial' => '*',
+							'DoEvent' => 'OnModifyUserProfileConfig',
+						),
 					),
 
 					'CatalogItem'			=>	true,
@@ -562,4 +573,4 @@
 												'RatingDelayValue'		=>	'topic_RatingDelay_Value',
 												'RatingDelayInterval'	=>	'topic_RatingDelay_Interval',
 										),
-			);
\ No newline at end of file
+			);
Index: modules/in-bulletin/units/topics/topics_event_handler.php
===================================================================
--- modules/in-bulletin/units/topics/topics_event_handler.php
+++ modules/in-bulletin/units/topics/topics_event_handler.php
@@ -300,4 +300,45 @@
 				$manager->subscribe();
 			}
 		}
-	}
\ No newline at end of file
+
+		/**
+		 * Adds fields for forum preferences.
+		 *
+		 * @param kEvent $event Event.
+		 *
+		 * @return void
+		 */
+		protected function OnModifyUserProfileConfig(kEvent $event)
+		{
+			$checkbox_field = array(
+				'type' => 'int',
+				'formatter' => 'kOptionsFormatter', 'options' => array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1,
+				'default' => 0,
+			);
+			$text_field = array('type' => 'string', 'default' => '');
+
+			$new_virtual_fields = array(
+				'show_sig' => $checkbox_field,
+				'Perpage_Topics' => $text_field,
+				'Perpage_Postings' => $text_field,
+				'owner_notify' => $checkbox_field,
+				'bb_pm_notify' => $checkbox_field,
+				'bbcode' => $checkbox_field,
+				'smileys' => $checkbox_field,
+				'bb_signatures' => $checkbox_field,
+				'my_signature' => $text_field,
+			);
+
+			$virtual_fields = $this->Application->getUnitOption(
+				$event->MasterEvent->Prefix,
+				'VirtualFields',
+				array()
+			);
+			$this->Application->setUnitOption(
+				$event->MasterEvent->Prefix,
+				'VirtualFields',
+				array_merge($virtual_fields, $new_virtual_fields)
+			);
+		}
+
+	}