You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
6.7 KiB
154 lines
6.7 KiB
/*
|
|
DESTOON Copyright (C)2008-2099 www.destoon.com
|
|
This is NOT a freeware,Use is subject to license.txt
|
|
*/
|
|
/* draft */
|
|
if(EDD == 1) {
|
|
var draft_html = '';
|
|
document.write('<div style="width:'+EDW+';color:#666666;">');
|
|
document.write('<a href="javascript:" onclick="draft_get_data();" class="t">'+L['data_recovery']+'</a>');
|
|
document.write(' | ');
|
|
document.write('<a href="javascript:" onclick="draft_save_draft();" class="t">'+L['save_draft']+'</a>');
|
|
document.write(' | <span id="draft_switch"></span> <span id="draft_data_msg"></span>');
|
|
document.write('</div>');
|
|
function draft_get_data() {
|
|
$.post(AJPath, 'action=userdata&job=get&mid='+ModuleID, function(data) {
|
|
if(data) {
|
|
if(confirm(lang(L['if_cover_data'], [data.substring(0, 19)]))) EditorAPI('content', 'set', data.substring(19, data.length));
|
|
} else {
|
|
alert(L['no_data']);
|
|
}
|
|
});
|
|
}
|
|
function draft_save_data() {
|
|
var l = EditorAPI('content', 'len'); if(l < 10) return;
|
|
var c = EditorAPI('content', 'get'); if(draft_html == c) return;
|
|
$.post(AJPath, 'action=userdata&mid='+ModuleID+'&content='+encodeURIComponent(c));
|
|
draft_html = c; var today = new Date();
|
|
Dd('draft_data_msg').innerHTML = '<img src="'+DTPath+'file/image/clock.gif"/>'+lang(L['draft_auto_saved'], [today.getHours(), today.getMinutes(), today.getSeconds()]);
|
|
}
|
|
function draft_save_draft() {
|
|
var l = EditorAPI('content', 'len');
|
|
if(l < 10) {alert(lang(L['at_least_10_letters'], [l]));return;}
|
|
if(confirm(L['stop_auto_save'])) {
|
|
draft_stop();
|
|
$.post(AJPath, 'action=userdata&mid='+ModuleID+'&content='+encodeURIComponent(EditorAPI('content', 'get')));
|
|
Dd('draft_data_msg').innerHTML = L['draft_saved'];
|
|
window.setTimeout(function(){Dd('draft_data_msg').innerHTML = '';}, 3000);
|
|
}
|
|
}
|
|
var draft_interval;
|
|
function draft_init() {
|
|
draft_interval = setInterval('draft_save_data()', 30000);
|
|
Dd('draft_data_msg').innerHTML = '';
|
|
Dd('draft_switch').innerHTML = '<a href="javascript:" class="t" onclick="draft_stop();">'+L['stop_save']+'</a>';
|
|
}
|
|
function draft_stop() {
|
|
clearInterval(draft_interval);
|
|
Dd('draft_data_msg').innerHTML = L['draft_save_stopped'];
|
|
Dd('draft_switch').innerHTML = '<a href="javascript:" class="t" onclick="draft_init();">'+L['start_save']+'</a>';
|
|
}
|
|
draft_init();
|
|
}
|
|
if(UA.indexOf('chrome') != -1 && (DTEditor == 'fckeditor' || DTEditor == 'kindeditor')) {
|
|
setTimeout(function() {
|
|
if(DTEditor == 'fckeditor') {
|
|
var o = FCKeditorAPI.GetInstance(EID);
|
|
var d = o.EditorDocument;
|
|
} else if(DTEditor == 'kindeditor') {
|
|
var d = K('#'+EID);//Error
|
|
}
|
|
d.body.onpaste = function(e) {
|
|
var clipboardData,items,item;
|
|
if(e && (clipboardData=e.clipboardData) && (items=clipboardData.items) && (item=items[0]) && item.kind=='file' && item.type.match(/^image\//i)){
|
|
var blob = item.getAsFile(),reader = new FileReader();
|
|
reader.onload = function(){
|
|
EditorAPI(EID, 'ins', '<img src="'+event.target.result+'">');
|
|
}
|
|
reader.readAsDataURL(blob);
|
|
return false;
|
|
}
|
|
}
|
|
var f = 0;
|
|
d.body.ondragenter = function(e) {
|
|
if(e.dataTransfer.types == 'Files') {
|
|
f = 1;
|
|
}
|
|
}
|
|
d.body.ondrop = function (e) {
|
|
if(f) {
|
|
var dataTransfer = e.dataTransfer,fileList, fileext;
|
|
if(dataTransfer && (fileList = dataTransfer.files) && fileList.length > 0) {
|
|
for(var i = 0; i < fileList.length; i++) {
|
|
//IMG ONLY
|
|
fileext = ext(fileList[i].name);
|
|
if(fileext != 'jpg' && fileext != 'gif' && fileext != 'png' && fileext != 'bmp' && fileext != 'jpeg') continue;
|
|
reader = new FileReader();
|
|
reader.onload = function(){
|
|
EditorAPI(EID, 'ins', '<img src="'+event.target.result+'">');
|
|
}
|
|
reader.readAsDataURL(fileList[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
d.body.ondragover = function(e) {
|
|
//
|
|
}
|
|
}, 3000);
|
|
}
|
|
/* clear tag*/
|
|
function clear_tag() {
|
|
var html = EditorAPI(EID, 'get');
|
|
if(html == '') return;
|
|
var leng = html.length;
|
|
if(leng < 100) return;
|
|
if(!isIE && html.indexOf('mso-') != -1 && html.indexOf('<o:p>') != -1) {//Clear MS Word
|
|
html = html.replace(/<o:p>\s*<\/o:p>/g, '');
|
|
html = html.replace(/<o:p>.*?<\/o:p>/g, ' ');
|
|
html = html.replace(/\s*mso-[^:]+:[^;"]+;?/gi, '');
|
|
html = html.replace(/\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '');
|
|
html = html.replace(/\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"");
|
|
html = html.replace(/\s*TEXT-INDENT: 0cm\s*;/gi, '');
|
|
html = html.replace(/\s*TEXT-INDENT: 0cm\s*"/gi, "\"");
|
|
html = html.replace(/\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"");
|
|
html = html.replace(/\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi, "\"");
|
|
html = html.replace(/\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"");
|
|
html = html.replace(/\s*tab-stops:[^;"]*;?/gi, '');
|
|
html = html.replace(/\s*tab-stops:[^"]*/gi, '');
|
|
html = html.replace(/\s*face="[^"]*"/gi, '');
|
|
html = html.replace(/\s*face=[^ >]*/gi, '');
|
|
html = html.replace(/\s*FONT-FAMILY:[^;"]*;?/gi, '');
|
|
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/\s*style="\s*"/gi, '');
|
|
html = html.replace(/<SPAN\s*[^>]*>\s* \s*<\/SPAN>/gi, ' ');
|
|
html = html.replace(/<SPAN\s*[^>]*><\/SPAN>/gi, '');
|
|
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/<SPAN\s*>(.*?)<\/SPAN>/gi, '$1');
|
|
html = html.replace(/<FONT\s*>(.*?)<\/FONT>/gi, '$1');
|
|
html = html.replace(/<\\?\?xml[^>]*>/gi, '');
|
|
html = html.replace(/<\/?\w+:[^>]*>/gi, '');
|
|
html = html.replace(/<\!--.*?-->/g, '');
|
|
html = html.replace(/<(U|I|STRIKE)> <\/\1>/g, ' ');
|
|
html = html.replace(/<H\d>\s*<\/H\d>/gi, '');
|
|
html = html.replace(/<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none(.*?)<\/\1>/ig, '');
|
|
html = html.replace(/<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi, "<$1$3");
|
|
html = html.replace(/<H(\d)([^>]*)>/gi, '<h$1>');
|
|
html = html.replace(/<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>');
|
|
html = html.replace(/<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>');
|
|
html = html.replace(/<PRE\s*[^>]*>(.*?)<\/PRE>/gi, '<p>$1</p>');
|
|
}
|
|
html = html.replace(/ on([a-z]+)=([\'|\"]?)(.*?)([\'|\"]?)/gi, '');
|
|
html = html.replace(/<IFRAME\s*[^>]*>([\s\S]*?)<\/IFRAME>/gi, '');
|
|
html = html.replace(/<SCRIPT\s*[^>]*>([\s\S]*?)<\/SCRIPT>/gi, '');
|
|
html = html.replace(/<FORM\s*[^>]*>([\s\S]*?)<\/FORM>/gi, '');
|
|
html = html.replace(/<STYLE\s*[^>]*>([\s\S]*?)<\/STYLE>/gi, '');
|
|
html = html.replace(/<\!--([\s\S]*?)-->/g, '');
|
|
html = html.replace(/<LINK\s*[^>]*>/gi, '');
|
|
html = html.replace(/<META\s*[^>]*>/gi, '');
|
|
if(html.length != leng) try { EditorAPI(EID, 'set', html); } catch(e) {}
|
|
}
|
|
var clearTime = setTimeout(function(){var clearInter = setInterval('clear_tag()', 1000);},10000);
|