diff -BburN original\english.lng signatures-patch\english.lng
--- original\english.lng	Tue Apr 22 02:25:46 2003
+++ signatures-patch\english.lng	Thu Dec 04 02:43:54 2003
@@ -892,6 +892,12 @@
 
 $txt[1005] = 'Close window';
 
+$txt['prof_hide_avat1'] = 'Hide people\'s avatars?';
+$txt['prof_hide_avat3'] = 'Allow users to disable avatars?';
+$txt['prof_hide_sigs1'] = 'Hide people\'s signatures?';
+$txt['prof_hide_sigs3'] = 'Allow users to disable signatures?';
+
+
 $txt['yse1'] = 'Failed to make backup of Settings.php';
 $txt['yse2'] = 'Installed \'Mods\' Settings and Options';
 $txt['yse3'] = 'This page allows you to change the settings of mods installed in your forum.';
diff -BburN original\Sources\Admin.php signatures-patch\Sources\Admin.php
--- original\Sources\Admin.php	Mon Mar 31 14:56:00 2003
+++ signatures-patch\Sources\Admin.php	Thu Dec 04 03:01:44 2003
@@ -1003,7 +1003,7 @@
 {
 	global $maintenance, $guestaccess, $yyForceIIS, $yyblankpageIIS, $RegAgree, $emailpassword;
 	global $emailwelcome, $MenuType, $enable_ubbc, $curposlinks, $profilebutton, $showlatestmember;
-	global $enable_guestposting, $enable_notification, $allow_hide_email, $Show_RecentBar, $maxmessagedisplay;
+	global $enable_guestposting, $enable_notification, $allow_hide_email, $allow_hide_avatars, $allow_hide_sigs, $Show_RecentBar, $maxmessagedisplay;
 	global $Show_MemberBar, $showmarkread, $showmodify, $ShowBDescrip, $showuserpic, $showusertext;
 	global $showgenderimage, $shownewsfader, $showyabbcbutt, $allowpics, $use_flock, $mailtype, $color;
 	global $scripturl, $color, $db_name, $db_server, $db_user, $db_passwd, $txt, $usetempfile, $faketruncation;
@@ -1017,7 +1017,7 @@
 	if (!@copy("Settings.php", "Settings_bak.php"))
 		$warning = $txt['yse1'];
 
-	$mainchecked = $guestaccchecked = $forcechecked = $blankchecked = $agreechecked = $mailpasschecked = $newpasschecked = $welchecked = $menuchecked = $ubbcchecked = $aluchecked = $cpchecked = $pbchecked = $insertchecked = $newschecked = $gpchecked = $notifchecked = $ahmchecked = $slmchecked = $srbarchecked = $smbarchecked = $smreadchecked = $smodchecked = $supicchecked = $sutextchecked = $sgichecked = $snfchecked = $mst1 = $mts2 = $bdescripchecked = $syabbcchecked = $allowpicschecked = $srb0 = $srb1 = $srb2 = '';
+	$mainchecked = $guestaccchecked = $forcechecked = $blankchecked = $agreechecked = $mailpasschecked = $newpasschecked = $welchecked = $menuchecked = $ubbcchecked = $aluchecked = $cpchecked = $pbchecked = $insertchecked = $newschecked = $gpchecked = $notifchecked = $ahmchecked = $ahachecked = $ahschecked = $slmchecked = $srbarchecked = $smbarchecked = $smreadchecked = $smodchecked = $supicchecked = $sutextchecked = $sgichecked = $snfchecked = $mst1 = $mts2 = $bdescripchecked = $syabbcchecked = $allowpicschecked = $srb0 = $srb1 = $srb2 = '';
 
 	$yytitle = $txt[222];
 	template_header();
@@ -1059,6 +1059,10 @@
 		$notifchecked = ' checked="checked"';
 	if ($allow_hide_email)
 		$ahmchecked = ' checked="checked"';
+	if ($allow_hide_avatars)
+		$ahachecked = ' checked="checked"';
+	if ($allow_hide_sigs)
+		$ahschecked = ' checked="checked"';
 	if ($showlatestmember)
 		$slmchecked = ' checked="checked"';
 	if ($Show_MemberBar)
@@ -1264,6 +1268,12 @@
 							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><font size="2">' . $txt[723] . '</font></td>
 							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><input type="checkbox" name="allow_hide_email" ' . $ahmchecked . ' /></td>
 						</tr><tr>
+							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><font size="2">' . $txt['prof_hide_avat3'] . '</font></td>
+							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><input type="checkbox" name="allow_hide_avatars" ' . $ahachecked . ' /></td>
+						</tr><tr>
+							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><font size="2">' . $txt['prof_hide_sigs3'] . '</font></td>
+							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><input type="checkbox" name="allow_hide_sigs" ' . $ahschecked . ' /></td>
+						</tr><tr>
 							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><font size="2">' . $txt[382] . '</font></td>
 							<td class="windowbg2" bgcolor="' . $color['windowbg2'] . '"><input type="checkbox" name="showlatestmember" ' . $slmchecked . ' /></td>
 						</tr><tr>
@@ -1391,7 +1401,7 @@
 {
 	global $maintenance, $guestaccess, $yyForceIIS, $yyblankpageIIS, $RegAgree, $emailpassword, $emailnewpass;
 	global $emailwelcome, $MenuType, $enable_ubbc, $autolinkurls, $curposlinks, $profilebutton, $enable_news;
-	global $enable_guestposting, $enable_notification, $allow_hide_email, $showlatestmember, $Show_RecentBar;
+	global $enable_guestposting, $enable_notification, $allow_hide_email, $allow_hide_avatars, $allow_hide_sigs, $showlatestmember, $Show_RecentBar;
 	global $Show_MemberBar, $showmarkread, $showmodify, $ShowBDescrip, $showuserpic, $showusertext, $color;
 	global $showgenderimage, $shownewsfader, $showyabbcbutt, $allowpics, $mailtype, $timeformatstring;
 	global $scripturl, $color, $db_name, $db_server, $db_user, $db_passwd, $txt, $db_prefix;
@@ -1407,7 +1417,7 @@
 	foreach ($HTTP_POST_VARS as $key=>$val)
 		$HTTP_POST_VARS[$key] = stripslashes($val);
 
-	$onoff = array('allowpics', 'showyabbcbutt', 'showbdescrip', 'maintenance', 'guestaccess', 'insert_original', 'enable_ubbc', 'enable_news', 'enable_guestposting', 'enable_notification', 'showlatestmember', 'showmemberbar', 'showmarkread', 'showmodify', 'showuserpic', 'showusertext', 'showgenderimage', 'shownewsfader', 'menutype', 'curposlinks', 'profilebutton', 'autolinkurls', 'emailpassword', 'RegAgree', 'emailwelcome', 'allow_hide_email', 'usetempfile', 'emailnewpass', 'yyForceIIS', 'yyblankpageIIS');
+	$onoff = array('allowpics', 'showyabbcbutt', 'showbdescrip', 'maintenance', 'guestaccess', 'insert_original', 'enable_ubbc', 'enable_news', 'enable_guestposting', 'enable_notification', 'showlatestmember', 'showmemberbar', 'showmarkread', 'showmodify', 'showuserpic', 'showusertext', 'showgenderimage', 'shownewsfader', 'menutype', 'curposlinks', 'profilebutton', 'autolinkurls', 'emailpassword', 'RegAgree', 'emailwelcome', 'allow_hide_email', 'allow_hide_avatars', 'allow_hide_sigs', 'usetempfile', 'emailnewpass', 'yyForceIIS', 'yyblankpageIIS');
 	foreach ($onoff as $key)
 	{
 		if (isset($HTTP_POST_VARS[$key]))
@@ -1570,6 +1580,8 @@
 $profilebutton = ' . $profilebutton . ';				# 1 to show view profile button under post, or 0 for blank
 $timeformatstring = "' . $timeformatstring . '";		# Select your preferred output Format of Time and Date
 $allow_hide_email = ' . $allow_hide_email . ';			# Allow users to hide their email from public. Set 0 to disable
+$allow_hide_avatars = ' . $allow_hide_avatars . ';		# Allow users to disable the display of avatars. Set 0 to disable
+$allow_hide_sigs = ' . $allow_hide_sigs . ';		# Allow users to disable the display of signatures. Set 0 to disable
 $showlatestmember = ' . $showlatestmember . ';			# Set to 1 to display "Welcome Newest Member" on the Board Index
 $shownewsfader = ' . $shownewsfader . ';				# 1 to allow or 0 to disallow NewsFader javascript on the Board Index
 										# If 0, you\'ll have no news at all unless you put <yabb news> tag
diff -BburN original\Sources\Display.php signatures-patch\Sources\Display.php
--- original\Sources\Display.php	Fri Apr 04 07:27:00 2003
+++ signatures-patch\Sources\Display.php	Thu Dec 04 04:26:08 2003
@@ -32,7 +32,7 @@
 	global $cgi, $yytitle, $imagesdir, $scripturl, $mbname, $showmodify, $settings;
 	global $yyUDLoaded, $userprofile, $memberstar, $memberinfo, $icqad, $yimon, $ID_MEMBER;
 	global $txt, $menusep, $start, $curposlinks, $color, $MenuType, $username;
-	global $enable_ubbc, $profilebutton, $membergroups, $allow_hide_email, $threadid;
+	global $enable_ubbc, $profilebutton, $membergroups, $allow_hide_email, $allow_hide_avatars, $allow_hide_sigs, $threadid;
 	global $moderators, $modSettings, $viewResults, $realNames, $db_prefix, $yySetLocation, $boardseen;
 	global $sourcedir, $sc, $prev_next;
 
@@ -718,7 +718,7 @@
 						' . $online . '
 						' . $userprofile[$mname]['gender'] . '
 						' . $postinfo . '
-						' . $userprofile[$mname]['avatar'] . '
+						' . ($settings[24] == '1' && $allow_hide_avatars == '1' ? "" : $userprofile[$mname]['avatar']) . '
 						' . $userprofile[$mname]['personalText'] . '
 						' . $userprofile[$mname]['ICQ'] . ' ' . $icq. ' ' . $msn . ' ' . $yim . ' ' . $userprofile[$mname]['AIM'] . '<br />
 						' . implode($menusep, $profileButtons);
@@ -751,8 +751,11 @@
 		else
 			$ipInfo = '<a href="http://www.nic.com/cgi-bin/whois.cgi?query=' . $mip . '" target="_blank"><img src="' . $imagesdir . '/ip.gif" alt="" border="0" /> ' . $mip . '</a>';
 
-		$signature = ($muserID != '-1' ?$signature =  $userprofile[$mname]['signature'] : '');
-
+                if ( ($settings[25] == '1') && ($allow_hide_sigs == '1') )
+                {
+                  $signature = '';
+                }
+		else $signature = ($muserID != '-1' ?$signature =  $userprofile[$mname]['signature'] : '');
 
 		# Print the post and user info for the poster.
 		echo '
diff -BburN original\Sources\Load.php signatures-patch\Sources\Load.php
--- original\Sources\Load.php	Mon Mar 31 06:02:37 2003
+++ signatures-patch\Sources\Load.php	Thu Dec 04 04:30:57 2003
@@ -138,7 +138,12 @@
 	if ($username != 'Guest')
 	{
 		$username = (int) $username;
-		$request = mysql_query("SELECT passwd, realName, emailAddress, websiteTitle, websiteUrl, signature, posts, memberGroup, ICQ, AIM, YIM, gender, personalText, avatar, dateRegistered, location, birthdate, timeFormat, timeOffset, hideEmail, ID_MEMBER, memberName, MSN, lngfile FROM {$db_prefix}members WHERE ID_MEMBER='$username' LIMIT 1;") or database_error(__FILE__, __LINE__);
+                /*
+		  Why aren't we using  mysql_fetch_array() ?!
+		  hideAvatars, hideSigs are referenced as $settings[24] and [25] in Display.php 
+                    -- eloj
+		*/
+		$request = mysql_query("SELECT passwd, realName, emailAddress, websiteTitle, websiteUrl, signature, posts, memberGroup, ICQ, AIM, YIM, gender, personalText, avatar, dateRegistered, location, birthdate, timeFormat, timeOffset, hideEmail, ID_MEMBER, memberName, MSN, lngfile, hideAvatars, hideSigs FROM {$db_prefix}members WHERE ID_MEMBER='$username' LIMIT 1;") or database_error(__FILE__, __LINE__);
 		/* If we found the user... */
 		if (mysql_num_rows($request) != 0)
 		{
@@ -254,6 +259,8 @@
 		$userprofile[$user]['location'] = '';
 		$userprofile[$user]['avatar'] = '';
 		$userprofile[$user]['hideEmail'] = '0';
+		$userprofile[$user]['hideAvatars'] = '0';
+		$userprofile[$user]['hideSigs'] = '0';
 		$userprofile[$user]['ICQ'] = '';
 		$icqad[$user] = '';
 		$userprofile[$user]['AIM'] = '';
diff -BburN original\Sources\Profile.php signatures-patch\Sources\Profile.php
--- original\Sources\Profile.php	Wed Jun 18 09:10:26 2003
+++ signatures-patch\Sources\Profile.php	Thu Dec 04 02:55:54 2003
@@ -29,7 +29,7 @@
 function ModifyProfile ()
 {
 	global $user, $username, $txt, $yytitle, $settings, $img, $cgi, $scripturl, $timeformatstring, $color, $imagesdir;
-	global $GenderMale, $GenderFemale, $allowpics, $facesdir, $userpic_limits, $facesurl, $allow_hide_email, $boarddir, $userpic_width, $userpic_height;
+	global $GenderMale, $GenderFemale, $allowpics, $facesdir, $userpic_limits, $facesurl, $allow_hide_email, $allow_hide_avatars, $allow_hide_sigs, $boarddir, $userpic_width, $userpic_height;
 	global $MaxSigLen, $timeformatstring, $db_prefix, $locale, $modSettings, $language, $timeoffset, $sc;
 
 	$user=urldecode($user);
@@ -38,7 +38,7 @@
 
 	$yytitle = $txt[79];
 	$request = mysql_query("
-		SELECT passwd, realName, emailAddress, websiteTitle, websiteUrl, signature, posts, memberGroup, ICQ, AIM, YIM, gender, personalText, avatar, dateRegistered, location, birthdate, timeFormat, timeOffset, hideEmail, ID_MEMBER, usertitle, karmaBad, karmaGood, lngfile, MSN, secretQuestion, secretAnswer
+		SELECT passwd, realName, emailAddress, websiteTitle, websiteUrl, signature, posts, memberGroup, ICQ, AIM, YIM, gender, personalText, avatar, dateRegistered, location, birthdate, timeFormat, timeOffset, hideEmail, hideAvatars, hideSigs, ID_MEMBER, usertitle, karmaBad, karmaGood, lngfile, MSN, secretQuestion, secretAnswer
 		FROM {$db_prefix}members
 		WHERE memberName='$user'") or database_error(__FILE__, __LINE__);
 	$memsettings = mysql_fetch_array($request);
@@ -322,6 +322,24 @@
 								<td><input type="checkbox" name="hideemail"' . $memsettings['hideEmail'] . ' /></td>
 							</tr>';
 	}
+	if ($allow_hide_avatars)
+	{
+		$memsettings['hideAvatars'] = ($memsettings['hideAvatars'] == 1 ? ' checked' : '');
+		echo '
+							<tr>
+								<td width="45%"><font size="2"><b>' . $txt['prof_hide_avat1'] . '</b></font></td>
+								<td><input type="checkbox" name="hideavatars"' . $memsettings['hideAvatars'] . ' /></td>
+							</tr>';
+	}
+	if ($allow_hide_sigs)
+	{
+		$memsettings['hideSigs'] = ($memsettings['hideSigs'] == 1 ? ' checked' : '');
+		echo '
+							<tr>
+								<td width="45%"><font size="2"><b>' . $txt['prof_hide_sigs1'] . '</b></font></td>
+								<td><input type="checkbox" name="hidesigs"' . $memsettings['hideSigs'] . ' /></td>
+							</tr>';
+	}
 	if ($modSettings['userLanguage'] == '1') 
 	{
 		echo '
@@ -637,6 +655,12 @@
 		$hideEmail = 0;
 		if (isset($member['hideemail']))
 			$hideEmail = 1;
+                $hideAvatars = 0;
+		if (isset($member['hideavatars']))
+			$hideAvatars = 1;
+                $hideSigs = 0;
+		if (isset($member['hidesigs']))
+			$hideSigs = 1;
 		$timeOffest = 0;
 		if ($usertimeoffset != '')
 			$timeOffest = $usertimeoffset;
@@ -674,7 +698,7 @@
 		$memIP=$REMOTE_ADDR;
 		$request = mysql_query("
 			UPDATE {$db_prefix}members
-			SET $queryPasswdPart $customTitlePart realName='$member[name]', emailAddress='$member[email]', websiteTitle='$member[websitetitle]', websiteUrl='$member[websiteurl]', signature='$member[signature]', posts=$member[settings6], memberGroup='$member[settings7]', ICQ='$member[icq]', MSN='$member[msn]', AIM='$member[aim]', YIM='$member[yim]', gender='$member[gender]', personalText='$member[usertext]', avatar='$member[userpic]', $member[dr]location='$member[location]', birthdate='$member[bday]', lngfile='$member[language]', " . ($username == $member['user'] ? "memberIP='$memIP', " : '') . "timeFormat='$member[usertimeformat]', timeOffset='$timeOffest', secretQuestion='$member[secretQuestion]', secretAnswer='$member[secretAnswer]', hideEmail=$hideEmail$karmaStr
+			SET $queryPasswdPart $customTitlePart realName='$member[name]', emailAddress='$member[email]', websiteTitle='$member[websitetitle]', websiteUrl='$member[websiteurl]', signature='$member[signature]', posts=$member[settings6], memberGroup='$member[settings7]', ICQ='$member[icq]', MSN='$member[msn]', AIM='$member[aim]', YIM='$member[yim]', gender='$member[gender]', personalText='$member[usertext]', avatar='$member[userpic]', $member[dr]location='$member[location]', birthdate='$member[bday]', lngfile='$member[language]', " . ($username == $member['user'] ? "memberIP='$memIP', " : '') . "timeFormat='$member[usertimeformat]', timeOffset='$timeOffest', secretQuestion='$member[secretQuestion]', secretAnswer='$member[secretAnswer]', hideEmail=$hideEmail, hideSigs=$hideSigs, hideAvatars=$hideAvatars$karmaStr
 			WHERE memberName='$user'") or database_error(__FILE__, __LINE__);
 
 		updateStats('member');
diff -BburN original\yse153.sql signatures-patch\yse153.sql
--- original\yse153.sql	Thu Mar 27 11:28:19 2003
+++ signatures-patch\yse153.sql	Thu Dec 04 02:58:45 2003
@@ -393,6 +393,8 @@
   AIM tinytext,
   YIM tinytext,
   hideEmail tinyint(4) default NULL,
+  hideAvatars tinyint(4) default NULL,
+  hideSigs tinyint(4) default NULL,
   timeFormat tinytext,
   signature text,
   posts int(11) default NULL,
