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
}
[1500] Fix | Delete
if (opts.extraOptions.managerUrl) {
[1501] Fix | Delete
confObj.managerUrl = opts.extraOptions.managerUrl;
[1502] Fix | Delete
}
[1503] Fix | Delete
}
[1504] Fix | Delete
}
[1505] Fix | Delete
fm.bind('destroy', function() {
[1506] Fix | Delete
confObj.editor = null;
[1507] Fix | Delete
});
[1508] Fix | Delete
},
[1509] Fix | Delete
// Prepare on before show dialog
[1510] Fix | Delete
prepare : function(base, dialogOpts, file) {
[1511] Fix | Delete
jQuery(base).height(base.editor.fm.getUI().height() - 100);
[1512] Fix | Delete
},
[1513] Fix | Delete
init : function(id, file, data, fm) {
[1514] Fix | Delete
var m = data.match(/^([\s\S]*<body[^>]*>)([\s\S]+)(<\/body>[\s\S]*)$/i),
[1515] Fix | Delete
header = '',
[1516] Fix | Delete
body = '',
[1517] Fix | Delete
footer ='';
[1518] Fix | Delete
this.css({
[1519] Fix | Delete
width: '100%',
[1520] Fix | Delete
height: '100%',
[1521] Fix | Delete
'box-sizing': 'border-box'
[1522] Fix | Delete
});
[1523] Fix | Delete
if (m) {
[1524] Fix | Delete
header = m[1];
[1525] Fix | Delete
body = m[2];
[1526] Fix | Delete
footer = m[3];
[1527] Fix | Delete
} else {
[1528] Fix | Delete
body = data;
[1529] Fix | Delete
}
[1530] Fix | Delete
this.data('data', {
[1531] Fix | Delete
header: header,
[1532] Fix | Delete
body: body,
[1533] Fix | Delete
footer: footer
[1534] Fix | Delete
});
[1535] Fix | Delete
this._setupSelEncoding(data);
[1536] Fix | Delete
},
[1537] Fix | Delete
load : function(editnode) {
[1538] Fix | Delete
var self = this,
[1539] Fix | Delete
fm = this.fm,
[1540] Fix | Delete
dfrd = jQuery.Deferred(),
[1541] Fix | Delete
mode = self.confObj.ckeditor5Mode || 'decoupled-document',
[1542] Fix | Delete
lang = (function() {
[1543] Fix | Delete
var l = fm.lang.toLowerCase().replace('_', '-');
[1544] Fix | Delete
if (l.substr(0, 2) === 'zh' && l !== 'zh-cn') {
[1545] Fix | Delete
l = 'zh';
[1546] Fix | Delete
}
[1547] Fix | Delete
return l;
[1548] Fix | Delete
})(),
[1549] Fix | Delete
init = function(cEditor) {
[1550] Fix | Delete
var base = jQuery(editnode).parent(),
[1551] Fix | Delete
opts;
[1552] Fix | Delete
[1553] Fix | Delete
// set base height
[1554] Fix | Delete
base.height(fm.getUI().height() - 100);
[1555] Fix | Delete
[1556] Fix | Delete
// CKEditor5 configure options
[1557] Fix | Delete
opts = Object.assign({
[1558] Fix | Delete
toolbar: ["heading", "|", "fontSize", "fontFamily", "|", "bold", "italic", "underline", "strikethrough", "highlight", "|", "alignment", "|", "numberedList", "bulletedList", "blockQuote", "indent", "outdent", "|", "ckfinder", "link", "imageUpload", "insertTable", "mediaEmbed", "|", "undo", "redo"],
[1559] Fix | Delete
language: lang
[1560] Fix | Delete
}, self.confObj.ckeOpts);
[1561] Fix | Delete
[1562] Fix | Delete
// trigger event 'editEditorPrepare'
[1563] Fix | Delete
self.trigger('Prepare', {
[1564] Fix | Delete
node: editnode,
[1565] Fix | Delete
editorObj: cEditor,
[1566] Fix | Delete
instance: void(0),
[1567] Fix | Delete
opts: opts
[1568] Fix | Delete
});
[1569] Fix | Delete
[1570] Fix | Delete
cEditor
[1571] Fix | Delete
.create(editnode, opts)
[1572] Fix | Delete
.then(function(editor) {
[1573] Fix | Delete
var ckf = editor.commands.get('ckfinder'),
[1574] Fix | Delete
fileRepo = editor.plugins.get('FileRepository'),
[1575] Fix | Delete
prevVars = {}, isImage, insertImages;
[1576] Fix | Delete
if (editor.ui.view.toolbar && (mode === 'classic' || mode === 'decoupled-document')) {
[1577] Fix | Delete
jQuery(editnode).closest('.elfinder-dialog').children('.ui-widget-header').append(jQuery(editor.ui.view.toolbar.element).css({marginRight:'-1em',marginLeft:'-1em'}));
[1578] Fix | Delete
}
[1579] Fix | Delete
if (mode === 'classic') {
[1580] Fix | Delete
jQuery(editnode).closest('.elfinder-edit-editor').css('overflow', 'auto');
[1581] Fix | Delete
}
[1582] Fix | Delete
// Set up this elFinder instead of CKFinder
[1583] Fix | Delete
if (ckf) {
[1584] Fix | Delete
isImage = function(f) {
[1585] Fix | Delete
return f && f.mime.match(/^image\//i);
[1586] Fix | Delete
};
[1587] Fix | Delete
insertImages = function(urls) {
[1588] Fix | Delete
var imgCmd = editor.commands.get('imageUpload');
[1589] Fix | Delete
if (!imgCmd.isEnabled) {
[1590] Fix | Delete
var ntf = editor.plugins.get('Notification'),
[1591] Fix | Delete
i18 = editor.locale.t;
[1592] Fix | Delete
ntf.showWarning(i18('Could not insert image at the current position.'), {
[1593] Fix | Delete
title: i18('Inserting image failed'),
[1594] Fix | Delete
namespace: 'ckfinder'
[1595] Fix | Delete
});
[1596] Fix | Delete
return;
[1597] Fix | Delete
}
[1598] Fix | Delete
editor.execute('imageInsert', { source: urls });
[1599] Fix | Delete
};
[1600] Fix | Delete
// Take over ckfinder execute()
[1601] Fix | Delete
ckf.execute = function() {
[1602] Fix | Delete
var dlg = base.closest('.elfinder-dialog'),
[1603] Fix | Delete
gf = fm.getCommand('getfile'),
[1604] Fix | Delete
rever = function() {
[1605] Fix | Delete
if (prevVars.hasVar) {
[1606] Fix | Delete
dlg.off('resize close', rever);
[1607] Fix | Delete
gf.callback = prevVars.callback;
[1608] Fix | Delete
gf.options.folders = prevVars.folders;
[1609] Fix | Delete
gf.options.multiple = prevVars.multi;
[1610] Fix | Delete
fm.commandMap.open = prevVars.open;
[1611] Fix | Delete
prevVars.hasVar = false;
[1612] Fix | Delete
}
[1613] Fix | Delete
};
[1614] Fix | Delete
dlg.trigger('togleminimize').one('resize close', rever);
[1615] Fix | Delete
prevVars.callback = gf.callback;
[1616] Fix | Delete
prevVars.folders = gf.options.folders;
[1617] Fix | Delete
prevVars.multi = gf.options.multiple;
[1618] Fix | Delete
prevVars.open = fm.commandMap.open;
[1619] Fix | Delete
prevVars.hasVar = true;
[1620] Fix | Delete
gf.callback = function(files) {
[1621] Fix | Delete
var imgs = [];
[1622] Fix | Delete
if (files.length === 1 && files[0].mime === 'directory') {
[1623] Fix | Delete
fm.one('open', function() {
[1624] Fix | Delete
fm.commandMap.open = 'getfile';
[1625] Fix | Delete
}).getCommand('open').exec(files[0].hash);
[1626] Fix | Delete
return;
[1627] Fix | Delete
}
[1628] Fix | Delete
fm.getUI('cwd').trigger('unselectall');
[1629] Fix | Delete
jQuery.each(files, function(i, f) {
[1630] Fix | Delete
if (isImage(f)) {
[1631] Fix | Delete
imgs.push(fm.convAbsUrl(f.url));
[1632] Fix | Delete
} else {
[1633] Fix | Delete
editor.execute('link', fm.convAbsUrl(f.url));
[1634] Fix | Delete
}
[1635] Fix | Delete
});
[1636] Fix | Delete
if (imgs.length) {
[1637] Fix | Delete
insertImages(imgs);
[1638] Fix | Delete
}
[1639] Fix | Delete
dlg.trigger('togleminimize');
[1640] Fix | Delete
};
[1641] Fix | Delete
gf.options.folders = true;
[1642] Fix | Delete
gf.options.multiple = true;
[1643] Fix | Delete
fm.commandMap.open = 'getfile';
[1644] Fix | Delete
fm.toast({
[1645] Fix | Delete
mode: 'info',
[1646] Fix | Delete
msg: fm.i18n('dblclickToSelect')
[1647] Fix | Delete
});
[1648] Fix | Delete
};
[1649] Fix | Delete
}
[1650] Fix | Delete
// Set up image uploader
[1651] Fix | Delete
fileRepo.createUploadAdapter = function(loader) {
[1652] Fix | Delete
return new uploder(loader);
[1653] Fix | Delete
};
[1654] Fix | Delete
editor.setData(jQuery(editnode).data('data').body);
[1655] Fix | Delete
// move .ck-body to elFinder node for fullscreen mode
[1656] Fix | Delete
fm.getUI().append(jQuery('body > div.ck-body'));
[1657] Fix | Delete
jQuery('div.ck-balloon-panel').css({
[1658] Fix | Delete
'z-index': fm.getMaximizeCss().zIndex + 1
[1659] Fix | Delete
});
[1660] Fix | Delete
dfrd.resolve(editor);
[1661] Fix | Delete
/*fm.log({
[1662] Fix | Delete
defaultConfig: cEditor.defaultConfig,
[1663] Fix | Delete
plugins: cEditor.builtinPlugins.map(function(p) { return p.pluginName; }),
[1664] Fix | Delete
toolbars: Array.from(editor.ui.componentFactory.names())
[1665] Fix | Delete
});*/
[1666] Fix | Delete
})
[1667] Fix | Delete
['catch'](function(error) { // ['cache'] instead .cache for fix error on ie8
[1668] Fix | Delete
fm.error(error);
[1669] Fix | Delete
});
[1670] Fix | Delete
},
[1671] Fix | Delete
uploder = function(loader) {
[1672] Fix | Delete
var upload = function(file, resolve, reject) {
[1673] Fix | Delete
fm.exec('upload', {files: [file]}, void(0), fm.cwd().hash)
[1674] Fix | Delete
.done(function(data){
[1675] Fix | Delete
if (data.added && data.added.length) {
[1676] Fix | Delete
fm.url(data.added[0].hash, { async: true }).done(function(url) {
[1677] Fix | Delete
resolve({
[1678] Fix | Delete
'default': fm.convAbsUrl(url)
[1679] Fix | Delete
});
[1680] Fix | Delete
}).fail(function() {
[1681] Fix | Delete
reject('errFileNotFound');
[1682] Fix | Delete
});
[1683] Fix | Delete
} else {
[1684] Fix | Delete
reject(fm.i18n(data.error? data.error : 'errUpload'));
[1685] Fix | Delete
}
[1686] Fix | Delete
})
[1687] Fix | Delete
.fail(function(err) {
[1688] Fix | Delete
var error = fm.parseError(err);
[1689] Fix | Delete
reject(fm.i18n(error? (error === 'userabort'? 'errAbort' : error) : 'errUploadNoFiles'));
[1690] Fix | Delete
})
[1691] Fix | Delete
.progress(function(data) {
[1692] Fix | Delete
loader.uploadTotal = data.total;
[1693] Fix | Delete
loader.uploaded = data.progress;
[1694] Fix | Delete
});
[1695] Fix | Delete
};
[1696] Fix | Delete
this.upload = function() {
[1697] Fix | Delete
return new Promise(function(resolve, reject) {
[1698] Fix | Delete
if (loader.file instanceof Promise || (loader.file && typeof loader.file.then === 'function')) {
[1699] Fix | Delete
loader.file.then(function(file) {
[1700] Fix | Delete
upload(file, resolve, reject);
[1701] Fix | Delete
});
[1702] Fix | Delete
} else {
[1703] Fix | Delete
upload(loader.file, resolve, reject);
[1704] Fix | Delete
}
[1705] Fix | Delete
});
[1706] Fix | Delete
};
[1707] Fix | Delete
this.abort = function() {
[1708] Fix | Delete
fm.getUI().trigger('uploadabort');
[1709] Fix | Delete
};
[1710] Fix | Delete
}, loader;
[1711] Fix | Delete
[1712] Fix | Delete
if (!self.confObj.editor) {
[1713] Fix | Delete
loader = jQuery.Deferred();
[1714] Fix | Delete
self.fm.loadScript([
[1715] Fix | Delete
fm.options.cdns.ckeditor5 + '/' + mode + '/ckeditor.js'
[1716] Fix | Delete
], function(editor) {
[1717] Fix | Delete
if (!editor) {
[1718] Fix | Delete
editor = window.BalloonEditor || window.InlineEditor || window.ClassicEditor || window.DecoupledEditor;
[1719] Fix | Delete
}
[1720] Fix | Delete
if (fm.lang !== 'en') {
[1721] Fix | Delete
self.fm.loadScript([
[1722] Fix | Delete
fm.options.cdns.ckeditor5 + '/' + mode + '/translations/' + lang + '.js'
[1723] Fix | Delete
], function(obj) {
[1724] Fix | Delete
loader.resolve(editor);
[1725] Fix | Delete
}, {
[1726] Fix | Delete
tryRequire: true,
[1727] Fix | Delete
loadType: 'tag',
[1728] Fix | Delete
error: function(obj) {
[1729] Fix | Delete
lang = 'en';
[1730] Fix | Delete
loader.resolve(editor);
[1731] Fix | Delete
}
[1732] Fix | Delete
});
[1733] Fix | Delete
} else {
[1734] Fix | Delete
loader.resolve(editor);
[1735] Fix | Delete
}
[1736] Fix | Delete
}, {
[1737] Fix | Delete
tryRequire: true,
[1738] Fix | Delete
loadType: 'tag'
[1739] Fix | Delete
});
[1740] Fix | Delete
loader.done(function(editor) {
[1741] Fix | Delete
self.confObj.editor = editor;
[1742] Fix | Delete
init(editor);
[1743] Fix | Delete
});
[1744] Fix | Delete
} else {
[1745] Fix | Delete
init(self.confObj.editor);
[1746] Fix | Delete
}
[1747] Fix | Delete
return dfrd;
[1748] Fix | Delete
},
[1749] Fix | Delete
getContent : function() {
[1750] Fix | Delete
var data = jQuery(this).data('data');
[1751] Fix | Delete
return data.header + data.body + data.footer;
[1752] Fix | Delete
},
[1753] Fix | Delete
close : function(editnode, instance) {
[1754] Fix | Delete
instance && instance.destroy();
[1755] Fix | Delete
},
[1756] Fix | Delete
save : function(editnode, instance) {
[1757] Fix | Delete
var elm = jQuery(editnode),
[1758] Fix | Delete
data = elm.data('data');
[1759] Fix | Delete
if (instance) {
[1760] Fix | Delete
data.body = instance.getData();
[1761] Fix | Delete
elm.data('data', data);
[1762] Fix | Delete
}
[1763] Fix | Delete
},
[1764] Fix | Delete
focus : function(editnode, instance) {
[1765] Fix | Delete
jQuery(editnode).trigger('focus');
[1766] Fix | Delete
}
[1767] Fix | Delete
},
[1768] Fix | Delete
{
[1769] Fix | Delete
// TinyMCE for html file
[1770] Fix | Delete
info : {
[1771] Fix | Delete
id : 'tinymce',
[1772] Fix | Delete
name : 'TinyMCE',
[1773] Fix | Delete
iconImg : 'img/editor-icons.png 0 -64'
[1774] Fix | Delete
},
[1775] Fix | Delete
exts : ['htm', 'html', 'xhtml'],
[1776] Fix | Delete
setup : function(opts, fm) {
[1777] Fix | Delete
var confObj = this;
[1778] Fix | Delete
if (!fm.options.cdns.tinymce) {
[1779] Fix | Delete
confObj.disabled = true;
[1780] Fix | Delete
} else {
[1781] Fix | Delete
confObj.mceOpts = {};
[1782] Fix | Delete
if (opts.extraOptions) {
[1783] Fix | Delete
confObj.uploadOpts = Object.assign({}, opts.extraOptions.uploadOpts || {});
[1784] Fix | Delete
confObj.mceOpts = Object.assign({}, opts.extraOptions.tinymce || {});
[1785] Fix | Delete
} else {
[1786] Fix | Delete
confObj.uploadOpts = {};
[1787] Fix | Delete
}
[1788] Fix | Delete
}
[1789] Fix | Delete
},
[1790] Fix | Delete
load : function(textarea) {
[1791] Fix | Delete
var self = this,
[1792] Fix | Delete
fm = this.fm,
[1793] Fix | Delete
dfrd = jQuery.Deferred(),
[1794] Fix | Delete
init = function() {
[1795] Fix | Delete
var base = jQuery(textarea).show().parent(),
[1796] Fix | Delete
dlg = base.closest('.elfinder-dialog'),
[1797] Fix | Delete
h = base.height(),
[1798] Fix | Delete
delta = base.outerHeight(true) - h,
[1799] Fix | Delete
// hide MCE dialog and modal block
[1800] Fix | Delete
hideMceDlg = function() {
[1801] Fix | Delete
var mceW;
[1802] Fix | Delete
if (tinymce.activeEditor.windowManager.windows) {
[1803] Fix | Delete
mceW = tinymce.activeEditor.windowManager.windows[0];
[1804] Fix | Delete
mceDlg = jQuery(mceW? mceW.getEl() : void(0)).hide();
[1805] Fix | Delete
mceCv = jQuery('#mce-modal-block').hide();
[1806] Fix | Delete
} else {
[1807] Fix | Delete
mceDlg = jQuery('.tox-dialog-wrap').hide();
[1808] Fix | Delete
}
[1809] Fix | Delete
},
[1810] Fix | Delete
// Show MCE dialog and modal block
[1811] Fix | Delete
showMceDlg = function() {
[1812] Fix | Delete
mceCv && mceCv.show();
[1813] Fix | Delete
mceDlg && mceDlg.show();
[1814] Fix | Delete
},
[1815] Fix | Delete
tVer = tinymce.majorVersion,
[1816] Fix | Delete
opts, mceDlg, mceCv;
[1817] Fix | Delete
[1818] Fix | Delete
// set base height
[1819] Fix | Delete
base.height(h);
[1820] Fix | Delete
// fit height function
[1821] Fix | Delete
textarea._setHeight = function(height) {
[1822] Fix | Delete
if (tVer < 5) {
[1823] Fix | Delete
var base = jQuery(this).parent(),
[1824] Fix | Delete
h = height || base.innerHeight(),
[1825] Fix | Delete
ctrH = 0,
[1826] Fix | Delete
areaH;
[1827] Fix | Delete
base.find('.mce-container-body:first').children('.mce-top-part,.mce-statusbar').each(function() {
[1828] Fix | Delete
ctrH += jQuery(this).outerHeight(true);
[1829] Fix | Delete
});
[1830] Fix | Delete
areaH = h - ctrH - delta;
[1831] Fix | Delete
base.find('.mce-edit-area iframe:first').height(areaH);
[1832] Fix | Delete
}
[1833] Fix | Delete
};
[1834] Fix | Delete
[1835] Fix | Delete
// TinyMCE configure options
[1836] Fix | Delete
opts = {
[1837] Fix | Delete
selector: '#' + textarea.id,
[1838] Fix | Delete
resize: false,
[1839] Fix | Delete
plugins: 'print preview fullpage searchreplace autolink directionality visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount imagetools textpattern help',
[1840] Fix | Delete
toolbar: 'formatselect | bold italic strikethrough forecolor backcolor | link image media | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat',
[1841] Fix | Delete
image_advtab: true,
[1842] Fix | Delete
init_instance_callback : function(editor) {
[1843] Fix | Delete
// fit height on init
[1844] Fix | Delete
textarea._setHeight(h);
[1845] Fix | Delete
// re-build on dom move
[1846] Fix | Delete
dlg.one('beforedommove.'+fm.namespace, function() {
[1847] Fix | Delete
tinymce.execCommand('mceRemoveEditor', false, textarea.id);
[1848] Fix | Delete
}).one('dommove.'+fm.namespace, function() {
[1849] Fix | Delete
self.load(textarea).done(function(editor) {
[1850] Fix | Delete
self.instance = editor;
[1851] Fix | Delete
});
[1852] Fix | Delete
});
[1853] Fix | Delete
// return editor instance
[1854] Fix | Delete
dfrd.resolve(editor);
[1855] Fix | Delete
},
[1856] Fix | Delete
file_picker_callback : function (callback, value, meta) {
[1857] Fix | Delete
var gf = fm.getCommand('getfile'),
[1858] Fix | Delete
revar = function() {
[1859] Fix | Delete
if (prevVars.hasVar) {
[1860] Fix | Delete
gf.callback = prevVars.callback;
[1861] Fix | Delete
gf.options.folders = prevVars.folders;
[1862] Fix | Delete
gf.options.multiple = prevVars.multi;
[1863] Fix | Delete
fm.commandMap.open = prevVars.open;
[1864] Fix | Delete
prevVars.hasVar = false;
[1865] Fix | Delete
}
[1866] Fix | Delete
dlg.off('resize close', revar);
[1867] Fix | Delete
showMceDlg();
[1868] Fix | Delete
},
[1869] Fix | Delete
prevVars = {};
[1870] Fix | Delete
prevVars.callback = gf.callback;
[1871] Fix | Delete
prevVars.folders = gf.options.folders;
[1872] Fix | Delete
prevVars.multi = gf.options.multiple;
[1873] Fix | Delete
prevVars.open = fm.commandMap.open;
[1874] Fix | Delete
prevVars.hasVar = true;
[1875] Fix | Delete
gf.callback = function(file) {
[1876] Fix | Delete
var url, info;
[1877] Fix | Delete
[1878] Fix | Delete
if (file.mime === 'directory') {
[1879] Fix | Delete
fm.one('open', function() {
[1880] Fix | Delete
fm.commandMap.open = 'getfile';
[1881] Fix | Delete
}).getCommand('open').exec(file.hash);
[1882] Fix | Delete
return;
[1883] Fix | Delete
}
[1884] Fix | Delete
[1885] Fix | Delete
// URL normalization
[1886] Fix | Delete
url = fm.convAbsUrl(file.url);
[1887] Fix | Delete
[1888] Fix | Delete
// Make file info
[1889] Fix | Delete
info = file.name + ' (' + fm.formatSize(file.size) + ')';
[1890] Fix | Delete
[1891] Fix | Delete
// Provide file and text for the link dialog
[1892] Fix | Delete
if (meta.filetype == 'file') {
[1893] Fix | Delete
callback(url, {text: info, title: info});
[1894] Fix | Delete
}
[1895] Fix | Delete
[1896] Fix | Delete
// Provide image and alt text for the image dialog
[1897] Fix | Delete
if (meta.filetype == 'image') {
[1898] Fix | Delete
callback(url, {alt: info});
[1899] Fix | Delete
}
[1900] Fix | Delete
[1901] Fix | Delete
// Provide alternative source and posted for the media dialog
[1902] Fix | Delete
if (meta.filetype == 'media') {
[1903] Fix | Delete
callback(url);
[1904] Fix | Delete
}
[1905] Fix | Delete
dlg.trigger('togleminimize');
[1906] Fix | Delete
};
[1907] Fix | Delete
gf.options.folders = true;
[1908] Fix | Delete
gf.options.multiple = false;
[1909] Fix | Delete
fm.commandMap.open = 'getfile';
[1910] Fix | Delete
[1911] Fix | Delete
hideMceDlg();
[1912] Fix | Delete
dlg.trigger('togleminimize').one('resize close', revar);
[1913] Fix | Delete
fm.toast({
[1914] Fix | Delete
mode: 'info',
[1915] Fix | Delete
msg: fm.i18n('dblclickToSelect')
[1916] Fix | Delete
});
[1917] Fix | Delete
[1918] Fix | Delete
return false;
[1919] Fix | Delete
},
[1920] Fix | Delete
images_upload_handler : function (blobInfo, success, failure) {
[1921] Fix | Delete
var file = blobInfo.blob(),
[1922] Fix | Delete
err = function(e) {
[1923] Fix | Delete
var dlg = e.data.dialog || {};
[1924] Fix | Delete
if (dlg.hasClass('elfinder-dialog-error') || dlg.hasClass('elfinder-confirm-upload')) {
[1925] Fix | Delete
hideMceDlg();
[1926] Fix | Delete
dlg.trigger('togleminimize').one('resize close', revert);
[1927] Fix | Delete
fm.unbind('dialogopened', err);
[1928] Fix | Delete
}
[1929] Fix | Delete
},
[1930] Fix | Delete
revert = function() {
[1931] Fix | Delete
dlg.off('resize close', revert);
[1932] Fix | Delete
showMceDlg();
[1933] Fix | Delete
},
[1934] Fix | Delete
clipdata = true;
[1935] Fix | Delete
[1936] Fix | Delete
// check file object
[1937] Fix | Delete
if (file.name) {
[1938] Fix | Delete
// file blob of client side file object
[1939] Fix | Delete
clipdata = void(0);
[1940] Fix | Delete
}
[1941] Fix | Delete
fm.bind('dialogopened', err).exec('upload', Object.assign({
[1942] Fix | Delete
files: [file],
[1943] Fix | Delete
clipdata: clipdata // to get unique name on connector
[1944] Fix | Delete
}, self.confObj.uploadOpts), void(0), fm.cwd().hash).done(function(data) {
[1945] Fix | Delete
if (data.added && data.added.length) {
[1946] Fix | Delete
fm.url(data.added[0].hash, { async: true }).done(function(url) {
[1947] Fix | Delete
showMceDlg();
[1948] Fix | Delete
success(fm.convAbsUrl(url));
[1949] Fix | Delete
}).fail(function() {
[1950] Fix | Delete
failure(fm.i18n('errFileNotFound'));
[1951] Fix | Delete
});
[1952] Fix | Delete
} else {
[1953] Fix | Delete
failure(fm.i18n(data.error? data.error : 'errUpload'));
[1954] Fix | Delete
}
[1955] Fix | Delete
}).fail(function(err) {
[1956] Fix | Delete
var error = fm.parseError(err);
[1957] Fix | Delete
if (error) {
[1958] Fix | Delete
if (error === 'errUnknownCmd') {
[1959] Fix | Delete
error = 'errPerm';
[1960] Fix | Delete
} else if (error === 'userabort') {
[1961] Fix | Delete
error = 'errAbort';
[1962] Fix | Delete
}
[1963] Fix | Delete
}
[1964] Fix | Delete
failure(fm.i18n(error? error : 'errUploadNoFiles'));
[1965] Fix | Delete
});
[1966] Fix | Delete
}
[1967] Fix | Delete
};
[1968] Fix | Delete
[1969] Fix | Delete
// TinyMCE 5 supports "height: 100%"
[1970] Fix | Delete
if (tVer >= 5) {
[1971] Fix | Delete
opts.height = '100%';
[1972] Fix | Delete
}
[1973] Fix | Delete
[1974] Fix | Delete
// trigger event 'editEditorPrepare'
[1975] Fix | Delete
self.trigger('Prepare', {
[1976] Fix | Delete
node: textarea,
[1977] Fix | Delete
editorObj: tinymce,
[1978] Fix | Delete
instance: void(0),
[1979] Fix | Delete
opts: opts
[1980] Fix | Delete
});
[1981] Fix | Delete
[1982] Fix | Delete
// TinyMCE configure
[1983] Fix | Delete
tinymce.init(Object.assign(opts, self.confObj.mceOpts));
[1984] Fix | Delete
};
[1985] Fix | Delete
[1986] Fix | Delete
if (!self.confObj.loader) {
[1987] Fix | Delete
self.confObj.loader = jQuery.Deferred();
[1988] Fix | Delete
self.fm.loadScript([fm.options.cdns.tinymce + (fm.options.cdns.tinymce.match(/\.js/)? '' : '/tinymce.min.js')], function() {
[1989] Fix | Delete
self.confObj.loader.resolve();
[1990] Fix | Delete
}, {
[1991] Fix | Delete
loadType: 'tag'
[1992] Fix | Delete
});
[1993] Fix | Delete
}
[1994] Fix | Delete
self.confObj.loader.done(init);
[1995] Fix | Delete
return dfrd;
[1996] Fix | Delete
},
[1997] Fix | Delete
close : function(textarea, instance) {
[1998] Fix | Delete
instance && tinymce.execCommand('mceRemoveEditor', false, textarea.id);
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function