diff -aur includes/acp/acp_board.php includes/acp/acp_board.php
--- includes/acp/acp_board.php	2007-12-12 20:12:47.000000000 +0100
+++ includes/acp/acp_board.php	2008-02-21 18:19:57.000000000 +0100
@@ -62,6 +62,15 @@
 						'default_style'			=> array('lang' => 'DEFAULT_STYLE',			'validate' => 'int',	'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false),
 						'override_user_style'	=> array('lang' => 'OVERRIDE_STYLE',		'validate' => 'bool',	'type' => 'radio:yes_no', 'explain' => true),
 
+						'legend_primadd' => 'ACP_PRIMADD_SETTINGS',
+						'primadd_enable' => array('lang' => 'PRIMADD_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
+						'primadd_enable_post' => array('lang' => 'PRIMADD_ENABLE_POST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
+						'primadd_enable_head' => array('lang' => 'PRIMADD_ENABLE_HEAD', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
+						'primadd_onlyfirst' => array('lang' => 'PRIMADD_ONLYFIRST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
+						'primadd_account_key' => array('lang' => 'PRIMADD_ACCOUNT_KEY', 'validate' => 'string', 'type' => 'text:32:32', 'explain' => false),
+						'primadd_style_key_post' => array('lang' => 'PRIMADD_STYLE_KEY_POST', 'validate' => 'string', 'type' => 'text:32:32', 'explain' => false),
+						'primadd_style_key_head' => array('lang' => 'PRIMADD_STYLE_KEY_HEAD', 'validate' => 'string', 'type' => 'text:32:32', 'explain' => false),
+
 						'legend2'				=> 'WARNINGS',
 						'warnings_expire_days'	=> array('lang' => 'WARNINGS_EXPIRE',		'validate' => 'int',	'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
 					)
diff -aur index.php index.php
--- index.php	2007-12-12 20:12:52.000000000 +0100
+++ index.php	2008-02-21 19:42:46.000000000 +0100
@@ -121,6 +121,15 @@
 	'U_MCP'				=> ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&amp;mode=front', true, $user->session_id) : '')
 );
 
+// primadd
+$template->assign_vars(array(
+	'PRIMADD_ENABLE'      => $config['primadd_enable'],
+	'PRIMADD_ENABLE_HEAD' => $config['primadd_enable_head'],
+	'PRIMADD_ACCOUNT_KEY' => $config['primadd_account_key'],
+	'PRIMADD_STYLE_KEY_HEAD' => $config['primadd_style_key_head'],
+	'PRIMADD_LANG_TITLE' => $user->lang['PRIMADD_BOOKMARK_SITE']
+));
+
 // Output page
 page_header($user->lang['INDEX']);
 
diff -aur language/en/acp/board.php language/en/acp/board.php
--- language/en/acp/board.php	2007-12-12 20:12:49.000000000 +0100
+++ language/en/acp/board.php	2008-02-21 18:19:57.000000000 +0100
@@ -53,6 +53,15 @@
 	'SYSTEM_TIMEZONE'				=> 'System timezone',
 	'WARNINGS_EXPIRE'				=> 'Warning duration',
 	'WARNINGS_EXPIRE_EXPLAIN'		=> 'Number of days that will elapse before the warning will automatically expire from a user’s record.',
+	// primadd language variables
+	'ACP_PRIMADD_SETTINGS' => 'primadd see <a href="http://primadd.net/plugins/phpbb3/">http://primadd.net/plugins/phpbb3/</a>',
+	'PRIMADD_ENABLE' => 'enable primadd',
+	'PRIMADD_ENABLE_POST' => 'enable primadd (@posting)',
+	'PRIMADD_ENABLE_HEAD' => 'enable primadd (@head)',
+	'PRIMADD_ONLYFIRST' => 'append to first post only',
+	'PRIMADD_ACCOUNT_KEY' => 'primadd account key',
+	'PRIMADD_STYLE_KEY_POST' => 'primadd style key (@posting)',	
+	'PRIMADD_STYLE_KEY_HEAD' => 'primadd style key (@head)',	
 ));
 
 // Board Features
diff -aur language/en/common.php language/en/common.php
--- language/en/common.php	2007-12-12 20:12:50.000000000 +0100
+++ language/en/common.php	2008-02-21 18:19:57.000000000 +0100
@@ -426,6 +426,7 @@
 	'PREVIOUS'				=> 'Previous',		// Used in pagination
 	'PREVIOUS_STEP'			=> 'Previous',
 	'PRIVACY'				=> 'Privacy policy',
+	'PRIMADD_BOOKMARK_SITE' => 'bookmark this site',
 	'PRIVATE_MESSAGE'		=> 'Private message',
 	'PRIVATE_MESSAGES'		=> 'Private messages',
 	'PRIVATE_MESSAGING'		=> 'Private messaging',
diff -aur styles/prosilver/template/overall_header.html styles/prosilver/template/overall_header.html
--- styles/prosilver/template/overall_header.html	2007-12-12 20:12:51.000000000 +0100
+++ styles/prosilver/template/overall_header.html	2008-02-21 19:39:48.000000000 +0100
@@ -131,6 +131,12 @@
 				<!-- IF U_EMAIL_PM --><li class="rightside"><a href="{U_EMAIL_PM}" title="{L_EMAIL_PM}" class="sendemail">{L_EMAIL_PM}</a></li><!-- ENDIF -->
 				<!-- IF U_PRINT_TOPIC --><li class="rightside"><a href="{U_PRINT_TOPIC}" title="{L_PRINT_TOPIC}" accesskey="p" class="print">{L_PRINT_TOPIC}</a></li><!-- ENDIF -->
 				<!-- IF U_PRINT_PM --><li class="rightside"><a href="{U_PRINT_PM}" title="{L_PRINT_PM}" accesskey="p" class="print">{L_PRINT_PM}</a></li><!-- ENDIF -->
+				<!-- IF PRIMADD_ENABLE and PRIMADD_ENABLE_HEAD -->
+				<li class="rightside">
+						<script src="http://primadd.net/usr/js/{PRIMADD_ACCOUNT_KEY}/{PRIMADD_STYLE_KEY_HEAD}.js" type="text/javascript"></script>
+						<noscript><div><a href="http://primadd.net/bookmark/submit/"><img src="http://primadd.net/img/btn/add_button_1.gif" alt="{PRIMADD_LANG_TITLE}" title="{PRIMADD_LANG_TITLE}"/></a></div></noscript>
+				</li>
+				<!-- ENDIF -->
 			</ul>
 
 			<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
diff -aur styles/prosilver/template/viewtopic_body.html styles/prosilver/template/viewtopic_body.html
--- styles/prosilver/template/viewtopic_body.html	2007-12-12 20:12:52.000000000 +0100
+++ styles/prosilver/template/viewtopic_body.html	2008-02-21 19:32:16.000000000 +0100
@@ -146,6 +146,14 @@
 			<!-- ENDIF -->
 
 			<div class="content">{postrow.MESSAGE}</div>
+			<!-- IF PRIMADD_ENABLE and PRIMADD_ENABLE_POST -->
+				<!-- IF postrow.SHOW_PRIMADD_WIDGET -->
+					<div style="padding-top:25px;">
+							<script src="http://primadd.net/usr/js/{PRIMADD_ACCOUNT_KEY}/{PRIMADD_STYLE_KEY_POST}.js" type="text/javascript"></script>
+							<noscript><div><a href="http://primadd.net/bookmark/submit/"><img src="http://primadd.net/img/btn/add_button_1.gif" alt="{PRIMADD_LANG_TITLE}" title="{PRIMADD_LANG_TITLE}"/></a></div></noscript>
+					</div>
+				<!-- ENDIF -->
+			<!-- ENDIF -->
 
 			<!-- IF postrow.S_HAS_ATTACHMENTS -->
 				<dl class="attachbox">
diff -aur viewforum.php viewforum.php
--- viewforum.php	2007-12-12 20:12:52.000000000 +0100
+++ viewforum.php	2008-02-21 19:42:04.000000000 +0100
@@ -145,6 +145,15 @@
 	'U_VIEW_FORUM'			=> append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&amp;start=$start"),
 ));
 
