Index: email.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/email/email.module,v
retrieving revision 1.9.2.3
diff -u -p -r1.9.2.3 email.module
--- email.module	17 Apr 2007 05:58:31 -0000	1.9.2.3
+++ email.module	12 Mar 2008 21:16:08 -0000
@@ -55,20 +55,23 @@ function email_field($op, &$node, $field
  *
  */
 function email_field_formatter_info() {
-  return array(
+  $formats = array(
     'default' => array(
       'label' => 'Default Email-Link',
       'field types' => array('email'),
     ),
-    'invisi' => array(
-      'label' => 'Email-Invisimail',
-      'field types' => array('email'),
-    ),
     'contact' => array(
       'label' => 'Email-Contact Form',
       'field types' => array('email'),
     ),
   );
+  if (module_exists('invisimail')) {
+    $formats['invisi'] = array(
+      'label' => 'Email-Invisimail',
+      'field types' => array('email'),
+    );
+  }
+  return $formats;
 }
 
 function email_field_formatter($field, $item, $formatter, $node) {
@@ -76,10 +79,10 @@ function email_field_formatter($field, $
     return '';
   }
   else {
-    if ($field['widget']['link_type'] == 'form' || $formatter == 'contact') {
+    if ($formatter == 'contact') {
       $mailto = l(t('Email Contact Form'), 'email/'.$node->nid.'/'.$field['field_name']);
     }
-    elseif (($field['widget']['link_type'] == 'mailto_encrypt' || $formatter == 'invisi') && module_exists('invisimail')) {
+    elseif ($formatter == 'invisi' && module_exists('invisimail')) {
       $format = $GLOBALS['invisimail_format'];
       if (!(variable_get('invisimail_link_'.$format, TRUE))) {     
         variable_set('invisimail_link_'.$format, TRUE);
@@ -130,12 +133,6 @@ function email_widget_settings($op, $wid
       if (module_exists('invisimail')) {
         $options += array('mailto_encrypt' => t('Mailto: Direct link with invisimail encryption'));
       }
-      $form['link_type'] = array(
-        '#type' => 'radios',
-        '#title' => t('Email Link Type'),
-        '#default_value' => isset($widget['link_type']) ? $widget['link_type'] : 'mailto',
-        '#options' => $options,
-      );
       
       return $form;
       
@@ -146,7 +143,7 @@ function email_widget_settings($op, $wid
       break;
 
     case 'save':
-      return array('size', 'link_type');
+      return array('size');
   }
 }
 
@@ -245,8 +242,12 @@ function email_mail_page($nid=null, $fie
   // Validate field name
   $types = content_types($node->type);
   if (!isset($types['fields'][$fieldname]) ||
-      $types['fields'][$fieldname]['type'] != 'email' ||
-      $types['fields'][$fieldname]['widget']['link_type'] != 'form') {
+      $types['fields'][$fieldname]['type'] != 'email') {
+    drupal_not_found();
+    return;
+  }
+  if ($types['fields'][$fieldname]['display_settings']['teaser']['format'] != 'contact' &&
+      $types['fields'][$fieldname]['display_settings']['full']['format'] != 'contact') {
     drupal_not_found();
     return;
   }
@@ -333,8 +334,7 @@ function email_mail_page_form_submit($fo
   // Validate field name
   $types = content_types($node->type);
   if (!isset($types['fields'][$fieldname]) ||
-      $types['fields'][$fieldname]['type'] != 'email' ||
-      $types['fields'][$fieldname]['widget']['link_type'] != 'form') {
+      $types['fields'][$fieldname]['type'] != 'email') {
     drupal_not_found();
     return;
   }
