From b96ddb7d558fe6c03e1f068790c494d75d733cc4 Mon Sep 17 00:00:00 2001
From: skodak <skodak>
Date: Mon, 11 May 2009 18:24:19 +0000
Subject: [PATCH] MDL-19002 adding noclean option to editor utility functions

---
 lib/filelib.php | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lib/filelib.php b/lib/filelib.php
index cd341d33a5..35e5a0eff0 100644
--- a/lib/filelib.php
+++ b/lib/filelib.php
@@ -131,6 +131,9 @@ function file_prepare_standard_editor($data, $field, array $options, $context=nu
     if (!isset($options['maxfiles'])) {
         $options['maxfiles'] = 0; // no files by default
     }
+    if (!isset($options['noclean'])) {
+        $options['noclean'] = false;
+    }
 
     if (empty($data->id) or empty($context)) {
         $contextid = null;
@@ -139,18 +142,23 @@ function file_prepare_standard_editor($data, $field, array $options, $context=nu
             $data->{$field} = '';
         }
         if (!isset($data->{$field.'format'})) {
-            $data->{$field.'format'} = FORMAT_HTML; // TODO: use better default
+            $data->{$field.'format'} = FORMAT_HTML; // TODO: use better default based on user preferences and browser capabilities
+        }
+        if (!$options['noclean']) {
+            $data->{$field} = clean_text($data->{$field}, $data->{$field.'format'});
         }
-        $data->{$field} = clean_text($data->{$field}, $data->{$field.'format'});
 
     } else {
         if ($options['trusttext']) {
+            // noclean ignored if trusttext enabled
             if (!isset($data->{$field.'trust'})) {
                 $data->{$field.'trust'} = 0;
             }
             $data = trusttext_pre_edit($data, $field, $context);
         } else {
-            $data->{$field} = clean_text($data->{$field}, $data->{$field.'format'});
+            if (!$options['noclean']) {
+                $data->{$field} = clean_text($data->{$field}, $data->{$field.'format'});
+            }
         }
         $contextid = $context->id;
     }
-- 
2.39.5