diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/config/prefs.php.dist horde-2.0UM/imp/config/prefs.php.dist
--- /tmp/horde-2.0UM/imp/config/prefs.php.dist	Sat Jan 26 00:53:29 2002
+++ horde-2.0UM/imp/config/prefs.php.dist	Sat Jan 26 01:20:33 2002
@@ -95,8 +95,15 @@ $prefGroups['addressbooks'] = array(
     'desc' => _("Select addressbook sources for adding and searching for addresses."),
     'members' => array('sourceselect')
 );
 
+$prefGroups['advanced'] = array(
+    'column' => _("Other Options"),
+    'label' => _("Advanced Options"),
+    'desc' => _("Toggle page compression, and the \"Blacklist\" UI option."),
+    'members' => array('compress_pages','show_blacklist')
+);
+
 
 
 // user language
 $_prefs['language'] = array(
@@ -567,6 +574,24 @@ $_prefs['show_filter_msg'] = array(
     'shared' => false,
     'type' => 'checkbox',
     'desc' => _("Display message when filters have been applied.")
 );
+
+// user page_compression toggle
+$_prefs['compress_pages'] = array(
+    'value' => 1,
+    'locked' => false,
+    'shared' => false,
+    'type' => 'checkbox',
+    'desc' => _("Compress pages.")
+);
+
+// blacklist ui element toggle
+$_prefs['show_blacklist'] = array(
+    'value' => 0,
+    'locked' => false,
+    'shared' => false,
+    'type' => 'checkbox',
+    'desc' => _("Show \"Blacklist\" element in mail index and message display screens. Only valid if site supports message filtering.")
+)
 
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/folders.php horde-2.0UM/imp/folders.php
--- /tmp/horde-2.0UM/imp/folders.php	Sat Jan 26 00:53:37 2002
+++ horde-2.0UM/imp/folders.php	Sat Jan 26 00:37:33 2002
@@ -241,9 +241,9 @@ $subToggleText = $showAll ? _("Hide Unsu
 
 /* Set the URL to refresh the page to in the META tag */
 $refresh_url = Horde::applicationUrl('folders.php', true);
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     include_once 'HTTP/Compress.php';
     HTTP_Compress::start();
 }
 
@@ -419,9 +419,9 @@ if ($prefs->getValue('nav_popup')) {
 $registry->shutdown();
 
 require $registry->getTemplatePath() . '/common-footer.inc';
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     HTTP_Compress::output();
 }
 
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/mailbox.php horde-2.0UM/imp/mailbox.php
--- /tmp/horde-2.0UM/imp/mailbox.php	Sat Jan 26 00:53:40 2002
+++ horde-2.0UM/imp/mailbox.php	Sat Jan 26 00:38:15 2002
@@ -543,9 +543,9 @@ if ($prefs->getValue('filter_on_refresh'
 }
 $refresh_url = Horde::applicationUrl("mailbox.php?actionID=$actionID&page=$page&uniq=".uniqid(rand()));
 
 $title = $imp['label'];
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     include_once 'HTTP/Compress.php';
     HTTP_Compress::start();
 }
 
@@ -848,9 +848,9 @@ if (!empty($open_compose_window)) {
 require $registry->getTemplatePath() . '/common-footer.inc';
 
 $prefs->store();
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     HTTP_Compress::output();
 }
 
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/message.php horde-2.0UM/imp/message.php
--- /tmp/horde-2.0UM/imp/message.php	Sat Jan 26 00:53:40 2002
+++ horde-2.0UM/imp/message.php	Sat Jan 26 00:39:48 2002
@@ -393,9 +393,9 @@ if ($structure = @imap_fetchstructure($i
     header('Location: ' . Horde::applicationUrl('mailbox.php?actionID=' . MESSAGE_MISSING, true));
     exit;
 }
 
-if ($conf['compress_pages'] && (!$printer_friendly || !$browser->isBrowser('netscape'))) {
+if ($conf['compress_pages'] && ($prefs->getValue('compress_pages')) && (!$printer_friendly || !$browser->isBrowser('netscape'))) {
     include_once 'HTTP/Compress.php';
     HTTP_Compress::start();
 }
 
@@ -527,8 +527,8 @@ $registry->shutdown();
 require $registry->getTemplatePath() . '/common-footer.inc';
 
 $prefs->store();
 
-if ($conf['compress_pages'] && (!$printer_friendly || !$browser->isBrowser('netscape'))) {
+if ($conf['compress_pages'] && ($prefs->getValue('compress_pages')) && (!$printer_friendly || !$browser->isBrowser('netscape'))) {
     HTTP_Compress::output();
 }
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/prefs.php horde-2.0UM/imp/prefs.php
--- /tmp/horde-2.0UM/imp/prefs.php	Sat Jan 26 00:53:39 2002
+++ horde-2.0UM/imp/prefs.php	Sat Jan 26 00:40:12 2002
@@ -258,9 +258,9 @@ $maint = new Maintenance_IMP();
 foreach (($maint->exportIntervalPrefs()) as $val) {
     $$val = &$intervals;
 }
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     include_once 'HTTP/Compress.php';
     HTTP_Compress::start();
 }
 
@@ -301,9 +301,9 @@ if (!empty($group) &&
 
 $registry->shutdown();
 require $registry->getTemplatePath() . '/common-footer.inc';
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     HTTP_Compress::output();
 }
 
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/search.php horde-2.0UM/imp/search.php
--- /tmp/horde-2.0UM/imp/search.php	Sat Jan 26 00:53:40 2002
+++ horde-2.0UM/imp/search.php	Sat Jan 26 00:40:33 2002
@@ -16,9 +16,9 @@ if (($reason = IMP::authenticate(OP_HALF
     header('Location: ' . Horde::applicationUrl(IMP::logoutUrl('login.php', $reason), true));
     exit;
 }
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     include_once 'HTTP/Compress.php';
     HTTP_Compress::start();
 }
 
@@ -55,8 +55,8 @@ require $registry->getTemplatePath() . '
 $registry->shutdown();
 
 require $registry->getTemplatePath() . '/common-footer.inc';
 
-if ($conf['compress_pages']) {
+if (($conf['compress_pages']) && ($prefs->getValue('compress_pages'))){
     HTTP_Compress::output();
 }
 ?>
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/templates/mailbox/actions.inc horde-2.0UM/imp/templates/mailbox/actions.inc
--- /tmp/horde-2.0UM/imp/templates/mailbox/actions.inc	Sat Jan 26 01:16:31 2002
+++ horde-2.0UM/imp/templates/mailbox/actions.inc	Sat Jan 26 00:28:17 2002
@@ -12,9 +12,9 @@
         <a class="widget" href="" onclick="Submit(<?= UNDELETE_MESSAGES ?>); return false;"
          onmouseover="status='<?= _("Undelete") ?>'; return true;"
          onmouseout="status='';"><?= _("Undelete") ?></a>
 	<?php endif; ?>
-    <?php if (!$prefs->isLocked('filters')): ?>
+    <?php if ((!$prefs->isLocked('filters')) && ($prefs->getValue('show_blacklist'))): ?>
         | <?= Horde::link('', _("Blacklist"), 'widget', '', 'BlackList(); return false;') . _("Blacklist") ?></a>
     <?php endif; ?>
     </td>
     <td align="right">
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/templates/mailbox/javascript.inc horde-2.0UM/imp/templates/mailbox/javascript.inc
--- /tmp/horde-2.0UM/imp/templates/mailbox/javascript.inc	Sat Jan 26 01:16:31 2002
+++ horde-2.0UM/imp/templates/mailbox/javascript.inc	Sat Jan 26 00:29:49 2002
@@ -88,9 +88,9 @@ function Transfer(actID, whichForm)
         window.alert('<?= _("You must select at least one message first.") ?>');
     }
 }
 <?php endif; ?>
-<?php if (!$prefs->isLocked('filters')): ?>
+<?php if ((!$prefs->isLocked('filters')) && ($prefs->getValue('show_blacklist'))): ?>
 function BlackList()
 {
     if (AnySelected()) {
         document.messages.actionID.value = <?= IMP_BLACKLIST ?>;
diff -p -N -U 4 -r /tmp/horde-2.0UM/imp/templates/message/navbar.inc horde-2.0UM/imp/templates/message/navbar.inc
--- /tmp/horde-2.0UM/imp/templates/message/navbar.inc	Sat Jan 26 01:16:32 2002
+++ horde-2.0UM/imp/templates/message/navbar.inc	Sat Jan 26 00:34:52 2002
@@ -10,9 +10,9 @@
 | <?= Horde::link(IMP::composeLink(array(), array('actionID' => REPLY, 'index' => $HTTP_GET_VARS['index'], 'array_index' => $HTTP_GET_VARS['array_index'], 'bodypart' => $bodypart, 'identity' => $identity)), _("Reply"), 'widget') . _("Reply") ?></a>
 | <?= Horde::link(IMP::composeLink(array(), array('actionID' => REPLY_ALL, 'index' => $HTTP_GET_VARS['index'], 'array_index' => $HTTP_GET_VARS['array_index'], 'bodypart' => $bodypart, 'identity' => $identity)), _("Reply to All"), 'widget') . _("Reply to All") ?></a>
 | <?= Horde::link(IMP::composeLink(array(), array('actionID' => FORWARD, 'index' => $HTTP_GET_VARS['index'], 'array_index' => $HTTP_GET_VARS['array_index'], 'bodypart' => $bodypart, 'identity' => $identity)), _("Forward"), 'widget') . _("Forward") ?></a>
 | <?= Horde::link(IMP::composeLink(array(), array('actionID' => BOUNCE_COMPOSE, 'index' => $HTTP_GET_VARS['index'], 'array_index' => $HTTP_GET_VARS['array_index'])), _("Redirect"), 'widget') . _("Redirect") ?></a>
-<?php if (!$prefs->isLocked('filters')): ?>
+<?php if ((!$prefs->isLocked('filters')) && ($prefs->getValue('show_blacklist'))) : ?>
 | <?= Horde::link(Horde::applicationUrl($form_target . '?actionID=' . IMP_BLACKLIST . "&$form_ident=$form_index&start=$msgindex&array_index=" . $HTTP_GET_VARS['array_index']), _("Blacklist"), 'widget') . _("Blacklist") ?></a>
 <?php endif; ?>
 <?php if ($conf['user']['allow_view_source']): ?>
 | <?= Horde::link('', _("Message Source"), 'widget', null, "view('" . VIEW_SOURCE . "', '0', ''); return false;") . _("Message Source") ?></a>
