Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/js/extras
File: editors.default.js
.on('load', function() {
[500] Fix | Delete
//spnr.remove();
[501] Fix | Delete
ifm.show();
[502] Fix | Delete
})
[503] Fix | Delete
.on('error', function() {
[504] Fix | Delete
spnr.remove();
[505] Fix | Delete
ifm.show();
[506] Fix | Delete
}),
[507] Fix | Delete
editor = this.editor,
[508] Fix | Delete
confObj = editor.confObj,
[509] Fix | Delete
spnr = jQuery('<div class="elfinder-edit-spinner elfinder-edit-photopea"></div>')
[510] Fix | Delete
.html('<span class="elfinder-spinner-text">' + fm.i18n('nowLoading') + '</span><span class="elfinder-spinner"></span>')
[511] Fix | Delete
.appendTo(ifm.parent()),
[512] Fix | Delete
saveMimes = fm.arrayFlip(confObj.info.canMakeEmpty),
[513] Fix | Delete
getType = function(mime) {
[514] Fix | Delete
var ext = getExtention(mime, fm),
[515] Fix | Delete
extmime = ext2mime[ext];
[516] Fix | Delete
[517] Fix | Delete
if (!confObj.mimesFlip[extmime]) {
[518] Fix | Delete
ext = '';
[519] Fix | Delete
} else if (ext === 'jpeg') {
[520] Fix | Delete
ext = 'jpg';
[521] Fix | Delete
}
[522] Fix | Delete
if (!ext || !saveMimes[extmime]) {
[523] Fix | Delete
ext = 'psd';
[524] Fix | Delete
extmime = ext2mime[ext];
[525] Fix | Delete
ifm.closest('.ui-dialog').trigger('changeType', {
[526] Fix | Delete
extention: ext,
[527] Fix | Delete
mime : extmime,
[528] Fix | Delete
keepEditor: true
[529] Fix | Delete
});
[530] Fix | Delete
}
[531] Fix | Delete
return ext;
[532] Fix | Delete
},
[533] Fix | Delete
mime = file.mime,
[534] Fix | Delete
liveMsg, type, quty;
[535] Fix | Delete
[536] Fix | Delete
if (!confObj.mimesFlip) {
[537] Fix | Delete
confObj.mimesFlip = fm.arrayFlip(confObj.mimes, true);
[538] Fix | Delete
}
[539] Fix | Delete
if (!confObj.liveMsg) {
[540] Fix | Delete
confObj.liveMsg = function(ifm, spnr, file) {
[541] Fix | Delete
var wnd = ifm.get(0).contentWindow,
[542] Fix | Delete
phase = 0,
[543] Fix | Delete
data = null,
[544] Fix | Delete
dfdIni = jQuery.Deferred().done(function() {
[545] Fix | Delete
spnr.remove();
[546] Fix | Delete
phase = 1;
[547] Fix | Delete
wnd.postMessage(data, orig);
[548] Fix | Delete
}),
[549] Fix | Delete
dfdGet;
[550] Fix | Delete
[551] Fix | Delete
this.load = function() {
[552] Fix | Delete
return fm.getContents(file.hash, 'arraybuffer').done(function(d) {
[553] Fix | Delete
data = d;
[554] Fix | Delete
});
[555] Fix | Delete
};
[556] Fix | Delete
[557] Fix | Delete
this.receive = function(e) {
[558] Fix | Delete
var ev = e.originalEvent,
[559] Fix | Delete
state;
[560] Fix | Delete
if (ev.origin === orig && ev.source === wnd) {
[561] Fix | Delete
if (ev.data === 'done') {
[562] Fix | Delete
if (phase === 0) {
[563] Fix | Delete
dfdIni.resolve();
[564] Fix | Delete
} else if (phase === 1) {
[565] Fix | Delete
phase = 2;
[566] Fix | Delete
ifm.trigger('contentsloaded');
[567] Fix | Delete
} else {
[568] Fix | Delete
if (dfdGet && dfdGet.state() === 'pending') {
[569] Fix | Delete
dfdGet.reject('errDataEmpty');
[570] Fix | Delete
}
[571] Fix | Delete
}
[572] Fix | Delete
} else if (ev.data === 'Save') {
[573] Fix | Delete
editor.doSave();
[574] Fix | Delete
} else {
[575] Fix | Delete
if (dfdGet && dfdGet.state() === 'pending') {
[576] Fix | Delete
if (typeof ev.data === 'object') {
[577] Fix | Delete
dfdGet.resolve('data:' + mime + ';base64,' + fm.arrayBufferToBase64(ev.data));
[578] Fix | Delete
} else {
[579] Fix | Delete
dfdGet.reject('errDataEmpty');
[580] Fix | Delete
}
[581] Fix | Delete
}
[582] Fix | Delete
}
[583] Fix | Delete
}
[584] Fix | Delete
};
[585] Fix | Delete
[586] Fix | Delete
this.getContent = function() {
[587] Fix | Delete
var type, q;
[588] Fix | Delete
if (phase > 1) {
[589] Fix | Delete
dfdGet && dfdGet.state() === 'pending' && dfdGet.reject();
[590] Fix | Delete
dfdGet = null;
[591] Fix | Delete
dfdGet = jQuery.Deferred();
[592] Fix | Delete
if (phase === 2) {
[593] Fix | Delete
phase = 3;
[594] Fix | Delete
dfdGet.resolve('data:' + mime + ';base64,' + fm.arrayBufferToBase64(data));
[595] Fix | Delete
data = null;
[596] Fix | Delete
return dfdGet;
[597] Fix | Delete
}
[598] Fix | Delete
if (ifm.data('mime')) {
[599] Fix | Delete
mime = ifm.data('mime');
[600] Fix | Delete
type = getType(mime);
[601] Fix | Delete
}
[602] Fix | Delete
if (q = ifm.data('quality')) {
[603] Fix | Delete
type += ':' + (q / 100);
[604] Fix | Delete
}
[605] Fix | Delete
wnd.postMessage('app.activeDocument.saveToOE("' + type + '")', orig);
[606] Fix | Delete
return dfdGet;
[607] Fix | Delete
}
[608] Fix | Delete
};
[609] Fix | Delete
};
[610] Fix | Delete
}
[611] Fix | Delete
[612] Fix | Delete
ifm.parent().css('padding', 0);
[613] Fix | Delete
type = getType(file.mime);
[614] Fix | Delete
liveMsg = editor.liveMsg = new confObj.liveMsg(ifm, spnr, file);
[615] Fix | Delete
jQuery(window).on('message.' + fm.namespace, liveMsg.receive);
[616] Fix | Delete
liveMsg.load().done(function() {
[617] Fix | Delete
var d = JSON.stringify({
[618] Fix | Delete
files : [],
[619] Fix | Delete
environment : {
[620] Fix | Delete
lang: fm.lang.replace(/_/g, '-'),
[621] Fix | Delete
customIO: {"save": "app.echoToOE(\"Save\");"}
[622] Fix | Delete
}
[623] Fix | Delete
});
[624] Fix | Delete
ifm.attr('src', orig + '/#' + encodeURI(d));
[625] Fix | Delete
}).fail(function(err) {
[626] Fix | Delete
err && fm.error(err);
[627] Fix | Delete
editor.initFail = true;
[628] Fix | Delete
});
[629] Fix | Delete
[630] Fix | Delete
// jpeg quality controls
[631] Fix | Delete
if (file.mime === 'image/jpeg' || file.mime === 'image/webp') {
[632] Fix | Delete
ifm.data('quality', fm.storage('jpgQuality') || fm.option('jpgQuality'));
[633] Fix | Delete
quty = jQuery('<input type="number" class="ui-corner-all elfinder-resize-quality elfinder-tabstop"/>')
[634] Fix | Delete
.attr('min', '1')
[635] Fix | Delete
.attr('max', '100')
[636] Fix | Delete
.attr('title', '1 - 100')
[637] Fix | Delete
.on('change', function() {
[638] Fix | Delete
var q = quty.val();
[639] Fix | Delete
ifm.data('quality', q);
[640] Fix | Delete
})
[641] Fix | Delete
.val(ifm.data('quality'));
[642] Fix | Delete
jQuery('<div class="ui-dialog-buttonset elfinder-edit-extras elfinder-edit-extras-quality"></div>')
[643] Fix | Delete
.append(
[644] Fix | Delete
jQuery('<span>').html(fm.i18n('quality') + ' : '), quty, jQuery('<span></span>')
[645] Fix | Delete
)
[646] Fix | Delete
.prependTo(ifm.parent().next());
[647] Fix | Delete
}
[648] Fix | Delete
},
[649] Fix | Delete
load : function(base) {
[650] Fix | Delete
var dfd = jQuery.Deferred(),
[651] Fix | Delete
self = this,
[652] Fix | Delete
fm = this.fm,
[653] Fix | Delete
$base = jQuery(base);
[654] Fix | Delete
if (self.initFail) {
[655] Fix | Delete
dfd.reject();
[656] Fix | Delete
} else {
[657] Fix | Delete
$base.on('contentsloaded', function() {
[658] Fix | Delete
dfd.resolve(self.liveMsg);
[659] Fix | Delete
});
[660] Fix | Delete
}
[661] Fix | Delete
return dfd;
[662] Fix | Delete
},
[663] Fix | Delete
getContent : function() {
[664] Fix | Delete
return this.editor.liveMsg? this.editor.liveMsg.getContent() : void(0);
[665] Fix | Delete
},
[666] Fix | Delete
save : function(base, liveMsg) {
[667] Fix | Delete
var $base = jQuery(base),
[668] Fix | Delete
quality = $base.data('quality'),
[669] Fix | Delete
hash = $base.data('hash'),
[670] Fix | Delete
file;
[671] Fix | Delete
if (typeof quality !== 'undefined') {
[672] Fix | Delete
this.fm.storage('jpgQuality', quality);
[673] Fix | Delete
}
[674] Fix | Delete
if (hash) {
[675] Fix | Delete
file = this.fm.file(hash);
[676] Fix | Delete
$base.data('mime', file.mime);
[677] Fix | Delete
} else {
[678] Fix | Delete
$base.removeData('mime');
[679] Fix | Delete
}
[680] Fix | Delete
},
[681] Fix | Delete
// On dialog closed
[682] Fix | Delete
close : function(base, liveMsg) {
[683] Fix | Delete
jQuery(base).attr('src', '');
[684] Fix | Delete
liveMsg && jQuery(window).off('message.' + this.fm.namespace, liveMsg.receive);
[685] Fix | Delete
}
[686] Fix | Delete
},
[687] Fix | Delete
{
[688] Fix | Delete
// Pixo is cross-platform image editor
[689] Fix | Delete
info : {
[690] Fix | Delete
id : 'pixo',
[691] Fix | Delete
name : 'Pixo Editor',
[692] Fix | Delete
iconImg : 'img/editor-icons.png 0 -208',
[693] Fix | Delete
dataScheme: true,
[694] Fix | Delete
schemeContent: true,
[695] Fix | Delete
single: true,
[696] Fix | Delete
canMakeEmpty: false,
[697] Fix | Delete
integrate: {
[698] Fix | Delete
title: 'Pixo Editor',
[699] Fix | Delete
link: 'https://pixoeditor.com/privacy-policy/'
[700] Fix | Delete
}
[701] Fix | Delete
},
[702] Fix | Delete
// MIME types to accept
[703] Fix | Delete
mimes : ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp'],
[704] Fix | Delete
// HTML of this editor
[705] Fix | Delete
html : '<div class="elfinder-edit-imageeditor"><img/></div>',
[706] Fix | Delete
// called on initialization of elFinder cmd edit (this: this editor's config object)
[707] Fix | Delete
setup : function(opts, fm) {
[708] Fix | Delete
if (fm.UA.ltIE8 || !opts.extraOptions || !opts.extraOptions.pixo || !opts.extraOptions.pixo.apikey) {
[709] Fix | Delete
this.disabled = true;
[710] Fix | Delete
} else {
[711] Fix | Delete
this.editorOpts = opts.extraOptions.pixo;
[712] Fix | Delete
}
[713] Fix | Delete
},
[714] Fix | Delete
// Initialization of editing node (this: this editors HTML node)
[715] Fix | Delete
init : function(id, file, content, fm) {
[716] Fix | Delete
initImgTag.call(this, id, file, content, fm);
[717] Fix | Delete
},
[718] Fix | Delete
// Get data uri scheme (this: this editors HTML node)
[719] Fix | Delete
getContent : function() {
[720] Fix | Delete
return jQuery(this).children('img:first').attr('src');
[721] Fix | Delete
},
[722] Fix | Delete
// Launch Pixo editor when dialog open
[723] Fix | Delete
load : function(base) {
[724] Fix | Delete
var self = this,
[725] Fix | Delete
fm = this.fm,
[726] Fix | Delete
$base = jQuery(base),
[727] Fix | Delete
node = $base.children('img:first'),
[728] Fix | Delete
dialog = $base.closest('.ui-dialog'),
[729] Fix | Delete
elfNode = fm.getUI(),
[730] Fix | Delete
dfrd = jQuery.Deferred(),
[731] Fix | Delete
container = jQuery('#elfinder-pixo-container'),
[732] Fix | Delete
init = function(onload) {
[733] Fix | Delete
var opts;
[734] Fix | Delete
[735] Fix | Delete
if (!container.length) {
[736] Fix | Delete
container = jQuery('<div id="elfinder-pixo-container" class="ui-front"></div>').css({
[737] Fix | Delete
position: 'fixed',
[738] Fix | Delete
top: 0,
[739] Fix | Delete
right: 0,
[740] Fix | Delete
width: '100%',
[741] Fix | Delete
height: jQuery(window).height(),
[742] Fix | Delete
overflow: 'hidden'
[743] Fix | Delete
}).hide().appendTo(elfNode.hasClass('elfinder-fullscreen')? elfNode : 'body');
[744] Fix | Delete
// bind switch fullscreen event
[745] Fix | Delete
elfNode.on('resize.'+fm.namespace, function(e, data) {
[746] Fix | Delete
e.preventDefault();
[747] Fix | Delete
e.stopPropagation();
[748] Fix | Delete
data && data.fullscreen && container.appendTo(data.fullscreen === 'on'? elfNode : 'body');
[749] Fix | Delete
});
[750] Fix | Delete
fm.bind('destroy', function() {
[751] Fix | Delete
editor && editor.cancelEditing();
[752] Fix | Delete
container.remove();
[753] Fix | Delete
});
[754] Fix | Delete
} else {
[755] Fix | Delete
// always moves to last
[756] Fix | Delete
container.appendTo(container.parent());
[757] Fix | Delete
}
[758] Fix | Delete
node.on('click', launch);
[759] Fix | Delete
// Constructor options
[760] Fix | Delete
opts = Object.assign({
[761] Fix | Delete
type: 'child',
[762] Fix | Delete
parent: container.get(0),
[763] Fix | Delete
output: {format: 'png'},
[764] Fix | Delete
onSave: function(arg) {
[765] Fix | Delete
// Check current file.hash, all callbacks are called on multiple instances
[766] Fix | Delete
var mime = arg.toBlob().type,
[767] Fix | Delete
ext = getExtention(mime, fm),
[768] Fix | Delete
draw = function(url) {
[769] Fix | Delete
node.one('load error', function() {
[770] Fix | Delete
node.data('loading') && node.data('loading')(true);
[771] Fix | Delete
})
[772] Fix | Delete
.attr('crossorigin', 'anonymous')
[773] Fix | Delete
.attr('src', url);
[774] Fix | Delete
},
[775] Fix | Delete
url = arg.toDataURL();
[776] Fix | Delete
node.data('loading')();
[777] Fix | Delete
delete base._canvas;
[778] Fix | Delete
if (node.data('ext') !== ext) {
[779] Fix | Delete
changeImageType(url, self.file.mime).done(function(res, cv) {
[780] Fix | Delete
if (cv) {
[781] Fix | Delete
base._canvas = canvas = cv;
[782] Fix | Delete
quty.trigger('change');
[783] Fix | Delete
qBase && qBase.show();
[784] Fix | Delete
}
[785] Fix | Delete
draw(res);
[786] Fix | Delete
}).fail(function() {
[787] Fix | Delete
dialog.trigger('changeType', {
[788] Fix | Delete
extention: ext,
[789] Fix | Delete
mime : mime
[790] Fix | Delete
});
[791] Fix | Delete
draw(url);
[792] Fix | Delete
});
[793] Fix | Delete
} else {
[794] Fix | Delete
draw(url);
[795] Fix | Delete
}
[796] Fix | Delete
},
[797] Fix | Delete
onClose: function() {
[798] Fix | Delete
dialog.removeClass(fm.res('class', 'preventback'));
[799] Fix | Delete
fm.toggleMaximize(container, false);
[800] Fix | Delete
container.hide();
[801] Fix | Delete
fm.toFront(dialog);
[802] Fix | Delete
}
[803] Fix | Delete
}, self.confObj.editorOpts);
[804] Fix | Delete
// trigger event 'editEditorPrepare'
[805] Fix | Delete
self.trigger('Prepare', {
[806] Fix | Delete
node: base,
[807] Fix | Delete
editorObj: Pixo,
[808] Fix | Delete
instance: void(0),
[809] Fix | Delete
opts: opts
[810] Fix | Delete
});
[811] Fix | Delete
// make editor instance
[812] Fix | Delete
editor = new Pixo.Bridge(opts);
[813] Fix | Delete
dfrd.resolve(editor);
[814] Fix | Delete
$base.on('saveAsFail', launch);
[815] Fix | Delete
if (onload) {
[816] Fix | Delete
onload();
[817] Fix | Delete
}
[818] Fix | Delete
},
[819] Fix | Delete
launch = function() {
[820] Fix | Delete
dialog.addClass(fm.res('class', 'preventback'));
[821] Fix | Delete
fm.toggleMaximize(container, true);
[822] Fix | Delete
fm.toFront(container);
[823] Fix | Delete
container.show().data('curhash', self.file.hash);
[824] Fix | Delete
editor.edit(node.get(0));
[825] Fix | Delete
node.data('loading')(true);
[826] Fix | Delete
},
[827] Fix | Delete
qBase, quty, qutyTm, canvas, editor;
[828] Fix | Delete
[829] Fix | Delete
node.data('loading')();
[830] Fix | Delete
[831] Fix | Delete
// jpeg quality controls
[832] Fix | Delete
if (self.file.mime === 'image/jpeg') {
[833] Fix | Delete
quty = jQuery('<input type="number" class="ui-corner-all elfinder-resize-quality elfinder-tabstop"/>')
[834] Fix | Delete
.attr('min', '1')
[835] Fix | Delete
.attr('max', '100')
[836] Fix | Delete
.attr('title', '1 - 100')
[837] Fix | Delete
.on('change', function() {
[838] Fix | Delete
var q = quty.val();
[839] Fix | Delete
qutyTm && cancelAnimationFrame(qutyTm);
[840] Fix | Delete
qutyTm = requestAnimationFrame(function() {
[841] Fix | Delete
if (canvas) {
[842] Fix | Delete
canvas.toBlob(function(blob) {
[843] Fix | Delete
blob && quty.next('span').text(' (' + fm.formatSize(blob.size) + ')');
[844] Fix | Delete
}, 'image/jpeg', Math.max(Math.min(q, 100), 1) / 100);
[845] Fix | Delete
}
[846] Fix | Delete
});
[847] Fix | Delete
})
[848] Fix | Delete
.val(fm.storage('jpgQuality') || fm.option('jpgQuality'));
[849] Fix | Delete
qBase = jQuery('<div class="ui-dialog-buttonset elfinder-edit-extras elfinder-edit-extras-quality"></div>')
[850] Fix | Delete
.hide()
[851] Fix | Delete
.append(
[852] Fix | Delete
jQuery('<span>').html(fm.i18n('quality') + ' : '), quty, jQuery('<span></span>')
[853] Fix | Delete
)
[854] Fix | Delete
.prependTo($base.parent().next());
[855] Fix | Delete
$base.data('quty', quty);
[856] Fix | Delete
}
[857] Fix | Delete
[858] Fix | Delete
// load script then init
[859] Fix | Delete
if (typeof Pixo === 'undefined') {
[860] Fix | Delete
fm.loadScript(['https://pixoeditor.com:8443/editor/scripts/bridge.m.js'], function() {
[861] Fix | Delete
init(launch);
[862] Fix | Delete
}, {loadType: 'tag'});
[863] Fix | Delete
} else {
[864] Fix | Delete
init();
[865] Fix | Delete
launch();
[866] Fix | Delete
}
[867] Fix | Delete
return dfrd;
[868] Fix | Delete
},
[869] Fix | Delete
// Convert content url to data uri scheme to save content
[870] Fix | Delete
save : function(base) {
[871] Fix | Delete
var self = this,
[872] Fix | Delete
$base = jQuery(base),
[873] Fix | Delete
node = $base.children('img:first'),
[874] Fix | Delete
q;
[875] Fix | Delete
if (base._canvas) {
[876] Fix | Delete
if ($base.data('quty')) {
[877] Fix | Delete
q = $base.data('quty').val();
[878] Fix | Delete
q && this.fm.storage('jpgQuality', q);
[879] Fix | Delete
}
[880] Fix | Delete
node.attr('src', base._canvas.toDataURL(self.file.mime, q? Math.max(Math.min(q, 100), 1) / 100 : void(0)));
[881] Fix | Delete
} else if (node.attr('src').substr(0, 5) !== 'data:') {
[882] Fix | Delete
node.attr('src', imgBase64(node, this.file.mime));
[883] Fix | Delete
}
[884] Fix | Delete
},
[885] Fix | Delete
close : function(base, editor) {
[886] Fix | Delete
editor && editor.destroy();
[887] Fix | Delete
}
[888] Fix | Delete
},
[889] Fix | Delete
{
[890] Fix | Delete
// ACE Editor
[891] Fix | Delete
// called on initialization of elFinder cmd edit (this: this editor's config object)
[892] Fix | Delete
setup : function(opts, fm) {
[893] Fix | Delete
if (fm.UA.ltIE8 || !fm.options.cdns.ace) {
[894] Fix | Delete
this.disabled = true;
[895] Fix | Delete
}
[896] Fix | Delete
},
[897] Fix | Delete
// `mimes` is not set for support everything kind of text file
[898] Fix | Delete
info : {
[899] Fix | Delete
id : 'aceeditor',
[900] Fix | Delete
name : 'ACE Editor',
[901] Fix | Delete
iconImg : 'img/editor-icons.png 0 -96'
[902] Fix | Delete
},
[903] Fix | Delete
load : function(textarea) {
[904] Fix | Delete
var self = this,
[905] Fix | Delete
fm = this.fm,
[906] Fix | Delete
dfrd = jQuery.Deferred(),
[907] Fix | Delete
cdn = fm.options.cdns.ace,
[908] Fix | Delete
start = function() {
[909] Fix | Delete
var editor, editorBase, mode,
[910] Fix | Delete
ta = jQuery(textarea),
[911] Fix | Delete
taBase = ta.parent(),
[912] Fix | Delete
dialog = taBase.parent(),
[913] Fix | Delete
id = textarea.id + '_ace',
[914] Fix | Delete
ext = self.file.name.replace(/^.+\.([^.]+)|(.+)$/, '$1$2').toLowerCase(),
[915] Fix | Delete
// MIME/mode map
[916] Fix | Delete
mimeMode = {
[917] Fix | Delete
'text/x-php' : 'php',
[918] Fix | Delete
'application/x-php' : 'php',
[919] Fix | Delete
'text/html' : 'html',
[920] Fix | Delete
'application/xhtml+xml' : 'html',
[921] Fix | Delete
'text/javascript' : 'javascript',
[922] Fix | Delete
'application/javascript' : 'javascript',
[923] Fix | Delete
'text/css' : 'css',
[924] Fix | Delete
'text/x-c' : 'c_cpp',
[925] Fix | Delete
'text/x-csrc' : 'c_cpp',
[926] Fix | Delete
'text/x-chdr' : 'c_cpp',
[927] Fix | Delete
'text/x-c++' : 'c_cpp',
[928] Fix | Delete
'text/x-c++src' : 'c_cpp',
[929] Fix | Delete
'text/x-c++hdr' : 'c_cpp',
[930] Fix | Delete
'text/x-shellscript' : 'sh',
[931] Fix | Delete
'application/x-csh' : 'sh',
[932] Fix | Delete
'text/x-python' : 'python',
[933] Fix | Delete
'text/x-java' : 'java',
[934] Fix | Delete
'text/x-java-source' : 'java',
[935] Fix | Delete
'text/x-ruby' : 'ruby',
[936] Fix | Delete
'text/x-perl' : 'perl',
[937] Fix | Delete
'application/x-perl' : 'perl',
[938] Fix | Delete
'text/x-sql' : 'sql',
[939] Fix | Delete
'text/xml' : 'xml',
[940] Fix | Delete
'application/docbook+xml' : 'xml',
[941] Fix | Delete
'application/xml' : 'xml'
[942] Fix | Delete
};
[943] Fix | Delete
[944] Fix | Delete
// set base height
[945] Fix | Delete
taBase.height(taBase.height());
[946] Fix | Delete
[947] Fix | Delete
// set basePath of ace
[948] Fix | Delete
ace.config.set('basePath', cdn);
[949] Fix | Delete
[950] Fix | Delete
// Base node of Ace editor
[951] Fix | Delete
editorBase = jQuery('<div id="'+id+'" style="width:100%; height:100%;"></div>').text(ta.val()).insertBefore(ta.hide());
[952] Fix | Delete
[953] Fix | Delete
// Editor flag
[954] Fix | Delete
ta.data('ace', true);
[955] Fix | Delete
[956] Fix | Delete
// Aceeditor instance
[957] Fix | Delete
editor = ace.edit(id);
[958] Fix | Delete
[959] Fix | Delete
// Ace editor configure
[960] Fix | Delete
editor.$blockScrolling = Infinity;
[961] Fix | Delete
editor.setOptions({
[962] Fix | Delete
theme: 'ace/theme/monokai',
[963] Fix | Delete
fontSize: '14px',
[964] Fix | Delete
wrap: true,
[965] Fix | Delete
});
[966] Fix | Delete
ace.config.loadModule('ace/ext/modelist', function() {
[967] Fix | Delete
// detect mode
[968] Fix | Delete
mode = ace.require('ace/ext/modelist').getModeForPath('/' + self.file.name).name;
[969] Fix | Delete
if (mode === 'text') {
[970] Fix | Delete
if (mimeMode[self.file.mime]) {
[971] Fix | Delete
mode = mimeMode[self.file.mime];
[972] Fix | Delete
}
[973] Fix | Delete
}
[974] Fix | Delete
// show MIME:mode in title bar
[975] Fix | Delete
taBase.prev().children('.elfinder-dialog-title').append(' (' + self.file.mime + ' : ' + mode.split(/[\/\\]/).pop() + ')');
[976] Fix | Delete
editor.setOptions({
[977] Fix | Delete
mode: 'ace/mode/' + mode
[978] Fix | Delete
});
[979] Fix | Delete
if (dfrd.state() === 'resolved') {
[980] Fix | Delete
dialog.trigger('resize');
[981] Fix | Delete
}
[982] Fix | Delete
});
[983] Fix | Delete
ace.config.loadModule('ace/ext/language_tools', function() {
[984] Fix | Delete
ace.require('ace/ext/language_tools');
[985] Fix | Delete
editor.setOptions({
[986] Fix | Delete
enableBasicAutocompletion: true,
[987] Fix | Delete
enableSnippets: true,
[988] Fix | Delete
enableLiveAutocompletion: false
[989] Fix | Delete
});
[990] Fix | Delete
});
[991] Fix | Delete
ace.config.loadModule('ace/ext/settings_menu', function() {
[992] Fix | Delete
ace.require('ace/ext/settings_menu').init(editor);
[993] Fix | Delete
});
[994] Fix | Delete
[995] Fix | Delete
// Short cuts
[996] Fix | Delete
editor.commands.addCommand({
[997] Fix | Delete
name : "saveFile",
[998] Fix | Delete
bindKey: {
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function