| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 | 
							- /**
 
-  * elFinder client options and main script for RequireJS
 
-  *
 
-  * Rename "main.default.js" to "main.js" and edit it if you need configure elFInder options or any things. And use that in elfinder.html.
 
-  * e.g. `<script data-main="./main.js" src="./require.js"></script>`
 
-  **/
 
- (function(){
 
- 	"use strict";
 
- 	var // jQuery and jQueryUI version
 
- 		jqver = '3.3.1',
 
- 		uiver = '1.12.1',
 
- 		
 
- 		// Detect language (optional)
 
- 		lang = (function() {
 
- 			var locq = window.location.search,
 
- 				fullLang, locm, lang;
 
- 			if (locq && (locm = locq.match(/lang=([a-zA-Z_-]+)/))) {
 
- 				// detection by url query (?lang=xx)
 
- 				fullLang = locm[1];
 
- 			} else {
 
- 				// detection by browser language
 
- 				fullLang = (navigator.browserLanguage || navigator.language || navigator.userLanguage);
 
- 			}
 
- 			lang = fullLang.substr(0,2);
 
- 			if (lang === 'pt') lang = 'pt_BR';
 
- 			else if (lang === 'ug') lang = 'ug_CN';
 
- 			else if (lang === 'zh') lang = (fullLang.substr(0,5).toLowerCase() === 'zh-tw')? 'zh_TW' : 'zh_CN';
 
- 			return lang;
 
- 		})(),
 
- 		
 
- 		// 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 optEditors = {
 
- 						commandsOptions: {
 
- 							edit: {
 
- 								editors: Array.isArray(editors)? editors : []
 
- 							}
 
- 						}
 
- 					},
 
- 					opts = {};
 
- 				
 
- 				// 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: lang }, opts, mOpts || {}),
 
- 							// 2nd Arg - before boot up function
 
- 							function(fm, extraObj) {
 
- 								// `init` event callback function
 
- 								fm.bind('init', function() {
 
- 									// Optional for Japanese decoder "encoding-japanese"
 
- 									if (fm.lang === 'ja') {
 
- 										require(
 
- 											[ 'encoding-japanese' ],
 
- 											function(Encoding) {
 
- 												if (Encoding && Encoding.convert) {
 
- 													fm.registRawStringDecoder(function(s) {
 
- 														return Encoding.convert(s, {to:'UNICODE',type:'string'});
 
- 													});
 
- 												}
 
- 											}
 
- 										);
 
- 									}
 
- 								});
 
- 							}
 
- 						);
 
- 					});
 
- 				} else {
 
- 					alert('"elFinderConfig" object is wrong.');
 
- 				}
 
- 			});
 
- 		},
 
- 		
 
- 		// JavaScript loader (REQUIRED)
 
- 		load = function() {
 
- 			require(
 
- 				[
 
- 					'elfinder'
 
- 					, 'extras/editors.default.min'               // load text, image editors
 
- 					, 'elFinderConfig'
 
- 				//	, 'extras/quicklook.googledocs.min'          // optional preview for GoogleApps contents on the GoogleDrive volume
 
- 				],
 
- 				start,
 
- 				function(error) {
 
- 					alert(error.message);
 
- 				}
 
- 			);
 
- 		},
 
- 		
 
- 		// is IE8 or :? for determine the jQuery version to use (optional)
 
- 		old = (typeof window.addEventListener === 'undefined' && typeof document.getElementsByClassName === 'undefined')
 
- 		       ||
 
- 		      (!window.chrome && !document.unqueID && !window.opera && !window.sidebar && 'WebkitAppearance' in document.documentElement.style && document.body.style && typeof document.body.style.webkitFilter === 'undefined');
 
- 	// config of RequireJS (REQUIRED)
 
- 	require.config({
 
- 		baseUrl : 'js',
 
- 		paths : {
 
- 			'jquery'   : '//cdnjs.cloudflare.com/ajax/libs/jquery/'+(old? '1.12.4' : jqver)+'/jquery.min',
 
- 			'jquery-ui': '//cdnjs.cloudflare.com/ajax/libs/jqueryui/'+uiver+'/jquery-ui.min',
 
- 			'elfinder' : 'elfinder.min',
 
- 			'encoding-japanese': '//cdn.rawgit.com/polygonplanet/encoding.js/1.0.26/encoding.min'
 
- 		},
 
- 		waitSeconds : 10 // optional
 
- 	});
 
- 	// check elFinderConfig and fallback
 
- 	// This part don't used if you are using elfinder.html, see elfinder.html
 
- 	if (! require.defined('elFinderConfig')) {
 
- 		define('elFinderConfig', {
 
- 			// elFinder options (REQUIRED)
 
- 			// Documentation for client options:
 
- 			// https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
 
- 			defaultOpts : {
 
- 				url : 'php/connector.minimal.php' // 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 CAD-Files and 3D-Models preview with sharecad.org
 
- 						sharecadMimes : ['image/vnd.dwg', 'image/vnd.dxf', 'model/vnd.dwf', 'application/vnd.hp-hpgl', 'application/plt', 'application/step', 'model/iges', 'application/vnd.ms-pki.stl', 'application/sat', 'image/cgm', 'application/x-msmetafile'],
 
- 						// 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', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/postscript', 'application/rtf'],
 
- 						// to enable preview with Microsoft Office Online Viewer
 
- 						// these MIME types override "googleDocsMimes"
 
- 						officeOnlineMimes : ['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', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.presentation']
 
- 					}
 
- 				}
 
- 			},
 
- 			managers : {
 
- 				'elfinder': {},
 
- 			}
 
- 		});
 
- 	}
 
- 	// load JavaScripts (REQUIRED)
 
- 	load();
 
- })();
 
 
  |