+// primadd
+$template->assign_vars(array(
+	'PRIMADD_ENABLE'      => $config['primadd_enable'],
+	'PRIMADD_ENABLE_HEAD' => $config['primadd_enable_head'],
+	'PRIMADD_ACCOUNT_KEY' => $config['primadd_account_key'],
+	'PRIMADD_STYLE_KEY_HEAD' => $config['primadd_style_key_head'],
+	'PRIMADD_LANG_TITLE' => $user->lang['PRIMADD_BOOKMARK_SITE']
+));
+
 // Not postable forum or showing active topics?
 if (!($forum_data['forum_type'] == FORUM_POST || (($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) && $forum_data['forum_type'] == FORUM_CAT)))
 {
diff -aur viewtopic.php viewtopic.php
--- viewtopic.php	2007-12-12 20:12:52.000000000 +0100
+++ viewtopic.php	2008-02-21 19:41:51.000000000 +0100
@@ -1376,6 +1376,20 @@
 	{
 		$s_first_unread = $first_unread = true;
 	}
+	
+	// primadd
+	$showPrimaddWidget = false;
+	if ($config['primadd_enable'] == 1 && $config['primadd_enable_post'] == 1)
+	{
+		// depending on user settings, bookmark icons will be appended to all or just the first topic icon
+		if ($i == 0 || $config['primadd_onlyfirst'] == 0)
+		{
+			$showPrimaddWidget = true;
+		}
+	}
 
 	//
 	$postrow = array(
@@ -1384,6 +1398,8 @@
 		'POST_AUTHOR'			=> get_username_string('username', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),
 		'U_POST_AUTHOR'			=> get_username_string('profile', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),
 
+		'SHOW_PRIMADD_WIDGET' => $showPrimaddWidget,
+
 		'RANK_TITLE'		=> $user_cache[$poster_id]['rank_title'],
 		'RANK_IMG'			=> $user_cache[$poster_id]['rank_image'],
 		'RANK_IMG_SRC'		=> $user_cache[$poster_id]['rank_image_src'],
@@ -1560,6 +1576,17 @@
 	$_REQUEST['f'] = $forum_id;
 }
 
+// primadd
+$template->assign_vars(array(
+	'PRIMADD_ENABLE'      => $config['primadd_enable'],
+	'PRIMADD_ENABLE_HEAD' => $config['primadd_enable_head'],
+	'PRIMADD_ENABLE_POST' => $config['primadd_enable_post'],
+	'PRIMADD_ACCOUNT_KEY' => $config['primadd_account_key'],
+	'PRIMADD_STYLE_KEY_HEAD' => $config['primadd_style_key_head'],
+	'PRIMADD_STYLE_KEY_POST' => $config['primadd_style_key_post'],
+	'PRIMADD_LANG_TITLE' => $user->lang['PRIMADD_BOOKMARK_SITE']
+));
+
 // Output the page
 page_header($user->lang['VIEW_TOPIC'] .' - ' . $topic_data['topic_title']);
 
