fdfinder 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +3 -0
  4. data/CODE_OF_CONDUCT.md +13 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +364 -0
  8. data/Rakefile +1 -0
  9. data/app/assets/images/fdfinder/about.png +0 -0
  10. data/app/assets/images/fdfinder/copy.png +0 -0
  11. data/app/assets/images/fdfinder/cut.png +0 -0
  12. data/app/assets/images/fdfinder/date_sorter.png +0 -0
  13. data/app/assets/images/fdfinder/delete.png +0 -0
  14. data/app/assets/images/fdfinder/directory-max.png +0 -0
  15. data/app/assets/images/fdfinder/directory.png +0 -0
  16. data/app/assets/images/fdfinder/directory_mini.png +0 -0
  17. data/app/assets/images/fdfinder/download.png +0 -0
  18. data/app/assets/images/fdfinder/duplicate.png +0 -0
  19. data/app/assets/images/fdfinder/edit.png +0 -0
  20. data/app/assets/images/fdfinder/files/7z.png +0 -0
  21. data/app/assets/images/fdfinder/files/Untitled-24.png +0 -0
  22. data/app/assets/images/fdfinder/files/avi.png +0 -0
  23. data/app/assets/images/fdfinder/files/bmp.png +0 -0
  24. data/app/assets/images/fdfinder/files/bz.png +0 -0
  25. data/app/assets/images/fdfinder/files/bz2.png +0 -0
  26. data/app/assets/images/fdfinder/files/css.png +0 -0
  27. data/app/assets/images/fdfinder/files/doc.png +0 -0
  28. data/app/assets/images/fdfinder/files/docx.png +0 -0
  29. data/app/assets/images/fdfinder/files/dv.png +0 -0
  30. data/app/assets/images/fdfinder/files/flv.png +0 -0
  31. data/app/assets/images/fdfinder/files/gif.png +0 -0
  32. data/app/assets/images/fdfinder/files/gz.png +0 -0
  33. data/app/assets/images/fdfinder/files/htm.png +0 -0
  34. data/app/assets/images/fdfinder/files/html.png +0 -0
  35. data/app/assets/images/fdfinder/files/ico.png +0 -0
  36. data/app/assets/images/fdfinder/files/jpeg.png +0 -0
  37. data/app/assets/images/fdfinder/files/jpg.png +0 -0
  38. data/app/assets/images/fdfinder/files/js.png +0 -0
  39. data/app/assets/images/fdfinder/files/mid.png +0 -0
  40. data/app/assets/images/fdfinder/files/mkv.png +0 -0
  41. data/app/assets/images/fdfinder/files/mov.png +0 -0
  42. data/app/assets/images/fdfinder/files/mp3.png +0 -0
  43. data/app/assets/images/fdfinder/files/mp4.png +0 -0
  44. data/app/assets/images/fdfinder/files/mp4a.png +0 -0
  45. data/app/assets/images/fdfinder/files/mpg.png +0 -0
  46. data/app/assets/images/fdfinder/files/ogg.png +0 -0
  47. data/app/assets/images/fdfinder/files/other.png +0 -0
  48. data/app/assets/images/fdfinder/files/pdf.png +0 -0
  49. data/app/assets/images/fdfinder/files/php.png +0 -0
  50. data/app/assets/images/fdfinder/files/png.png +0 -0
  51. data/app/assets/images/fdfinder/files/pps.png +0 -0
  52. data/app/assets/images/fdfinder/files/ppt.png +0 -0
  53. data/app/assets/images/fdfinder/files/pptx.png +0 -0
  54. data/app/assets/images/fdfinder/files/psd.png +0 -0
  55. data/app/assets/images/fdfinder/files/rar.png +0 -0
  56. data/app/assets/images/fdfinder/files/rb.png +0 -0
  57. data/app/assets/images/fdfinder/files/swf.png +0 -0
  58. data/app/assets/images/fdfinder/files/tar.png +0 -0
  59. data/app/assets/images/fdfinder/files/tbz.png +0 -0
  60. data/app/assets/images/fdfinder/files/tga.png +0 -0
  61. data/app/assets/images/fdfinder/files/tgz.png +0 -0
  62. data/app/assets/images/fdfinder/files/tif.png +0 -0
  63. data/app/assets/images/fdfinder/files/tiff.png +0 -0
  64. data/app/assets/images/fdfinder/files/txt.png +0 -0
  65. data/app/assets/images/fdfinder/files/wav.png +0 -0
  66. data/app/assets/images/fdfinder/files/wm.png +0 -0
  67. data/app/assets/images/fdfinder/files/wma.png +0 -0
  68. data/app/assets/images/fdfinder/files/xls.png +0 -0
  69. data/app/assets/images/fdfinder/files/xlsx.png +0 -0
  70. data/app/assets/images/fdfinder/files/xml.png +0 -0
  71. data/app/assets/images/fdfinder/files/zip.png +0 -0
  72. data/app/assets/images/fdfinder/finder.png +0 -0
  73. data/app/assets/images/fdfinder/icon_view.png +0 -0
  74. data/app/assets/images/fdfinder/info.png +0 -0
  75. data/app/assets/images/fdfinder/info2.png +0 -0
  76. data/app/assets/images/fdfinder/kind_sorter.png +0 -0
  77. data/app/assets/images/fdfinder/list_view.png +0 -0
  78. data/app/assets/images/fdfinder/name_sorter.png +0 -0
  79. data/app/assets/images/fdfinder/new_folder.png +0 -0
  80. data/app/assets/images/fdfinder/paste.png +0 -0
  81. data/app/assets/images/fdfinder/preview.png +0 -0
  82. data/app/assets/images/fdfinder/refresh.png +0 -0
  83. data/app/assets/images/fdfinder/rename.png +0 -0
  84. data/app/assets/images/fdfinder/settings.png +0 -0
  85. data/app/assets/images/fdfinder/show_date.png +0 -0
  86. data/app/assets/images/fdfinder/show_size.png +0 -0
  87. data/app/assets/images/fdfinder/size_sorter.png +0 -0
  88. data/app/assets/images/fdfinder/sort.png +0 -0
  89. data/app/assets/images/fdfinder/tree/folder.png +0 -0
  90. data/app/assets/images/fdfinder/tree/loader.gif +0 -0
  91. data/app/assets/images/fdfinder/tree/minus.png +0 -0
  92. data/app/assets/images/fdfinder/tree/plus.png +0 -0
  93. data/app/assets/images/fdfinder/up_folder.png +0 -0
  94. data/app/assets/images/fdfinder/upload.png +0 -0
  95. data/app/assets/javascripts/fdfinder.js +1697 -0
  96. data/app/assets/stylesheets/fdfinder.css +347 -0
  97. data/app/assets/stylesheets/fdfinder.css.scss +347 -0
  98. data/bin/console +14 -0
  99. data/bin/setup +7 -0
  100. data/fdfinder.gemspec +31 -0
  101. data/lib/fdfinder.rb +7 -0
  102. data/lib/fdfinder/connector.rb +612 -0
  103. data/lib/fdfinder/engine.rb +12 -0
  104. data/lib/fdfinder/version.rb +3 -0
  105. data/lib/fdfinder/zip_file_generator.rb +47 -0
  106. data/screenshots/fcfinder_interface.png +0 -0
  107. data/vendor/assets/images/fcfinder/about.png +0 -0
  108. data/vendor/assets/images/fcfinder/copy.png +0 -0
  109. data/vendor/assets/images/fcfinder/cut.png +0 -0
  110. data/vendor/assets/images/fcfinder/date_sorter.png +0 -0
  111. data/vendor/assets/images/fcfinder/delete.png +0 -0
  112. data/vendor/assets/images/fcfinder/directory-max.png +0 -0
  113. data/vendor/assets/images/fcfinder/directory.png +0 -0
  114. data/vendor/assets/images/fcfinder/directory_mini.png +0 -0
  115. data/vendor/assets/images/fcfinder/download.png +0 -0
  116. data/vendor/assets/images/fcfinder/duplicate.png +0 -0
  117. data/vendor/assets/images/fcfinder/edit.png +0 -0
  118. data/vendor/assets/images/fcfinder/files/7z.png +0 -0
  119. data/vendor/assets/images/fcfinder/files/Untitled-24.png +0 -0
  120. data/vendor/assets/images/fcfinder/files/avi.png +0 -0
  121. data/vendor/assets/images/fcfinder/files/bmp.png +0 -0
  122. data/vendor/assets/images/fcfinder/files/bz.png +0 -0
  123. data/vendor/assets/images/fcfinder/files/bz2.png +0 -0
  124. data/vendor/assets/images/fcfinder/files/css.png +0 -0
  125. data/vendor/assets/images/fcfinder/files/doc.png +0 -0
  126. data/vendor/assets/images/fcfinder/files/docx.png +0 -0
  127. data/vendor/assets/images/fcfinder/files/dv.png +0 -0
  128. data/vendor/assets/images/fcfinder/files/flv.png +0 -0
  129. data/vendor/assets/images/fcfinder/files/gif.png +0 -0
  130. data/vendor/assets/images/fcfinder/files/gz.png +0 -0
  131. data/vendor/assets/images/fcfinder/files/htm.png +0 -0
  132. data/vendor/assets/images/fcfinder/files/html.png +0 -0
  133. data/vendor/assets/images/fcfinder/files/ico.png +0 -0
  134. data/vendor/assets/images/fcfinder/files/jpeg.png +0 -0
  135. data/vendor/assets/images/fcfinder/files/jpg.png +0 -0
  136. data/vendor/assets/images/fcfinder/files/js.png +0 -0
  137. data/vendor/assets/images/fcfinder/files/mid.png +0 -0
  138. data/vendor/assets/images/fcfinder/files/mkv.png +0 -0
  139. data/vendor/assets/images/fcfinder/files/mov.png +0 -0
  140. data/vendor/assets/images/fcfinder/files/mp3.png +0 -0
  141. data/vendor/assets/images/fcfinder/files/mp4.png +0 -0
  142. data/vendor/assets/images/fcfinder/files/mp4a.png +0 -0
  143. data/vendor/assets/images/fcfinder/files/mpg.png +0 -0
  144. data/vendor/assets/images/fcfinder/files/ogg.png +0 -0
  145. data/vendor/assets/images/fcfinder/files/other.png +0 -0
  146. data/vendor/assets/images/fcfinder/files/pdf.png +0 -0
  147. data/vendor/assets/images/fcfinder/files/php.png +0 -0
  148. data/vendor/assets/images/fcfinder/files/png.png +0 -0
  149. data/vendor/assets/images/fcfinder/files/pps.png +0 -0
  150. data/vendor/assets/images/fcfinder/files/ppt.png +0 -0
  151. data/vendor/assets/images/fcfinder/files/pptx.png +0 -0
  152. data/vendor/assets/images/fcfinder/files/psd.png +0 -0
  153. data/vendor/assets/images/fcfinder/files/rar.png +0 -0
  154. data/vendor/assets/images/fcfinder/files/rb.png +0 -0
  155. data/vendor/assets/images/fcfinder/files/swf.png +0 -0
  156. data/vendor/assets/images/fcfinder/files/tar.png +0 -0
  157. data/vendor/assets/images/fcfinder/files/tbz.png +0 -0
  158. data/vendor/assets/images/fcfinder/files/tga.png +0 -0
  159. data/vendor/assets/images/fcfinder/files/tgz.png +0 -0
  160. data/vendor/assets/images/fcfinder/files/tif.png +0 -0
  161. data/vendor/assets/images/fcfinder/files/tiff.png +0 -0
  162. data/vendor/assets/images/fcfinder/files/txt.png +0 -0
  163. data/vendor/assets/images/fcfinder/files/wav.png +0 -0
  164. data/vendor/assets/images/fcfinder/files/wm.png +0 -0
  165. data/vendor/assets/images/fcfinder/files/wma.png +0 -0
  166. data/vendor/assets/images/fcfinder/files/xls.png +0 -0
  167. data/vendor/assets/images/fcfinder/files/xlsx.png +0 -0
  168. data/vendor/assets/images/fcfinder/files/xml.png +0 -0
  169. data/vendor/assets/images/fcfinder/files/zip.png +0 -0
  170. data/vendor/assets/images/fcfinder/finder.png +0 -0
  171. data/vendor/assets/images/fcfinder/icon_view.png +0 -0
  172. data/vendor/assets/images/fcfinder/info.png +0 -0
  173. data/vendor/assets/images/fcfinder/info2.png +0 -0
  174. data/vendor/assets/images/fcfinder/kind_sorter.png +0 -0
  175. data/vendor/assets/images/fcfinder/list_view.png +0 -0
  176. data/vendor/assets/images/fcfinder/name_sorter.png +0 -0
  177. data/vendor/assets/images/fcfinder/new_folder.png +0 -0
  178. data/vendor/assets/images/fcfinder/paste.png +0 -0
  179. data/vendor/assets/images/fcfinder/preview.png +0 -0
  180. data/vendor/assets/images/fcfinder/refresh.png +0 -0
  181. data/vendor/assets/images/fcfinder/rename.png +0 -0
  182. data/vendor/assets/images/fcfinder/settings.png +0 -0
  183. data/vendor/assets/images/fcfinder/show_date.png +0 -0
  184. data/vendor/assets/images/fcfinder/show_size.png +0 -0
  185. data/vendor/assets/images/fcfinder/size_sorter.png +0 -0
  186. data/vendor/assets/images/fcfinder/sort.png +0 -0
  187. data/vendor/assets/images/fcfinder/tree/folder.png +0 -0
  188. data/vendor/assets/images/fcfinder/tree/loader.gif +0 -0
  189. data/vendor/assets/images/fcfinder/tree/minus.png +0 -0
  190. data/vendor/assets/images/fcfinder/tree/plus.png +0 -0
  191. data/vendor/assets/images/fcfinder/up_folder.png +0 -0
  192. data/vendor/assets/images/fcfinder/upload.png +0 -0
  193. data/vendor/assets/javascripts/fcfinder.js +1698 -0
  194. data/vendor/assets/stylesheets/fcfinder.css +347 -0
  195. data/vendor/assets/stylesheets/fcfinder.css.erb +347 -0
  196. metadata +297 -0
