roojs-ui.js
[roojs1] / roojs-debug.js
index 814ef36..13e1efe 100644 (file)
@@ -46354,6 +46354,33 @@ Roo.apply(Roo.htmleditor.FilterBlock.prototype,
         
     
 });
+/**
+ * @class Roo.htmleditor.FilterAttributes
+ * clean attributes and  styles including http:// etc.. in attribute
+ * @constructor
+* Run a new Attribute Filter
+* @param {Object} config Configuration options
+ */
+Roo.htmleditor.FilterFileWarning = function(cfg)
+{
+    
+    var atag = cfg.node.getElementsByTagName('a');
+    for(var i =0; i < atags.length;i++) {
+        var str = '' + atags.item(i).getAttribute('href');
+        if (str.match(/^file:/)) {
+            throw new Exception ("got file url");
+        }
+    }
+    // less likely
+    atag = cfg.node.getElementsByTagName('img');
+    for(var i =0; i < atags.length;i++) {
+        var str = '' + atags.item(i).getAttribute('src');
+        if (str.match(/^file:/)) {
+            throw new Exception ("got file url");
+        }
+    }
+}
+
 /***
  * This is based loosely on tinymce 
  * @class Roo.htmleditor.TidySerializer
@@ -50099,7 +50126,7 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
             var parser = new Roo.rtf.Parser(cd.getData('text/rtf'));
             images = parser.doc ? parser.doc.getElementsByType('pict') : [];
         }
-        Roo.log(images);
+        //Roo.log(images);
         //Roo.log(imgs);
         // fixme..
         images = images.filter(function(g) { return !g.path.match(/^rtf\/(head|pgdsctbl|listtable|footerf)/); }) // ignore headers/footers etc.
@@ -50143,6 +50170,8 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
             new Roo.htmleditor.FilterSpan({ node : d });
             new Roo.htmleditor.FilterLongBr({ node : d });
             new Roo.htmleditor.FilterComment({ node : d });
+            
+            
         }
         if (this.enableBlocks) {
                 
@@ -50164,6 +50193,11 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
             Roo.htmleditor.Block.initAll(this.doc.body);
         }
         
+        try {
+            new Roo.htmleditor.FilterFileWarning({ node : d });
+        } catch(e) {
+            Roo.MessageBox.alert("Invalid URLS in content", "The pasted Content contains file:// URLS - you probably want to check all the links in this file");
+        }
         
         e.preventDefault();
         return false;