Ver Fonte

更新到百度ueditor 1.3.6

twz915 há 12 anos atrás
pai
commit
a54c6852b0
100 ficheiros alterados com 1507 adições e 1507 exclusões
  1. 39 39
      DjangoUeditor/static/ueditor/dialogs/anchor/anchor.html
  2. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/attachment.css
  3. 128 128
      DjangoUeditor/static/ueditor/dialogs/attachment/attachment.html
  4. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/callbacks.js
  5. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif
  6. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_default.png
  7. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif
  8. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif
  9. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif
  10. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif
  11. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif
  12. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif
  13. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif
  14. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif
  15. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif
  16. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif
  17. 0 0
      DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeMaps.js
  18. 0 0
      DjangoUeditor/static/ueditor/dialogs/background/background.css
  19. 56 56
      DjangoUeditor/static/ueditor/dialogs/background/background.html
  20. 0 0
      DjangoUeditor/static/ueditor/dialogs/background/background.js
  21. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/emotion.css
  22. 53 53
      DjangoUeditor/static/ueditor/dialogs/emotion/emotion.html
  23. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/emotion.js
  24. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/0.gif
  25. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/bface.gif
  26. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/cface.gif
  27. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/fface.gif
  28. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/jxface2.gif
  29. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/neweditor-tab-bg.png
  30. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/tface.gif
  31. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/wface.gif
  32. 0 0
      DjangoUeditor/static/ueditor/dialogs/emotion/images/yface.gif
  33. 88 88
      DjangoUeditor/static/ueditor/dialogs/gmap/gmap.html
  34. 0 0
      DjangoUeditor/static/ueditor/dialogs/help/help.css
  35. 81 81
      DjangoUeditor/static/ueditor/dialogs/help/help.html
  36. 0 0
      DjangoUeditor/static/ueditor/dialogs/help/help.js
  37. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/image.css
  38. 260 260
      DjangoUeditor/static/ueditor/dialogs/image/image.html
  39. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/image.js
  40. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/imageUploader.swf
  41. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/images/center_focus.jpg
  42. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/images/left_focus.jpg
  43. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/images/none_focus.jpg
  44. 0 0
      DjangoUeditor/static/ueditor/dialogs/image/images/right_focus.jpg
  45. 97 97
      DjangoUeditor/static/ueditor/dialogs/insertframe/insertframe.html
  46. 0 0
      DjangoUeditor/static/ueditor/dialogs/internal.js
  47. 126 126
      DjangoUeditor/static/ueditor/dialogs/link/link.html
  48. 135 135
      DjangoUeditor/static/ueditor/dialogs/map/map.html
  49. 0 0
      DjangoUeditor/static/ueditor/dialogs/music/music.css
  50. 0 0
      DjangoUeditor/static/ueditor/dialogs/music/music.html
  51. 0 0
      DjangoUeditor/static/ueditor/dialogs/music/music.js
  52. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/addimg.png
  53. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/brush.png
  54. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/delimg.png
  55. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/delimgH.png
  56. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/empty.png
  57. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/emptyH.png
  58. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/eraser.png
  59. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/redo.png
  60. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/redoH.png
  61. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/scale.png
  62. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/scaleH.png
  63. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/size.png
  64. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/undo.png
  65. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/images/undoH.png
  66. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.css
  67. 94 94
      DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.html
  68. 0 0
      DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.js
  69. 101 101
      DjangoUeditor/static/ueditor/dialogs/searchreplace/searchreplace.html
  70. 0 0
      DjangoUeditor/static/ueditor/dialogs/searchreplace/searchreplace.js
  71. 57 57
      DjangoUeditor/static/ueditor/dialogs/snapscreen/snapscreen.html
  72. 20 20
      DjangoUeditor/static/ueditor/dialogs/spechars/spechars.html
  73. 0 0
      DjangoUeditor/static/ueditor/dialogs/spechars/spechars.js
  74. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/dragicon.png
  75. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/edittable.css
  76. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/edittable.html
  77. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/edittable.js
  78. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/edittd.html
  79. 0 0
      DjangoUeditor/static/ueditor/dialogs/table/edittip.html
  80. 0 0
      DjangoUeditor/static/ueditor/dialogs/tangram.js
  81. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/config.js
  82. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/bg.gif
  83. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/pre0.png
  84. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/pre1.png
  85. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/pre2.png
  86. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/pre3.png
  87. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/images/pre4.png
  88. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/template.css
  89. 26 26
      DjangoUeditor/static/ueditor/dialogs/template/template.html
  90. 0 0
      DjangoUeditor/static/ueditor/dialogs/template/template.js
  91. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/images/center_focus.jpg
  92. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/images/left_focus.jpg
  93. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/images/none_focus.jpg
  94. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/images/right_focus.jpg
  95. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/video.css
  96. 94 94
      DjangoUeditor/static/ueditor/dialogs/video/video.html
  97. 0 0
      DjangoUeditor/static/ueditor/dialogs/video/video.js
  98. 52 52
      DjangoUeditor/static/ueditor/dialogs/webapp/webapp.html
  99. 0 0
      DjangoUeditor/static/ueditor/dialogs/wordimage/fClipboard_ueditor.swf
  100. 0 0
      DjangoUeditor/static/ueditor/dialogs/wordimage/imageUploader.swf

+ 39 - 39
DjangoUeditor/static/UEditor/dialogs/anchor/anchor.html → DjangoUeditor/static/ueditor/dialogs/anchor/anchor.html

@@ -1,40 +1,40 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-    "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-        <title></title>
-        <style type="text/css">
-            *{color: #838383;margin: 0;padding: 0}
-            html,body {font-size: 12px;overflow: hidden; }
-            .content{padding:5px 0 0 15px;}
-            input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
-        </style>
-    </head>
-    <body>
-        <div class="content">
-            <span><var id="lang_input_anchorName"></var></span><input id="anchorName"  value="" />
-        </div>
-        <script type="text/javascript" src="../internal.js"></script>
-        <script type="text/javascript">
-            var anchorInput = $G('anchorName'),
-                node = editor.selection.getRange().getClosedNode();
-            if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
-                anchorInput.value = node;
-            }
-            anchorInput.onkeydown = function(evt){
-                evt = evt || window.event;
-                if(evt.keyCode == 13){
-                    editor.execCommand('anchor', anchorInput.value);
-                    dialog.close();
-                    domUtils.preventDefault(evt)
-                }
-            };
-            dialog.onok = function (){
-                editor.execCommand('anchor', anchorInput.value);
-                dialog.close();
-            };
-            $focus(anchorInput);
-        </script>
-    </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+        <title></title>
+        <style type="text/css">
+            *{color: #838383;margin: 0;padding: 0}
+            html,body {font-size: 12px;overflow: hidden; }
+            .content{padding:5px 0 0 15px;}
+            input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
+        </style>
+    </head>
+    <body>
+        <div class="content">
+            <span><var id="lang_input_anchorName"></var></span><input id="anchorName"  value="" />
+        </div>
+        <script type="text/javascript" src="../internal.js"></script>
+        <script type="text/javascript">
+            var anchorInput = $G('anchorName'),
+                node = editor.selection.getRange().getClosedNode();
+            if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
+                anchorInput.value = node;
+            }
+            anchorInput.onkeydown = function(evt){
+                evt = evt || window.event;
+                if(evt.keyCode == 13){
+                    editor.execCommand('anchor', anchorInput.value);
+                    dialog.close();
+                    domUtils.preventDefault(evt)
+                }
+            };
+            dialog.onok = function (){
+                editor.execCommand('anchor', anchorInput.value);
+                dialog.close();
+            };
+            $focus(anchorInput);
+        </script>
+    </body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/attachment.css → DjangoUeditor/static/ueditor/dialogs/attachment/attachment.css


+ 128 - 128
DjangoUeditor/static/UEditor/dialogs/attachment/attachment.html → DjangoUeditor/static/ueditor/dialogs/attachment/attachment.html

@@ -1,128 +1,128 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="attachment.css"/>
-</head>
-<body>
-<div class="wrapper">
-    <div class="controller">
-        <!--<span id="divStatus"></span>-->
-        <span id="spanButtonPlaceHolder"></span>
-    </div>
-    <div class="fieldset flash" id="fsUploadProgress"></div>
-    <span id="startUpload" style="display: none;"></span>
-
-</div>
-
-<script type="text/javascript" src="../../third-party/swfupload/swfupload.js"></script>
-<script type="text/javascript" src="../../third-party/swfupload/swfupload.queue.js"></script>
-<script type="text/javascript" src="../../third-party/swfupload/fileprogress.js"></script>
-<script type="text/javascript" src="callbacks.js"></script>
-<script type="text/javascript" src="fileTypeMaps.js"></script>
-<script type="text/javascript">
-    var swfupload,
-        filesList=[];
-    editor.setOpt({
-        fileFieldName:"upfile"
-    });
-    window.onload = function () {
-        var settings = {
-            upload_url:editor.options.fileUrl,           //附件上传服务器地址
-            file_post_name:editor.options.fileFieldName,      //向后台提交的表单名
-            flash_url:"../../third-party/swfupload/swfupload.swf",
-            flash9_url:"../../third-party/swfupload/swfupload_fp9.swf",
-            post_params:{"PHPSESSID":"<?php echo session_id(); ?>","fileNameFormat": editor.options.fileNameFormat}, //解决session丢失问题
-            file_size_limit:"100 MB",                                 //文件大小限制,此处仅是前端flash选择时候的限制,具体还需要和后端结合判断
-            file_types:"*.*",                                         //允许的扩展名,多个扩展名之间用分号隔开,支持*通配符
-            file_types_description:"All Files",                      //扩展名描述
-            file_upload_limit:100,                                   //单次可同时上传的文件数目
-            file_queue_limit:10,                                      //队列中可同时上传的文件数目
-            custom_settings:{                                         //自定义设置,用户可在此向服务器传递自定义变量
-                progressTarget:"fsUploadProgress",
-                startUploadId:"startUpload"
-            },
-            debug:false,
-
-            // 按钮设置
-            button_image_url:"../../themes/default/images/filescan.png",
-            button_width:"100",
-            button_height:"25",
-            button_placeholder_id:"spanButtonPlaceHolder",
-            button_text:'<span class="theFont">'+lang.browseFiles+'</span>',
-            button_text_style:".theFont { font-size:14px;}",
-            button_text_left_padding:10,
-            button_text_top_padding:4,
-
-            // 所有回调函数 in handlersplugin.js
-            swfupload_preload_handler:preLoad,
-            swfupload_load_failed_handler:loadFailed,
-            file_queued_handler:fileQueued,
-            file_queue_error_handler:fileQueueError,
-            //选择文件完成回调
-            file_dialog_complete_handler:function(numFilesSelected, numFilesQueued) {
-                var me = this;        //此处的this是swfupload对象
-                if (numFilesQueued > 0) {
-                    dialog.buttons[0].setDisabled(true);
-                    var start = $G(this.customSettings.startUploadId);
-                    start.style.display = "";
-                    start.onclick = function(){
-                        me.startUpload();
-                        start.style.display = "none";
-                    }
-                }
-            },
-            upload_start_handler:uploadStart,
-            upload_progress_handler:uploadProgress,
-            upload_error_handler:uploadError,
-            upload_success_handler:function (file, serverData) {
-                try{
-                    var info = eval("("+serverData+")");
-                }catch(e){}
-                var progress = new FileProgress(file, this.customSettings.progressTarget);
-                if(info.state=="SUCCESS"){
-                    progress.setComplete();
-                    progress.setStatus("<span style='color: #0b0;font-weight: bold'>"+lang.uploadSuccess+"</span>");
-                    filesList.push({url:info.url,type:info.fileType,original:info.original});
-                    progress.toggleCancel(true,this,lang.delSuccessFile);
-                }else{
-                    progress.setError();
-                    progress.setStatus(info.state);
-                    progress.toggleCancel(true,this,lang.delFailSaveFile);
-                }
-
-            },
-            //上传完成回调
-            upload_complete_handler:uploadComplete,
-            //队列完成回调
-            queue_complete_handler:function(numFilesUploaded){
-                dialog.buttons[0].setDisabled(false);
-//                var status = $G("divStatus");
-//                var num = status.innerHTML.match(/\d+/g);
-//                status.innerHTML = ((num && num[0] ?parseInt(num[0]):0) + numFilesUploaded) +lang.statusPrompt;
-            }
-        };
-        swfupload = new SWFUpload( settings );
-        //点击OK按钮
-        dialog.onok = function(){
-            var map = fileTypeMaps,
-                str="";
-            for(var i=0,ci;ci=filesList[i++];){
-                var src = editor.options.UEDITOR_HOME_URL + "dialogs/attachment/fileTypeImages/"+(map[ci.type]||"icon_default.png");
-                str += "<p style='line-height: 16px;'><img src='"+ src + "' _src='"+src+"' />" +
-                       "<a href='"+editor.options.filePath + ci.url+"'>" + ci.original + "</a></p>";
-            }
-            editor.execCommand("insertHTML",str);
-            swfupload.destroy();
-        };
-        dialog.oncancel = function(){
-            swfupload.destroy();
-        }
-    };
-</script>
-
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="attachment.css"/>
+</head>
+<body>
+<div class="wrapper">
+    <div class="controller">
+        <!--<span id="divStatus"></span>-->
+        <span id="spanButtonPlaceHolder"></span>
+    </div>
+    <div class="fieldset flash" id="fsUploadProgress"></div>
+    <span id="startUpload" style="display: none;"></span>
+
+</div>
+
+<script type="text/javascript" src="../../third-party/swfupload/swfupload.js"></script>
+<script type="text/javascript" src="../../third-party/swfupload/swfupload.queue.js"></script>
+<script type="text/javascript" src="../../third-party/swfupload/fileprogress.js"></script>
+<script type="text/javascript" src="callbacks.js"></script>
+<script type="text/javascript" src="fileTypeMaps.js"></script>
+<script type="text/javascript">
+    var swfupload,
+        filesList=[];
+    editor.setOpt({
+        fileFieldName:"upfile"
+    });
+    window.onload = function () {
+        var settings = {
+            upload_url:editor.options.fileUrl,           //附件上传服务器地址
+            file_post_name:editor.options.fileFieldName,      //向后台提交的表单名
+            flash_url:"../../third-party/swfupload/swfupload.swf",
+            flash9_url:"../../third-party/swfupload/swfupload_fp9.swf",
+            post_params:{"PHPSESSID":"<?php echo session_id(); ?>","fileNameFormat": editor.options.fileNameFormat}, //解决session丢失问题
+            file_size_limit:"100 MB",                                 //文件大小限制,此处仅是前端flash选择时候的限制,具体还需要和后端结合判断
+            file_types:"*.*",                                         //允许的扩展名,多个扩展名之间用分号隔开,支持*通配符
+            file_types_description:"All Files",                      //扩展名描述
+            file_upload_limit:100,                                   //单次可同时上传的文件数目
+            file_queue_limit:10,                                      //队列中可同时上传的文件数目
+            custom_settings:{                                         //自定义设置,用户可在此向服务器传递自定义变量
+                progressTarget:"fsUploadProgress",
+                startUploadId:"startUpload"
+            },
+            debug:false,
+
+            // 按钮设置
+            button_image_url:"../../themes/default/images/filescan.png",
+            button_width:"100",
+            button_height:"25",
+            button_placeholder_id:"spanButtonPlaceHolder",
+            button_text:'<span class="theFont">'+lang.browseFiles+'</span>',
+            button_text_style:".theFont { font-size:14px;}",
+            button_text_left_padding:10,
+            button_text_top_padding:4,
+
+            // 所有回调函数 in handlersplugin.js
+            swfupload_preload_handler:preLoad,
+            swfupload_load_failed_handler:loadFailed,
+            file_queued_handler:fileQueued,
+            file_queue_error_handler:fileQueueError,
+            //选择文件完成回调
+            file_dialog_complete_handler:function(numFilesSelected, numFilesQueued) {
+                var me = this;        //此处的this是swfupload对象
+                if (numFilesQueued > 0) {
+                    dialog.buttons[0].setDisabled(true);
+                    var start = $G(this.customSettings.startUploadId);
+                    start.style.display = "";
+                    start.onclick = function(){
+                        me.startUpload();
+                        start.style.display = "none";
+                    }
+                }
+            },
+            upload_start_handler:uploadStart,
+            upload_progress_handler:uploadProgress,
+            upload_error_handler:uploadError,
+            upload_success_handler:function (file, serverData) {
+                try{
+                    var info = eval("("+serverData+")");
+                }catch(e){}
+                var progress = new FileProgress(file, this.customSettings.progressTarget);
+                if(info.state=="SUCCESS"){
+                    progress.setComplete();
+                    progress.setStatus("<span style='color: #0b0;font-weight: bold'>"+lang.uploadSuccess+"</span>");
+                    filesList.push({url:info.url,type:info.fileType,original:info.original});
+                    progress.toggleCancel(true,this,lang.delSuccessFile);
+                }else{
+                    progress.setError();
+                    progress.setStatus(info.state);
+                    progress.toggleCancel(true,this,lang.delFailSaveFile);
+                }
+
+            },
+            //上传完成回调
+            upload_complete_handler:uploadComplete,
+            //队列完成回调
+            queue_complete_handler:function(numFilesUploaded){
+                dialog.buttons[0].setDisabled(false);
+//                var status = $G("divStatus");
+//                var num = status.innerHTML.match(/\d+/g);
+//                status.innerHTML = ((num && num[0] ?parseInt(num[0]):0) + numFilesUploaded) +lang.statusPrompt;
+            }
+        };
+        swfupload = new SWFUpload( settings );
+        //点击OK按钮
+        dialog.onok = function(){
+            var map = fileTypeMaps,
+                str="";
+            for(var i=0,ci;ci=filesList[i++];){
+                var src = editor.options.UEDITOR_HOME_URL + "dialogs/attachment/fileTypeImages/"+(map[ci.type]||"icon_default.png");
+                str += "<p style='line-height: 16px;'><img src='"+ src + "' _src='"+src+"' />" +
+                       "<a href='"+editor.options.filePath + ci.url+"'>" + ci.original + "</a></p>";
+            }
+            editor.execCommand("insertHTML",str);
+            swfupload.destroy();
+        };
+        dialog.oncancel = function(){
+            swfupload.destroy();
+        }
+    };
+</script>
+
+</body>
+</html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/callbacks.js → DjangoUeditor/static/ueditor/dialogs/attachment/callbacks.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_chm.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_default.png → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_default.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_doc.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_exe.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_mp3.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_mv.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_pdf.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_ppt.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_psd.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_rar.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_txt.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeImages/icon_xls.gif → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/attachment/fileTypeMaps.js → DjangoUeditor/static/ueditor/dialogs/attachment/fileTypeMaps.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/background/background.css → DjangoUeditor/static/ueditor/dialogs/background/background.css