@@ -0,0 +1,1697 @@
1
+ ;(function($){
2
+ $.fn.fdfinder = function(opts) {
3
+
4
+ //Ana Seçiciler
5
+ var fdfinder = $(this);
6
+ var fdfinder_selector = fdfinder.selector;
7
+ var $body = $("body");
8
+
9
+ //Selector Ayarı
10
+ if(fdfinder_selector!="#fdfinder"){
11
+ $(this).css({"margin":"0","padding":"0","display": "block","height": "100%","width": "100%"}).append('<div id="fdfinder"></div>');
12
+ fdfinder = fdfinder.find("#fdfinder");
13
+ fdfinder_selector = fdfinder.selector
14
+ }
15
+
16
+ // Varsayılan Metinler
17
+ var i18n = {
18
+ empty_dir : 'Directory empty',
19
+ empty_file : 'File empty',
20
+ loading : 'Loading...',
21
+ file_size : 'File Size',
22
+ file_name : 'File Name',
23
+ file_cdate : 'File Created Date',
24
+ faild_process : 'Failed to process',
25
+ access_not_head : 'Access not permitted',
26
+ access_not_content : 'Access not premitted, Administrator only',
27
+ bottom_file : '{0} File ( {1} )',
28
+ load_directory : 'Loading Directory',
29
+ read_permission : 'Read Permission',
30
+ write_permission : 'Write Permission',
31
+ read_write_permission : 'Read/Write Permission',
32
+ directory : 'Directory',
33
+
34
+ error :
35
+ {
36
+ large_file : 'Error: File excess of a given permitted File Size {0}',
37
+ error_type : 'File Types not permitted:\n {0}.',
38
+ load_error : 'Load error: "{0}".',
39
+ select_file_error : 'Select file Error.',
40
+ error_msg : 'Unexpected error',
41
+ download_error : 'Download error: "{0}" Olabilir. \n Please check the file name, there may be duplicate error',
42
+ copy_error : 'Copy error: "{0}".',
43
+ replace_error : 'Replace error: "{0}".',
44
+ duplicate_error : 'Duplicate error: "{0}".',
45
+ rename_error : 'Rename error: "{0}".',
46
+ edit_error : 'Edit Error.',
47
+ delete_error_0 : 'File can not be deleted, file not accessible.',
48
+ delete_error_1 : 'Delete Error: "{0}".',
49
+ new_directory_error_1 : 'File/Directory name has been used',
50
+ new_directory_error_0 : 'New Directory Error: "{0}".'
51
+ },
52
+
53
+ dialog :
54
+ {
55
+ info_h : 'Information',
56
+ info_size : 'Size:',
57
+ info_addres : 'Address:',
58
+ info_url : 'Link:',
59
+ info_cdate : 'Created Date:',
60
+ info_mdate : 'Last Modified Date:',
61
+ info_file_permission : 'File Permission:',
62
+ preview_h : 'Preview',
63
+ preview_size : 'Size:',
64
+ preview_addres : 'Addres:',
65
+ preview_url : 'Link:',
66
+ preview_cdate : 'Created Date:',
67
+ preview_mdate : 'Last Modified Date:',
68
+ file_replace_h : 'File Replace',
69
+ file_replace_content : 'File already exist: "{0}" do you want to replace it?',
70
+ cancel : 'Cancel',
71
+ ok : 'OK',
72
+ close : 'Close',
73
+ delete : 'Delete',
74
+ delete_h : '{0} Delete',
75
+ delete_content : '{0} Are you sure you want to delete permanently?',
76
+ settings_h : 'Settings',
77
+ settings_icon_view : 'Icon View',
78
+ settings_list_view : 'List View',
79
+ settings_show_size : 'Show File Size',
80
+ settings_show_date : 'Show File Created Date',
81
+ sorter_h : 'Sorting',
82
+ sorter_name : 'Sort by Name',
83
+ sorter_size : 'Sort by Size',
84
+ sorter_date : 'Sort by Date',
85
+ sorter_kind : 'Sort by Type'
86
+ },
87
+
88
+ contextmenu :
89
+ {
90
+ file_open : 'Open',
91
+ file_preview : 'Preview',
92
+ file_download : 'Download',
93
+ file_copy : 'Copy',
94
+ file_cut : 'Cut',
95
+ file_duplicate : 'Duplicate',
96
+ file_rename : 'Rename',
97
+ file_delete : 'Delete',
98
+ file_info : 'Info',
99
+ wrapper_paste : 'Paste',
100
+ wrapper_list_view : 'List View',
101
+ wrapper_icon_view : 'Icon View',
102
+ wrapper_upload : 'File Upload',
103
+ wrapper_newfolder : 'Yeni Directory',
104
+ wrapper_refresh : 'Refresh',
105
+ wrapper_show_size : 'Show / Hide Size',
106
+ wrapper_show_date : 'Show / Hide Date',
107
+ wrapper_namesorter : 'Sort By Name',
108
+ wrapper_sizesorter : 'Sort By Size',
109
+ wrapper_datesorter : 'Sory By Date',
110
+ wrapper_kindsorter : 'Sort By Type'
111
+ },
112
+
113
+ widget_menu :
114
+ {
115
+ up_folder : 'Üst Klasor',
116
+ upload : 'Upload',
117
+ new_folder : 'Yeni Klasor',
118
+ refresh : 'Refresh',
119
+ download : 'Download',
120
+ info : 'Info',
121
+ preview : 'Preview',
122
+ edit : 'Edit',
123
+ copy : 'Copy',
124
+ cut : 'Cut',
125
+ paste : 'Paste',
126
+ duplicate : 'Duplicate',
127
+ rename : 'Rename',
128
+ delete : 'Delete',
129
+ settings : 'Ayarlar',
130
+ icon_view : 'Icon View',
131
+ list_view : 'List View',
132
+ show_size : 'Size Göster',
133
+ show_date : 'Created Date Göster',
134
+ sort : 'Sırala',
135
+ name_sorter : 'Sort By Name',
136
+ size_sorter : 'Sort By Size',
137
+ date_sorter : 'Sory By Date',
138
+ kind_sorter : 'Sort By Type',
139
+ about : 'About'
140
+ }
141
+ };
142
+
143
+
144
+ //Dil Seçimi
145
+ if (typeof(opts.i18n)=="object"){
146
+ opts.i18n = fnc.merge_options(i18n,opts.i18n);
147
+ }else {opts.i18n = i18n; }
148
+
149
+
150
+ //Cookies Objesi
151
+ var Cookies = {
152
+ setCookie : function (cname, cvalue, exdays) {
153
+ var d = new Date();
154
+ d.setTime(d.getTime() + (exdays*1000));
155
+ var expires = "expires="+d.toUTCString();
156
+ document.cookie = cname + "=" + cvalue + "; " + expires;
157
+ },
158
+
159
+ getCookie :function (cname) {
160
+ var name = cname + "=";
161
+ var ca = document.cookie.split(';');
162
+ for(var i=0; i<ca.length; i++) {
163
+ var c = ca[i];
164
+ while (c.charAt(0)==' ') c = c.substring(1);
165
+ if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
166
+ }
167
+ return "";
168
+ }
169
+
170
+ };
171
+
172
+
173
+ //Sabit Fonksiyonlar Objesi
174
+ var fnc = {
175
+ ajax_fnc : {
176
+
177
+ },
178
+ //fnc.prepend_dialog(opts.i18n.access_not_head,opts.i18n.access_not_content,{type:"p",dialog_class:'noclose danger',scope_class:'noclose'});
179
+ prepend_dialog : function(head,content,opt){
180
+ opt = opt || {};
181
+ opt.scope_class = typeof (opt.scope_class)==="undefined" ? "" : " "+opt.scope_class;
182
+ opt.dialog_class = typeof (opt.dialog_class)==="undefined" ? "" : " "+opt.dialog_class;
183
+ var html = '<div class="dialog-scope'+opt.scope_class+'"></div><div style="display:none;" class="dialog'+opt.dialog_class+'"><h1>'+head+'</h1>';
184
+ if (opt.type=="p"){html += '<p>'+content+'</p>'; }
185
+ html += '</div>';
186
+ fdfinder.prepend(html);
187
+ fdfinder.find(".dialog").fadeIn(300);
188
+ fdfinder.find(".dialog").ortala();
189
+ },
190
+
191
+ ripleClick : function (_class)
192
+ {
193
+ var ink, d, x, y;
194
+ $body.on("click",_class,function(e){
195
+ if($(this).find(".ink").length === 0){
196
+ $(this).prepend("<span class='ink'></span>");
197
+ }
198
+ ink = $(this).find(".ink");
199
+ ink.removeClass("animate");
200
+ if(!ink.height() && !ink.width()){
201
+ d = Math.max($(this).outerWidth(), $(this).outerHeight());
202
+ ink.css({height: d, width: d});
203
+ }
204
+ x = e.pageX - $(this).offset().left - ink.width()/2;
205
+ y = e.pageY - $(this).offset().top - ink.height()/2;
206
+ ink.css({top: y+'px', left: x+'px'}).addClass("animate");
207
+ setTimeout(function(){ ink.remove(); fdfinder.find("span.ink").remove(); },600);
208
+ });
209
+ },
210
+
211
+ merge_options : function(obj1,obj2){
212
+ var obj3 = {};
213
+ for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
214
+ for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
215
+ return obj3;
216
+ },
217
+
218
+ fdfinderresize : function()
219
+ {
220
+ fdfinder.find(".right").width(fdfinder.width()-fdfinder.find(".left").width()-15);
221
+ fdfinder.find(".right .wrapper , .right .widget").width(fdfinder.find(".right").width()-10);
222
+ fdfinder.find(".right").children(".wrapper").height(($body.height()-fdfinder.find(".widget").height())-43);
223
+ fdfinder.find(".left").height($body.height()-35);
224
+ },
225
+
226
+ appendFiles : function(data,type){
227
+ type = type || "";
228
+ if (type==""){
229
+ var element =ul_wrapper.find(".file_wrapper:last");
230
+ }
231
+ else{var element =type;}
232
+
233
+ $.each(data.file,function(key,val){
234
+ var _style_type = "";
235
+ if (val.type == "image_file") { _style_type = "style=\"background:url('//"+val.url.replace("uploads","uploads/.thumbs")+"') no-repeat center 5px / 65% 60px \""; }
236
+ element.append('<div '+_style_type+' data-kind="'+val.type+'" data-date="'+val.ctime+'" data-size="'+val.size+'" data-size_2="'+val.size_2+'" data-name="'+key+'" data-path="'+val.path+'" class="'+val.type+'"><span class="file_name">'+key+'</span><span class="file_size"'+is_show_size+'>'+val.size+'</span><span class="file_date"'+is_show_date+'>'+val.ctime+'</span></div>');
237
+ });
238
+
239
+
240
+ if (is_show_date == " style=\"display:block;\"" ){fdfinder.find(".right ul.wrapper li div").height(80+32+10);}
241
+ if (is_show_size == " style=\"display:block;\"" ){fdfinder.find(".right ul.wrapper li div").height(80+16+10);}
242
+ if (is_show_date == " style=\"display:block;\"" && is_show_size == " style=\"display:block;\"" ){fdfinder.find(".right ul.wrapper li div").height(80+16+32+10);}
243
+
244
+ },
245
+
246
+ getUrlParam : function(paramName) {
247
+ var reParam = new RegExp('(?:[\?&]|&)' + paramName + '=([^&]+)', 'i') ;
248
+ var match = window.location.search.match(reParam) ;
249
+
250
+ return (match && match.length > 1) ? match[1] : '' ;
251
+ },
252
+
253
+ sortable : function(type)
254
+ {
255
+ if (type=="name"){ fdfinder.find(".right ul.widget li a.name_sorter").removeClass("z_a").removeClass("a_z").trigger('click'); }
256
+ if (type=="size"){ fdfinder.find(".right ul.widget li a.size_sorter").removeClass("z_a").removeClass("a_z").trigger('click'); }
257
+ if (type=="date"){ fdfinder.find(".right ul.widget li a.date_sorter").removeClass("z_a").removeClass("a_z").trigger('click'); }
258
+ if (type=="kind"){ fdfinder.find(".right ul.widget li a.kind_sorter").removeClass("z_a").removeClass("a_z").trigger('click'); }
259
+ },
260
+
261
+ toDate : function(date)
262
+ {
263
+ if (date!=null)
264
+ {
265
+ var a = date.split("/");
266
+ return Date.parse(a[1]+"/"+a[0]+"/"+a[2]);
267
+ }
268
+ },
269
+
270
+ toInt : function (size)
271
+ {
272
+ if (size!=null)
273
+ {
274
+ return parseInt(size);
275
+ }
276
+ }
277
+
278
+ };
279
+
280
+
281
+
282
+
283
+
284
+
285
+ // Cookies Tanımlamaları
286
+ Cookies.getCookie("fdfinder_size_show")==""?Cookies.setCookie("fdfinder_size_show","false",60*60*24*365):'';
287
+ Cookies.getCookie("fdfinder_date_show")==""?Cookies.setCookie("fdfinder_date_show","false",60*60*24*365):'';
288
+ Cookies.getCookie("fdfinder_sortable")==""?Cookies.setCookie("fdfinder_sortable","kind",60*60*24*365):'';
289
+ Cookies.getCookie("fdfinder_view_type")==""?Cookies.setCookie("fdfinder_view_type","icon",60*60*24*365):'';
290
+
291
+
292
+
293
+ //HTML'yi Upload
294
+ fdfinder.append('<div class="left"><div id="all_folders">'+
295
+ '<ul class="folders">'+
296
+ '<li><a><span class="folder">'+opts.i18n.loading+'<span class="load"></span></span>'+
297
+ '</a></li>'+
298
+ '</div></div>'+
299
+ '<div class="right">'+
300
+ '<ul class="widget">'+
301
+ '<li><a href="fdfinder:up" title="'+opts.i18n.widget_menu.up_folder+'" class="up_folder passive">'+opts.i18n.widget_menu.up_folder+'</a></li>'+
302
+ '<li><a title="'+opts.i18n.widget_menu.upload+'" class="upload">'+
303
+ '<form style="opacity:0;" id="file_upload" method="post" action="" enctype="multipart/form-data">'+
304
+ '<input class="upload_field" name="fdfinder[upload][]" style="height:31px" multiple="multiple" type="file">'+
305
+ '<input name="fdfinder[type]" value="upload" type="hidden">'+
306
+ '<input name="fdfinder[path]" value="" type="hidden">'+
307
+ '</form>'+
308
+ '</a></li>'+
309
+ '<li><a href="fdfinder:newfolder" title="'+opts.i18n.widget_menu.new_folder+'" class="new_folder">'+opts.i18n.widget_menu.new_folder+'</a></li>'+
310
+ '<li><a href="fdfinder:refresh" title="'+opts.i18n.widget_menu.refresh+'" class="refresh">'+opts.i18n.widget_menu.refresh+'</a></li>'+
311
+ '<li><a href="" title="'+opts.i18n.widget_menu.download+'" class="download passive">'+opts.i18n.widget_menu.download+'</a></li>'+
312
+ '<li><a href="fdfinder:info" title="'+opts.i18n.widget_menu.info+'" class="info passive">'+opts.i18n.widget_menu.info+'</a><div>'+
313
+ '<ul>'+
314
+ '<li><a href="fdfinder:preview" title="'+opts.i18n.widget_menu.preview+'" class="preview passive">'+opts.i18n.widget_menu.preview+'</a></li>'+
315
+ '</ul>'+
316
+ '</div></li>'+
317
+ '<li><a href="fdfinder:edit" title="'+opts.i18n.widget_menu.edit+'" class="edit passive">'+opts.i18n.widget_menu.edit+'</a><div>'+
318
+ '<ul>'+
319
+ '<li><a href="fdfinder:copy" title="'+opts.i18n.widget_menu.copy+'" class="copy passive">'+opts.i18n.widget_menu.copy+'</a></li>'+
320
+ '<li><a href="fdfinder:cut" title="'+opts.i18n.widget_menu.cut+'" class="cut passive">'+opts.i18n.widget_menu.cut+'</a></li>'+
321
+ '<li><a href="fdfinder:paste" title="'+opts.i18n.widget_menu.paste+'" class="paste passive">'+opts.i18n.widget_menu.paste+'</a></li>'+
322
+ '<li><a href="fdfinder:duplicate" title="'+opts.i18n.widget_menu.duplicate+'" class="duplicate passive">'+opts.i18n.widget_menu.duplicate+'</a></li>'+
323
+ '<li><a href="fdfinder:rename" title="'+opts.i18n.widget_menu.rename+'" class="rename passive">'+opts.i18n.widget_menu.rename+'</a></li>'+
324
+ '<li><a href="fdfinder:edit" title="'+opts.i18n.widget_menu.edit+'" class="edit passive">'+opts.i18n.widget_menu.edit+'</a></li>'+
325
+ '</ul>'+
326
+ '</div></li>'+
327
+ '<li><a href="fdfinder:delete" title="'+opts.i18n.widget_menu.delete+'" class="delete passive">'+opts.i18n.widget_menu.delete+'</a></li>'+
328
+ '<li><a href="fdfinder:settings" title="'+opts.i18n.widget_menu.settings+'" class="settings">'+opts.i18n.widget_menu.settings+'</a><div>'+
329
+ '<ul>'+
330
+ '<li><a href="fdfinder:iconview" title="'+opts.i18n.widget_menu.icon_view+'" class="icon_view">'+opts.i18n.widget_menu.icon_view+'</a></li>'+
331
+ '<li><a href="fdfinder:listview" title="'+opts.i18n.widget_menu.list_view+'" class="list_view">'+opts.i18n.widget_menu.list_view+'</a></li>'+
332
+ '<li><a data-show="'+Cookies.getCookie("fdfinder_size_show")+'" href="fdfinder:showsize" title="'+opts.i18n.widget_menu.show_size+'" class="show_size">'+opts.i18n.widget_menu.show_size+'</a></li>'+
333
+ '<li><a data-show="'+Cookies.getCookie("fdfinder_date_show")+'" href="fdfinder:showdate" title="'+opts.i18n.widget_menu.show_date+'" class="show_date">'+opts.i18n.widget_menu.show_date+'</a></li>'+
334
+ '</ul>'+
335
+ '</div></li>'+
336
+ '<li><a href="fdfinder:sorting" title="'+opts.i18n.widget_menu.sort+'" class="sort">'+opts.i18n.widget_menu.sort+'</a><div>'+
337
+ '<ul>'+
338
+ '<li><a href="fdfinder:namesorter" title="'+opts.i18n.widget_menu.name_sorter+'" class="name_sorter">'+opts.i18n.widget_menu.name_sorter+'</a></li>'+
339
+ '<li><a href="fdfinder:sizesorter" title="'+opts.i18n.widget_menu.size_sorter+'" class="size_sorter">'+opts.i18n.widget_menu.size_sorter+'</a></li>'+
340
+ '<li><a href="fdfinder:datesorter" title="'+opts.i18n.widget_menu.date_sorter+'" class="date_sorter">'+opts.i18n.widget_menu.date_sorter+'</a></li>'+
341
+ '<li><a href="fdfinder:kindsorter" title="'+opts.i18n.widget_menu.kind_sorter+'" class="kind_sorter">'+opts.i18n.widget_menu.kind_sorter+'</a></li>'+
342
+ '</ul>'+
343
+ '</div></li>'+
344
+ '<li><a href="fdfinder:settings" title="'+opts.i18n.widget_menu.about+'" class="about">'+opts.i18n.widget_menu.about+'</a></li>'+
345
+ '</ul>'+
346
+ '<ul class="wrapper">'+
347
+ '<li>'+opts.i18n.loading+'<span class="load"></span></li>'+
348
+ '</ul>'+
349
+ '</div>'+
350
+ '<div class="clear"></div>'+
351
+ '<ul class="bottom">'+opts.i18n.loading+'<span class="load"></span></ul>');
352
+
353
+ //Görünüm Tipini Seç
354
+ if (Cookies.getCookie("fdfinder_view_type")=="icon"){
355
+ fdfinder.find(".right ul.widget li a.icon_view").addClass("passive");
356
+ fdfinder.find(".right ul.wrapper").addClass("icon_view");
357
+ }
358
+ else{
359
+ fdfinder.find(".right ul.widget li a.list_view").addClass("passive");
360
+ fdfinder.find(".right ul.wrapper").addClass("list_view");
361
+ }
362
+
363
+
364
+
365
+ //File Size ve Date Görünüyormu
366
+ var is_show_size = Cookies.getCookie("fdfinder_size_show")=="true"?" style=\"display:block;\"":"";
367
+ var is_show_date = Cookies.getCookie("fdfinder_date_show")=="true"?" style=\"display:block;\"":"";
368
+
369
+
370
+
371
+
372
+ //Çok Kullanılan Elementler
373
+ var ul_folders = fdfinder.children(".left").children("#all_folders").children("ul.folders");
374
+ var ul_wrapper = fdfinder.children(".right").children("ul.wrapper");
375
+
376
+
377
+
378
+ //Dosyaları Upload
379
+ $.ajax({url:opts.url,dataType:'json',type:'POST',success:function(_data) {
380
+ //İzin Yoksa Hata Ver
381
+ if (_data == "Access not allowed!") {
382
+
383
+ fnc.prepend_dialog(opts.i18n.access_not_head,opts.i18n.access_not_content,{type:"p",dialog_class:'noclose danger',scope_class:'noclose'});
384
+ fdfinder.find(".left #all_folders").html("");
385
+ fdfinder.find(".right ul.wrapper").html("");
386
+ fdfinder.find("ul.bottom").html("");
387
+ }
388
+ else{
389
+ //İzin Varsa Dosyaları Upload
390
+ if (fdfinder.find("ul.bottom li[data-path='fcdir:/']").size()===0){
391
+ fdfinder.find("ul.bottom").html("").append('<li data-path="fcdir:/">'+opts.i18n.bottom_file.format(_data[1],_data[2])+'</li>');}
392
+ var data = _data[0];
393
+ var main_file_path = data.main_file.path;
394
+
395
+ var main_class = data.main_file.sub_dir ? " opened " : " ";
396
+ ul_folders.html("").append('<li><a id="true" href="fcdir:/" data-show="true" class="active">' +
397
+ '<span class="braca'+main_class+'"></span>'+
398
+ '<span class="folder">'+main_file_path+'</span>'+
399
+ '</a></li>');
400
+
401
+ if($.isEmptyObject(data.directory) && $.isEmptyObject(data.file))
402
+ {
403
+ ul_wrapper.html("").append('<li class="file_wrapper" data-show="true" data-path="fcdir:/">'+opts.i18n.empty_file+'</li>');
404
+ }else
405
+ {
406
+ ul_wrapper.html("").append('<li class="file_wrapper" data-show="true" data-path="fcdir:/"></li>');
407
+ }
408
+
409
+ ul_folders.children("li").append('<ul class="folders"></ul>');
410
+
411
+
412
+ $.each(data.directory,function(key,val){
413
+ ul_wrapper.find(".file_wrapper:first").append('<div data-path="'+val.path+'" data-name="'+key+'" data-size="'+val.size+'" data-size_2="'+val.size_2+'" data-date="'+val.ctime+'" data-kind="'+val.type+'" class="directory"><span class="file_name">'+key+'</span><span class="file_size"'+is_show_size+'>'+val.size+'</span><span class="file_date"'+is_show_date+'>'+val.ctime+'</span></div>');
414
+
415
+ var ths_cls = val.sub_dir? " closed " : "";
416
+ ul_folders.children("li").children("ul.folders").append('<li><a href="'+val.path+'">'+
417
+ '<span class="braca'+ths_cls+'"></span>'+
418
+ '<span class="folder">'+key+'</span>'+
419
+ '</a></li>');
420
+ });
421
+ fnc.appendFiles(data);
422
+ fnc.sortable(Cookies.getCookie("fdfinder_sortable"));
423
+ if (Cookies.getCookie("fdfinder_view_type")=="list"){fdfinder.find(".right ul.wrapper li[data-show='true']").prepend('<div class="list_head"><span class="file_name">'+opts.i18n.file_name+'</span><span class="file_size">'+opts.i18n.file_size+'</span><span class="file_date">'+opts.i18n.file_cdate+'</span></div>');}
424
+ if (fdfinder.find(".left #all_folders ul.folders li a.active").attr("href")!="fcdir:/"){ fdfinder.find(".right ul.widget li a.up_folder").removeClass("passive");}
425
+ else{fdfinder.find(".right ul.widget li a.up_folder").addClass("passive");}
426
+ }
427
+
428
+
429
+ }});
430
+
431
+
432
+
433
+ //Upload İnputu Seçilince Formu Submit Et
434
+ $body.on("change",fdfinder_selector+" input.upload_field",function(){
435
+ fdfinder.find("input[name='fdfinder[path]']").val(fdfinder.find(".left #all_folders ul li a.active").attr("href"));
436
+ $(this).closest('form').trigger('submit');
437
+ });
438
+
439
+
440
+
441
+
442
+ //Form Submit Ediliyor
443
+ $body.on("submit",fdfinder_selector+" form#file_upload",function(){
444
+ var formData = new FormData(this);
445
+ $.ajax({url:opts.url,dataType:'json',processData: false,contentType: false,type:'POST',data:formData,
446
+ xhr: function () {
447
+ var xhr = new window.XMLHttpRequest();
448
+ xhr.upload.addEventListener("progress", function (evt) {
449
+ if (evt.lengthComputable) {
450
+ var percentComplete = evt.loaded / evt.total;
451
+ if (fdfinder.find("#progress").length === 0) {
452
+ fdfinder.prepend($("<div><dt/><dd/></div>").attr("id", "progress"));
453
+ }
454
+ fdfinder.find("#progress").css({width: percentComplete * 100 + '%'});
455
+ if (percentComplete === 1) {
456
+ fdfinder.find("#progress").width("101%").delay(100).fadeOut(300, function() {
457
+ $(this).remove();
458
+ });
459
+ }
460
+ }
461
+ }, false);
462
+ xhr.addEventListener("progress", function (evt) {
463
+ if (evt.lengthComputable) {
464
+ var percentComplete = evt.loaded / evt.total;
465
+ fdfinder.find('#progress').css({
466
+ width: percentComplete * 100 + '%'
467
+ });
468
+ }
469
+ }, false);
470
+ return xhr;
471
+ },
472
+ success:function(data) {
473
+ if (data[0]=="true"){
474
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
475
+ }else{
476
+ if (data[1]=="0"){
477
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.large_file.format(data[2]),{type:"p",dialog_class:'danger'});
478
+ }
479
+ if (data[1]=="-1"){
480
+ var txt = [];
481
+ $.each(data[2],function(k,v){
482
+ txt.push(v[0]);
483
+ });
484
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.error_type.format(txt.join(", ")),{type:"p",dialog_class:'danger'});
485
+ }
486
+ else{
487
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.load_error.format(data[2]),{type:"p",dialog_class:'danger'});
488
+ }
489
+ }
490
+ }
491
+ });
492
+
493
+ //upload_files
494
+ return false;
495
+ });
496
+
497
+
498
+ //Dosyalar Çift Tıklandığında (Seçilme İşlemi)
499
+ $body.on("dblclick",fdfinder_selector+" .right ul.wrapper li div",function(){
500
+ var path = $(this).attr("data-path");
501
+ if (fdfinder.find(".left #all_folders ul.folders li a[href='"+path+"']").size()>0){
502
+ fdfinder.find(".left #all_folders ul.folders li a[href='"+path+"']").trigger("click");
503
+ }else{
504
+ var data = 'fdfinder[path]='+path+'&fdfinder[type]=path_to_url';
505
+ $.ajax({url:opts.url,dataType:'json',type:'POST',data:data,success:function(data) {
506
+ if (data[0]=="true"){ var url = "//"+data[1];
507
+ //CKEditor ise
508
+ var funcNum = fnc.getUrlParam('CKEditorFuncNum');
509
+ if (funcNum>0)
510
+ {
511
+ window.opener.CKEDITOR.tools.callFunction(funcNum, url);
512
+ window.close();
513
+ }else
514
+ {
515
+ //Değilse getFileCallback Fonksiyonunu Çağır
516
+ if (typeof (opts.getFileCallback) == "function" && opts.getFileCallback)
517
+ {
518
+ opts.getFileCallback(url);
519
+ }
520
+ }
521
+ }
522
+ else{
523
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.select_file_error,{type:"p",dialog_class:'danger'});
524
+ }
525
+ }});
526
+ }
527
+ if (fdfinder.find(".left #all_folders ul.folders li a.active").attr("href")!="fcdir:/"){ fdfinder.find(".right ul.widget li a.up_folder").removeClass("passive");}
528
+ else{fdfinder.find(".right ul.widget li a.up_folder").addClass("passive");}
529
+ });
530
+
531
+
532
+
533
+
534
+ //Directory Ağacından Directory Seçildiğinde
535
+ $body.on("click",fdfinder_selector+" ul.folders a",function(){
536
+ var ths = $(this);
537
+ var url = ths.attr("href");
538
+ var id = ths.attr("id");
539
+ var data_path = ths.attr("href");
540
+
541
+
542
+ fdfinder.find(".right ul.wrapper li.file_wrapper").attr("data-show","false").hide();
543
+ fdfinder.find(".right ul.wrapper li.file_wrapper[data-path='" + data_path + "']").attr("data-show","true").show();
544
+ fdfinder.find("ul.folders li a").removeClass("active");
545
+ ths.addClass("active").attr("data-show","true");
546
+ fdfinder.find("ul.bottom li").hide();
547
+ fdfinder.find("ul.bottom li[data-path='"+url+"']").show();
548
+
549
+
550
+
551
+ if (id!="true" && id!="false"){
552
+
553
+ if (ths.children("span.braca").hasClass("closed")){
554
+ ths.children("span.braca").removeClass("closed").addClass("opened");
555
+ }
556
+
557
+ ths.parent("li").append('<span class="folder_load">'+opts.i18n.load_directory+'</span>');
558
+
559
+ var data = 'fdfinder[url]='+url+'&fdfinder[type]=all_file_list';
560
+ $.ajax({url:opts.url,dataType:'json',type:'POST',data:data,success:function(_data) {
561
+
562
+ if (fdfinder.find("ul.bottom li[data-path='"+url+"']").size()===0){
563
+ fdfinder.find("ul.bottom").append('<li data-path="'+url+'">'+opts.i18n.bottom_file.format(_data[1],_data[2])+'</li>');}
564
+ else { fdfinder.find("ul.bottom li").hide(); fdfinder.find("ul.bottom li[data-path='"+url+"']").show();}
565
+
566
+ var data = _data[0];
567
+ if (!$.isEmptyObject(data.directory))
568
+ {
569
+ ths.parent("li").append("<ul class=\"folders\"></ul>");
570
+ $.each(data.directory,function(key,val){
571
+ var ths_cls = val.sub_dir? " closed " : "";
572
+ ths.parent("li").children("ul.folders").append('<li><a href="'+val.path+'">'+
573
+ '<span class="braca '+ths_cls+'"></span>'+
574
+ '<span class="folder">'+key+'</span>'+
575
+ '</a></li>');
576
+ });
577
+ }
578
+
579
+ if ($.isEmptyObject(data.directory) && $.isEmptyObject(data.file))
580
+ {
581
+ fdfinder.find(".right ul.wrapper li.file_wrapper").hide();
582
+ if (ul_wrapper.find("li.file_wrapper[data-path='"+data_path+"']").size()=="0"){
583
+ ul_wrapper.append('<li class="file_wrapper" data-show="true" data-path="'+data_path+'">'+opts.i18n.empty_dir+'</li>').show();
584
+ }else{
585
+ ul_wrapper.find("li.file_wrapper[data-path='"+data_path+"']").show();
586
+ }
587
+ ths.removeAttr("id").removeAttr("data-show");
588
+ }else {
589
+ fdfinder.find(".right ul.wrapper li.file_wrapper").hide();
590
+ if (ul_wrapper.find("li.file_wrapper[data-path='"+data_path+"']").size()=="0"){
591
+ ul_wrapper.append('<li class="file_wrapper" data-show="true" data-path="'+data_path+'"></li>').show();
592
+ }else{
593
+ ul_wrapper.find("li.file_wrapper[data-path='"+data_path+"']").show();
594
+ }
595
+
596
+ if (ul_wrapper.find(".file_wrapper:last").html()!=""){ul_wrapper.find(".file_wrapper:last").html("");}
597
+ $.each(data.directory,function(key,val){
598
+ ul_wrapper.find(".file_wrapper:last").append('<div data-path="'+val.path+'" data-name="'+key+'" data-size="'+val.size+'" data-size_2="'+val.size_2+'" data-kind="'+val.type+'" data-date="'+val.ctime+'" class="directory"><span class="file_name">'+key+'</span><span class"file_size"'+is_show_size+'>'+val.size+'</span><span class="file_date"'+is_show_date+'>'+val.ctime+'</span></div>');
599
+ });
600
+
601
+ fnc.appendFiles(data);
602
+ fnc.sortable(Cookies.getCookie("fdfinder_sortable"));
603
+ if (Cookies.getCookie("fdfinder_view_type")=="list"){fdfinder.find(".right ul.wrapper li[data-show='true']").prepend('<div class="list_head"><span class="file_name">'+opts.i18n.file_name+'</span><span class="file_size">'+opts.i18n.file_size+'</span><span class="file_date">'+opts.i18n.file_cdate+'</span></div>');}
604
+ }
605
+
606
+ ths.next("span.folder_load").remove();
607
+
608
+ }});
609
+ ths.attr("id","true");
610
+ }
611
+
612
+ if (fdfinder.find(".left #all_folders ul.folders li a.active").attr("href")!="fcdir:/"){ fdfinder.find(".right ul.widget li a.up_folder").removeClass("passive");}
613
+ else{fdfinder.find(".right ul.widget li a.up_folder").addClass("passive");}
614
+ return false;
615
+ });
616
+
617
+
618
+ //Dosyaya yada Directorye Tıklandığında
619
+ $body.on("click",fdfinder_selector+" .right ul.wrapper li div",function(){
620
+ var ths = $(this);
621
+ if (ths.attr("class")!="list_head"){
622
+ fdfinder.find(".right ul.wrapper li div").removeClass("active");
623
+ ths.addClass("active");
624
+
625
+ if (fdfinder.find("ul.bottom li[data-name='"+ths.attr("data-path")+"']").size()===0){
626
+ fdfinder.find("ul.bottom li").hide();
627
+ fdfinder.find("ul.bottom").append('<li style="display:block;" data-name="'+ths.attr("data-path")+'">'+ths.attr("data-name")+' ( '+ths.attr("data-size")+', '+ths.attr("data-date")+' )</li>');}
628
+ else { fdfinder.find("ul.bottom li").hide(); fdfinder.find("ul.bottom li[data-name='"+ths.attr("data-path")+"']").show();}
629
+
630
+ if (fdfinder.find(".right ul.wrapper li div.active").attr("data-new")!="new_folder")
631
+ {if (fdfinder.find(".right ul.wrapper li div.active").attr("data-kind")=="image_file"){fdfinder.find(".right ul.widget li a.edit").removeClass("passive"); }
632
+ fdfinder.find(".right ul.widget li a.download , " +
633
+ ".right ul.widget li a.info , " +
634
+ ".right ul.widget li a.preview , " +
635
+ //".right ul.widget li a.edit , " +
636
+ ".right ul.widget li a.copy , " +
637
+ ".right ul.widget li a.cut , " +
638
+ //".right ul.widget li a.paste , " +
639
+ ".right ul.widget li a.duplicate , " +
640
+ ".right ul.widget li a.rename , " +
641
+ ".right ul.widget li a.delete").removeClass("passive");
642
+ }
643
+ }
644
+
645
+ });
646
+
647
+ //Directory Ağacında Artı yada Eksiye Basıldığında
648
+ $body.on("click",fdfinder_selector+' .left #all_folders ul.folders li a span.braca',function(){
649
+
650
+ var ths = $(this);
651
+ var _ths = $(this).parent("a");
652
+ var id = _ths.attr("id");
653
+
654
+
655
+ if (id=="true"){
656
+ _ths.next("ul.folders").hide();
657
+ _ths.attr("id","false");
658
+
659
+
660
+ }
661
+ else if(id=="false"){
662
+ _ths.next("ul.folders").show();
663
+ _ths.attr("id","true");
664
+
665
+ }
666
+
667
+
668
+ fdfinder.find("ul.folders li a").removeClass("active");
669
+ _ths.addClass("active");
670
+
671
+ if (ths.hasClass("closed")){
672
+ ths.removeClass("closed").addClass("opened");
673
+ }else {
674
+ ths.removeClass("opened").addClass("closed");
675
+ }
676
+
677
+ if (fdfinder.find(".left #all_folders ul.folders li a.active").attr("href")!="fcdir:/"){ fdfinder.find(".right ul.widget li a.up_folder").removeClass("passive");}
678
+ else{fdfinder.find(".right ul.widget li a.up_folder").addClass("passive");}
679
+ });
680
+
681
+
682
+ //File Size Show / Hide
683
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.show_size",function(){
684
+ if (Cookies.getCookie('fdfinder_view_type')=="icon"){
685
+ var show = $(this).attr("data-show");
686
+ if (show=="false") {
687
+ fdfinder.find(".right ul.wrapper li div span.file_size").css({"display":"block"});
688
+ fdfinder.find(".right ul.wrapper li div").height(fdfinder.find(".right ul.wrapper li div").height()+16);
689
+ $(this).attr("data-show","true");
690
+ Cookies.setCookie("fdfinder_size_show","true",60*60*24*365);
691
+ is_show_size = fdfinder.find(".right ul.widget li a.show_size").attr("data-show")=="true"?" style=\"display:block;\"":"";
692
+ }
693
+ else {
694
+ fdfinder.find(".right ul.wrapper li div span.file_size").hide();
695
+ fdfinder.find(".right ul.wrapper li div").height(fdfinder.find(".right ul.wrapper li div").height()-16);
696
+ $(this).attr("data-show","false");
697
+ Cookies.setCookie("fdfinder_size_show","false",60*60*24*365);
698
+ is_show_size = fdfinder.find(".right ul.widget li a.show_size").attr("data-show")=="false"?" style=\"display:block;\"":"";
699
+ }
700
+ }
701
+ return false;
702
+ });
703
+
704
+
705
+ //File Date Show / Hide
706
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.show_date",function(){
707
+ if (Cookies.getCookie('fdfinder_view_type')=="icon"){
708
+ var show = $(this).attr("data-show");
709
+ if (show=="false") {
710
+ fdfinder.find(".right ul.wrapper li div span.file_date").css({"display":"block"});
711
+ fdfinder.find(".right ul.wrapper li div").height(fdfinder.find(".right ul.wrapper li div").height()+32);
712
+ $(this).attr("data-show","true");
713
+ Cookies.setCookie("fdfinder_date_show","true",60*60*24*365);
714
+ is_show_date = fdfinder.find(".right ul.widget li a.show_date").attr("data-show")=="true"?" style=\"display:block;\"":"";
715
+
716
+ }
717
+ else {
718
+ fdfinder.find(".right ul.wrapper li div span.file_date").hide();
719
+ fdfinder.find(".right ul.wrapper li div").height(fdfinder.find(".right ul.wrapper li div").height()-32);
720
+ $(this).attr("data-show","false");
721
+ Cookies.setCookie("fdfinder_date_show","false",60*60*24*365);
722
+ is_show_date = fdfinder.find(".right ul.widget li a.show_date").attr("data-show")=="false"?" style=\"display:block;\"":"";
723
+ }
724
+ }
725
+ return false;
726
+ });
727
+
728
+ //Yeni Directory Oluşturma
729
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.new_folder",function(){
730
+ var dir = fdfinder.find(".right ul.wrapper li[data-show='true']");
731
+ if (dir.html()==opts.i18n.empty_dir){dir.html("");}
732
+ fdfinder.find(".right ul.wrapper li div").removeClass("active");
733
+ var html = '<div data-new="new_folder" data-path="" data-name="" data-size="0" data-size_2="0" data-date="" data-kind="_directory" class="active directory"><span class="file_name"><form id="new_directory"><input type="text" name="fdfinder[directory_name]" /><input type="hidden" name="fdfinder[type]" value="create_directory"/> <input type="hidden" name="fdfinder[path]" value="'+dir.attr("data-path")+'"></form></span><span class="file_size"></span><span class="file_date"></span></div>';
734
+ if (Cookies.getCookie('fdfinder_view_type')=="list"){
735
+ dir.find(".list_head").after(html);
736
+ }else {
737
+ dir.prepend(html);
738
+ }
739
+ dir.find("input").select();
740
+
741
+ return false;
742
+ });
743
+
744
+ //Sayfa Refresh
745
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.refresh",function(){
746
+ var left_wrapper = fdfinder.find(".left #all_folders ul li a.active");
747
+ var right_wrapper = fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']");
748
+ if (right_wrapper.attr("data-path") == left_wrapper.attr("href")){
749
+ var path = right_wrapper.attr("data-path");
750
+ var data = "fdfinder[type]=refresh&fdfinder[path]="+path;
751
+ left_wrapper.next("ul").html("")
752
+ right_wrapper.html("")
753
+ $.ajax({url:opts.url,dataType:'json',type:'POST',data:data,success:function(data) {
754
+
755
+ if ($.isEmptyObject(data.directory) && $.isEmptyObject(data.file))
756
+ {
757
+ right_wrapper.html(opts.i18n.empty_dir);
758
+ }else {
759
+ if (right_wrapper.html()!=""){right_wrapper.html("");}
760
+ $.each(data.directory,function(key,val){
761
+ var ths_cls = val.sub_dir? " closed " : "";
762
+ left_wrapper.next("ul.folders").append('<li><a href="'+val.path+'">'+
763
+ '<span class="braca '+ths_cls+'"></span>'+
764
+ '<span class="folder">'+key+'</span>'+
765
+ '</a></li>');
766
+
767
+ right_wrapper.append('<div data-path="'+val.path+'" data-kind="'+val.type+'" data-name="'+key+'" data-size="'+val.size+'" data-size_2="'+val.size_2+'" data-date="'+val.ctime+'" class="directory"><span class="file_name">'+key+'</span><span class="file_size"'+is_show_size+'>'+val.size+'</span><span class="file_date"'+is_show_date+'>'+val.ctime+'</span></div>');
768
+ });
769
+
770
+ fnc.appendFiles(data,right_wrapper);
771
+ fnc.sortable(Cookies.getCookie("fdfinder_sortable"));
772
+ if (Cookies.getCookie("fdfinder_view_type")=="list"){fdfinder.find(".right ul.wrapper li[data-show='true']").prepend('<div class="list_head"><span class="file_name">'+opts.i18n.file_name+'</span><span class="file_size">'+opts.i18n.file_size+'</span><span class="file_date">'+opts.i18n.file_cdate+'</span></div>');}
773
+ }
774
+ }});
775
+ }else {
776
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.error_msg,{type:"p",dialog_class:'danger'});
777
+ }
778
+
779
+ return false;
780
+ });
781
+
782
+
783
+
784
+ //File Download
785
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.download",function(){
786
+ if (!$(this).hasClass("passive")){
787
+ var path = fdfinder.find(".right ul.wrapper li div.active").attr("data-path").replace("fcdir:/","");
788
+ var data = "fdfinder[type]=download&fdfinder[path]="+fdfinder.find(".right ul.wrapper li div.active").attr("data-path");
789
+ $.ajax({
790
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
791
+
792
+ if (data[0]=="false"){
793
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.download_error.format(data[2]),{type:"p",dialog_class:'danger'});
794
+ }
795
+ else{
796
+ window.open(location+"/download/"+data.file);
797
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
798
+ }
799
+ }});
800
+ }
801
+ return false;
802
+ });
803
+
804
+
805
+
806
+
807
+
808
+ //Üst Dizin'e Çıkma
809
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.up_folder",function(){
810
+ if (!$(this).hasClass("passive")){
811
+ var up_path = fdfinder.find(".left #all_folders ul.folders li a.active").attr("href").split("/");
812
+ up_path.pop();
813
+ var data_path = up_path.length > 1 ? up_path.join("/") : up_path[0]+"/";
814
+ var ths = fdfinder.find(".left #all_folders ul.folders li a[href='"+data_path+"']");
815
+ if (data_path=="fcdir:/"){$(this).addClass("passive");}
816
+ fdfinder.find(".right ul.wrapper li.file_wrapper").attr("data-show","false").hide();
817
+ fdfinder.find(".right ul.wrapper li.file_wrapper[data-path='" + data_path + "']").attr("data-show","true").show();
818
+ fdfinder.find("ul.folders li a").removeClass("active");
819
+ ths.addClass("active").attr("data-show","true");
820
+
821
+ if (fdfinder.find("ul.bottom li[data-path='"+data_path+"']").size()===0){
822
+ fdfinder.find("ul.bottom li").hide();}
823
+ else { fdfinder.find("ul.bottom li").hide(); fdfinder.find("ul.bottom li[data-path='"+data_path+"']").show();}
824
+
825
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
826
+ }
827
+ return false;
828
+ });
829
+
830
+
831
+
832
+ //File Info Göster
833
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.info",function(){
834
+ if (!$(this).hasClass("passive")){
835
+ var file = fdfinder.find(".right ul.wrapper li div.active");
836
+ var kind = file.attr("data-kind");
837
+ var data = "fdfinder[type]=info&fdfinder[file]="+file.attr("data-path")+"&kind="+kind;
838
+ fnc.prepend_dialog(opts.i18n.dialog.info_h,opts.i18n.loading,{type:"p"});
839
+ $.ajax({
840
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
841
+
842
+ var permissions="";
843
+ var _class = "";
844
+ if (data.permissions.read == "true"){ permissions = opts.i18n.read_permission; }
845
+ if (data.permissions.write == "true"){ permissions = opts.i18n.write_permission; }
846
+ if (data.permissions.write == "true" && data.permissions.read == "true"){ permissions = opts.i18n.read_write_permission; }
847
+ if (data.mime_type == "directory") { data.mime_type = opts.i18n.directory; _class = " directory"; }
848
+ else { _class = " "+file.removeClass("active").attr("class");
849
+ file.addClass("active");}
850
+ $(fdfinder_selector).find(".dialog").html('<h1>'+opts.i18n.dialog.info_h+'</h1>' +
851
+ '<div class="file_bg'+_class+'" style=\''+file.attr("style")+'\'></div>'+
852
+ '<span class="file_name">'+file.attr("data-name")+'</span><span class="file_type">'+data.mime_type+'</span>'+
853
+ '<ul class="file_info">' +
854
+ '<li><span>'+opts.i18n.dialog.info_size+'</span>'+data.size+'</li>' +
855
+ '<li><span>'+opts.i18n.dialog.info_addres+'</span>'+data.path+'</li>' +
856
+ '<li><span>'+opts.i18n.dialog.info_url+'</span><a target="_blank" href="//'+data.url+'">'+file.attr("data-name")+'</a></li>' +
857
+ '<li><span>'+opts.i18n.dialog.info_cdate+'</span>'+data.ctime+'</li>' +
858
+ '<li><span>'+opts.i18n.dialog.info_mdate+'</span>'+data.mtime+'</li>' +
859
+ '<li><span>'+opts.i18n.dialog.info_file_permission+'</span>'+permissions+'</li>' +
860
+ '</ul>' +
861
+ '<a href="#" class="close">'+opts.i18n.dialog.close+'</a>');
862
+ fnc.fdfinderresize();
863
+ }});
864
+ }
865
+ return false;
866
+ });
867
+
868
+
869
+ //Dosyayı Preview
870
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.preview",function(){
871
+ if (!$(this).hasClass("passive")){
872
+ var file = fdfinder.find(".right ul.wrapper li div.active");
873
+ var kind = file.attr("data-kind");
874
+ var data = "fdfinder[type]=preview&fdfinder[file]="+file.attr("data-path")+"&kind="+kind;
875
+ $(fdfinder_selector).prepend('<div class="dialog-scope"></div>' +
876
+ '<div style="display: none;" class="dialog"><h1>'+opts.i18n.dialog.preview_h+'</h1>' +
877
+ '<p>'+opts.i18n.loading+'<span class="load"></span> </p>' +
878
+ '</div>');
879
+ fdfinder.find(".dialog").fadeIn(300);
880
+ $.ajax({
881
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
882
+
883
+ var _class = "";
884
+ if (data.mime_type == "directory") { data.mime_type = opts.i18n.directory; _class = " directory"; }
885
+ else { _class = " "+file.removeClass("active").attr("class");
886
+ file.addClass("active");}
887
+
888
+ if (kind == "image_file"){
889
+ $(fdfinder_selector).find(".dialog").html('<h1>'+file.attr("data-name")+'</h1>' +
890
+ '<img style="width:'+$(window).width()/4+'px;" class="preview" src="//'+data.url+'" />' +
891
+ '<div class="clear"></div>'+
892
+ '<a href="#" class="close">'+opts.i18n.dialog.close+'</a>' +
893
+ '<div class="clear"></div>');
894
+ var img_width = fdfinder.find(".dialog img").width();
895
+ fdfinder.find(".dialog").css({"width":img_width+100+"px"});
896
+ fdfinder.find(".dialog").ortala();
897
+ }
898
+ else{
899
+ $(fdfinder_selector).find(".dialog").html('<h1>'+opts.i18n.dialog.preview_h+'</h1>' +
900
+ '<div class="file_bg'+_class+'" style="'+file.attr("style")+'"></div>'+
901
+ '<span class="file_name">'+file.attr("data-name")+'</span><span class="file_type">'+data.mime_type+'</span>'+
902
+ '<ul class="file_info">' +
903
+ '<li><span>'+opts.i18n.dialog.preview_size+'</span>'+data.size+'</li>' +
904
+ '<li><span>'+opts.i18n.dialog.preview_addres+'</span>'+data.path+'</li>' +
905
+ '<li><span>'+opts.i18n.dialog.preview_url+'</span><a target="_blank" href="//'+data.url+'">'+file.attr("data-name")+'</a></li>' +
906
+ '<li><span>'+opts.i18n.dialog.preview_cdate+'</span>'+data.ctime+'</li>' +
907
+ '<li><span>'+opts.i18n.dialog.preview_mdate+'</span>'+data.mtime+'</li>' +
908
+ '</ul>' +
909
+ '<a href="#" class="close">'+opts.i18n.dialog.close+'</a>');
910
+ fdfinder.find(".dialog").ortala();
911
+ }
912
+ }});
913
+ fnc.fdfinderresize();
914
+ }
915
+ return false;
916
+ });
917
+
918
+ //File Copy
919
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.copy",function(){
920
+ if (!$(this).hasClass("passive")){
921
+ var file = fdfinder.find(".right ul.wrapper li div.active");
922
+ var copy_file_path = file.attr("data-path");
923
+ if (fdfinder.find("#copy_form").size()>0){ fdfinder.find("#copy_form").remove(); }
924
+ fdfinder.append('<form id="copy_form"><input type="hidden" name="copy_file_path" value="'+copy_file_path+'" /><input type="hidden" name="copy_type" value="copy" /></form>');
925
+ fdfinder.find(".right ul.widget li a.paste").removeClass("passive");
926
+ }
927
+ return false;
928
+ });
929
+
930
+
931
+ //File Cut
932
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.cut",function(){
933
+ if (!$(this).hasClass("passive")){
934
+ fdfinder.find(".right ul.wrapper li div").removeClass("cutting");
935
+ var file = fdfinder.find(".right ul.wrapper li div.active");
936
+ file.addClass("cutting");
937
+ var copy_file_path = file.attr("data-path");
938
+ if (fdfinder.find("#copy_form").size()>0){ fdfinder.find("#copy_form").remove(); }
939
+ fdfinder.append('<form id="copy_form"><input type="hidden" name="copy_file_path" value="'+copy_file_path+'" /><input type="hidden" name="copy_type" value="cut" /></form>');
940
+ fdfinder.find(".right ul.widget li a.paste").removeClass("passive");
941
+ }
942
+ return false;
943
+ });
944
+
945
+ //File Paste
946
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.paste",function(){
947
+ var $ths = $(this);
948
+ if (!$ths.hasClass("passive")){
949
+ var $input = fdfinder.find("input[name='copy_file_path']");
950
+ var $type = fdfinder.find("input[name='copy_type']").val();
951
+ var copy_file_path = $input.val();
952
+ var this_folder_path = fdfinder.find(".left #all_folders ul.folders li a.active").attr("href");
953
+ var data;
954
+ var data_input;
955
+ if ($type=="copy"){
956
+ data = "fdfinder[type]=copy&fdfinder[copy_file_path]="+copy_file_path+"&fdfinder[this_folder_path]="+this_folder_path;
957
+ data_input = "fdfinder[type]=copy!&fdfinder[copy_file_path]="+copy_file_path+"&fdfinder[this_folder_path]="+this_folder_path;
958
+ }
959
+ if ($type=="cut") {
960
+ data = "fdfinder[type]=cut&fdfinder[cut_file_path]="+copy_file_path+"&fdfinder[this_folder_path]="+this_folder_path;
961
+ data_input = "fdfinder[type]=cut!&fdfinder[cut_file_path]="+copy_file_path+"&fdfinder[this_folder_path]="+this_folder_path;
962
+ }
963
+
964
+ $.ajax({
965
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data){
966
+
967
+ if (data[0]=="true")
968
+ {if (fdfinder.find(".right ul.wrapper li div.cutting")){fdfinder.find(".right ul.wrapper li div.cutting").remove(); }
969
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
970
+ }else {
971
+ if (data[1] == "0"){
972
+ $(fdfinder_selector).prepend('<div class="dialog-scope"></div>' +
973
+ '<div style="display: none;" class="dialog"><h1>'+opts.i18n.dialog.file_replace_h+'</h1>' +
974
+ '<p>'+opts.i18n.dialog.file_replace_content.format(copy_file_path.split("/").pop()) +
975
+ '<input type="hidden" name="data_input" value="'+data_input+'" /> </p>' +
976
+ '<a class="close" href="#">'+opts.i18n.dialog.cancel+'</a>' +
977
+ '<a class="btn file_copy_ok" href="#">'+opts.i18n.dialog.ok+'</a>' +
978
+ '</div>');
979
+ fdfinder.find(".dialog").fadeIn(300);
980
+ fdfinder.find(".dialog").ortala();
981
+ }
982
+ else{
983
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.copy_error.format(data[2]),{type:"p",dialog_class:'danger'});
984
+ }
985
+ }
986
+ }});
987
+ $input.remove();
988
+ $ths.addClass("passive");
989
+
990
+ }
991
+ return false;
992
+ });
993
+
994
+
995
+ //File Paste ( Changing File with the same name )
996
+ $body.on("click",fdfinder_selector+" .dialog a.file_copy_ok",function(){
997
+ var data = fdfinder.find(".dialog input[name='data_input']").val();
998
+ $.ajax({
999
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data){
1000
+
1001
+ if (data[0]=="true")
1002
+ {if (fdfinder.find(".right ul.wrapper li div.cutting")){fdfinder.find(".right ul.wrapper li div.cutting").remove(); }
1003
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
1004
+ }else {
1005
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.replace_error.format(data[2]),{type:"p",dialog_class:'danger'});
1006
+ }
1007
+ }});
1008
+ return false;
1009
+ });
1010
+
1011
+
1012
+
1013
+ //File Duplicate
1014
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.duplicate",function(){
1015
+ if (!$(this).hasClass("passive")){
1016
+ var file_path = fdfinder.find(".right ul.wrapper li div.active").attr("data-path");
1017
+ var data = "fdfinder[type]=duplicate&fdfinder[file_path]="+file_path;
1018
+ $.ajax({
1019
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data){
1020
+
1021
+ if (data[0]=="true")
1022
+ {
1023
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
1024
+ }else
1025
+ {
1026
+ //Kopyası Oluşmname
1027
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.duplicate_error.format(data[2]),{type:"p",dialog_class:'danger'});
1028
+ }
1029
+ }});
1030
+
1031
+ }
1032
+ return false;
1033
+ });
1034
+
1035
+
1036
+
1037
+ //File Rename
1038
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.rename",function(){
1039
+ if (!$(this).hasClass("passive")){
1040
+ var file = fdfinder.find(".right ul.wrapper li div.active");
1041
+ file.attr("data-rename","true");
1042
+ file.children("span.file_name").html('<form id="file_rename"><input type="text" id=\"file_name\" data-value="'+file.children("span.file_name").html()+'" name="fdfinder[file_name]" value="'+file.children("span.file_name").html()+'" /><input type="hidden" name="fdfinder[type]" value="file_rename"/> <input type="hidden" name="fdfinder[path]" value="'+file.attr("data-path")+'"></form>');
1043
+
1044
+ var field = file.find("span.file_name form input[name='fdfinder[file_name]']");
1045
+ if (file.hasClass("directory")){
1046
+ field.select();
1047
+ }else{
1048
+
1049
+ field[0].focus();
1050
+ field[0].setSelectionRange(0,(field.val().length-(field.val().split(".").slice(-1).toString().length+1)));
1051
+ }
1052
+
1053
+
1054
+ }
1055
+ return false;
1056
+ });
1057
+
1058
+
1059
+
1060
+ //File Rename Form Submit
1061
+ $body.on("submit",fdfinder_selector+" #file_rename",function(){
1062
+ var data = $(this).serialize();
1063
+ $.ajax({
1064
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
1065
+ if (data[0]=="true"){
1066
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
1067
+ }else {
1068
+ //Bir hata meydana geldi name değiştirilemedi
1069
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.rename_error.format(data[2]),{type:"p",dialog_class:'danger'});
1070
+ }
1071
+ }});
1072
+ return false;
1073
+ });
1074
+
1075
+
1076
+ //File Edit (pixlr)
1077
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.edit",function(){
1078
+ if (!$(this).hasClass("passive")){
1079
+ var data = "fdfinder[type]=edit_file&fdfinder[file_path]="+fdfinder.find(".right ul.wrapper li div.active").attr("data-path");
1080
+ $.ajax({
1081
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
1082
+
1083
+ if (data[0]=="false"){
1084
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.edit_error,{type:"p",dialog_class:'danger'});
1085
+ }else {
1086
+ window.open("http://apps.pixlr.com/editor/?s=c&image="+encodeURIComponent(data.url)+"&title="+encodeURIComponent(data.title));
1087
+ }
1088
+ }});
1089
+ }
1090
+ return false;
1091
+ });
1092
+
1093
+
1094
+
1095
+ //File Delete
1096
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.delete",function(){
1097
+ if (!$(this).hasClass("passive")){
1098
+ var file = fdfinder.find(".right ul.wrapper li div.active");
1099
+ var file_path = file.attr("data-path");
1100
+ if (fdfinder.find("form#delete_file_form").size()>0){fdfinder.find("form#delete_file_form").remove();}
1101
+ fdfinder.append('<form id="delete_file_form"><input name="file_path" value="'+file_path+'" type="hidden" /></form>');
1102
+ $(fdfinder_selector).prepend('<div class="dialog-scope"></div>' +
1103
+ '<div style="display: none;" class="dialog"><h1>'+opts.i18n.dialog.delete_h.format(file.attr("data-name"))+'</h1>' +
1104
+ '<p>'+opts.i18n.dialog.delete_content.format(file.attr("data-name"))+'</p>'+
1105
+ '<a class="close" href="#">'+opts.i18n.dialog.close+'</a>' +
1106
+ '<a class="btn file_delete" href="#">'+opts.i18n.dialog.delete+'</a>' +
1107
+ '</div>');
1108
+ fdfinder.find(".dialog").fadeIn(300);
1109
+ fdfinder.find(".dialog").ortala();
1110
+ }
1111
+ return false;
1112
+ });
1113
+
1114
+
1115
+ //File Delete Confirmation
1116
+ $body.on("click",fdfinder_selector+" .dialog a.file_delete",function(){
1117
+ var file_path = fdfinder.find("form#delete_file_form input[name='file_path']").val();
1118
+ var data = "fdfinder[type]=delete&fdfinder[file_path]="+file_path;
1119
+ fdfinder.find(".dialog a.close").trigger("click");
1120
+ $.ajax({
1121
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
1122
+ if (data[0]=="true"){
1123
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
1124
+ }else {
1125
+ if (data[1]=="0"){
1126
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.delete_error_0,{type:"p",dialog_class:'danger'});
1127
+ }
1128
+ else {
1129
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.delete_error_1.format(data[2]),{type:"p",dialog_class:'danger'});
1130
+ }
1131
+ }
1132
+ }});
1133
+ return false;
1134
+ });
1135
+
1136
+
1137
+
1138
+
1139
+ //Ada Göre File Listeleme
1140
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.name_sorter",function(){
1141
+ if (!$(this).hasClass("passive")){
1142
+ var $ul = fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']"),
1143
+ $li = $ul.find("div");
1144
+ if (!$(this).hasClass("z_a"))
1145
+ {
1146
+ $li.sort(function(a,b){
1147
+ var an = a.getAttribute('data-name'),
1148
+ bn = b.getAttribute('data-name');
1149
+ if(an > bn) { return 1;}
1150
+ if(an < bn) {return -1;}
1151
+ return 0;
1152
+ });
1153
+ $li.detach().appendTo($ul);
1154
+ $(this).removeClass("a_z").addClass("z_a");
1155
+ }else {
1156
+ $li.sort(function(a,b){
1157
+ var an = a.getAttribute('data-name'),
1158
+ bn = b.getAttribute('data-name');
1159
+ if(an < bn) { return 1;}
1160
+ if(an > bn) {return -1;}
1161
+ return 0;
1162
+ });
1163
+ $li.detach().appendTo($ul);
1164
+ $(this).removeClass("z_a").addClass("a_z");
1165
+ }
1166
+ }
1167
+ Cookies.setCookie("fdfinder_sortable","name",60*60*24*365);
1168
+ return false;
1169
+ });
1170
+
1171
+
1172
+
1173
+ //Boyuta Göre File Listeleme
1174
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.size_sorter",function(){
1175
+ if (!$(this).hasClass("passive")){
1176
+ var $ul = fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']"),
1177
+ $li = $ul.find("div");
1178
+ if (!$(this).hasClass("z_a"))
1179
+ {
1180
+ $li.sort(function(a,b){
1181
+ var an = fnc.toInt(a.getAttribute('data-size_2')),
1182
+ bn = fnc.toInt(b.getAttribute('data-size_2'));
1183
+ if(an < bn) { return 1;}
1184
+ if(an > bn) {return -1;}
1185
+ return 0;
1186
+ });
1187
+ $li.detach().appendTo($ul);
1188
+ $(this).removeClass("a_z").addClass("z_a");
1189
+ }else {
1190
+ $li.sort(function(a,b){
1191
+ var an = fnc.toInt(a.getAttribute('data-size_2')),
1192
+ bn = fnc.toInt(b.getAttribute('data-size_2'));
1193
+ if(an > bn) { return 1;}
1194
+ if(an < bn) {return -1;}
1195
+ return 0;
1196
+ });
1197
+ $li.detach().appendTo($ul);
1198
+ $(this).removeClass("z_a").addClass("a_z");
1199
+ }
1200
+ }
1201
+ Cookies.setCookie("fdfinder_sortable","size",60*60*24*365);
1202
+ return false;
1203
+ });
1204
+
1205
+
1206
+
1207
+ //Date Göre File Listeleme
1208
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.date_sorter",function(){
1209
+ if (!$(this).hasClass("passive")){
1210
+ var $ul = fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']"),
1211
+ $li = $ul.find("div");
1212
+ if (!$(this).hasClass("z_a"))
1213
+ {
1214
+ $li.sort(function(a,b){
1215
+ var an = fnc.toDate(a.getAttribute('data-date')),
1216
+ bn = fnc.toDate(b.getAttribute('data-date'));
1217
+ if(an > bn) { return 1;}
1218
+ if(an < bn) {return -1;}
1219
+ return 0;
1220
+ });
1221
+ $li.detach().appendTo($ul);
1222
+ $(this).removeClass("a_z").addClass("z_a");
1223
+ }else {
1224
+ $li.sort(function(a,b){
1225
+ var an = fnc.toDate(a.getAttribute('data-date')),
1226
+ bn = fnc.toDate(b.getAttribute('data-date'));
1227
+ if(an < bn) { return 1;}
1228
+ if(an > bn) {return -1;}
1229
+ return 0;
1230
+ });
1231
+ $li.detach().appendTo($ul);
1232
+ $(this).removeClass("z_a").addClass("a_z");
1233
+ }
1234
+ }
1235
+ Cookies.setCookie("fdfinder_sortable","date",60*60*24*365);
1236
+ return false;
1237
+ });
1238
+
1239
+ //Türüne Göre File Listeleme
1240
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.kind_sorter",function(){
1241
+ if (!$(this).hasClass("passive")){
1242
+ var $ul = fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']"),
1243
+ $li = $ul.find("div");
1244
+ if (!$(this).hasClass("z_a"))
1245
+ {
1246
+ $li.sort(function(a,b){
1247
+ var an = a.getAttribute('data-kind'),
1248
+ bn = b.getAttribute('data-kind');
1249
+ if(an > bn) { return 1;}
1250
+ if(an < bn) {return -1;}
1251
+ return 0;
1252
+ });
1253
+ $li.detach().appendTo($ul);
1254
+ $(this).removeClass("a_z").addClass("z_a");
1255
+ }else {
1256
+ $li.sort(function(a,b){
1257
+ var an = a.getAttribute('data-kind'),
1258
+ bn = b.getAttribute('data-kind');
1259
+ if(an < bn) { return 1;}
1260
+ if(an > bn) {return -1;}
1261
+ return 0;
1262
+ });
1263
+ $li.detach().appendTo($ul);
1264
+ $(this).removeClass("z_a").addClass("a_z");
1265
+ }
1266
+ }
1267
+ Cookies.setCookie("fdfinder_sortable","kind",60*60*24*365);
1268
+ return false;
1269
+ });
1270
+
1271
+
1272
+
1273
+
1274
+ //Icon View
1275
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.icon_view",function(){
1276
+ if (!$(this).hasClass("passive")) {
1277
+ fdfinder.find(".right ul.wrapper").removeClass("list_view").addClass("icon_view");
1278
+ Cookies.setCookie("fdfinder_view_type","icon",60*60*24*365);
1279
+ $(this).addClass("passive");
1280
+ fdfinder.find(".right ul.widget li a.list_view").removeClass("passive");
1281
+ fdfinder.find(".right ul.wrapper li div.list_head").remove();
1282
+ }
1283
+ return false;
1284
+ });
1285
+
1286
+ //List View
1287
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.list_view",function(){
1288
+ if (!$(this).hasClass("passive")) {
1289
+ fdfinder.find(".right ul.wrapper li[data-show='true']").prepend('<div class="list_head"><span class="file_name">'+opts.i18n.file_name+'</span><span class="file_size">'+opts.i18n.file_size+'</span><span class="file_date">'+opts.i18n.file_cdate+'</span></div>');
1290
+ fdfinder.find(".right ul.wrapper").removeClass("icon_view").addClass("list_view");
1291
+ Cookies.setCookie("fdfinder_view_type","list",60*60*24*365);
1292
+ $(this).addClass("passive");
1293
+ fdfinder.find(".right ul.widget li a.icon_view").removeClass("passive");
1294
+ }
1295
+ return false;
1296
+ });
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+ //Ayarlar Menüsü
1304
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.settings",function(){
1305
+ if (!$(this).hasClass("passive")){
1306
+ var list_type = Cookies.getCookie("fdfinder_view_type");
1307
+ var size_show = Cookies.getCookie("fdfinder_size_show");
1308
+ var date_show = Cookies.getCookie("fdfinder_date_show");
1309
+
1310
+ var dialog_text = '<div class="dialog-scope"></div>' +
1311
+ '<div style="display: none;" class="dialog"><h1>'+opts.i18n.dialog.settings_h+'</h1>' +
1312
+ '<div class="content">';
1313
+ dialog_text += '<div><label><input type="radio" name="view" value="icon"';
1314
+ dialog_text += list_type == "icon" ? ' checked="checked" ' : '';
1315
+ dialog_text += ' /> '+opts.i18n.dialog.settings_icon_view+' </label></div>';
1316
+ dialog_text += '<div><label><input type="radio" name="view" value="list"';
1317
+ dialog_text += list_type == "list" ? ' checked="checked" ' : ''
1318
+ dialog_text += ' /> '+opts.i18n.dialog.settings_list_view+' </label></div>'
1319
+ dialog_text += '<div><label><input type="checkbox" name="size_show" value="true"'
1320
+ dialog_text += size_show == "true" ? ' checked="checked" ' : ''
1321
+ dialog_text +=' /> '+opts.i18n.dialog.settings_show_size+' </label></div>'
1322
+ dialog_text +='<div><label><input type="checkbox" name="date_show" value="true"'
1323
+ dialog_text += date_show == "true" ? ' checked="checked" ' : ''
1324
+ dialog_text +=' /> '+opts.i18n.dialog.settings_show_date+' </label></div>' +
1325
+ '</div>' +
1326
+ '<a class="close" href="#">'+opts.i18n.dialog.close+'</a>' +
1327
+ '</div>';
1328
+ $(fdfinder_selector).prepend(dialog_text);
1329
+ fdfinder.find(".dialog").fadeIn(300);
1330
+ fdfinder.find(".dialog").ortala();
1331
+ }
1332
+ return false;
1333
+ });
1334
+
1335
+
1336
+ //Ayarlar -> Tarih Göster İnputu Seçilirse
1337
+ $body.on("change",fdfinder_selector+" .dialog div.content div label input[name='date_show']",function(){
1338
+ fdfinder.find(".right ul.widget li a.show_date").trigger('click');
1339
+ });
1340
+
1341
+ //Ayarlar -> Boyut Göster İnputu Seçilirse
1342
+ $body.on("change",fdfinder_selector+" .dialog div.content div label input[name='size_show']",function(){
1343
+ fdfinder.find(".right ul.widget li a.show_size").trigger('click');
1344
+ });
1345
+
1346
+ //Ayarlar -> Görünüm Tipi Seçimi (Liste|Simge)
1347
+ $body.on("change",fdfinder_selector+" .dialog div.content div label input[name='view']",function(){
1348
+ var view_type = $(this).val();
1349
+ if (view_type=="icon"){ fdfinder.find(".right ul.widget li a.icon_view").trigger("click"); }
1350
+ if (view_type=="list"){ fdfinder.find(".right ul.widget li a.list_view").trigger("click");}
1351
+ });
1352
+
1353
+
1354
+
1355
+
1356
+ //Sıralama Menüsü
1357
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.sort",function(){
1358
+ if (!$(this).hasClass("passive")){
1359
+ var sortable_type = Cookies.getCookie("fdfinder_sortable");
1360
+ var dialog_text = '<div class="dialog-scope"></div>' +
1361
+ '<div style="display: none;" class="dialog"><h1>'+opts.i18n.dialog.sorter_h+'</h1>' +
1362
+ '<div class="content">';
1363
+ dialog_text += '<div><label><input type="radio" name="sortable" value="name"';
1364
+ dialog_text += sortable_type == "name" ? ' checked="checked" ' : '';
1365
+ dialog_text += ' /> '+opts.i18n.dialog.sorter_name+' </label></div>';
1366
+ dialog_text += '<div><label><input type="radio" name="sortable" value="size"';
1367
+ dialog_text += sortable_type == "size" ? ' checked="checked" ' : ''
1368
+ dialog_text += ' /> '+opts.i18n.dialog.sorter_size+' </label></div>'
1369
+ dialog_text += '<div><label><input type="radio" name="sortable" value="date"'
1370
+ dialog_text +=sortable_type == "date" ? ' checked="checked" ' : ''
1371
+ dialog_text +=' /> '+opts.i18n.dialog.sorter_date+' </label></div>'
1372
+ dialog_text +='<div><label><input type="radio" name="sortable" value="kind"'
1373
+ dialog_text +=sortable_type == "kind" ? ' checked="checked" ' : ''
1374
+ dialog_text +=' /> '+opts.i18n.dialog.sorter_kind+' </label></div>' +
1375
+ '</div>' +
1376
+ '<a class="close" href="#">'+opts.i18n.dialog.close+'</a>' +
1377
+ '</div>';
1378
+ $(fdfinder_selector).prepend(dialog_text);
1379
+ fdfinder.find(".dialog").fadeIn(300);
1380
+ fdfinder.find(".dialog").ortala();
1381
+ }
1382
+ return false;
1383
+ });
1384
+
1385
+
1386
+ //Sıralama -> Sıralama Yöntemi Seçimi (İsim|Botur|Tarih|Tür)
1387
+ $body.on("change",fdfinder_selector+" .dialog div.content div label input[name='sortable']",function(){
1388
+ var sort_type = $(this).val();
1389
+ Cookies.setCookie("fdfinder_sortable",sort_type,60*60*24*365);
1390
+ fnc.sortable(sort_type);
1391
+ return false;
1392
+ });
1393
+
1394
+
1395
+
1396
+ //Klavye Kontrolleri
1397
+ $(document).keyup(function(e) {
1398
+ //ESC Press
1399
+ if (e.keyCode == 27) {
1400
+ if (fdfinder.find(".dialog").size() > 0 || fdfinder.find(".dialog-scope").size() > 0)
1401
+ {
1402
+ fdfinder.find(".dialog").fadeOut(300, function(){ fdfinder.find(".dialog-scope , .dialog").remove(); });
1403
+ }
1404
+ fdfinder.find("#ctxMenu").remove();
1405
+ fdfinder.find(".right ul.wrapper li[data-show='true'] div[data-new='new_folder']").remove();
1406
+ if (fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']").html()==""){fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']").html(opts.i18n.empty_dir);}
1407
+ var file = fdfinder.find(".right ul.wrapper li[data-show='true'] div[data-rename='true']");
1408
+ file.removeAttr("data-rename");
1409
+ file.children("span.file_name").html(file.find("form#file_rename input[name='fdfinder[file_name]']").attr("data-value"));
1410
+ }
1411
+ //F2 Press
1412
+ if(e.which == 113) {
1413
+ if (fdfinder.find(".right ul.wrapper li div.active")){
1414
+ fdfinder.find(".right ul.widget li a.rename").trigger('click');
1415
+ }
1416
+ return false;
1417
+ }
1418
+
1419
+ });
1420
+
1421
+ //Hedef Dışı Tıklama Kontrolleri
1422
+ $("*").click(function(e){
1423
+
1424
+ if (!$(e.target).is(fdfinder_selector+" ul#ctxMenu") && !$(e.target).is(fdfinder_selector+" ul#ctxMenu *") )
1425
+ {
1426
+ fdfinder.find("#ctxMenu").remove();
1427
+ }
1428
+
1429
+ if (!$(e.target).is(fdfinder_selector+" .dialog") && !$(e.target).is(fdfinder_selector+" .dialog *") &&
1430
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.icon_view") &&
1431
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.list_view") &&
1432
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.show_size") &&
1433
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.show_date") &&
1434
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.name_sorter") &&
1435
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.size_sorter") &&
1436
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.date_sorter") &&
1437
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.kind_sorter") &&
1438
+ !$(e.target).is(fdfinder_selector+" "))
1439
+ {
1440
+ if (!fdfinder.find(".dialog").hasClass("noclose")){
1441
+ fdfinder.find(".dialog").fadeOut(300, function(){ fdfinder.find(".dialog-scope , .dialog").remove(); });
1442
+ }
1443
+ }
1444
+
1445
+ if (!$(e.target).is(fdfinder_selector+" .right ul.wrapper li[data-show='true'] div[data-new='new_folder']") && !$(e.target).is(fdfinder_selector+" .right ul.wrapper li[data-show='true'] div[data-new='new_folder'] *"))
1446
+ {
1447
+ fdfinder.find(".right ul.wrapper li[data-show='true'] div[data-new='new_folder']").remove();
1448
+ if (fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']").html()==""){fdfinder.find(".right ul.wrapper li.file_wrapper[data-show='true']").html(opts.i18n.empty_dir);}
1449
+ }
1450
+
1451
+
1452
+ if (!$(e.target).is(fdfinder_selector+" .right ul.wrapper li[data-show='true'] div[data-rename='true']") && !$(e.target).is(fdfinder_selector+" .right ul.wrapper li[data-show='true'] div[data-rename='true'] *"))
1453
+ {
1454
+ var file = fdfinder.find(".right ul.wrapper li[data-show='true'] div[data-rename='true']");
1455
+ file.removeAttr("data-rename");
1456
+ file.children("span.file_name").html(file.find("form#file_rename input[name='fdfinder[file_name]']").attr("data-value"));
1457
+ }
1458
+
1459
+ if (
1460
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.download") &&
1461
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.info") &&
1462
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.preview") &&
1463
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.edit") &&
1464
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.copy") &&
1465
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.cut") &&
1466
+ //!$(e.target).is(fdfinder_selector+" .right ul.widget li a.paste") &&
1467
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.duplicate") &&
1468
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.rename") &&
1469
+ !$(e.target).is(fdfinder_selector+" .right ul.widget li a.delete") &&
1470
+
1471
+ !$(e.target).is(fdfinder_selector+" ul#ctxMenu li") &&
1472
+ !$(e.target).is(fdfinder_selector+" ul#ctxMenu li *") &&
1473
+
1474
+
1475
+ !$(e.target).is(fdfinder_selector+" .right ul.wrapper li div") && !$(e.target).is(fdfinder_selector+" .right ul.wrapper li div *"))
1476
+ {
1477
+ fdfinder.find(".right ul.wrapper li div").removeClass("active");
1478
+ fdfinder.find(".right ul.widget li a.download , " +
1479
+ ".right ul.widget li a.info , " +
1480
+ ".right ul.widget li a.preview , " +
1481
+ //".right ul.widget li a.edit , " +
1482
+ ".right ul.widget li a.copy , " +
1483
+ ".right ul.widget li a.cut , " +
1484
+ //".right ul.widget li a.paste , " +
1485
+ ".right ul.widget li a.duplicate , " +
1486
+ ".right ul.widget li a.rename , " +
1487
+ ".right ul.widget li a.delete").addClass("passive");
1488
+
1489
+ }
1490
+
1491
+ });
1492
+
1493
+
1494
+ //Sağ Tıklama Ayarı
1495
+ $("*").contextmenu(function(e){
1496
+ fdfinder.find("#ctxMenu").remove();
1497
+ if (!$(e.target).is(fdfinder_selector+" .right ul.wrapper li div.list_head") && !$(e.target).is(fdfinder_selector+" .right ul.wrapper li div.list_head *")){
1498
+ if ($(e.target).is(fdfinder_selector+" .right ul.wrapper li div") || $(e.target).is(fdfinder_selector+" .right ul.wrapper li div *")) {
1499
+ if (typeof $(e.target).parent("div").attr("data-name") === "undefined") {
1500
+ var file = $(e.target);
1501
+ }else {
1502
+ var file = $(e.target).parent("div");
1503
+ }
1504
+ file.trigger("click");
1505
+ fdfinder.prepend('<ul id="ctxMenu"></ul>');
1506
+ var ctxMenu = fdfinder.find("#ctxMenu");
1507
+ var x = parseInt(e.pageX) - 20;
1508
+ var y = parseInt(e.pageY) - 30;
1509
+ var d_x = $(document).width();
1510
+ var d_y = $(document).height();
1511
+ var ctxW_x = ctxMenu.width();
1512
+ var ctxH_y = ctxMenu.height();
1513
+
1514
+ if (x >= d_x - ctxW_x - 50) { x = d_x - ctxW_x - 50; }
1515
+ if (y >= d_y - ctxH_y - 40) { y = d_y - ctxH_y - 40;}
1516
+
1517
+ //
1518
+ ctxMenu.html('<li><a class="none">' + file.attr("data-name") + '</a></li><li class="hr">&nbsp;</li>'+
1519
+ '<li><a href="fdfinder:open">'+opts.i18n.contextmenu.file_open+'</a></li>'+
1520
+ '<li><a href="fdfinder:preview">'+opts.i18n.contextmenu.file_preview+'</a></li>'+
1521
+ '<li><a href="fdfinder:download">'+opts.i18n.contextmenu.file_download+'</a></li>'+
1522
+ '<li class="hr">&nbsp;</li>'+
1523
+ '<li><a href="fdfinder:copy">'+opts.i18n.contextmenu.file_copy+'</a></li>'+
1524
+ '<li><a href="fdfinder:cut">'+opts.i18n.contextmenu.file_cut+'</a></li>'+
1525
+ '<li><a href="fdfinder:duplicate">'+opts.i18n.contextmenu.file_duplicate+'</a></li>'+
1526
+ '<li><a href="fdfinder:rename">'+opts.i18n.contextmenu.file_rename+'</a></li>'+
1527
+ '<li><a href="fdfinder:delete">'+opts.i18n.contextmenu.file_delete+'</a></li>'+
1528
+ '<li class="hr">&nbsp;</li>'+
1529
+ '<li><a href="fdfinder:info">'+opts.i18n.contextmenu.file_info+'</a></li>');
1530
+
1531
+ ctxMenu.css({"left": x + "px", "top": y + "px"});
1532
+ }
1533
+
1534
+ if ($(e.target).is(fdfinder_selector+" .right ul.wrapper li[data-show='true']") || $(e.target).is(fdfinder_selector+" .right ul.wrapper")) {
1535
+
1536
+ fdfinder.prepend('<ul id="ctxMenu"></ul>');
1537
+ var ctxMenu = fdfinder.find("#ctxMenu");
1538
+ var x = parseInt(e.pageX) - 20;
1539
+ var y = parseInt(e.pageY) - 30;
1540
+ var d_x = $(document).width();
1541
+ var d_y = $(document).height();
1542
+ var ctxW_x = ctxMenu.width();
1543
+ var ctxH_y = ctxMenu.height();
1544
+
1545
+ if (x >= d_x - ctxW_x - 50) { x = d_x - ctxW_x - 50; }
1546
+ if (y >= d_y - ctxH_y - 40) { y = d_y - ctxH_y - 40;}
1547
+
1548
+
1549
+ var paste;
1550
+ if (fdfinder.find(".right ul.widget li a.paste").hasClass("passive")){
1551
+ paste = '<li><a class="none" href="fdfinder:paste">'+opts.i18n.contextmenu.wrapper_paste+'</a></li>';
1552
+ }else{paste = '<li><a href="fdfinder:paste">'+opts.i18n.contextmenu.wrapper_paste+'</a></li>';}
1553
+
1554
+ var view;
1555
+ if (Cookies.getCookie("fdfinder_view_type")=="icon"){
1556
+ view = '<li><a href="fdfinder:list_view">'+opts.i18n.contextmenu.wrapper_list_view+'</a></li>';
1557
+ }else{
1558
+ view = '<li><a href="fdfinder:icon_view">'+opts.i18n.contextmenu.wrapper_icon_view+'</a></li>';
1559
+ }
1560
+
1561
+ ctxMenu.html('<li><a class="none">' + fdfinder.find(".right ul.wrapper li[data-show='true']").attr("data-path") + '</a></li><li class="hr">&nbsp;</li>'+
1562
+ '<li><a href="fdfinder:upload">'+opts.i18n.contextmenu.wrapper_upload+'</a></li>'+
1563
+ '<li><a href="fdfinder:newfolder">'+opts.i18n.contextmenu.wrapper_newfolder+'</a></li>'+
1564
+ '<li><a href="fdfinder:refresh">'+opts.i18n.contextmenu.wrapper_refresh+'</a></li>'+
1565
+ paste+
1566
+ '<li class="hr">&nbsp;</li>'+
1567
+ view+
1568
+ '<li class="hr">&nbsp;</li>'+
1569
+ '<li><a href="fdfinder:showsize">'+opts.i18n.contextmenu.wrapper_show_size+'</a></li>'+
1570
+ '<li><a href="fdfinder:showdate">'+opts.i18n.contextmenu.wrapper_show_size+'</a></li>'+
1571
+ '<li class="hr">&nbsp;</li>'+
1572
+ '<li><a href="fdfinder:namesorter">'+opts.i18n.contextmenu.wrapper_namesorter+'</a></li>'+
1573
+ '<li><a href="fdfinder:sizesorter">'+opts.i18n.contextmenu.wrapper_sizesorter+'</a></li>'+
1574
+ '<li><a href="fdfinder:datesorter">'+opts.i18n.contextmenu.wrapper_datesorter+'</a></li>'+
1575
+ '<li><a href="fdfinder:kindsorter">'+opts.i18n.contextmenu.wrapper_kindsorter+'</a></li>');
1576
+
1577
+
1578
+ ctxMenu.css({"left": x + "px", "top": y + "px"});
1579
+ }
1580
+ }
1581
+ return false;
1582
+ });
1583
+
1584
+
1585
+
1586
+ //Sağ Tıklama Menü Link Seçimi
1587
+ $body.on("click",fdfinder_selector+" ul#ctxMenu li a",function(){
1588
+ if ($(this).attr("class")=="none"){ return false; }else {
1589
+ fdfinder.find("ul#ctxMenu").remove();
1590
+ if ($(this).attr("href")=="fdfinder:open"){ fdfinder.find(".right ul.wrapper li div.active").trigger("dblclick");}
1591
+ if ($(this).attr("href")=="fdfinder:preview"){ fdfinder.find(".right ul.widget li a.preview").trigger("click"); }
1592
+ if ($(this).attr("href")=="fdfinder:download"){fdfinder.find(".right ul.widget li a.download").trigger("click");}
1593
+ if ($(this).attr("href")=="fdfinder:copy"){fdfinder.find(".right ul.widget li a.copy").trigger("click");}
1594
+ if ($(this).attr("href")=="fdfinder:cut"){fdfinder.find(".right ul.widget li a.cut").trigger("click");}
1595
+ if ($(this).attr("href")=="fdfinder:duplicate"){fdfinder.find(".right ul.widget li a.duplicate").trigger("click");}
1596
+ if ($(this).attr("href")=="fdfinder:rename"){fdfinder.find(".right ul.widget li a.rename").trigger("click");}
1597
+ if ($(this).attr("href")=="fdfinder:delete"){fdfinder.find(".right ul.widget li a.delete").trigger("click");}
1598
+ if ($(this).attr("href")=="fdfinder:info"){fdfinder.find(".right ul.widget li a.info").trigger("click");}
1599
+
1600
+ if ($(this).attr("href")=="fdfinder:upload"){ fdfinder.find(".right ul.widget li a.upload input.upload_field").trigger("click");}
1601
+ if ($(this).attr("href")=="fdfinder:newfolder"){ fdfinder.find(".right ul.widget li a.new_folder").trigger("click");}
1602
+ if ($(this).attr("href")=="fdfinder:refresh"){ fdfinder.find(".right ul.widget li a.refresh").trigger("click");}
1603
+ if ($(this).attr("href")=="fdfinder:paste"){ fdfinder.find(".right ul.widget li a.paste").trigger("click");}
1604
+ if ($(this).attr("href")=="fdfinder:list_view"){ fdfinder.find(".right ul.widget li a.list_view").trigger("click");}
1605
+ if ($(this).attr("href")=="fdfinder:icon_view"){ fdfinder.find(".right ul.widget li a.icon_view").trigger("click");}
1606
+
1607
+ if ($(this).attr("href")=="fdfinder:showdate"){ fdfinder.find(".right ul.widget li a.show_date").trigger("click");}
1608
+ if ($(this).attr("href")=="fdfinder:showsize"){ fdfinder.find(".right ul.widget li a.show_size").trigger("click");}
1609
+
1610
+ if ($(this).attr("href")=="fdfinder:namesorter"){ fdfinder.find(".right ul.widget li a.name_sorter").trigger("click");}
1611
+ if ($(this).attr("href")=="fdfinder:sizesorter"){ fdfinder.find(".right ul.widget li a.size_sorter").trigger("click");}
1612
+ if ($(this).attr("href")=="fdfinder:datesorter"){ fdfinder.find(".right ul.widget li a.date_sorter").trigger("click");}
1613
+ if ($(this).attr("href")=="fdfinder:kindsorter"){ fdfinder.find(".right ul.widget li a.kind_sorter").trigger("click");}
1614
+
1615
+
1616
+ return false;
1617
+ }
1618
+
1619
+ });
1620
+
1621
+
1622
+
1623
+ //Yeni Directory Form Submit
1624
+ $body.on("submit",fdfinder_selector+" #new_directory",function(){
1625
+ var data = $(this).serialize();
1626
+ $.ajax({
1627
+ url: opts.url, dataType: 'json', type: 'POST', data: data, success: function (data) {
1628
+
1629
+ if (data[0]=="true"){
1630
+ fdfinder.find(".right ul.widget li a.refresh").trigger("click");
1631
+ fdfinder.find(".left #all_folders ul.folders li a[href='"+data[1].top_dir+"']").trigger("click");
1632
+ fdfinder.find(".left #all_folders ul.folders li a[href='"+data[1].top_dir+"']").children("span.braca").addClass("closed");
1633
+ }else {
1634
+ if (data[1]=="-1"){
1635
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.new_directory_error_1,{type:"p",dialog_class:'danger'});
1636
+ }
1637
+ else {
1638
+ fnc.prepend_dialog(opts.i18n.faild_process,opts.i18n.error.new_directory_error_0.format(data[2]),{type:"p",dialog_class:'danger'});
1639
+ }
1640
+ }
1641
+ }
1642
+ });
1643
+ return false;
1644
+ });
1645
+
1646
+ //Dialog Kapatma Butonu
1647
+ $body.on("click",fdfinder_selector+" .dialog a.close",function(){
1648
+ fdfinder.find(".dialog").fadeOut(300, function(){ fdfinder.find(".dialog-scope , .dialog").remove(); });
1649
+ fnc.fdfinderresize();
1650
+ return false;
1651
+ });
1652
+
1653
+
1654
+
1655
+
1656
+ //About Sayfası
1657
+ $body.on("click",fdfinder_selector+" .right ul.widget li a.about",function(){
1658
+ return false;
1659
+ });
1660
+
1661
+
1662
+
1663
+
1664
+ //Görüntü Yükseklik Genişlik Ayarları
1665
+ fnc.fdfinderresize();
1666
+ $(window).resize(function(){ fnc.fdfinderresize(); fdfinder.find(".dialog").ortala(); });
1667
+
1668
+ //Tıklama Efekti Ayarı
1669
+ fnc.ripleClick(fdfinder_selector+" .right ul.widget li a ,"+fdfinder_selector+" .right ul.wrapper li div ,"+fdfinder_selector+" .left #all_folders ul.folders li a span.folder");
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+ //String Objesi Metod Ekleme
1677
+ String.prototype.format = function() {
1678
+ var formatted = this;
1679
+ for (var i = 0; i < arguments.length; i++) {
1680
+ var regexp = new RegExp('\\{'+i+'\\}', 'gi');
1681
+ formatted = formatted.replace(regexp, arguments[i]);
1682
+ }
1683
+ return formatted;
1684
+ };
1685
+
1686
+ //$ Genişletme Yeni Metod Ekleme
1687
+ $().__proto__.ortala = function(){
1688
+ this.css({
1689
+ left: ($(window).width()/2)-(this.width()/2),
1690
+ top: ($(window).height()/2)-(this.height()/2)
1691
+ });
1692
+
1693
+ };
1694
+
1695
+ };
1696
+
1697
+ })(jQuery);