Index: marksmarty.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/marksmarty/marksmarty.module,v
retrieving revision 1.21
diff -u -p -r1.21 marksmarty.module
--- marksmarty.module	22 Jan 2008 22:25:27 -0000	1.21
+++ marksmarty.module	11 Feb 2008 22:41:17 -0000
@@ -114,9 +114,21 @@ function marksmarty_help($path = 'admin/
 function _marksmarty_process($text, $format) {
   require_once(dirname(__FILE__) .'/markdown.php');
   require_once(dirname(__FILE__) .'/smartypants.php');
+  
   if (variable_get("marksmarty_is_markdown_on_$format", 1) == 1) {
-    $text = Markdown($text);
+    if (variable_get("marksmarty_markdown_no_markup_$format", 0) == 1) {
+      // use special markdown parser to escape unwanted html tags
+      require_once(dirname(__FILE__).'/no-markup_markdown.php');
+
+      $text = MarkdownWithoutMarkup($text, variable_get("marksmarty_markdown_allowed_html_$format", ''));
+
+      $text = filter_xss_admin($text);
+    } else {
+      // default markdown parser
+      $text = Markdown($text);
+    }
   }
+  
   if (variable_get("marksmarty_is_smarty_on_$format", 1) == 1) {
     global $smartypants_attr;
     $smartypants_attr = variable_get("marksmarty_smarty_hyphens_$format", 0) + 1;
@@ -144,6 +156,18 @@ function _marksmarty_settings($format) {
     '#default_value' => variable_get("marksmarty_is_markdown_on_$format", 1),
     '#options' => array(0 => t('No'), 1 => t('Yes')),
   );
+  $form['markdown_settings']["marksmarty_markdown_no_markup_$format"] = array(
+    '#type' => 'select',
+    '#title' => t('Disable HTML markup in Markdown?'),
+    '#default_value' => variable_get("marksmarty_markdown_no_markup_$format", 0),
+    '#options' => array(0 => t('No'), 1 => t('Yes')),
+  );
+  $form['markdown_settings']["marksmarty_markdown_allowed_html_$format"] = array(
+    '#type' => 'textfield',
+    '#title' => t('HTML tag whitelist'),
+    '#description' => t('only applies when markup is disabled (see above)'),
+    '#default_value' => variable_get("marksmarty_markdown_allowed_html_$format", ''),
+  );
   $form['markdown_settings']["marksmarty_is_smarty_on_$format"] = array(
     '#type' => 'select',
     '#title' => t('Enable SmartyPants?'),