+ 56 - 56
DjangoUeditor/static/UEditor/dialogs/background/background.html → DjangoUeditor/static/ueditor/dialogs/background/background.html

@@ -1,56 +1,56 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="background.css">
-</head>
-<body>
-    <div id="bg_container" class="wrapper">
-        <div id="tabHeads" class="tabhead">
-            <span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
-            <span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span>
-        </div>
-        <div id="tabBodys" class="tabbody">
-            <div id="normal" class="panel focus">
-                <fieldset class="bgarea">
-                    <legend><var id="lang_background_set"></var></legend>
-                    <div class="content">
-                        <div>
-                            <label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label>
-                            <label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label>
-                        </div>
-                        <div class="wrapcolor pl">
-                            <div class="color">
-                                <var id="lang_background_color"></var>:
-                            </div>
-                            <div id="colorPicker"></div>
-                            <div class="clear"></div>
-                        </div>
-                        <div class="wrapcolor pl">
-                            <label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
-                        </div>
-                        <div id="alignment" class="alignment">
-                            <var id="lang_background_align"></var>:<select id="repeatType">
-                                <option value="center"></option>
-                                <option value="repeat-x"></option>
-                                <option value="repeat-y"></option>
-                                <option value="repeat"></option>
-                                <option value="self"></option>
-                            </select>
-                        </div>
-                        <div id="custom" >
-                            <var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px&nbsp;&nbsp;y:<input type="text" size="1" id="y" maxlength="4" value="0">px
-                        </div>
-                    </div>
-                </fieldset>
-
-            </div>
-            <div id="imgManager" class="panel">
-                <div id="imageList" style=""></div>
-            </div>
-        </div>
-    </div>
-    <script type="text/javascript" src="background.js"></script>
-</body>
-</html>
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="background.css">
+</head>
+<body>
+    <div id="bg_container" class="wrapper">
+        <div id="tabHeads" class="tabhead">
+            <span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
+            <span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span>
+        </div>
+        <div id="tabBodys" class="tabbody">
+            <div id="normal" class="panel focus">
+                <fieldset class="bgarea">
+                    <legend><var id="lang_background_set"></var></legend>
+                    <div class="content">
+                        <div>
+                            <label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label>
+                            <label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label>
+                        </div>
+                        <div class="wrapcolor pl">
+                            <div class="color">
+                                <var id="lang_background_color"></var>:
+                            </div>
+                            <div id="colorPicker"></div>
+                            <div class="clear"></div>
+                        </div>
+                        <div class="wrapcolor pl">
+                            <label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
+                        </div>
+                        <div id="alignment" class="alignment">
+                            <var id="lang_background_align"></var>:<select id="repeatType">
+                                <option value="center"></option>
+                                <option value="repeat-x"></option>
+                                <option value="repeat-y"></option>
+                                <option value="repeat"></option>
+                                <option value="self"></option>
+                            </select>
+                        </div>
+                        <div id="custom" >
+                            <var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px&nbsp;&nbsp;y:<input type="text" size="1" id="y" maxlength="4" value="0">px
+                        </div>
+                    </div>
+                </fieldset>
+
+            </div>
+            <div id="imgManager" class="panel">
+                <div id="imageList" style=""></div>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript" src="background.js"></script>
+</body>
+</html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/background/background.js → DjangoUeditor/static/ueditor/dialogs/background/background.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/emotion.css → DjangoUeditor/static/ueditor/dialogs/emotion/emotion.css


+ 53 - 53
DjangoUeditor/static/UEditor/dialogs/emotion/emotion.html → DjangoUeditor/static/ueditor/dialogs/emotion/emotion.html

