Blame view

web/backend/js/filemanager/plugin.js 2.07 KB
d1f8bd40   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  /**
   * plugin.js
   *
   * Copyright, Alberto Peripolli
   * Released under Creative Commons Attribution-NonCommercial 3.0 Unported License.
   *
   * Contributing: https://github.com/trippo/ResponsiveFilemanager
   */
  
  tinymce.PluginManager.add('filemanager', function(editor) {
  
      editor.settings.file_browser_callback = filemanager;
  
  	function filemanager (id, value, type, win) {
  		// DEFAULT AS FILE
  		urltype=2;
  		if (type=='image') { urltype=1; }
  		if (type=='media') { urltype=3; }
  		var title="RESPONSIVE FileManager";
  		if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
  			title=editor.settings.filemanager_title;
  		}
  		var akey="key";
  		if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
  			akey=editor.settings.filemanager_access_key;
  		}
  		var sort_by="";
  		if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
  			sort_by="&sort_by="+editor.settings.filemanager_sort_by;
  		}
  		var descending="false";
  		if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
  			descending=editor.settings.filemanager_descending;
  		}
  		var fldr="";
  		if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
  			fldr="&fldr="+editor.settings.filemanager_subfolder;
  		}
  
  		tinymce.activeEditor.windowManager.open({
  			title: title,
  			file: editor.settings.external_filemanager_path+'dialog.php?type='+urltype+'&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
  			width: 860,
  			height: 570,
  			resizable: true,
  			maximizable: true,
  			inline: 1
  			}, {
  			setUrl: function (url) {
  				var fieldElm = win.document.getElementById(id);
  				fieldElm.value = editor.convertURL(url);
  				if ("fireEvent" in fieldElm) {
  					fieldElm.fireEvent("onchange")
  				} else {
  					var evt = document.createEvent("HTMLEvents");
  					evt.initEvent("change", false, true);
  					fieldElm.dispatchEvent(evt);
  				}
  			}
  		});
  	};
  	return false;
  });