Index: notify.module
===================================================================
--- notify.module	(revision 2)
+++ notify.module	(working copy)
@@ -133,7 +133,25 @@
 
   return $items;
 }
-
+/** preview some recent nodes 
+  * using the current method set for displaying content
+  * in notify
+**/
+function _notify_preview($notify) {
+  // Fetch all new nodes and 'load' it to get proper body, etc.
+  $nresult = db_query(db_rewrite_sql('SELECT n.nid FROM {node} n WHERE (n.status = 1 OR n.moderate = 1) ORDER BY n.created DESC LIMIT 3'));
+  $output = '';
+  while ($node = db_fetch_object($nresult)) {
+    $nodes[] = node_load($node->nid);
+  }
+  foreach($nodes as $n) {
+    //drupal_set_message('<pre>'.print_r($n,TRUE).'</pre>');
+    $output .= '<div><h2>'.t('Node with Id: @nid, entitled @title',array('@nid' => $n->nid,'@title' => $n->title)) .'</h2>';
+    $output .= '<pre>' . _notify_content($n,$notify) . '</pre>';
+    $output .= '</div>';
+  }
+  return $output;
+}
 /**
  * Menu callback; show user notification options.
  */
@@ -168,9 +186,13 @@
     $form['notify_page_detailed']['teasers'] = array('#type' => 'radios',
       '#title' => t('Content'),
       '#default_value' => $notify->teasers,
-      '#options' => array(t('Title only'), t('Title + Teaser'), t('Title + Body')),
+      '#options' => array(t('Title only'), t('Title + Teaser'), t('Title + Body'), t('Node view')),
       '#description' => t('Select the amount of each post that you would like to see in your notification e-mails.'),
     );
+    $form['notify_page_detailed']['notify_preview'] = array('#type' => 'fieldset', '#title' => t('Preview'),'#collapsible' => TRUE, '#collapsed' => TRUE);
+    $form['notify_page_detailed']['notify_preview']['content']['#value'] = _notify_preview($notify);
+//     drupal_set_message('<pre>'.print_r(_notify_preview($notify),TRUE).'</pre>');
+
     $form['notify_page_detailed']['comment'] = array('#type' => 'radios',
       '#title' => t('Notify new comments'),
       '#default_value' => $notify->comment,
@@ -209,7 +231,7 @@
     $form['users'][$notify->uid]['name'] = array('#type' => 'markup', '#value' => theme('username', $notify));
     $form['users'][$notify->uid]['mail'] = array('#type' => 'markup', '#value' => $notify->mail);
     $form['users'][$notify->uid]['node'] = array('#type' => 'checkbox', '#default_value' => $notify->node);
-    $form['users'][$notify->uid]['teasers'] = array('#type' => 'select', '#default_value' => $notify->teasers, '#options' => array(t('Title only'), t('Title + Teaser'), t('Title + Body')));
+    $form['users'][$notify->uid]['teasers'] = array('#type' => 'select', '#default_value' => $notify->teasers, '#options' => array(t('Title only'), t('Title + Teaser'), t('Title + Body'),t('Node view')));
     $form['users'][$notify->uid]['comment'] = array('#type' => 'checkbox', '#default_value' => $notify->comment);
     $form['users'][$notify->uid]['attempts'] = array('#type' => 'markup', '#value' => $notify->attempts ? intval($notify->attempts) : 0);
   }
@@ -294,6 +316,15 @@
       break;
     case 2:
       $txt = check_markup($node->body, $node->format, FALSE);
+      break;
+    case 3:
+      // load node view and disle the title
+      $txt = node_view($node,FALSE,TRUE);
+      // my cheap html2plain converter
+      $txt = str_replace(
+          array("</div>","<br>"),
+          array("</div>\n","<br>\n"),$txt);
+      break;
   }
 
   $pattern = '@(<a href="(.+?)">(.+?)</a>)@ei';
