##############################################################
## MOD Title:		Browsers List
## MOD Author: reddog < N/A > (N/A) http://www.reddevboard.com/ 
## MOD Description:	This MOD adds a drop-down list in the profile,
##			where the user can select its browser used
##			on Internet. The browser icon is displayed in
##			memberlist (the list can be sorted with this
##			option), user's profile and posts.
## MOD Version:		0.0.3a
## MOD Compatibility:	2.0.20
##
## Traduccion Espaol: ThE KuKa (Raul) - http://www.phpbb-es.com
##
## Installation Level:	Easy
## Installation Time:	15 Minutes
## Files To Edit:	15
##	memberlist.php
##	viewtopic.php
##	admin/admin_board.php
##	admin/admin_users.php
##	includes/functions.php
##	includes/usercp_avatar.php
##	includes/usercp_register.php
##	includes/usercp_viewprofile.php
##	templates/subSilver/memberlist_body.tpl
##	templates/subSilver/profile_add_body.tpl
##	templates/subSilver/profile_view_body.tpl
##	templates/subSilver/subSilver.cfg
##	templates/subSilver/viewtopic_body.tpl
##	templates/subSilver/admin/board_config_body.tpl
##	templates/subSilver/admin/user_edit_body.tpl
## Included Files:	(N/A)
##	root/images/browsers/*.*
##	root/includes/lang_extend_mac.php
##	root/language/lang_english/lang_extend_browsers.php
##	root/language/lang_spanish/lang_extend_browsers.php
##
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/ 
##############################################################
## Author Notes:
##
##############################################################
## MOD History:
##
## 2006-04-28 - Version 0.0.3a
##	- modified how additional language file is loaded
## 2006-04-27 - Version 0.0.3
##	- first distributed version
## 2005-12-19 - Version 0.0.2
##	- improvements
## 2005-10-30 - Version 0.0.1
##      - first release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################
#
#-----[ SQL ]-------------------------------------------------
#
ALTER TABLE phpbb_users ADD user_browser varchar(100) DEFAULT '' NOT NULL;
INSERT INTO phpbb_config (config_name, config_value) VALUES ('browsers_path', 'images/browsers/');
#
#-----[ COPY ]------------------------------------------------
#
copy root/images/browsers/*.* to images/browsers/*.*
copy root/includes/lang_extend_mac.php to includes/lang_extend_mac.php
copy root/language/lang_english/lang_extend_browsers.php to language/lang_english/lang_extend_browsers.php
#
#-----[ OPEN ]------------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$mode_types_text = array(
$mode_types = array(
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
// here we added
//	, $lang['browser']
//	, 'browser'
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, $lang['Sort_Username']
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, $lang['browser']
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, 'username'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, 'browser'
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
case 'username':
$order_by
break;
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	case 'browser':
		$order_by = 'user_browser ' . $sort_order . ' LIMIT ' . $start . ', ' . $board_config['topics_per_page'];
		break;
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$sql = "SELECT username
	FROM
	WHERE
	ORDER BY
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
$sql = str_replace('SELECT ', 'SELECT user_browser, ', $sql);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
'YIM' =>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
			'BROWSER_IMG' => display_browser($row['user_browser']),
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
// Go ahead and pull all data for this topic
//
$sql = "SELECT
	FROM
	WHERE
		$limit_posts_time
		AND
		AND
	ORDER BY
	LIMIT $start,
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
$sql = str_replace('SELECT ', 'SELECT u.user_browser, ', $sql);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$poster = ( $poster_id == ANONYMOUS ) ? $lang['Guest'] : $postrow[$i]['username'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	$poster_browser = display_browser($postrow[$i]['user_browser'], true);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$poster_rank = $lang['Guest'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
		$poster_browser = '';
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
'POSTER_RANK' =>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
//-- add
		'POSTER_BROWSER' => $poster_browser,
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
"SMILIES_PATH" =>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	"L_BROWSERS_PATH" => $lang['browsers_path'],
	"L_BROWSERS_PATH_EXPLAIN" => $lang['browsers_path_explain'],

	"BROWSERS_PATH" => $new['browsers_path'],
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$interests = ( !empty($HTTP_POST_VARS['interests']) ) ?
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
		$browser_url = (!empty($HTTP_POST_VARS['browser_url'])) ? trim(strip_tags($HTTP_POST_VARS['browser_url'])) : '';
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$sql = "UPDATE " . USERS_TABLE . "
	SET
	WHERE
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
			$sql = str_replace('SET ', 'SET user_browser = \'' . str_replace("\'", "''", $browser_url) . '\', ', $sql);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$interests = htmlspecialchars($this_userdata['user_interests']);
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
		$browser_url = htmlspecialchars($this_userdata['user_browser']);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$s_hidden_fields .= '<input type="hidden" name="interests"
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
			$s_hidden_fields .= '<input type="hidden" name="browser_url" value="' . str_replace("\"", "&quot;", $browser_url) . '" />';
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
	"body" => "admin/user_edit_body.tpl")
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
		get_browsers_list();
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
	//
	// Set up style
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
# This part can already be existing : if so, just skip it
#
//-- mod : language settings -----------------------------------------------------------------------
//-- add
	include($phpbb_root_path . './includes/lang_extend_mac.' . $phpEx);
//-- fin mod : language settings -------------------------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
		}

		if ( empty($template) || empty($theme) )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
# This part can already be existing : if so, just skip it
#
//-- mod : language settings -----------------------------------------------------------------------
//-- add
			include($phpbb_root_path . './includes/lang_extend_mac.' . $phpEx);
//-- fin mod : language settings -------------------------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
//-- add
function display_browser($browser_url, $topics='')
{
	global $phpbb_root_path, $board_config, $template, $lang;

	$tpl_data = array();
	$data_browser = '';
	if (!empty($browser_url))
	{
		$template->assign_block_vars('browser', array());

		$browser_tmp = str_replace($board_config['browsers_path'], '', $browser_url);
		$browser_str = substr($browser_tmp, 0, -4);
		$browser_name = (isset($lang[$browser_str])) ? $lang[$browser_str] : ucfirst($browser_str);
		$browser_img = '<img alt="' . $browser_name . '" src="' . $phpbb_root_path . $browser_url . '" align="absmiddle" border="0" title="' . $browser_name . '" />';

		$tpl_data = array(
			'BROWSER_NAME' => $browser_name,
			'BROWSER_IMG' => $browser_img,
		);

		$data_browser = ( (!empty($topics)) ? $lang['browser'] . ': ' : '&nbsp;' ) . $browser_img . ( (!empty($topics)) ? '<br />' : '' );
	}
	else
	{
		$template->assign_block_vars('browser_else', array());
	}

	// send to template
	$template->assign_vars($tpl_data + array(
		'L_BROWSER' => $lang['browser'],
		'L_BROWSER_NONE' => $lang['browser_none'],
	));

	return $data_browser;
}

// inspired by validate() function in Ptirhiik's mod "categories hierarchy"
function get_browsers_list()
{
	global $phpbb_root_path, $board_config, $template, $lang, $images;
	global $browser_url;

	// get available browsers icons
	$browsers_icons = array();
	if ( $board_config['browsers_path'][ (strlen($board_config['browsers_path'])-1) ] != '/' )
	{
		$board_config['browsers_path'] .= '/';
	}
	$dir = @opendir(phpbb_realpath($phpbb_root_path . $board_config['browsers_path']));
	while ( $file = @readdir($dir) )
	{
		$filename = phpbb_realpath($phpbb_root_path . $board_config['browsers_path'] . $file);
		if ( !@is_dir($filename) )
		{
			$img_size = @getimagesize($filename);
			if ( $img_size[0] && $img_size[1] )
			{
				$browsers_icons[ $board_config['browsers_path'] . $file ] = $file;
			}
		}
	}
	@closedir($dir);

	// html for browser_name field
	$html = ' onChange="if (this.options[selectedIndex].value != \'\') {document.post.browser_img.src = \'' . $phpbb_root_path . '\' + this.options[selectedIndex].value} else {document.post.browser_img.src=\'' . $images['spacer'] . '\'}"';

	// build form
	$list_browsers = '';

	if ( !empty($browsers_icons) )
	{
		$template->assign_block_vars('browsers', array());

		$data['options'] = array('' => 'no_browser') + $browsers_icons;

		$list_browsers = '<select name="browser_url"' . $html . '>';
		foreach ( $data['options'] as $val => $desc )
		{
			$desc = ($desc != 'no_browser') ? substr($desc, 0, -4) : $desc;
			$selected = ($val == $browser_url) ? ' selected="selected"' : '';
			$list_browsers .= '<option value="' . $val . '"' . $selected . '>' . (isset($lang[$desc]) ? $lang[$desc] : ucfirst($desc)) . '</option>';
		}
		$list_browsers .= '</select>';
	}

	// send to template
	$template->assign_vars(array(
		'I_BROWSER' => (!empty($browser_url)) ? $phpbb_root_path . $browser_url : $images['spacer'],

		'L_BROWSER' => $lang['browser'],
		'L_BROWSER_TITLE' => $lang['browser_icon'],

		'S_BROWSERS_LIST' => $list_browsers,
	));
}
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_avatar.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
function display_avatar_gallery(
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
// here we added
//	, &$browser_url
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, &$interests
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, &$browser_url
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$params = array(
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
// here we added
//	, 'browser_url'
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, 'interests'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, 'browser_url'
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$user_avatar = ( empty($user_avatar_
$user_avatar_type = ( empty($user_avatar_
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	$browser_url = (!empty($HTTP_POST_VARS['browser_url'])) ? trim(htmlspecialchars($HTTP_POST_VARS['browser_url'])) : $browser_url;
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$sql = "UPDATE " . USERS_TABLE . "
	SET
	WHERE
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
			$sql = str_replace('SET ', 'SET user_browser = \'' . str_replace("\'", "''", $browser_url) . '\', ', $sql);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$sql = "INSERT INTO " . USERS_TABLE . "
	VALUES
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
// here we added
//	, user_browser
//	, '" . str_replace("\'", "''", $browser_url) . "'
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, user_interests
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, user_browser
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, '" . str_replace("\'", "''", $interests) . "'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, '" . str_replace("\'", "''", $browser_url) . "'
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$attachsig = $userdata['user_attachsig'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	$browser_url = $userdata['user_browser'];
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
display_avatar_gallery(
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
// here we added
//	, $browser_url
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
, $interests
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, $browser_url
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
	'S_PROFILE_ACTION' =>
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
//-- mod : browsers list -------------------------------------------------------
//-- add
	get_browsers_list();
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
//
// Generate page
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : browsers list -------------------------------------------------------
//-- add
display_browser($profiledata['user_browser']);
//-- fin mod : browsers list ---------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/memberlist_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{memberrow.USERNAME}</a>
#
#-----[ IN-LINE FIND ]----------------------------------------
#
{memberrow.USERNAME}</a>
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
{memberrow.BROWSER_IMG}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
<form action="{S_PROFILE_ACTION}
#
#-----[ IN-LINE FIND ]----------------------------------------
#
method="post">
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
# This part can already be existing : if so, just skip it
#
method="post" name="post">
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{INTERESTS}
</td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
	<!-- BEGIN browsers -->
	<tr>
	  <td class="row1"><span class="gen">{L_BROWSER}:</span></td>
	  <td class="row2"><span class="genmed">{S_BROWSERS_LIST}&nbsp;
		<img name="browser_img" src="{I_BROWSER}" align="absmiddle" border="0" alt="" title="{L_BROWSER_TITLE}" />
	  </span></td>
	</tr>
	<!-- END browsers -->
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_view_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{INTERESTS}
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
		<tr>
		  <td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_BROWSER}:</span></td>
		  <td>
			<!-- BEGIN browser -->
			<b class="gen">{BROWSER_NAME}</b>&nbsp;{BROWSER_IMG}
			<!-- END browser -->
			<!-- BEGIN browser_else -->
			<i class="gen">{L_BROWSER_NONE}</i>
			<!-- END browser_else -->
		  </td>
		</tr>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/subSilver.cfg
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
$current_template_images =
#
#-----[ AFTER, ADD ]------------------------------------------
#
# This part can already be existing : if so, just skip it
#

// spacer
$images['spacer'] = "$current_template_images/spacer.gif";
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/viewtopic_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{postrow.POSTER_JOINED}
#
#-----[ IN-LINE FIND ]----------------------------------------
#
{postrow.POSTER_JOINED}
#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------
#
{postrow.POSTER_BROWSER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/board_config_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{L_SMILIES_PATH}
{SMILIES_PATH}
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
	<tr>
		<td class="row1">{L_BROWSERS_PATH}<br /><span class="gensmall">{L_BROWSERS_PATH_EXPLAIN}</span></td>
		<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="browsers_path" value="{BROWSERS_PATH}" /></td>
	</tr>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/user_edit_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
<form action="{S_PROFILE_ACTION}
#
#-----[ IN-LINE FIND ]----------------------------------------
#
method="post">
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
# This part can already be existing : if so, just skip it
#
method="post" name="post">
#
#-----[ FIND ]------------------------------------------------
#
# This may be a partial find and not the whole line(s)
#
{INTERESTS}
</td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Add these lines on a new blank line after the preceding line(s) to find
#
	<!-- BEGIN browsers -->
	<tr>
	  <td class="row1"><span class="gen">{L_BROWSER}</span></td>
	  <td class="row2"><span class="genmed">{S_BROWSERS_LIST}&nbsp;
		<img name="browser_img" src="{I_BROWSER}" align="absmiddle" border="0" alt="" title="{L_BROWSER_TITLE}" />
	  </span></td>
	</tr>
	<!-- END browsers -->
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM