/home/edulekha/crm.edulekha.com/application/views/admin/includes/elfinder_tinymce.php
<?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2" />
<!-- jQuery and jQuery UI (REQUIRED) -->
<script
src="<?= base_url('assets/plugins/jquery/jquery.min.js'); ?>">
</script>
<script
src="<?= base_url('assets/plugins/jquery-ui/jquery-ui.min.js'); ?>">
</script>
<!-- elFinder JS (REQUIRED) -->
<script
src="<?= base_url('assets/plugins/elFinder/js/elfinder.min.js?v=' . get_app_version()); ?>">
</script>
<?= app_compile_css('editor-media');
if ($mediaLocale != 'en' && file_exists(FCPATH . 'assets/plugins/elFinder/js/i18n/elfinder.' . $mediaLocale . '.js')) { ?>
<script
src="<?= base_url('assets/plugins/elFinder/js/i18n/elfinder.' . $mediaLocale . '.js?v=' . get_app_version()); ?>">
</script>
<?php } ?>
<?php hooks()->do_action('elfinder_tinymce_head'); ?>
<script>
var site_url = '<?= site_url(); ?>';
var FileBrowserDialogue = {
init: function() {},
mySubmit: function(URL) {
parent.tinymce.activeEditor.windowManager.elfinderCallback(URL.url)
parent.tinymce.activeEditor.windowManager.close();
}
}
</script>
</head>
<body>
<div>
<div id="elfinder"></div>
</div>
<link rel="stylesheet" type="text/css"
href="<?= base_url('assets/plugins/elFinder/themes/Material/css/theme-gray.css?v=' . get_app_version()); ?>">
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.2/require.min.js"></script>
<script>
define('elFinderConfig', {
// elFinder options (REQUIRED)
// Documentation for client options:
// https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
defaultOpts: {
onlyMimes: ['image', 'video', 'application/pdf'],
url: '<?= $connector . '?editor=true' ?>', // connector URL (REQUIRED)
commandsOptions: {
edit: {
extraOptions: {
// set API key to enable Creative Cloud image editor
// see https://console.adobe.io/
creativeCloudApiKey: '',
// browsing manager URL for CKEditor, TinyMCE
// uses self location with the empty value
managerUrl: ''
}
},
quicklook: {
// to enable preview with Google Docs Viewer
googleDocsMimes: ['application/pdf', 'image/tiff', 'application/vnd.ms-office',
'application/msword', 'application/vnd.ms-word', 'application/vnd.ms-excel',
'application/vnd.ms-powerpoint',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
]
}
}
// bootCalback calls at before elFinder boot up
,
bootCallback: function(fm, extraObj) {
/* any bind functions etc. */
fm.bind('init', function() {
// any your code
});
// for example set document.title dynamically.
var title = document.title;
fm.bind('open', function() {
var path = '',
cwd = fm.cwd();
if (cwd) {
path = fm.path(cwd.hash) || null;
}
document.title = path ? path + ':' + title : title;
}).bind('destroy', function() {
document.title = title;
});
}
},
managers: {
// 'DOM Element ID': { /* elFinder options of this DOM Element */ }
'elfinder': {}
}
});
define('returnVoid', void 0);
(function() {
var // elFinder version
elver = '<?= elFinder::getApiFullVersion()?>',
// jQuery and jQueryUI version
jqver = '3.2.1',
uiver = '1.12.1',
// Start elFinder (REQUIRED)
start = function(elFinder, editors, config) {
// load jQueryUI CSS
elFinder.prototype.loadCss('//cdnjs.cloudflare.com/ajax/libs/jqueryui/' + uiver +
'/themes/smoothness/jquery-ui.css');
$(function() {
var elfEditorCustomData = {};
if (typeof(csrfData) !== 'undefined') {
elfEditorCustomData[csrfData['token_name']] = csrfData['hash'];
}
var optEditors = {
commandsOptions: {
edit: {
editors: Array.isArray(editors) ? editors : []
}
}
},
opts = {
height: 700,
customData: elfEditorCustomData,
getFileCallback: function(file, fm) {
FileBrowserDialogue.mySubmit(file);
},
contextmenu: {
files: [
'getfile', '|', 'open', 'quicklook', '|', 'download', '|',
'copy', 'cut', 'paste', 'duplicate', '|',
'rm', '|', 'edit', 'rename', '|', 'archive', 'extract'
]
},
ui: ['toolbar', 'tree', 'path', 'stat'],
uiOptions: {
// toolbar configuration
toolbar: [
['back', 'forward'],
['mkdir', 'mkfile', 'upload'],
['open', 'download', 'getfile'],
['quicklook'],
['copy', 'paste'],
['rm'],
['duplicate', 'rename', 'edit'],
['extract', 'archive'],
['search'],
['view'],
['info'],
]
}
};
// Interpretation of "elFinderConfig"
if (config && config.managers) {
$.each(config.managers, function(id, mOpts) {
opts = Object.assign(opts, config.defaultOpts || {});
// editors marges to opts.commandOptions.edit
try {
mOpts.commandsOptions.edit.editors = mOpts.commandsOptions.edit
.editors.concat(editors || []);
} catch (e) {
Object.assign(mOpts, optEditors);
}
// Make elFinder
$('#' + id).elfinder(
// 1st Arg - options
$.extend(true, {
lang: '<?= e($mediaLocale); ?>'
}, opts, mOpts || {}),
// 2nd Arg - before boot up function
function(fm, extraObj) {
// `init` event callback function
fm.bind('init', function() {
});
}
);
});
} else {
console.error('"elFinderConfig" object is wrong.');
}
});
},
// JavaScript loader (REQUIRED)
load = function() {
require(
[
'elfinder', 'extras/editors.default' // load text, image editors
, 'elFinderConfig'
// , 'extras/quicklook.googledocs' // optional preview for GoogleApps contents on the GoogleDrive volume
],
start,
function(error) {
alert(error.message);
}
);
},
// is IE8? for determine the jQuery version to use (optional)
ie8 = (typeof window.addEventListener === 'undefined' && typeof document.getElementsByClassName ===
'undefined');
// config of RequireJS (REQUIRED)
require.config({
baseUrl: site_url + 'assets/plugins/elFinder/js',
paths: {
'jquery': '//cdnjs.cloudflare.com/ajax/libs/jquery/' + (ie8 ? '1.12.4' : jqver) +
'/jquery.min',
'jquery-ui': '//cdnjs.cloudflare.com/ajax/libs/jqueryui/' + uiver + '/jquery-ui.min',
'elfinder': 'elfinder.min',
},
waitSeconds: 10 // optional
});
// load JavaScripts (REQUIRED)
load();
})();
</script>
</body>
</html>