@@ -1,54 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <meta name="robots" content="noindex, nofollow"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="emotion.css">
-</head>
-<body>
-<div id="tabPanel" class="wrapper">
-    <div id="tabHeads" class="tabhead">
-        <span><var id="lang_input_choice"></var></span>
-        <span><var id="lang_input_Tuzki"></var></span>
-        <span><var id="lang_input_lvdouwa"></var></span>
-        <span><var id="lang_input_BOBO"></var></span>
-        <span><var id="lang_input_babyCat"></var></span>
-        <span><var id="lang_input_bubble"></var></span>
-        <span><var id="lang_input_youa"></var></span>
-    </div>
-    <div id="tabBodys" class="tabbody">
-        <div id="tab0"></div>
-        <div id="tab1"></div>
-        <div id="tab2"></div>
-        <div id="tab3"></div>
-        <div id="tab4"></div>
-        <div id="tab5"></div>
-        <div id="tab6"></div>
-    </div>
-</div>
-<div id="tabIconReview">
-    <img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
-</div>
-<script type="text/javascript" src="emotion.js"></script>
-<script type="text/javascript">
-    var emotion = {
-        tabNum:7, //切换面板数量
-        SmilmgName:{ tab0:['j_00', 84], tab1:['t_00', 40], tab2:['w_00', 52], tab3:['B_00', 63], tab4:['C_00', 20], tab5:['i_f', 50], tab6:['y_00', 40] }, //图片前缀名
-        imageFolders:{ tab0:'jx2/', tab1:'tsj/', tab2:'ldw/', tab3:'bobo/', tab4:'babycat/', tab5:'face/', tab6:'youa/'}, //图片对应文件夹路径
-        imageCss:{tab0:'jd', tab1:'tsj', tab2:'ldw', tab3:'bb', tab4:'cat', tab5:'pp', tab6:'youa'}, //图片css类名
-        imageCssOffset:{tab0:35, tab1:35, tab2:35, tab3:35, tab4:35, tab5:25, tab6:35}, //图片偏移
-        SmileyInfor:{
-            tab0:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
-            tab1:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
-            tab2:['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
-            tab3:['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
-            tab4:['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
-            tab5:['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
-            tab6:['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
-        }
-    };
-</script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="robots" content="noindex, nofollow"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="emotion.css">
+</head>
+<body>
+<div id="tabPanel" class="wrapper">
+    <div id="tabHeads" class="tabhead">
+        <span><var id="lang_input_choice"></var></span>
+        <span><var id="lang_input_Tuzki"></var></span>
+        <span><var id="lang_input_lvdouwa"></var></span>
+        <span><var id="lang_input_BOBO"></var></span>
+        <span><var id="lang_input_babyCat"></var></span>
+        <span><var id="lang_input_bubble"></var></span>
+        <span><var id="lang_input_youa"></var></span>
+    </div>
+    <div id="tabBodys" class="tabbody">
+        <div id="tab0"></div>
+        <div id="tab1"></div>
+        <div id="tab2"></div>
+        <div id="tab3"></div>
+        <div id="tab4"></div>
+        <div id="tab5"></div>
+        <div id="tab6"></div>
+    </div>
+</div>
+<div id="tabIconReview">
+    <img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
+</div>
+<script type="text/javascript" src="emotion.js"></script>
+<script type="text/javascript">
+    var emotion = {
+        tabNum:7, //切换面板数量
+        SmilmgName:{ tab0:['j_00', 84], tab1:['t_00', 40], tab2:['w_00', 52], tab3:['B_00', 63], tab4:['C_00', 20], tab5:['i_f', 50], tab6:['y_00', 40] }, //图片前缀名
+        imageFolders:{ tab0:'jx2/', tab1:'tsj/', tab2:'ldw/', tab3:'bobo/', tab4:'babycat/', tab5:'face/', tab6:'youa/'}, //图片对应文件夹路径
+        imageCss:{tab0:'jd', tab1:'tsj', tab2:'ldw', tab3:'bb', tab4:'cat', tab5:'pp', tab6:'youa'}, //图片css类名
+        imageCssOffset:{tab0:35, tab1:35, tab2:35, tab3:35, tab4:35, tab5:25, tab6:35}, //图片偏移
+        SmileyInfor:{
+            tab0:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
+            tab1:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
+            tab2:['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
+            tab3:['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
+            tab4:['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
+            tab5:['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
+            tab6:['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
+        }
+    };
+</script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/emotion.js → DjangoUeditor/static/ueditor/dialogs/emotion/emotion.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/0.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/0.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/bface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/bface.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/cface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/cface.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/fface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/fface.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/jxface2.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/jxface2.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/neweditor-tab-bg.png → DjangoUeditor/static/ueditor/dialogs/emotion/images/neweditor-tab-bg.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/tface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/tface.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/wface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/wface.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/emotion/images/yface.gif → DjangoUeditor/static/ueditor/dialogs/emotion/images/yface.gif


+ 88 - 88
DjangoUeditor/static/UEditor/dialogs/gmap/gmap.html → DjangoUeditor/static/ueditor/dialogs/gmap/gmap.html

@@ -1,89 +1,89 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title></title>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        .content{width:530px; height: 350px;margin: 10px auto;}
-        .content table{width: 100%}
-        .content table td{vertical-align: middle;}
-        #address{width:220px;height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
-    </style>
-    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-</head>
-<body>
-<div class="content">
-    <table>
-        <tr>
-            <td><label for="address"><var id="lang_input_address"></var></label></td>
-            <td><input id="address" type="text" /></td>
-            <td><a id="doSearch" href="javascript:void(0)" class="button"><var id="lang_input_search"></var></a></td>
-        </tr>
-    </table>
-    <div id="container" style="width: 100%; height: 340px;margin: 5px auto; border: 1px solid gray;"></div>
-</div>
-<script type="text/javascript">
-    domUtils.on(window,"load",function(){
-        var map = new google.maps.Map(document.getElementById('container'), {
-                zoom: 3,
-                streetViewControl: false,
-                scaleControl: true,
-                mapTypeId: google.maps.MapTypeId.ROADMAP
-            });
-            var imgcss;
-            var marker = new google.maps.Marker({
-                map: map,
-                draggable: true
-            });
-            function doSearch(){
-                var address = document.getElementById('address').value;
-                var geocoder = new google.maps.Geocoder();
-                geocoder.geocode( { 'address': address}, function (results, status) {
-                    if (status == google.maps.GeocoderStatus.OK) {
-                        var bounds = results[0].geometry.viewport;
-                        map.fitBounds(bounds);
-                        marker.setPosition(results[0].geometry.location);
-                        marker.setTitle(address);
-                    } else alert(lang.searchError);
-                });
-            }
-            $G('address').onkeydown = function (evt){
-                evt = evt || event;
-                if (evt.keyCode == 13) {
-                    doSearch();
-                }
-            };
-            $G("doSearch").onclick = doSearch;
-            dialog.onok = function (){
-                var center = map.getCenter();
-                var point = marker.getPosition();
-                var url = "http://maps.google.com/maps/api/staticmap?center=" + center.lat() + ',' + center.lng() + "&zoom=" + map.zoom + "&size=520x340&maptype=" + map.getMapTypeId() + "&markers=" + point.lat() + ',' + point.lng() + "&sensor=false";
-                editor.execCommand('inserthtml', '<img width="520" height="340" src="' + url + '"' + (imgcss ? ' style="' + imgcss + '"' :'') + '/>');
-            };
-
-            function getPars(str,par){
-                var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
-                return reg.exec(str)[1];
-            }
-            var img = editor.selection.getRange().getClosedNode();
-            if(img && img.src.indexOf("http://maps.google.com/maps/api/staticmap")!=-1){
-                var url = img.getAttribute("src");
-                var centers = getPars(url,"center").split(",");
-                point = new google.maps.LatLng(Number(centers[0]),Number(centers[1]));
-                map.setCenter(point);
-                map.setZoom(Number(getPars(url,"zoom")));
-                centers = getPars(url,"markers").split(",");
-                marker.setPosition(new google.maps.LatLng(Number(centers[0]),Number(centers[1])));
-                imgcss = img.style.cssText;
-            }else{
-                setTimeout(function(){
-                    doSearch();
-                },30)
-            }
-    });
-
-</script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title></title>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        .content{width:530px; height: 350px;margin: 10px auto;}
+        .content table{width: 100%}
+        .content table td{vertical-align: middle;}
+        #address{width:220px;height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
+    </style>
+    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+</head>
+<body>
+<div class="content">
+    <table>
+        <tr>
+            <td><label for="address"><var id="lang_input_address"></var></label></td>
+            <td><input id="address" type="text" /></td>
+            <td><a id="doSearch" href="javascript:void(0)" class="button"><var id="lang_input_search"></var></a></td>
+        </tr>
+    </table>
+    <div id="container" style="width: 100%; height: 340px;margin: 5px auto; border: 1px solid gray;"></div>
+</div>
+<script type="text/javascript">
+    domUtils.on(window,"load",function(){
+        var map = new google.maps.Map(document.getElementById('container'), {
+                zoom: 3,
+                streetViewControl: false,
+                scaleControl: true,
+                mapTypeId: google.maps.MapTypeId.ROADMAP
+            });
+            var imgcss;
+            var marker = new google.maps.Marker({
+                map: map,
+                draggable: true
+            });
+            function doSearch(){
+                var address = document.getElementById('address').value;
+                var geocoder = new google.maps.Geocoder();
+                geocoder.geocode( { 'address': address}, function (results, status) {
+                    if (status == google.maps.GeocoderStatus.OK) {
+                        var bounds = results[0].geometry.viewport;
+                        map.fitBounds(bounds);
+                        marker.setPosition(results[0].geometry.location);
+                        marker.setTitle(address);
+                    } else alert(lang.searchError);
+                });
+            }
+            $G('address').onkeydown = function (evt){
+                evt = evt || event;
+                if (evt.keyCode == 13) {
+                    doSearch();
+                }
+            };
+            $G("doSearch").onclick = doSearch;
+            dialog.onok = function (){
+                var center = map.getCenter();
+                var point = marker.getPosition();
+                var url = "http://maps.google.com/maps/api/staticmap?center=" + center.lat() + ',' + center.lng() + "&zoom=" + map.zoom + "&size=520x340&maptype=" + map.getMapTypeId() + "&markers=" + point.lat() + ',' + point.lng() + "&sensor=false";
+                editor.execCommand('inserthtml', '<img width="520" height="340" src="' + url + '"' + (imgcss ? ' style="' + imgcss + '"' :'') + '/>');
+            };
+
+            function getPars(str,par){
+                var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
+                return reg.exec(str)[1];
+            }
+            var img = editor.selection.getRange().getClosedNode();
+            if(img && img.src.indexOf("http://maps.google.com/maps/api/staticmap")!=-1){
+                var url = img.getAttribute("src");
+                var centers = getPars(url,"center").split(",");
+                point = new google.maps.LatLng(Number(centers[0]),Number(centers[1]));
+                map.setCenter(point);
+                map.setZoom(Number(getPars(url,"zoom")));
+                centers = getPars(url,"markers").split(",");
+                marker.setPosition(new google.maps.LatLng(Number(centers[0]),Number(centers[1])));
+                imgcss = img.style.cssText;
+            }else{
+                setTimeout(function(){
+                    doSearch();
+                },30)
+            }
+    });
+
+</script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/help/help.css → DjangoUeditor/static/ueditor/dialogs/help/help.css


+ 81 - 81
DjangoUeditor/static/UEditor/dialogs/help/help.html → DjangoUeditor/static/ueditor/dialogs/help/help.html

@@ -1,82 +1,82 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title>帮助</title>
-    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="help.css">
-</head>
-<body>
-<div class="wrapper" id="helptab">
-    <div id="tabHeads" class="tabhead">
-        <span class="focus" tabsrc="about"><var id="lang_input_about"></var></span>
-        <span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span>
-    </div>
-    <div id="tabBodys" class="tabbody">
-        <div id="about" class="panel">
-            <h1>UEditor</h1>
-            <p id="version"></p>
-            <p><var id="lang_input_introduction"></var></p>
-        </div>
-        <div id="shortcuts" class="panel">
-            <table>
-                <thead>
-                <tr>
-                    <td><var id="lang_Txt_shortcuts"></var></td>
-                    <td><var id="lang_Txt_func"></var></td>
-                </tr>
-                </thead>
-                <tbody>
-                <tr>
-                    <td>ctrl+b</td>
-                    <td><var id="lang_Txt_bold"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+c</td>
-                    <td><var id="lang_Txt_copy"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+x</td>
-                    <td><var id="lang_Txt_cut"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+v</td>
-                    <td><var id="lang_Txt_Paste"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+y</td>
-                    <td><var id="lang_Txt_undo"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+z</td>
-                    <td><var id="lang_Txt_redo"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+i</td>
-                    <td><var id="lang_Txt_italic"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+u</td>
-                    <td><var id="lang_Txt_underline"></var></td>
-                </tr>
-                <tr>
-                    <td>ctrl+a</td>
-                    <td><var id="lang_Txt_selectAll"></var></td>
-                </tr>
-                <tr>
-                    <td>shift+enter</td>
-                    <td><var id="lang_Txt_visualEnter"></var></td>
-                </tr>
-                <tr>
-                    <td>alt+z</td>
-                    <td><var id="lang_Txt_fullscreen"></var></td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-</div>
-<script type="text/javascript" src="help.js"></script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>帮助</title>
+    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="help.css">
+</head>
+<body>
+<div class="wrapper" id="helptab">
+    <div id="tabHeads" class="tabhead">
+        <span class="focus" tabsrc="about"><var id="lang_input_about"></var></span>
+        <span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span>
+    </div>
+    <div id="tabBodys" class="tabbody">
+        <div id="about" class="panel">
+            <h1>UEditor</h1>
+            <p id="version"></p>
+            <p><var id="lang_input_introduction"></var></p>
+        </div>
+        <div id="shortcuts" class="panel">
+            <table>
+                <thead>
+                <tr>
+                    <td><var id="lang_Txt_shortcuts"></var></td>
+                    <td><var id="lang_Txt_func"></var></td>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td>ctrl+b</td>
+                    <td><var id="lang_Txt_bold"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+c</td>
+                    <td><var id="lang_Txt_copy"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+x</td>
+                    <td><var id="lang_Txt_cut"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+v</td>
+                    <td><var id="lang_Txt_Paste"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+y</td>
+                    <td><var id="lang_Txt_undo"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+z</td>
+                    <td><var id="lang_Txt_redo"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+i</td>
+                    <td><var id="lang_Txt_italic"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+u</td>
+                    <td><var id="lang_Txt_underline"></var></td>
+                </tr>
+                <tr>
+                    <td>ctrl+a</td>
+                    <td><var id="lang_Txt_selectAll"></var></td>
+                </tr>
+                <tr>
+                    <td>shift+enter</td>
+                    <td><var id="lang_Txt_visualEnter"></var></td>
+                </tr>
+                <tr>
+                    <td>alt+z</td>
+                    <td><var id="lang_Txt_fullscreen"></var></td>
+                </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="help.js"></script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/help/help.js → DjangoUeditor/static/ueditor/dialogs/help/help.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/image.css → DjangoUeditor/static/ueditor/dialogs/image/image.css


+ 260 - 260
DjangoUeditor/static/UEditor/dialogs/image/image.html → DjangoUeditor/static/ueditor/dialogs/image/image.html

@@ -1,261 +1,261 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" href="image.css" type="text/css" />
-</head>
-<body>
-    <div class="wrapper">
-        <div id="imageTab">
-            <div id="tabHeads" class="tabhead">
-                <span tabSrc="remote"  class="focus"><var id="lang_tab_remote"></var></span>
-                <span tabSrc="local"><var id="lang_tab_local"></var></span>
-                <span tabSrc="imgManager"><var id="lang_tab_imgManager"></var></span>
-                <span tabSrc="imgSearch"><var id="lang_tab_imgSearch"></var></span>
-            </div>
-            <div id="tabBodys" class="tabbody">
-                <div id="remote" class="panel">
-                    <table cellpadding="0" cellspacing="0">
-                        <tr>
-                            <td class="label"><label for="url"><var id="lang_input_url"></var></label></td>
-                            <td><input id="url" type="text"/></td>
-                        </tr>
-                        <tr>
-                            <td class="label"><label for="width"><var id="lang_input_width"></var></label></td>
-                            <td><input type="text" id="width"/> px</td>
-                        </tr>
-                        <tr>
-                            <td class="label"><label for="height"><var id="lang_input_height"></var></label></td>
-                            <td><input type="text" id="height"/> px</td>
-                        </tr>
-                        <tr>
-                            <td class="label"><label for="border"><var id="lang_input_border"></var></label></td>
-                            <td><input type="text" id="border"/> px</td>
-                        </tr>
-                        <tr>
-                            <td class="label"><label for="vhSpace"><var id="lang_input_vhspace"></var></label></td>
-                            <td><input type="text" id="vhSpace"/> px</td>
-                        </tr>
-                        <tr>
-                            <td class="label"><label for="title"><var id="lang_input_title"></var></label></td>
-                            <td><input type="text" id="title"/></td>
-                        </tr>
-                        <tr>
-                            <td class="label"><var id="lang_input_remoteAlign"></var></td>
-                            <td id="remoteFloat"></td>
-                        </tr>
-                    </table>
-
-                    <div id="preview"></div>
-                    <div class="lock"><input id="lock" type="checkbox" checked="checked"></div>
-                </div>
-                <div id="local" class="panel">
-                    <div id="flashContainer"></div>
-                    <div><div id="upload" style="display: none" ></div><div id="duiqi"></div><div id="localFloat"></div></div>
-
-                    <div class="saveDir">
-                        <var id="lang_savePath" ></var><span id="saveDirSelector"><var id="lang_load_savePath"></var></span>
-                    </div>
-                </div>
-                <div id="imgManager" class="panel">
-                    <div id="imageList"><var id="lang_imgLoading"></var></div>
-                </div>
-                <div id="imgSearch" class="panel">
-                    <table style="margin-top: 5px;">
-                        <tr>
-                            <td width="200"><input id="imgSearchTxt" type="text" /></td>
-                            <td width="65">
-                                <select id="imgType">
-                                    <!--具体内容值将由国际化组件动态填充-->
-                                    <option value="&s=4&z=0"></option>
-                                    <option value="&s=1&z=19"></option>
-                                    <option value="&s=2&z=0"></option>
-                                    <option value="&s=3&z=0"></option>
-                                </select>
-                            </td>
-                            <td width="80"><input id="imgSearchBtn" type="button"  /></td>
-                            <td width="80"><input id="imgSearchReset" type="button" /></td>
-                        </tr>
-                    </table>
-                    <div id="searchList"></div>
-                </div>
-                <iframe id="maskIframe" src="about:blank" scrolling="no" frameborder="no"></iframe>
-            </div>
-        </div>
-    </div>
-    <script type="text/javascript" src="../tangram.js"></script>
-    <script type="text/javascript" src="image.js"></script>
-
-    <script type="text/javascript">
-        //全局变量
-        var imageUrls = [],          //用于保存从服务器返回的图片信息数组
-            selectedImageCount = 0,  //当前已选择的但未上传的图片数量
-            savePathComplete = false, //保存目录已经就绪
-            params = baidu.json.stringify({
-                "fileNameFormat":editor.options.fileNameFormat
-            });
-
-        editor.setOpt({
-            imageFieldName:"upfile",
-            compressSide:0,
-            maxImageSideLength:900
-        });
-
-        utils.domReady(function(){
-            var flashOptions = {
-                container:"flashContainer",                                                    //flash容器id
-                url:editor.options.imageUrl,                                           // 上传处理页面的url地址
-                ext:params,                                 //可向服务器提交的自定义参数列表
-                fileType:'{"description":"'+lang.fileType+'", "extension":"*.gif;*.jpeg;*.png;*.jpg"}',     //上传文件格式限制
-                flashUrl:'imageUploader.swf',                                                  //上传用的flash组件地址
-                width:608,          //flash的宽度
-                height:272,         //flash的高度
-                gridWidth:121,     // 每一个预览图片所占的宽度
-                gridHeight:120,    // 每一个预览图片所占的高度
-                picWidth:100,      // 单张预览图片的宽度
-                picHeight:100,     // 单张预览图片的高度
-                uploadDataFieldName:editor.options.imageFieldName,    // POST请求中图片数据的key
-                picDescFieldName:'pictitle',      // POST请求中图片描述的key
-                maxSize:4,                         // 文件的最大体积,单位M
-                compressSize:2,                   // 上传前如果图片体积超过该值,会先压缩,单位M
-                maxNum:32,                         // 单次最大可上传多少个文件
-                compressSide:editor.options.compressSide,                 //等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
-                compressLength:editor.options.maxImageSideLength        //能接受的最大边长,超过该值Flash会自动等比压缩
-            };
-            //回调函数集合,支持传递函数名的字符串、函数句柄以及函数本身三种类型
-            var callbacks = {
-                // 选择文件的回调
-                selectFileCallback: function(selectFiles){
-                    utils.each(selectFiles,function(file){
-                        var tmp = {};
-                        tmp.id = file.index;
-                        tmp.data = {};
-                        postConfig.push(tmp);
-                    });
-                    selectedImageCount += selectFiles.length;
-                    if(selectedImageCount) baidu.g("upload").style.display = "";
-                    dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
-                },
-                // 删除文件的回调
-                deleteFileCallback: function(delFiles){
-                    for(var i = 0,len = delFiles.length;i<len;i++){
-                        var index = delFiles[i].index;
-                        postConfig.splice(index,1);
-                    }
-                    selectedImageCount -= delFiles.length;
-                    if (!selectedImageCount) {
-                        baidu.g("upload").style.display = "none";
-                        dialog.buttons[0].setDisabled(false);         //没有选择图片时重新点亮按钮
-                    }
-                },
-
-                // 单个文件上传完成的回调
-                uploadCompleteCallback: function(data){
-                    try{
-                        var info = eval("(" + data.info + ")");
-                        info && imageUrls.push(info);
-                        selectedImageCount--;
-                    }catch(e){}
-
-                },
-                // 单个文件上传失败的回调,
-                uploadErrorCallback: function (data){
-                    if(!data.info){
-                        alert(lang.netError);
-                    }
-                    //console && console.log(data);
-                },
-                // 全部上传完成时的回调
-                allCompleteCallback: function(){
-                    dialog.buttons[0].setDisabled(false);    //上传完毕后点亮按钮
-                },
-                // 文件超出限制的最大体积时的回调
-                //exceedFileCallback: 'exceedFileCallback',
-                // 开始上传某个文件时的回调
-                startUploadCallback: function(){
-                    var config = postConfig.shift();
-                    //也可以在这里更改
-                    //if(config.id==2){ //设置第三张图片的对应参数
-                    //     config.data={"myParam":"value"}
-                    // }
-                    flashObj.addCustomizedParams(config.id,config.data);
-                }
-            };
-
-            initSavePath();
-
-            imageUploader.init(flashOptions,callbacks);
-            $G("upload").onclick = function () {
-
-                if ( !savePathComplete ) {
-                    alert('请等待保存目录就绪!')
-                    return;
-                }
-                /**
-                 * 接口imageUploader.setPostParams()可以在提交时设置本次上传提交的参数(包括所有图片)
-                 * 参数为json对象{"key1":"value1","key2":"value2"},其中key即为向后台post提交的name,value即为值。
-                 * 其中有一个特殊的保留key值为action,若设置,可以更改本次提交的处理地址
-                 */
-                var postParams = {
-                    "dir":baidu.g("savePath").value
-                };
-                imageUploader.setPostParams(postParams);
-                flashObj.upload();
-                this.style.display = "none";
-                $G("savePath").parentNode.style.display = "none";
-            };
-
-        });
-
-        function initSavePath () {
-
-            if ( editor.options.savePath && editor.options.savePath.length > 0 ) {
-                updateSavePath( editor.options.savePath );
-            } else {
-                //远程加载
-                var scriptNode = document.createElement('script'),
-                    reqAddress = editor.options.imageUrl.split( "#" ),
-                    uri = reqAddress[0].split( "?" );
-
-                if ( uri.length > 1 ) {
-                    uri = uri[ 0 ] + "?" + uri.slice( 1 ).join("?") + ( !!uri? "&fetch=1" : "fetch=1" );
-                } else {
-                    uri = uri[ 0 ] + "?fetch=1";
-                }
-
-                if ( reqAddress.length > 1 ) {
-                    uri += "#" + reqAddress.slice( 1 ).join("#");
-                }
-
-                scriptNode.src = uri;
-                document.body.appendChild( scriptNode );
-            }
-
-        }
-
-        function updateSavePath ( pathArr ) {
-
-            var selector = $G( "saveDirSelector" ),
-                htmlStr = [ '<select id="savePath">' ],
-                dirs = pathArr;
-
-            for ( var i = 0, len = dirs.length; i < len; i++ ) {
-
-                htmlStr.push( '<option value="'+ dirs[ i ] +'">'+ dirs[ i ] +'</option>' );
-
-            }
-
-            htmlStr.push( '</select>' );
-
-            selector.innerHTML = htmlStr.join( "" );
-
-            savePathComplete = true;
-
-        }
-
-    </script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" href="image.css" type="text/css" />
+</head>
+<body>
+    <div class="wrapper">
+        <div id="imageTab">
+            <div id="tabHeads" class="tabhead">
+                <span tabSrc="remote"  class="focus"><var id="lang_tab_remote"></var></span>
+                <span tabSrc="local"><var id="lang_tab_local"></var></span>
+                <span tabSrc="imgManager"><var id="lang_tab_imgManager"></var></span>
+                <span tabSrc="imgSearch"><var id="lang_tab_imgSearch"></var></span>
+            </div>
+            <div id="tabBodys" class="tabbody">
+                <div id="remote" class="panel">
+                    <table cellpadding="0" cellspacing="0">
+                        <tr>
+                            <td class="label"><label for="url"><var id="lang_input_url"></var></label></td>
+                            <td><input id="url" type="text"/></td>
+                        </tr>
+                        <tr>
+                            <td class="label"><label for="width"><var id="lang_input_width"></var></label></td>
+                            <td><input type="text" id="width"/> px</td>
+                        </tr>
+                        <tr>
+                            <td class="label"><label for="height"><var id="lang_input_height"></var></label></td>
+                            <td><input type="text" id="height"/> px</td>
+                        </tr>
+                        <tr>
+                            <td class="label"><label for="border"><var id="lang_input_border"></var></label></td>
+                            <td><input type="text" id="border"/> px</td>
+                        </tr>
+                        <tr>
+                            <td class="label"><label for="vhSpace"><var id="lang_input_vhspace"></var></label></td>
+                            <td><input type="text" id="vhSpace"/> px</td>
+                        </tr>
+                        <tr>
+                            <td class="label"><label for="title"><var id="lang_input_title"></var></label></td>
+                            <td><input type="text" id="title"/></td>
+                        </tr>
+                        <tr>
+                            <td class="label"><var id="lang_input_remoteAlign"></var></td>
+                            <td id="remoteFloat"></td>
+                        </tr>
+                    </table>
+
+                    <div id="preview"></div>
+                    <div class="lock"><input id="lock" type="checkbox" checked="checked"></div>
+                </div>
+                <div id="local" class="panel">
+                    <div id="flashContainer"></div>
+                    <div><div id="upload" style="display: none" ></div><div id="duiqi"></div><div id="localFloat"></div></div>
+
+                    <div class="saveDir">
+                        <var id="lang_savePath" ></var><span id="saveDirSelector"><var id="lang_load_savePath"></var></span>
+                    </div>
+                </div>
+                <div id="imgManager" class="panel">
+                    <div id="imageList"><var id="lang_imgLoading"></var></div>
+                </div>
+                <div id="imgSearch" class="panel">
+                    <table style="margin-top: 5px;">
+                        <tr>
+                            <td width="200"><input id="imgSearchTxt" type="text" /></td>
+                            <td width="65">
+                                <select id="imgType">
+                                    <!--具体内容值将由国际化组件动态填充-->
+                                    <option value="&s=4&z=0"></option>
+                                    <option value="&s=1&z=19"></option>
+                                    <option value="&s=2&z=0"></option>
+                                    <option value="&s=3&z=0"></option>
+                                </select>
+                            </td>
+                            <td width="80"><input id="imgSearchBtn" type="button"  /></td>
+                            <td width="80"><input id="imgSearchReset" type="button" /></td>
+                        </tr>
+                    </table>
+                    <div id="searchList"></div>
+                </div>
+                <iframe id="maskIframe" src="about:blank" scrolling="no" frameborder="no"></iframe>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript" src="../tangram.js"></script>
+    <script type="text/javascript" src="image.js"></script>
+
+    <script type="text/javascript">
+        //全局变量
+        var imageUrls = [],          //用于保存从服务器返回的图片信息数组
+            selectedImageCount = 0,  //当前已选择的但未上传的图片数量
+            savePathComplete = false, //保存目录已经就绪
+            params = baidu.json.stringify({
+                "fileNameFormat":editor.options.fileNameFormat
+            });
+
+        editor.setOpt({
+            imageFieldName:"upfile",
+            compressSide:0,
+            maxImageSideLength:900
+        });
+
+        utils.domReady(function(){
+            var flashOptions = {
+                container:"flashContainer",                                                    //flash容器id
+                url:editor.options.imageUrl,                                           // 上传处理页面的url地址
+                ext:params,                                 //可向服务器提交的自定义参数列表
+                fileType:'{"description":"'+lang.fileType+'", "extension":"*.gif;*.jpeg;*.png;*.jpg"}',     //上传文件格式限制
+                flashUrl:'imageUploader.swf',                                                  //上传用的flash组件地址
+                width:608,          //flash的宽度
+                height:272,         //flash的高度
+                gridWidth:121,     // 每一个预览图片所占的宽度
+                gridHeight:120,    // 每一个预览图片所占的高度
+                picWidth:100,      // 单张预览图片的宽度
+                picHeight:100,     // 单张预览图片的高度
+                uploadDataFieldName:editor.options.imageFieldName,    // POST请求中图片数据的key
+                picDescFieldName:'pictitle',      // POST请求中图片描述的key
+                maxSize:4,                         // 文件的最大体积,单位M
+                compressSize:2,                   // 上传前如果图片体积超过该值,会先压缩,单位M
+                maxNum:32,                         // 单次最大可上传多少个文件
+                compressSide:editor.options.compressSide,                 //等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
+                compressLength:editor.options.maxImageSideLength        //能接受的最大边长,超过该值Flash会自动等比压缩
+            };
+            //回调函数集合,支持传递函数名的字符串、函数句柄以及函数本身三种类型
+            var callbacks = {
+                // 选择文件的回调
+                selectFileCallback: function(selectFiles){
+                    utils.each(selectFiles,function(file){
+                        var tmp = {};
+                        tmp.id = file.index;
+                        tmp.data = {};
+                        postConfig.push(tmp);
+                    });
+                    selectedImageCount += selectFiles.length;
+                    if(selectedImageCount) baidu.g("upload").style.display = "";
+                    dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
+                },
+                // 删除文件的回调
+                deleteFileCallback: function(delFiles){
+                    for(var i = 0,len = delFiles.length;i<len;i++){
+                        var index = delFiles[i].index;
+                        postConfig.splice(index,1);
+                    }
+                    selectedImageCount -= delFiles.length;
+                    if (!selectedImageCount) {
+                        baidu.g("upload").style.display = "none";
+                        dialog.buttons[0].setDisabled(false);         //没有选择图片时重新点亮按钮
+                    }
+                },
+
+                // 单个文件上传完成的回调
+                uploadCompleteCallback: function(data){
+                    try{
+                        var info = eval("(" + data.info + ")");
+                        info && imageUrls.push(info);
+                        selectedImageCount--;
+                    }catch(e){}
+
+                },
+                // 单个文件上传失败的回调,
+                uploadErrorCallback: function (data){
+                    if(!data.info){
+                        alert(lang.netError);
+                    }
+                    //console && console.log(data);
+                },
+                // 全部上传完成时的回调
+                allCompleteCallback: function(){
+                    dialog.buttons[0].setDisabled(false);    //上传完毕后点亮按钮
+                },
+                // 文件超出限制的最大体积时的回调
+                //exceedFileCallback: 'exceedFileCallback',
+                // 开始上传某个文件时的回调
+                startUploadCallback: function(){
+                    var config = postConfig.shift();
+                    //也可以在这里更改
+                    //if(config.id==2){ //设置第三张图片的对应参数
+                    //     config.data={"myParam":"value"}
+                    // }
+                    flashObj.addCustomizedParams(config.id,config.data);
+                }
+            };
+
+            initSavePath();
+
+            imageUploader.init(flashOptions,callbacks);
+            $G("upload").onclick = function () {
+
+                if ( !savePathComplete ) {
+                    alert('请等待保存目录就绪!')
+                    return;
+                }
+                /**
+                 * 接口imageUploader.setPostParams()可以在提交时设置本次上传提交的参数(包括所有图片)
+                 * 参数为json对象{"key1":"value1","key2":"value2"},其中key即为向后台post提交的name,value即为值。
+                 * 其中有一个特殊的保留key值为action,若设置,可以更改本次提交的处理地址
+                 */
+                var postParams = {
+                    "dir":baidu.g("savePath").value
+                };
+                imageUploader.setPostParams(postParams);
+                flashObj.upload();
+                this.style.display = "none";
+                $G("savePath").parentNode.style.display = "none";
+            };
+
+        });
+
+        function initSavePath () {
+
+            if ( editor.options.savePath && editor.options.savePath.length > 0 ) {
+                updateSavePath( editor.options.savePath );
+            } else {
+                //远程加载
+                var scriptNode = document.createElement('script'),
+                    reqAddress = editor.options.imageUrl.split( "#" ),
+                    uri = reqAddress[0].split( "?" );
+
+                if ( uri.length > 1 ) {
+                    uri = uri[ 0 ] + "?" + uri.slice( 1 ).join("?") + ( !!uri? "&fetch=1" : "fetch=1" );
+                } else {
+                    uri = uri[ 0 ] + "?fetch=1";
+                }
+
+                if ( reqAddress.length > 1 ) {
+                    uri += "#" + reqAddress.slice( 1 ).join("#");
+                }
+
+                scriptNode.src = uri;
+                document.body.appendChild( scriptNode );
+            }
+
+        }
+
+        function updateSavePath ( pathArr ) {
+
+            var selector = $G( "saveDirSelector" ),
+                htmlStr = [ '<select id="savePath">' ],
+                dirs = pathArr;
+
+            for ( var i = 0, len = dirs.length; i < len; i++ ) {
+
+                htmlStr.push( '<option value="'+ dirs[ i ] +'">'+ dirs[ i ] +'</option>' );
+
+            }
+
+            htmlStr.push( '</select>' );
+
+            selector.innerHTML = htmlStr.join( "" );
+
+            savePathComplete = true;
+
+        }
+
+    </script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/image.js → DjangoUeditor/static/ueditor/dialogs/image/image.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/imageUploader.swf → DjangoUeditor/static/ueditor/dialogs/image/imageUploader.swf


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/images/center_focus.jpg → DjangoUeditor/static/ueditor/dialogs/image/images/center_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/images/left_focus.jpg → DjangoUeditor/static/ueditor/dialogs/image/images/left_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/images/none_focus.jpg → DjangoUeditor/static/ueditor/dialogs/image/images/none_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/image/images/right_focus.jpg → DjangoUeditor/static/ueditor/dialogs/image/images/right_focus.jpg


+ 97 - 97
DjangoUeditor/static/UEditor/dialogs/insertframe/insertframe.html → DjangoUeditor/static/ueditor/dialogs/insertframe/insertframe.html

@@ -1,98 +1,98 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <title></title>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        .warp {width: 320px;height: 153px;margin-left:5px;padding: 20px 0 0 15px;position: relative;}
-        #url {width: 290px; margin-bottom: 2px; margin-left: -6px; margin-left: -2px\9;*margin-left:0;_margin-left:0; }
-        .format span{display: inline-block; width: 58px;text-align: center; zoom:1;}
-        table td{padding:5px 0;}
-        #align{width: 65px;height: 23px;line-height: 22px;}
-    </style>
-</head>
-<body>
-<div class="warp">
-        <table width="300" cellpadding="0" cellspacing="0">
-            <tr>
-                <td colspan="2" class="format">
-                    <span><var id="lang_input_address"></var></span>
-                    <input style="width:200px" id="url" type="text" value=""/>
-                </td>
-            </tr>
-            <tr>
-                <td colspan="2" class="format"><span><var id="lang_input_width"></var></span><input style="width:200px" type="text" id="width"/> px</td>
-
-            </tr>
-            <tr>
-                <td colspan="2" class="format"><span><var id="lang_input_height"></var></span><input style="width:200px" type="text" id="height"/> px</td>
-            </tr>
-            <tr>
-                <td><span><var id="lang_input_isScroll"></var></span><input type="checkbox" id="scroll"/> </td>
-                <td><span><var id="lang_input_frameborder"></var></span><input type="checkbox" id="frameborder"/> </td>
-            </tr>
-
-            <tr>
-                <td colspan="2"><span><var id="lang_input_alignMode"></var></span>
-                    <select id="align">
-                        <option value=""></option>
-                        <option value="left"></option>
-                        <option value="right"></option>
-                    </select>
-                </td>
-            </tr>
-        </table>
-</div>
-<script type="text/javascript">
-    var iframe = editor._iframe;
-    if(iframe){
-        $G("url").value = iframe.getAttribute("src")||"";
-        $G("width").value = iframe.getAttribute("width")||iframe.style.width.replace("px","")||"";
-        $G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px","") ||"";
-        $G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false;
-        $G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false;
-        $G("align").value = iframe.align ? iframe.align : "";
-    }
-    function queding(){
-        var  url = $G("url").value.replace(/^\s*|\s*$/ig,""),
-                width = $G("width").value,
-                height = $G("height").value,
-                scroll = $G("scroll"),
-                frameborder = $G("frameborder"),
-                float = $G("align").value,
-                newIframe = editor.document.createElement("iframe"),
-                div;
-        if(!url){
-            alert(lang.enterAddress);
-            return false;
-        }
-        newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(url) ? url : "http://"+url);
-        /^[1-9]+[.]?\d*$/g.test( width ) ? newIframe.setAttribute("width",width) : "";
-        /^[1-9]+[.]?\d*$/g.test( height ) ? newIframe.setAttribute("height",height) : "";
-        scroll.checked ?  newIframe.setAttribute("scrolling","yes") : newIframe.setAttribute("scrolling","no");
-        frameborder.checked ?  newIframe.setAttribute("frameborder","1",0) : newIframe.setAttribute("frameborder","0",0);
-        float ? newIframe.setAttribute("align",float) :  newIframe.setAttribute("align","");
-        if(iframe){
-            iframe.parentNode.insertBefore(newIframe,iframe);
-            domUtils.remove(iframe);
-        }else{
-            div = editor.document.createElement("div");
-            div.appendChild(newIframe);
-            editor.execCommand("inserthtml",div.innerHTML);
-        }
-        editor._iframe = null;
-        dialog.close();
-    }
-    dialog.onok = queding;
-    $G("url").onkeydown = function(evt){
-        evt = evt || event;
-        if(evt.keyCode == 13){
-            queding();
-        }
-    };
-    $focus($G( "url" ));
-
-</script>
-</body>
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <title></title>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        .warp {width: 320px;height: 153px;margin-left:5px;padding: 20px 0 0 15px;position: relative;}
+        #url {width: 290px; margin-bottom: 2px; margin-left: -6px; margin-left: -2px\9;*margin-left:0;_margin-left:0; }
+        .format span{display: inline-block; width: 58px;text-align: center; zoom:1;}
+        table td{padding:5px 0;}
+        #align{width: 65px;height: 23px;line-height: 22px;}
+    </style>
+</head>
+<body>
+<div class="warp">
+        <table width="300" cellpadding="0" cellspacing="0">
+            <tr>
+                <td colspan="2" class="format">
+                    <span><var id="lang_input_address"></var></span>
+                    <input style="width:200px" id="url" type="text" value=""/>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="2" class="format"><span><var id="lang_input_width"></var></span><input style="width:200px" type="text" id="width"/> px</td>
+
+            </tr>
+            <tr>
+                <td colspan="2" class="format"><span><var id="lang_input_height"></var></span><input style="width:200px" type="text" id="height"/> px</td>
+            </tr>
+            <tr>
+                <td><span><var id="lang_input_isScroll"></var></span><input type="checkbox" id="scroll"/> </td>
+                <td><span><var id="lang_input_frameborder"></var></span><input type="checkbox" id="frameborder"/> </td>
+            </tr>
+
+            <tr>
+                <td colspan="2"><span><var id="lang_input_alignMode"></var></span>
+                    <select id="align">
+                        <option value=""></option>
+                        <option value="left"></option>
+                        <option value="right"></option>
+                    </select>
+                </td>
+            </tr>
+        </table>
+</div>
+<script type="text/javascript">
+    var iframe = editor._iframe;
+    if(iframe){
+        $G("url").value = iframe.getAttribute("src")||"";
+        $G("width").value = iframe.getAttribute("width")||iframe.style.width.replace("px","")||"";
+        $G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px","") ||"";
+        $G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false;
+        $G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false;
+        $G("align").value = iframe.align ? iframe.align : "";
+    }
+    function queding(){
+        var  url = $G("url").value.replace(/^\s*|\s*$/ig,""),
+                width = $G("width").value,
+                height = $G("height").value,
+                scroll = $G("scroll"),
+                frameborder = $G("frameborder"),
+                float = $G("align").value,
+                newIframe = editor.document.createElement("iframe"),
+                div;
+        if(!url){
+            alert(lang.enterAddress);
+            return false;
+        }
+        newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(url) ? url : "http://"+url);
+        /^[1-9]+[.]?\d*$/g.test( width ) ? newIframe.setAttribute("width",width) : "";
+        /^[1-9]+[.]?\d*$/g.test( height ) ? newIframe.setAttribute("height",height) : "";
+        scroll.checked ?  newIframe.setAttribute("scrolling","yes") : newIframe.setAttribute("scrolling","no");
+        frameborder.checked ?  newIframe.setAttribute("frameborder","1",0) : newIframe.setAttribute("frameborder","0",0);
+        float ? newIframe.setAttribute("align",float) :  newIframe.setAttribute("align","");
+        if(iframe){
+            iframe.parentNode.insertBefore(newIframe,iframe);
+            domUtils.remove(iframe);
+        }else{
+            div = editor.document.createElement("div");
+            div.appendChild(newIframe);
+            editor.execCommand("inserthtml",div.innerHTML);
+        }
+        editor._iframe = null;
+        dialog.close();
+    }
+    dialog.onok = queding;
+    $G("url").onkeydown = function(evt){
+        evt = evt || event;
+        if(evt.keyCode == 13){
+            queding();
+        }
+    };
+    $focus($G( "url" ));
+
+</script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/internal.js → DjangoUeditor/static/ueditor/dialogs/internal.js


+ 126 - 126
DjangoUeditor/static/UEditor/dialogs/link/link.html → DjangoUeditor/static/ueditor/dialogs/link/link.html

@@ -1,126 +1,126 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        *{margin:0;padding:0;color: #838383;}
-        table{font-size: 12px;margin: 10px;line-height: 30px}
-        .txt{width:300px;height:21px;line-height:21px;border:1px solid #d7d7d7;}
-    </style>
-</head>
-<body>
-    <table>
-        <tr>
-            <td><label for="text"> <var id="lang_input_text"></var></label></td>
-            <td><input class="txt" id="text" type="text" disabled="true"/></td>
-        </tr>
-        <tr>
-            <td><label for="href"> <var id="lang_input_url"></var></label></td>
-            <td><input class="txt" id="href" type="text" /></td>
-        </tr>
-        <tr>
-            <td><label for="title"> <var id="lang_input_title"></var></label></td>
-            <td><input class="txt" id="title" type="text"/></td>
-        </tr>
-        <tr>
-             <td colspan="2">
-                 <label for="target"><var id="lang_input_target"></var></label>
-                 <input id="target" type="checkbox"/>
-             </td>
-        </tr>
-        <tr>
-            <td colspan="2" id="msg"></td>
-        </tr>
-    </table>
-<script type="text/javascript">
-    var range = editor.selection.getRange(),
-        link = range.collapsed ? editor.queryCommandValue( "link" ) : editor.selection.getStart(),
-        url,
-        text = $G('text'),
-        rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(),'a',true),
-        orgText;
-    link = domUtils.findParentByTagName( link, "a", true );
-    if(link){
-        url = utils.html(link.getAttribute( '_href' ) || link.getAttribute( 'href', 2 ));
-
-        if(rangeLink === link && !link.getElementsByTagName('img').length){
-            text.removeAttribute('disabled');
-            orgText = text.value = link[browser.ie ? 'innerText':'textContent'];
-        }else{
-            text.setAttribute('disabled','true');
-            text.value = lang.validLink;
-        }
-
-    }else{
-        if(range.collapsed){
-            text.removeAttribute('disabled');
-            text.value = '';
-        }else{
-            text.setAttribute('disabled','true');
-            text.value = lang.validLink;
-        }
-
-    }
-    $G("title").value = url ? link.title : "";
-    $G("href").value = url ? url: '';
-    $G("target").checked = url && link.target == "_blank" ? true :  false;
-    $focus($G("href"));
-
-    function handleDialogOk(){
-        var href =$G('href').value.replace(/^\s+|\s+$/g, '');
-        if(href){
-            if(!hrefStartWith(href,["http","/","ftp://"])) {
-                href  = "http://" + href;
-            }
-            var obj = {
-                'href' : href,
-                'target' : $G("target").checked ? "_blank" : '_self',
-                'title' : $G("title").value.replace(/^\s+|\s+$/g, ''),
-                '_href':href
-            };
-            //修改链接内容的情况太特殊了,所以先做到这里了
-            //todo:情况多的时候,做到command里
-            if(orgText && text.value != orgText){
-                link[browser.ie ? 'innerText' : 'textContent'] =  obj.textValue = text.value;
-                range.selectNode(link).select()
-            }
-            if(range.collapsed){
-                obj.textValue = text.value;
-            }
-            editor.execCommand('link',utils.clearEmptyAttrs(obj) );
-            dialog.close();
-        }
-    }
-    dialog.onok = handleDialogOk;
-    $G('href').onkeydown = $G('title').onkeydown = function(evt){
-        evt = evt || window.event;
-        if (evt.keyCode == 13) {
-            handleDialogOk();
-            return false;
-        }
-    };
-    $G('href').onblur = function(){
-        if(!hrefStartWith(this.value,["http","/","ftp://"])){
-            $G("msg").innerHTML = "<span style='color: red'>"+lang.httpPrompt+"</span>";
-        }else{
-            $G("msg").innerHTML = "";
-        }
-    };
-
-    function hrefStartWith(href,arr){
-        href = href.replace(/^\s+|\s+$/g, '');
-        for(var i=0,ai;ai=arr[i++];){
-            if(href.indexOf(ai)==0){
-                return true;
-            }
-        }
-        return false;
-    }
-
-
-</script>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        *{margin:0;padding:0;color: #838383;}
+        table{font-size: 12px;margin: 10px;line-height: 30px}
+        .txt{width:300px;height:21px;line-height:21px;border:1px solid #d7d7d7;}
+    </style>
+</head>
+<body>
+    <table>
+        <tr>
+            <td><label for="text"> <var id="lang_input_text"></var></label></td>
+            <td><input class="txt" id="text" type="text" disabled="true"/></td>
+        </tr>
+        <tr>
+            <td><label for="href"> <var id="lang_input_url"></var></label></td>
+            <td><input class="txt" id="href" type="text" /></td>
+        </tr>
+        <tr>
+            <td><label for="title"> <var id="lang_input_title"></var></label></td>
+            <td><input class="txt" id="title" type="text"/></td>
+        </tr>
+        <tr>
+             <td colspan="2">
+                 <label for="target"><var id="lang_input_target"></var></label>
+                 <input id="target" type="checkbox"/>
+             </td>
+        </tr>
+        <tr>
+            <td colspan="2" id="msg"></td>
+        </tr>
+    </table>
+<script type="text/javascript">
+    var range = editor.selection.getRange(),
+        link = range.collapsed ? editor.queryCommandValue( "link" ) : editor.selection.getStart(),
+        url,
+        text = $G('text'),
+        rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(),'a',true),
+        orgText;
+    link = domUtils.findParentByTagName( link, "a", true );
+    if(link){
+        url = utils.html(link.getAttribute( '_href' ) || link.getAttribute( 'href', 2 ));
+
+        if(rangeLink === link && !link.getElementsByTagName('img').length){
+            text.removeAttribute('disabled');
+            orgText = text.value = link[browser.ie ? 'innerText':'textContent'];
+        }else{
+            text.setAttribute('disabled','true');
+            text.value = lang.validLink;
+        }
+
+    }else{
+        if(range.collapsed){
+            text.removeAttribute('disabled');
+            text.value = '';
+        }else{
+            text.setAttribute('disabled','true');
+            text.value = lang.validLink;
+        }
+
+    }
+    $G("title").value = url ? link.title : "";
+    $G("href").value = url ? url: '';
+    $G("target").checked = url && link.target == "_blank" ? true :  false;
+    $focus($G("href"));
+
+    function handleDialogOk(){
+        var href =$G('href').value.replace(/^\s+|\s+$/g, '');
+        if(href){
+            if(!hrefStartWith(href,["http","/","ftp://"])) {
+                href  = "http://" + href;
+            }
+            var obj = {
+                'href' : href,
+                'target' : $G("target").checked ? "_blank" : '_self',
+                'title' : $G("title").value.replace(/^\s+|\s+$/g, ''),
+                '_href':href
+            };
+            //修改链接内容的情况太特殊了,所以先做到这里了
+            //todo:情况多的时候,做到command里
+            if(orgText && text.value != orgText){
+                link[browser.ie ? 'innerText' : 'textContent'] =  obj.textValue = text.value;
+                range.selectNode(link).select()
+            }
+            if(range.collapsed){
+                obj.textValue = text.value;
+            }
+            editor.execCommand('link',utils.clearEmptyAttrs(obj) );
+            dialog.close();
+        }
+    }
+    dialog.onok = handleDialogOk;
+    $G('href').onkeydown = $G('title').onkeydown = function(evt){
+        evt = evt || window.event;
+        if (evt.keyCode == 13) {
+            handleDialogOk();
+            return false;
+        }
+    };
+    $G('href').onblur = function(){
+        if(!hrefStartWith(this.value,["http","/","ftp://"])){
+            $G("msg").innerHTML = "<span style='color: red'>"+lang.httpPrompt+"</span>";
+        }else{
+            $G("msg").innerHTML = "";
+        }
+    };
+
+    function hrefStartWith(href,arr){
+        href = href.replace(/^\s+|\s+$/g, '');
+        for(var i=0,ai;ai=arr[i++];){
+            if(href.indexOf(ai)==0){
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+</script>
+</body>
+</html>

+ 135 - 135
DjangoUeditor/static/UEditor/dialogs/map/map.html → DjangoUeditor/static/ueditor/dialogs/map/map.html

@@ -1,135 +1,135 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title></title>
-    <script type="text/javascript" src="../internal.js"></script>
-    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script>
-    <style type="text/css">
-        .content{width:530px; height: 350px;margin: 10px auto;}
-        .content table{width: 100%}
-        .content table td{vertical-align: middle;}
-        #city,#address{height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
-        #city{width:60px}
-        #address{width:130px}
-        #is_dynamic_label span{vertical-align:middle;margin: 3px 0px 3px 3px;}
-        #is_dynamic_label input{vertical-align:middle;margin: 3px 3px 3px 50px;}
-    </style>
-</head>
-<body>
-<div class="content">
-    <table>
-        <tr>
-            <td><var id="lang_city"></var>:</td>
-            <td><input id="city" type="text" /></td>
-            <td><var id="lang_address"></var>:</td>
-            <td><input id="address" type="text" value="" /></td>
-            <td><a href="javascript:doSearch()" class="button"><var id="lang_search"></var></a></td>
-            <td><label id="is_dynamic_label" for="is_dynamic"><input id="is_dynamic" type="checkbox" name="is_dynamic" /><span><var id="lang_dynamicmap"></var></span></label></td>
-        </tr>
-    </table>
-    <div style="width:100%;height:340px;margin:5px auto;border:1px solid gray" id="container"></div>
-
-</div>
-<script type="text/javascript">
-    var map = new BMap.Map("container"),marker,point,styleStr;
-    map.enableScrollWheelZoom();
-    map.enableContinuousZoom();
-    function doSearch(){
-        if (!document.getElementById('city').value) {
-            alert(lang.cityMsg);
-            return;
-        }
-        var search = new BMap.LocalSearch(document.getElementById('city').value, {
-            onSearchComplete: function (results){
-                if (results && results.getNumPois()) {
-                    var points = [];
-                    for (var i=0; i<results.getCurrentNumPois(); i++) {
-                        points.push(results.getPoi(i).point);
-                    }
-                    if (points.length > 1) {
-                        map.setViewport(points);
-                    } else {
-                        map.centerAndZoom(points[0], 13);
-                    }
-                    point = map.getCenter();
-                    marker.setPoint(point);
-                } else {
-                    alert(lang.errorMsg);
-                }
-            }
-        });
-        search.search(document.getElementById('address').value || document.getElementById('city').value);
-    }
-    //获得参数
-    function getPars(str,par){
-        var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
-        return reg.exec(str)[1];
-    }
-    function init(){
-        var mapNode = editor.selection.getRange().getClosedNode(),
-            isMapImg = mapNode && /api[.]map[.]baidu[.]com/ig.test(mapNode.getAttribute("src")),
-            isMapIframe = mapNode && domUtils.hasClass(mapNode, 'ueditor_baidumap');
-        if(isMapImg || isMapIframe){
-            var url, centerPos, markerPos;
-            if(isMapIframe) {
-                url = decodeURIComponent(mapNode.getAttribute("src"));
-                $G('is_dynamic').checked = true;
-                styleStr = mapNode.style.cssText;
-            } else {
-                url = mapNode.getAttribute("src");
-                styleStr = mapNode.style.cssText;
-            }
-
-            centerPos = getPars(url,"center").split(",");
-            markerPos = getPars(url, "markers").split(",");
-            point = new BMap.Point(Number(centerPos[0]),Number(centerPos[1]));
-            marker = new BMap.Marker(new BMap.Point(Number(markerPos[0]), Number(markerPos[1])));
-            map.addControl(new BMap.NavigationControl());
-            map.centerAndZoom(point, Number(getPars(url,"zoom")));
-        }else{
-            point = new BMap.Point(116.404, 39.915);    // 创建点坐标
-            marker = new BMap.Marker(point);
-            map.addControl(new BMap.NavigationControl());
-            map.centerAndZoom(point, 10);                     // 初始化地图,设置中心点坐标和地图级别。
-        }
-        marker.enableDragging();
-        map.addOverlay(marker);
-    }
-    init();
-    document.getElementById('address').onkeydown = function (evt){
-        evt = evt || event;
-        if (evt.keyCode == 13) {
-            doSearch();
-        }
-    };
-    dialog.onok = function (){
-        var center = map.getCenter();
-        var zoom = map.zoomLevel;
-        var size = map.getSize();
-        var mapWidth = size.width;
-        var mapHeight = size.height;
-        var point = marker.getPoint();
-
-        if($G('is_dynamic').checked) {
-            var URL = editor.options.UEDITOR_HOME_URL,
-                url = [URL + (/\/$/.test(URL) ? '':'/') + "dialogs/map/show.html" +
-                    '#center=' + center.lng + ',' + center.lat,
-                    '&zoom=' + zoom,
-                    '&width=' + mapWidth,
-                    '&height=' + mapHeight,
-                    '&markers=' + point.lng + ',' + point.lat,
-                    '&markerStyles=' + 'l,A'].join('');
-            editor.execCommand('inserthtml', '<iframe class="ueditor_baidumap" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + ' frameborder="0" width="' + (mapWidth+4) + '" height="' + (mapHeight+4) + '"></iframe>');
-        } else {
-            var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat +
-                    "&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat;
-            editor.execCommand('inserthtml', '<img width="'+ size.width +'"height="'+ size.height +'" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + '/>');
-        }
-    };
-    document.getElementById("address").focus();
-</script>
-
-
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title></title>
+    <script type="text/javascript" src="../internal.js"></script>
+    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script>
+    <style type="text/css">
+        .content{width:530px; height: 350px;margin: 10px auto;}
+        .content table{width: 100%}
+        .content table td{vertical-align: middle;}
+        #city,#address{height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
+        #city{width:60px}
+        #address{width:130px}
+        #is_dynamic_label span{vertical-align:middle;margin: 3px 0px 3px 3px;}
+        #is_dynamic_label input{vertical-align:middle;margin: 3px 3px 3px 50px;}
+    </style>
+</head>
+<body>
+<div class="content">
+    <table>
+        <tr>
+            <td><var id="lang_city"></var>:</td>
+            <td><input id="city" type="text" /></td>
+            <td><var id="lang_address"></var>:</td>
+            <td><input id="address" type="text" value="" /></td>
+            <td><a href="javascript:doSearch()" class="button"><var id="lang_search"></var></a></td>
+            <td><label id="is_dynamic_label" for="is_dynamic"><input id="is_dynamic" type="checkbox" name="is_dynamic" /><span><var id="lang_dynamicmap"></var></span></label></td>
+        </tr>
+    </table>
+    <div style="width:100%;height:340px;margin:5px auto;border:1px solid gray" id="container"></div>
+
+</div>
+<script type="text/javascript">
+    var map = new BMap.Map("container"),marker,point,styleStr;
+    map.enableScrollWheelZoom();
+    map.enableContinuousZoom();
+    function doSearch(){
+        if (!document.getElementById('city').value) {
+            alert(lang.cityMsg);
+            return;
+        }
+        var search = new BMap.LocalSearch(document.getElementById('city').value, {
+            onSearchComplete: function (results){
+                if (results && results.getNumPois()) {
+                    var points = [];
+                    for (var i=0; i<results.getCurrentNumPois(); i++) {
+                        points.push(results.getPoi(i).point);
+                    }
+                    if (points.length > 1) {
+                        map.setViewport(points);
+                    } else {
+                        map.centerAndZoom(points[0], 13);
+                    }
+                    point = map.getCenter();
+                    marker.setPoint(point);
+                } else {
+                    alert(lang.errorMsg);
+                }
+            }
+        });
+        search.search(document.getElementById('address').value || document.getElementById('city').value);
+    }
+    //获得参数
+    function getPars(str,par){
+        var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
+        return reg.exec(str)[1];
+    }
+    function init(){
+        var mapNode = editor.selection.getRange().getClosedNode(),
+            isMapImg = mapNode && /api[.]map[.]baidu[.]com/ig.test(mapNode.getAttribute("src")),
+            isMapIframe = mapNode && domUtils.hasClass(mapNode, 'ueditor_baidumap');
+        if(isMapImg || isMapIframe){
+            var url, centerPos, markerPos;
+            if(isMapIframe) {
+                url = decodeURIComponent(mapNode.getAttribute("src"));
+                $G('is_dynamic').checked = true;
+                styleStr = mapNode.style.cssText;
+            } else {
+                url = mapNode.getAttribute("src");
+                styleStr = mapNode.style.cssText;
+            }
+
+            centerPos = getPars(url,"center").split(",");
+            markerPos = getPars(url, "markers").split(",");
+            point = new BMap.Point(Number(centerPos[0]),Number(centerPos[1]));
+            marker = new BMap.Marker(new BMap.Point(Number(markerPos[0]), Number(markerPos[1])));
+            map.addControl(new BMap.NavigationControl());
+            map.centerAndZoom(point, Number(getPars(url,"zoom")));
+        }else{
+            point = new BMap.Point(116.404, 39.915);    // 创建点坐标
+            marker = new BMap.Marker(point);
+            map.addControl(new BMap.NavigationControl());
+            map.centerAndZoom(point, 10);                     // 初始化地图,设置中心点坐标和地图级别。
+        }
+        marker.enableDragging();
+        map.addOverlay(marker);
+    }
+    init();
+    document.getElementById('address').onkeydown = function (evt){
+        evt = evt || event;
+        if (evt.keyCode == 13) {
+            doSearch();
+        }
+    };
+    dialog.onok = function (){
+        var center = map.getCenter();
+        var zoom = map.zoomLevel;
+        var size = map.getSize();
+        var mapWidth = size.width;
+        var mapHeight = size.height;
+        var point = marker.getPoint();
+
+        if($G('is_dynamic').checked) {
+            var URL = editor.options.UEDITOR_HOME_URL,
+                url = [URL + (/\/$/.test(URL) ? '':'/') + "dialogs/map/show.html" +
+                    '#center=' + center.lng + ',' + center.lat,
+                    '&zoom=' + zoom,
+                    '&width=' + mapWidth,
+                    '&height=' + mapHeight,
+                    '&markers=' + point.lng + ',' + point.lat,
+                    '&markerStyles=' + 'l,A'].join('');
+            editor.execCommand('inserthtml', '<iframe class="ueditor_baidumap" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + ' frameborder="0" width="' + (mapWidth+4) + '" height="' + (mapHeight+4) + '"></iframe>');
+        } else {
+            var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat +
+                    "&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat;
+            editor.execCommand('inserthtml', '<img width="'+ size.width +'"height="'+ size.height +'" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + '/>');
+        }
+    };
+    document.getElementById("address").focus();
+</script>
+
+
+</body>
+</html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/music/music.css → DjangoUeditor/static/ueditor/dialogs/music/music.css


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/music/music.html → DjangoUeditor/static/ueditor/dialogs/music/music.html


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/music/music.js → DjangoUeditor/static/ueditor/dialogs/music/music.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/addimg.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/addimg.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/brush.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/brush.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/delimg.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/delimg.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/delimgH.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/delimgH.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/empty.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/empty.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/emptyH.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/emptyH.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/eraser.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/eraser.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/redo.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/redo.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/redoH.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/redoH.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/scale.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/scale.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/scaleH.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/scaleH.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/size.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/size.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/undo.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/undo.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/images/undoH.png → DjangoUeditor/static/ueditor/dialogs/scrawl/images/undoH.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/scrawl.css → DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.css


+ 94 - 94
DjangoUeditor/static/UEditor/dialogs/scrawl/scrawl.html → DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.html

@@ -1,95 +1,95 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <meta name="robots" content="noindex, nofollow"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="scrawl.css">
-</head>
-<body>
-<div class="main" id="J_wrap">
-    <div class="hot">
-        <div class="drawBoard border_style1">
-            <canvas id="J_brushBoard" class="brushBorad" width="360" height="300"></canvas>
-            <div id="J_picBoard" class="picBoard" style="width: 360px;height: 300px"></div>
-        </div>
-        <div id="J_operateBar" class="operateBar">
-            <span id="J_previousStep" class="previousStep">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_previousStep"></var></em>
-            </span>
-            <span id="J_nextStep" class="nextStep">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_nextsStep"></var></em>
-            </span>
-            <span id="J_clearBoard" class="clearBoard">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_clear"></var></em>
-            </span>
-            <span id="J_sacleBoard" class="scaleBoard">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_ScalePic"></var></em>
-            </span>
-        </div>
-    </div>
-    <div class="drawToolbar border_style1">
-        <div id="J_colorBar" class="colorBar"></div>
-        <div id="J_brushBar" class="sectionBar">
-            <em class="brushIcon"></em>
-            <a href="javascript:void(0)" class="size1">1</a>
-            <a href="javascript:void(0)" class="size2">3</a>
-            <a href="javascript:void(0)" class="size3">5</a>
-            <a href="javascript:void(0)" class="size4">7</a>
-        </div>
-        <div id="J_eraserBar" class="sectionBar">
-            <em class="eraserIcon"></em>
-            <a href="javascript:void(0)" class="size1">1</a>
-            <a href="javascript:void(0)" class="size2">3</a>
-            <a href="javascript:void(0)" class="size3">5</a>
-            <a href="javascript:void(0)" class="size4">7</a>
-        </div>
-        <div class="sectionBar">
-            <div class="addImgH">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_addPic"></var></em>
-                <form method="post" id="fileForm" enctype="multipart/form-data" class="addImgH_form" target="up">
-                    <input type="file" name="upfile" id="J_imgTxt"
-                           accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>
-                </form>
-                <iframe name="up" style="display: none"></iframe>
-            </div>
-        </div>
-        <div class="sectionBar">
-            <span id="J_removeImg" class="removeImg">
-                <em class="icon"></em>
-                <em class="text"><var id="lang_input_removePic"></var></em>
-            </span>
-        </div>
-    </div>
-</div>
-<div id="J_maskLayer" class="maskLayerNull"></div>
-
-<script type="text/javascript" src="scrawl.js"></script>
-<script type="text/javascript">
-    var settings = {
-        drawBrushSize:3, //画笔初始大小
-        drawBrushColor:"#4bacc6", //画笔初始颜色
-        colorList:['c00000', 'ff0000', 'ffc000', 'ffff00', '92d050', '00b050', '00b0f0', '0070c0', '002060', '7030a0', 'ffffff',
-            '000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646'], //画笔选择颜色
-        saveNum:10  //撤销次数
-    };
-
-    var scrawlObj = new scrawl( settings );
-    scrawlObj.isCancelScrawl = false;
-
-    dialog.onok = function () {
-        exec( scrawlObj );
-        return false;
-    };
-    dialog.oncancel = function () {
-        scrawlObj.isCancelScrawl = true;
-    };
-</script>
-</body>
+<!DOCTYPE html>
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="robots" content="noindex, nofollow"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="scrawl.css">
+</head>
+<body>
+<div class="main" id="J_wrap">
+    <div class="hot">
+        <div class="drawBoard border_style1">
+            <canvas id="J_brushBoard" class="brushBorad" width="360" height="300"></canvas>
+            <div id="J_picBoard" class="picBoard" style="width: 360px;height: 300px"></div>
+        </div>
+        <div id="J_operateBar" class="operateBar">
+            <span id="J_previousStep" class="previousStep">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_previousStep"></var></em>
+            </span>
+            <span id="J_nextStep" class="nextStep">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_nextsStep"></var></em>
+            </span>
+            <span id="J_clearBoard" class="clearBoard">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_clear"></var></em>
+            </span>
+            <span id="J_sacleBoard" class="scaleBoard">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_ScalePic"></var></em>
+            </span>
+        </div>
+    </div>
+    <div class="drawToolbar border_style1">
+        <div id="J_colorBar" class="colorBar"></div>
+        <div id="J_brushBar" class="sectionBar">
+            <em class="brushIcon"></em>
+            <a href="javascript:void(0)" class="size1">1</a>
+            <a href="javascript:void(0)" class="size2">3</a>
+            <a href="javascript:void(0)" class="size3">5</a>
+            <a href="javascript:void(0)" class="size4">7</a>
+        </div>
+        <div id="J_eraserBar" class="sectionBar">
+            <em class="eraserIcon"></em>
+            <a href="javascript:void(0)" class="size1">1</a>
+            <a href="javascript:void(0)" class="size2">3</a>
+            <a href="javascript:void(0)" class="size3">5</a>
+            <a href="javascript:void(0)" class="size4">7</a>
+        </div>
+        <div class="sectionBar">
+            <div class="addImgH">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_addPic"></var></em>
+                <form method="post" id="fileForm" enctype="multipart/form-data" class="addImgH_form" target="up">
+                    <input type="file" name="upfile" id="J_imgTxt"
+                           accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>
+                </form>
+                <iframe name="up" style="display: none"></iframe>
+            </div>
+        </div>
+        <div class="sectionBar">
+            <span id="J_removeImg" class="removeImg">
+                <em class="icon"></em>
+                <em class="text"><var id="lang_input_removePic"></var></em>
+            </span>
+        </div>
+    </div>
+</div>
+<div id="J_maskLayer" class="maskLayerNull"></div>
+
+<script type="text/javascript" src="scrawl.js"></script>
+<script type="text/javascript">
+    var settings = {
+        drawBrushSize:3, //画笔初始大小
+        drawBrushColor:"#4bacc6", //画笔初始颜色
+        colorList:['c00000', 'ff0000', 'ffc000', 'ffff00', '92d050', '00b050', '00b0f0', '0070c0', '002060', '7030a0', 'ffffff',
+            '000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646'], //画笔选择颜色
+        saveNum:10  //撤销次数
+    };
+
+    var scrawlObj = new scrawl( settings );
+    scrawlObj.isCancelScrawl = false;
+
+    dialog.onok = function () {
+        exec( scrawlObj );
+        return false;
+    };
+    dialog.oncancel = function () {
+        scrawlObj.isCancelScrawl = true;
+    };
+</script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/scrawl/scrawl.js → DjangoUeditor/static/ueditor/dialogs/scrawl/scrawl.js


+ 101 - 101
DjangoUeditor/static/UEditor/dialogs/searchreplace/searchreplace.html → DjangoUeditor/static/ueditor/dialogs/searchreplace/searchreplace.html

@@ -1,102 +1,102 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        .warpper{ position:relative;width: 380px; height: 100%; margin: 10px auto;}
-        .tabbody{height: 160px;}
-        .tabbody table{width:100%;border-collapse: separate;border-spacing: 3px;}
-        .tabbody .panel{width:373px;height:100%;padding-left: 5px;position: absolute;background-color: #fff;}
-        .tabbody input.int{ width:190px;height:21px;border:1px solid #d7d7d7;line-height:21px;}
-        .tabbody input.btn{padding: 0 5px; text-align:center;line-height:24px; text-decoration: none;height:24px;background:url("../../themes/default/images/dialog-title-bg.png") repeat-x;border:1px solid #ccc; }
-    </style>
-</head>
-<body>
-<div class="warpper" id="searchtab">
-    <div id="head" class="tabhead">
-        <span  tabsrc="find" class="focus"><var id="lang_tab_search"></var></span>
-        <span  tabsrc="replace" ><var id="lang_tab_replace"></var></span>
-    </div>
-    <div class="tabbody">
-        <div class="panel" id="find">
-            <table>
-                <tr>
-                    <td width="80"><var id="lang_search1"></var>: </td>
-                    <td><input id="findtxt" type="text" class="int" /></td>
-                </tr>
-                <!--<tr>-->
-
-                    <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg"></var></span></td>-->
-                <!--</tr>-->
-                <tr>
-                    <td><var id="lang_case_sensitive1"></var></td>
-                    <td>
-                        <input id="matchCase" type="checkbox" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        <input id="nextFindBtn" type="button" class="btn" />
-                        <input id="preFindBtn" type="button" class="btn" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        &nbsp;
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        <span id="search-msg" style="color:red"></span>
-                    </td>
-                </tr>
-            </table>
-        </div>
-        <div class="panel" id="replace">
-            <table>
-                <tr>
-                    <td width="80"><var id="lang_search2"></var>: </td>
-                    <td><input id="findtxt1" type="text" class="int"  /></td>
-                </tr>
-                <!--<tr>-->
-
-                    <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg1"></var></span></td>-->
-                <!--</tr>-->
-                <tr>
-                    <td><var id="lang_replace"></var>: </td>
-                    <td><input id="replacetxt" type="text" class="int" /></td>
-                </tr>
-                <tr>
-                    <td><var id="lang_case_sensitive2"></var></td>
-                    <td>
-                        <input id="matchCase1" type="checkbox" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        <input id="nextReplaceBtn" type="button" class="btn" />
-                        <input id="preReplaceBtn" type="button" class="btn" />
-                        <input id="repalceBtn" type="button" class="btn" />
-                        <input id="repalceAllBtn" type="button" class="btn" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        &nbsp;
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="2">
-                        <span id="replace-msg" style="color:red"></span>
-                    </td>
-                </tr>
-            </table>
-        </div>
-    </div>
-</div>
-<script type="text/javascript" src="searchreplace.js"></script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        .warpper{ position:relative;width: 380px; height: 100%; margin: 10px auto;}
+        .tabbody{height: 160px;}
+        .tabbody table{width:100%;border-collapse: separate;border-spacing: 3px;}
+        .tabbody .panel{width:373px;height:100%;padding-left: 5px;position: absolute;background-color: #fff;}
+        .tabbody input.int{ width:190px;height:21px;border:1px solid #d7d7d7;line-height:21px;}
+        .tabbody input.btn{padding: 0 5px; text-align:center;line-height:24px; text-decoration: none;height:24px;background:url("../../themes/default/images/dialog-title-bg.png") repeat-x;border:1px solid #ccc; }
+    </style>
+</head>
+<body>
+<div class="warpper" id="searchtab">
+    <div id="head" class="tabhead">
+        <span  tabsrc="find" class="focus"><var id="lang_tab_search"></var></span>
+        <span  tabsrc="replace" ><var id="lang_tab_replace"></var></span>
+    </div>
+    <div class="tabbody">
+        <div class="panel" id="find">
+            <table>
+                <tr>
+                    <td width="80"><var id="lang_search1"></var>: </td>
+                    <td><input id="findtxt" type="text" class="int" /></td>
+                </tr>
+                <!--<tr>-->
+
+                    <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg"></var></span></td>-->
+                <!--</tr>-->
+                <tr>
+                    <td><var id="lang_case_sensitive1"></var></td>
+                    <td>
+                        <input id="matchCase" type="checkbox" />
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        <input id="nextFindBtn" type="button" class="btn" />
+                        <input id="preFindBtn" type="button" class="btn" />
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        &nbsp;
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        <span id="search-msg" style="color:red"></span>
+                    </td>
+                </tr>
+            </table>
+        </div>
+        <div class="panel" id="replace">
+            <table>
+                <tr>
+                    <td width="80"><var id="lang_search2"></var>: </td>
+                    <td><input id="findtxt1" type="text" class="int"  /></td>
+                </tr>
+                <!--<tr>-->
+
+                    <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg1"></var></span></td>-->
+                <!--</tr>-->
+                <tr>
+                    <td><var id="lang_replace"></var>: </td>
+                    <td><input id="replacetxt" type="text" class="int" /></td>
+                </tr>
+                <tr>
+                    <td><var id="lang_case_sensitive2"></var></td>
+                    <td>
+                        <input id="matchCase1" type="checkbox" />
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        <input id="nextReplaceBtn" type="button" class="btn" />
+                        <input id="preReplaceBtn" type="button" class="btn" />
+                        <input id="repalceBtn" type="button" class="btn" />
+                        <input id="repalceAllBtn" type="button" class="btn" />
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        &nbsp;
+                    </td>
+                </tr>
+                <tr>
+                    <td colspan="2">
+                        <span id="replace-msg" style="color:red"></span>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="searchreplace.js"></script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/searchreplace/searchreplace.js → DjangoUeditor/static/ueditor/dialogs/searchreplace/searchreplace.js


+ 57 - 57
DjangoUeditor/static/UEditor/dialogs/snapscreen/snapscreen.html → DjangoUeditor/static/ueditor/dialogs/snapscreen/snapscreen.html

@@ -1,58 +1,58 @@
-<!DOCTYPE HTML>
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-        <title></title>
-        <script type="text/javascript" src="../internal.js"></script>
-        <style type="text/css">
-            *{color: #838383}
-            html,body {
-                font-size: 12px;
-                width:100%;
-                height:100%;
-                overflow: hidden;
-                margin:0px;
-                padding:0px;
-            }
-            h2 { font-size: 16px; margin: 20px auto;}
-            .content{
-                padding:5px 15px 0 15px;
-                height:100%;
-            }
-            dt,dd { margin-left: 0; padding-left: 0;}
-            dt a { display: block;
-                    height: 30px;
-                    line-height: 30px;
-                    width: 55px;
-                    background: #EFEFEF;
-                    border: 1px solid #CCC;
-                    padding: 0 10px;
-                    text-decoration: none;
-            }
-            dt a:hover{
-                background: #e0e0e0;
-                border-color: #999
-            }
-            dt a:active{
-                background: #ccc;
-                border-color: #999;
-                color: #666;
-            }
-            dd { line-height:20px;margin-top: 10px;}
-            span{ padding-right:4px;}
-            input{width:210px;height:21px;background: #FFF;border:1px solid #d7d7d7;padding: 0px; margin: 0px; }
-
-
-        </style>
-    </head>
-    <body>
-        <div class="content">
-            <h2><var id="lang_showMsg"></var></h2>
-            <dl>
-                <dt><a href="../../third-party/snapscreen/UEditorSnapscreen.exe" target="_blank" id="downlink"><var id="lang_download"></var></a></dt>
-                <dd><var id="lang_step1"></var></dd>
-                <dd><var id="lang_step2"></var></dd>
-            </dl>
-        </div>
-    </body>
+<!DOCTYPE HTML>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+        <title></title>
+        <script type="text/javascript" src="../internal.js"></script>
+        <style type="text/css">
+            *{color: #838383}
+            html,body {
+                font-size: 12px;
+                width:100%;
+                height:100%;
+                overflow: hidden;
+                margin:0px;
+                padding:0px;
+            }
+            h2 { font-size: 16px; margin: 20px auto;}
+            .content{
+                padding:5px 15px 0 15px;
+                height:100%;
+            }
+            dt,dd { margin-left: 0; padding-left: 0;}
+            dt a { display: block;
+                    height: 30px;
+                    line-height: 30px;
+                    width: 55px;
+                    background: #EFEFEF;
+                    border: 1px solid #CCC;
+                    padding: 0 10px;
+                    text-decoration: none;
+            }
+            dt a:hover{
+                background: #e0e0e0;
+                border-color: #999
+            }
+            dt a:active{
+                background: #ccc;
+                border-color: #999;
+                color: #666;
+            }
+            dd { line-height:20px;margin-top: 10px;}
+            span{ padding-right:4px;}
+            input{width:210px;height:21px;background: #FFF;border:1px solid #d7d7d7;padding: 0px; margin: 0px; }
+
+
+        </style>
+    </head>
+    <body>
+        <div class="content">
+            <h2><var id="lang_showMsg"></var></h2>
+            <dl>
+                <dt><a href="../../third-party/snapscreen/UEditorSnapscreen.exe" target="_blank" id="downlink"><var id="lang_download"></var></a></dt>
+                <dd><var id="lang_step1"></var></dd>
+                <dd><var id="lang_step2"></var></dd>
+            </dl>
+        </div>
+    </body>
 </html>

+ 20 - 20
DjangoUeditor/static/UEditor/dialogs/spechars/spechars.html → DjangoUeditor/static/ueditor/dialogs/spechars/spechars.html

@@ -1,21 +1,21 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        html,body{overflow:hidden;}
-        #specharsTab{width: 97%;margin: 10px auto; zoom:1;position: relative}
-        .tabbody {height:447px;}
-        .tabbody span{ margin: 5px 3px;text-align: center;display:inline-block;width: 40px;height:16px;line-height: 16px;cursor: pointer; }
-    </style>
-</head>
-<body>
-    <div id="specharsTab">
-        <div id="tabHeads" class="tabhead"></div><div id="tabBodys" class="tabbody"></div>
-    </div>
-<script type="text/javascript" src="spechars.js"></script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        html,body{overflow:hidden;}
+        #specharsTab{width: 97%;margin: 10px auto; zoom:1;position: relative}
+        .tabbody {height:447px;}
+        .tabbody span{ margin: 5px 3px;text-align: center;display:inline-block;width: 40px;height:16px;line-height: 16px;cursor: pointer; }
+    </style>
+</head>
+<body>
+    <div id="specharsTab">
+        <div id="tabHeads" class="tabhead"></div><div id="tabBodys" class="tabbody"></div>
+    </div>
+<script type="text/javascript" src="spechars.js"></script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/spechars/spechars.js → DjangoUeditor/static/ueditor/dialogs/spechars/spechars.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/dragicon.png → DjangoUeditor/static/ueditor/dialogs/table/dragicon.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/edittable.css → DjangoUeditor/static/ueditor/dialogs/table/edittable.css


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/edittable.html → DjangoUeditor/static/ueditor/dialogs/table/edittable.html


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/edittable.js → DjangoUeditor/static/ueditor/dialogs/table/edittable.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/edittd.html → DjangoUeditor/static/ueditor/dialogs/table/edittd.html


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/table/edittip.html → DjangoUeditor/static/ueditor/dialogs/table/edittip.html


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/tangram.js → DjangoUeditor/static/ueditor/dialogs/tangram.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/config.js → DjangoUeditor/static/ueditor/dialogs/template/config.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/bg.gif → DjangoUeditor/static/ueditor/dialogs/template/images/bg.gif


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/pre0.png → DjangoUeditor/static/ueditor/dialogs/template/images/pre0.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/pre1.png → DjangoUeditor/static/ueditor/dialogs/template/images/pre1.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/pre2.png → DjangoUeditor/static/ueditor/dialogs/template/images/pre2.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/pre3.png → DjangoUeditor/static/ueditor/dialogs/template/images/pre3.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/images/pre4.png → DjangoUeditor/static/ueditor/dialogs/template/images/pre4.png


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/template.css → DjangoUeditor/static/ueditor/dialogs/template/template.css


+ 26 - 26
DjangoUeditor/static/UEditor/dialogs/template/template.html → DjangoUeditor/static/ueditor/dialogs/template/template.html

@@ -1,26 +1,26 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="template.css">
-</head>
-<body>
-    <div class="wrap">
-        <div class="left">
-            <div class="top">
-                <label><var id="lang_template_clear"></var>:<input id="issave" type="checkbox"></label>
-            </div>
-            <div class="bottom border_style1" id="preview"></div>
-        </div>
-        <fieldset  class="right border_style1">
-            <legend><var id="lang_template_select"></var></legend>
-            <div class="pre" id="preitem"></div>
-        </fieldset>
-        <div class="clear"></div>
-    </div>
-    <script type="text/javascript" src="config.js"></script>
-    <script type="text/javascript" src="template.js"></script>
-</body>
-</html>
+<!DOCTYPE HTML>
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="template.css">
+</head>
+<body>
+    <div class="wrap">
+        <div class="left">
+            <div class="top">
+                <label><var id="lang_template_clear"></var>:<input id="issave" type="checkbox"></label>
+            </div>
+            <div class="bottom border_style1" id="preview"></div>
+        </div>
+        <fieldset  class="right border_style1">
+            <legend><var id="lang_template_select"></var></legend>
+            <div class="pre" id="preitem"></div>
+        </fieldset>
+        <div class="clear"></div>
+    </div>
+    <script type="text/javascript" src="config.js"></script>
+    <script type="text/javascript" src="template.js"></script>
+</body>
+</html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/template/template.js → DjangoUeditor/static/ueditor/dialogs/template/template.js


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/images/center_focus.jpg → DjangoUeditor/static/ueditor/dialogs/video/images/center_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/images/left_focus.jpg → DjangoUeditor/static/ueditor/dialogs/video/images/left_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/images/none_focus.jpg → DjangoUeditor/static/ueditor/dialogs/video/images/none_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/images/right_focus.jpg → DjangoUeditor/static/ueditor/dialogs/video/images/right_focus.jpg


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/video.css → DjangoUeditor/static/ueditor/dialogs/video/video.css


+ 94 - 94
DjangoUeditor/static/UEditor/dialogs/video/video.html → DjangoUeditor/static/ueditor/dialogs/video/video.html

@@ -1,95 +1,95 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <link rel="stylesheet" type="text/css" href="video.css" />
-</head>
-<body>
-<div class="wrapper">
-    <div id="videoTab">
-        <div id="tabHeads" class="tabhead">
-            <span tabSrc="video" class="focus" data-content-id="video"><var id="lang_tab_insertV"></var></span>
-            <span tabSrc="upload" data-content-id="upload"><var id="lang_tab_uploadV"></var></span>
-        </div>
-        <!--<span tabSrc="video" data-content-id="videoSearch"><var id="lang_tab_searchV"></var></span>-->
-        <div id="tabBodys" class="tabbody">
-            <div id="video" class="panel">
-               <table><tr><td><label for="videoUrl" class="url"><var id="lang_video_url"></var></label></td><td><input id="videoUrl" type="text"></td></tr></table>
-               <div id="preview"></div>
-               <div id="videoInfo">
-                   <fieldset>
-                       <legend><var id="lang_video_size"></var></legend>
-                       <table>
-                           <tr><td><label for="videoWidth"><var id="lang_videoW"></var></label></td><td><input class="txt" id="videoWidth" type="text"/></td></tr>
-                           <tr><td><label for="videoHeight"><var id="lang_videoH"></var></label></td><td><input class="txt" id="videoHeight" type="text"/></td></tr>
-                       </table>
-                   </fieldset>
-                   <fieldset>
-                      <legend><var id="lang_alignment"></var></legend>
-                      <div id="videoFloat"></div>
-                  </fieldset>
-               </div>
-            </div>
-            <!--
-            <div id="videoSearch" class="panel" style="display: none">
-                <table style="margin-top: 5px;">
-                    <tr>
-                        <td><input id="videoSearchTxt"  type="text" /></td>
-                        <td>
-                            <select id="videoType">
-                                <option value="0"></option>
-                                <option value="29"></option>
-                                <option value="1"></option>
-                                <option value="5"></option>
-                                <option value="15"></option>
-                                <option value="21"></option>
-                                <option value="31"></option>
-                            </select>
-                        </td>
-                        <td><input id="videoSearchBtn" type="button"/></td>
-                        <td><input id="videoSearchReset" type="button" /></td>
-                    </tr>
-                </table>
-                <div id="searchList"></div>
-            </div>
-            -->
-            <div id="upload" class="panel" style="display: none">
-                <div id="upload_left">
-                    <div class="fieldset flash" id="fsUploadProgress"></div>
-                    <div class="controller">
-                        <span id="spanButtonPlaceHolder"></span>
-                        <!--<span id="video_format_advice"><var id="lang_format_advice"></var></span>-->
-                        <span id="startUpload" style="display: none;"></span>
-                    </div>
-                </div>
-                <div id="uploadVideoInfo">
-                    <fieldset>
-                        <legend><var id="lang_upload_size"></var></legend>
-                        <table>
-                            <tr><td><label><var id="lang_upload_width"></var></label></td><td><input class="txt" id="upload_width" type="text"/></td></tr>
-                            <tr><td><label><var id="lang_upload_height"></var></label></td><td><input class="txt" id="upload_height" type="text"/></td></tr>
-                        </table>
-                    </fieldset>
-                    <fieldset>
-                        <legend><var id="lang_upload_alignment"></var></legend>
-                        <div id="upload_alignment"></div>
-                    </fieldset>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<script type="text/javascript" src="video.js"></script>
-
-<script type="text/javascript" src="../../third-party/swfupload/swfupload.js"></script>
-<script type="text/javascript" src="../../third-party/swfupload/swfupload.queue.js"></script>
-<script type="text/javascript" src="../../third-party/swfupload/fileprogress.js"></script>
-<script type="text/javascript" src="callbacks.js"></script>
-<script type="text/javascript">
-
-</script>
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <link rel="stylesheet" type="text/css" href="video.css" />
+</head>
+<body>
+<div class="wrapper">
+    <div id="videoTab">
+        <div id="tabHeads" class="tabhead">
+            <span tabSrc="video" class="focus" data-content-id="video"><var id="lang_tab_insertV"></var></span>
+            <span tabSrc="upload" data-content-id="upload"><var id="lang_tab_uploadV"></var></span>
+        </div>
+        <!--<span tabSrc="video" data-content-id="videoSearch"><var id="lang_tab_searchV"></var></span>-->
+        <div id="tabBodys" class="tabbody">
+            <div id="video" class="panel">
+               <table><tr><td><label for="videoUrl" class="url"><var id="lang_video_url"></var></label></td><td><input id="videoUrl" type="text"></td></tr></table>
+               <div id="preview"></div>
+               <div id="videoInfo">
+                   <fieldset>
+                       <legend><var id="lang_video_size"></var></legend>
+                       <table>
+                           <tr><td><label for="videoWidth"><var id="lang_videoW"></var></label></td><td><input class="txt" id="videoWidth" type="text"/></td></tr>
+                           <tr><td><label for="videoHeight"><var id="lang_videoH"></var></label></td><td><input class="txt" id="videoHeight" type="text"/></td></tr>
+                       </table>
+                   </fieldset>
+                   <fieldset>
+                      <legend><var id="lang_alignment"></var></legend>
+                      <div id="videoFloat"></div>
+                  </fieldset>
+               </div>
+            </div>
+            <!--
+            <div id="videoSearch" class="panel" style="display: none">
+                <table style="margin-top: 5px;">
+                    <tr>
+                        <td><input id="videoSearchTxt"  type="text" /></td>
+                        <td>
+                            <select id="videoType">
+                                <option value="0"></option>
+                                <option value="29"></option>
+                                <option value="1"></option>
+                                <option value="5"></option>
+                                <option value="15"></option>
+                                <option value="21"></option>
+                                <option value="31"></option>
+                            </select>
+                        </td>
+                        <td><input id="videoSearchBtn" type="button"/></td>
+                        <td><input id="videoSearchReset" type="button" /></td>
+                    </tr>
+                </table>
+                <div id="searchList"></div>
+            </div>
+            -->
+            <div id="upload" class="panel" style="display: none">
+                <div id="upload_left">
+                    <div class="fieldset flash" id="fsUploadProgress"></div>
+                    <div class="controller">
+                        <span id="spanButtonPlaceHolder"></span>
+                        <!--<span id="video_format_advice"><var id="lang_format_advice"></var></span>-->
+                        <span id="startUpload" style="display: none;"></span>
+                    </div>
+                </div>
+                <div id="uploadVideoInfo">
+                    <fieldset>
+                        <legend><var id="lang_upload_size"></var></legend>
+                        <table>
+                            <tr><td><label><var id="lang_upload_width"></var></label></td><td><input class="txt" id="upload_width" type="text"/></td></tr>
+                            <tr><td><label><var id="lang_upload_height"></var></label></td><td><input class="txt" id="upload_height" type="text"/></td></tr>
+                        </table>
+                    </fieldset>
+                    <fieldset>
+                        <legend><var id="lang_upload_alignment"></var></legend>
+                        <div id="upload_alignment"></div>
+                    </fieldset>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="video.js"></script>
+
+<script type="text/javascript" src="../../third-party/swfupload/swfupload.js"></script>
+<script type="text/javascript" src="../../third-party/swfupload/swfupload.queue.js"></script>
+<script type="text/javascript" src="../../third-party/swfupload/fileprogress.js"></script>
+<script type="text/javascript" src="callbacks.js"></script>
+<script type="text/javascript">
+
+</script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/video/video.js → DjangoUeditor/static/ueditor/dialogs/video/video.js


+ 52 - 52
DjangoUeditor/static/UEditor/dialogs/webapp/webapp.html → DjangoUeditor/static/ueditor/dialogs/webapp/webapp.html

@@ -1,53 +1,53 @@
-<!DOCTYPE>
-<html>
-<head>
-    <title></title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <script type="text/javascript" src="../internal.js"></script>
-    <style type="text/css">
-        .wrapper{width: 540px; margin: 10px auto;}
-        #appShow {border: 1px solid #ddd;}
-        .errorMsg{font-size: 13px;margin: 10px;color: #dd0000}
-    </style>
-</head>
-<body>
-    <div class="wrapper">
-        <div id="appShow"></div>
-    </div>
-    <script type="text/javascript">
-        //此处配置您在百度上申请到的appkey。
-        var apikey = editor.options.webAppKey;
-        if ( apikey && apikey.length == 24 ) {
-            var searchConfig = {
-                container:'appShow', //容器ID
-                tips:"", //该值用于自动清空
-                search:1, //是否显示搜索框
-                ps:12, //每页显示的条数
-                suggest:1, //是否开启搜索自动完成
-                limit:0, //搜索结果显示条数,0表示无限制
-                searchNow:0, //是否在初始化完成时立即搜索
-                apikey:apikey, //每人得
-                pager:1,
-                cid:7134562,
-                outputHTML:1
-            },baiduApp;
-
-            function clickCallback() {
-                baiduApp.addEventListener( 'getAppHTML', function ( e, data ) {
-                    var url = 'http://app.baidu.com/app/enter?appid='+data.data['app_id'] +'&tn=app_canvas&app_spce_id=1&apikey='+apikey+'&api_key=' + apikey;
-                    editor.execCommand( "webapp", {url:url,width:data.uniWidth,height:data.uniHeight+60,logo:data.data['app_logo'],title:data.data['app_name']});
-                    dialog.close();
-                } );
-            }
-
-            var script = document.createElement( "script" );
-            script.type = "text/javascript";
-            script.src = "http://app.baidu.com/appweb/api/search?auto=yes&container=container&apikey=" + apikey + "&instanceName=baiduApp&callback=clickCallback&config=searchConfig";
-            document.body.appendChild( script );
-        } else {
-            $G( "appShow" ).innerHTML = "<p class='errorMsg'>"+lang.tip1+"<a title='"+lang.anthorApi+"' href='http://app.baidu.com/static/cms/getapikey.html' target='_blank'>"+lang.applyFor+"</a></p><p class='errorMsg'>"+lang.tip2+"</p>" ;
-        }
-
-    </script>
-</body>
+<!DOCTYPE>
+<html>
+<head>
+    <title></title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <script type="text/javascript" src="../internal.js"></script>
+    <style type="text/css">
+        .wrapper{width: 540px; margin: 10px auto;}
+        #appShow {border: 1px solid #ddd;}
+        .errorMsg{font-size: 13px;margin: 10px;color: #dd0000}
+    </style>
+</head>
+<body>
+    <div class="wrapper">
+        <div id="appShow"></div>
+    </div>
+    <script type="text/javascript">
+        //此处配置您在百度上申请到的appkey。
+        var apikey = editor.options.webAppKey;
+        if ( apikey && apikey.length == 24 ) {
+            var searchConfig = {
+                container:'appShow', //容器ID
+                tips:"", //该值用于自动清空
+                search:1, //是否显示搜索框
+                ps:12, //每页显示的条数
+                suggest:1, //是否开启搜索自动完成
+                limit:0, //搜索结果显示条数,0表示无限制
+                searchNow:0, //是否在初始化完成时立即搜索
+                apikey:apikey, //每人得
+                pager:1,
+                cid:7134562,
+                outputHTML:1
+            },baiduApp;
+
+            function clickCallback() {
+                baiduApp.addEventListener( 'getAppHTML', function ( e, data ) {
+                    var url = 'http://app.baidu.com/app/enter?appid='+data.data['app_id'] +'&tn=app_canvas&app_spce_id=1&apikey='+apikey+'&api_key=' + apikey;
+                    editor.execCommand( "webapp", {url:url,width:data.uniWidth,height:data.uniHeight+60,logo:data.data['app_logo'],title:data.data['app_name']});
+                    dialog.close();
+                } );
+            }
+
+            var script = document.createElement( "script" );
+            script.type = "text/javascript";
+            script.src = "http://app.baidu.com/appweb/api/search?auto=yes&container=container&apikey=" + apikey + "&instanceName=baiduApp&callback=clickCallback&config=searchConfig";
+            document.body.appendChild( script );
+        } else {
+            $G( "appShow" ).innerHTML = "<p class='errorMsg'>"+lang.tip1+"<a title='"+lang.anthorApi+"' href='http://app.baidu.com/static/cms/getapikey.html' target='_blank'>"+lang.applyFor+"</a></p><p class='errorMsg'>"+lang.tip2+"</p>" ;
+        }
+
+    </script>
+</body>
 </html>

+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/wordimage/fClipboard_ueditor.swf → DjangoUeditor/static/ueditor/dialogs/wordimage/fClipboard_ueditor.swf


+ 0 - 0
DjangoUeditor/static/UEditor/dialogs/wordimage/imageUploader.swf → DjangoUeditor/static/ueditor/dialogs/wordimage/imageUploader.swf


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff