1 | |
---|
2 | function getPointer(e) { |
---|
3 | if (is_ie) { |
---|
4 | DocX = event.clientX + document.body.scrollLeft; |
---|
5 | DocY = event.clientY + document.body.scrollTop; |
---|
6 | } else { |
---|
7 | DocX = e.pageX; |
---|
8 | DocY = e.pageY; |
---|
9 | } |
---|
10 | } |
---|
11 | document.onmousemove = getPointer; |
---|
12 | |
---|
13 | |
---|
14 | function draw_menu(id,elements){ |
---|
15 | var menu = document.getElementById('menu_newFile'+id); |
---|
16 | if (menu == null){ |
---|
17 | menu = document.createElement('DIV'); |
---|
18 | menu.id = "menu_newFile"+id; |
---|
19 | menu.style.left = DocX; |
---|
20 | menu.style.top = DocY; |
---|
21 | //menu.style.left = left_pos+"px"; |
---|
22 | //menu.style.top = top_pos+"px"; |
---|
23 | for(j in elements) |
---|
24 | { |
---|
25 | if (typeof(elements[j]['img']) != 'undefined'){ |
---|
26 | var img = document.createElement( 'IMG' ); |
---|
27 | img.src = elements[j]['img']; |
---|
28 | menu.appendChild(img); |
---|
29 | } |
---|
30 | var link = document.createElement( 'A' ); |
---|
31 | link.href = elements[j]['url']; |
---|
32 | link.appendChild( document.createTextNode( elements[j]['text'] ) ); |
---|
33 | menu.appendChild(link); |
---|
34 | menu.appendChild(document.createElement( 'BR' )); |
---|
35 | } |
---|
36 | |
---|
37 | menu.onmouseout = function () { menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",50);} |
---|
38 | menu.onmouseover = function () { clearTimeout(menuTimeout); }; |
---|
39 | menu.className = 'menubox'; |
---|
40 | menu.style.zIndex='1'; |
---|
41 | document.getElementById('divAppboxHeader').appendChild(menu); |
---|
42 | } |
---|
43 | menu.style.visibility = 'visible'; |
---|
44 | } |
---|
45 | |
---|
46 | function resizeDiv(){ |
---|
47 | defaultHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight; |
---|
48 | document.getElementById('fmFileWindow').style.height = defaultHeight-170; |
---|
49 | document.getElementById('content_folders').style.height = defaultHeight - (is_ie ? 230 : 215); |
---|
50 | |
---|
51 | } |
---|
52 | var headerMsgLock = false; |
---|
53 | var labelBefore = ""; |
---|
54 | function write_msg (message){ |
---|
55 | if (headerMsgLock){ |
---|
56 | setTimeout('write_msg("'+message+'");', 300); |
---|
57 | return; |
---|
58 | } |
---|
59 | headerMsgLock = true; |
---|
60 | headerDiv = document.getElementById("divAppboxHeader"); |
---|
61 | labelBefore = headerDiv.innerHTML; |
---|
62 | headerDiv.innerHTML = '<table width=100% cellspacing="0" cellpadding="0" border="0"><tbody><tr><th width="40%"></th><th noWrap class="action_info_th">'+message+'</th><th width="40%"></th></tr></tbody></table>'; |
---|
63 | setTimeout('headerMsgLock = false; document.getElementById("divAppboxHeader").innerHTML = labelBefore;', 3000); |
---|
64 | } |
---|
65 | |
---|
66 | function write_error (message){ |
---|
67 | if (headerMsgLock){ |
---|
68 | setTimeout('write_error("'+message+'");', 300); |
---|
69 | return; |
---|
70 | } |
---|
71 | headerMsgLock = true; |
---|
72 | headerDiv = document.getElementById("divAppboxHeader"); |
---|
73 | labelBefore = headerDiv.innerHTML; |
---|
74 | headerDiv.innerHTML = '<table width=100% cellspacing="0" cellpadding="0" border="0"><tbody><tr><th width="40%"></th><th noWrap class="action_error_th">'+message+'</th><th width="40%"></th></tr></tbody></table>'; |
---|
75 | setTimeout('headerMsgLock = false; document.getElementById("divAppboxHeader").innerHTML = labelBefore;', 3000); |
---|
76 | } |
---|
77 | |
---|
78 | function displayMessages(){ |
---|
79 | var messages = document.getElementById("allMessages"); |
---|
80 | |
---|
81 | for (i=0; i < messages.childNodes.length; i++){ |
---|
82 | if (messages.childNodes[i].innerHTML.indexOf(get_lang('Error:')) == 0) |
---|
83 | write_error(messages.childNodes[i].innerHTML); |
---|
84 | else |
---|
85 | write_msg(messages.childNodes[i].innerHTML); |
---|
86 | } |
---|
87 | } |
---|
88 | |
---|
89 | function loadPreferences(){ |
---|
90 | preferencesEl = document.getElementById('userPreferences'); |
---|
91 | preferences = unserialize(preferencesEl.value); |
---|
92 | } |
---|
93 | |
---|
94 | |
---|
95 | function reloadFiles(newCriteria){ |
---|
96 | if (newCriteria == criteria) |
---|
97 | order_type = (order_type=='1'?'0':'1') |
---|
98 | else |
---|
99 | criteria = newCriteria; |
---|
100 | toolbar_control('reload'); |
---|
101 | } |
---|
102 | function selectAll(el){ |
---|
103 | checkBoxes = document.getElementsByName('fileman'); |
---|
104 | if (el.checked) |
---|
105 | for (i=0; i < checkBoxes.length; i++) |
---|
106 | checkBoxes[i].checked = true; |
---|
107 | else |
---|
108 | for (i=0; i < checkBoxes.length; i++) |
---|
109 | checkBoxes[i].checked = false; |
---|
110 | |
---|
111 | } |
---|
112 | function borkb(size){ |
---|
113 | kbyte = 1024; |
---|
114 | mbyte = kbyte*1024; |
---|
115 | gbyte = mbyte*1024; |
---|
116 | if (!size) |
---|
117 | size = 0; |
---|
118 | if (size < kbyte) |
---|
119 | return size + 'B'; |
---|
120 | else if (size < mbyte) |
---|
121 | return parseInt(size/kbyte) + 'KB'; |
---|
122 | else if (size < gbyte) |
---|
123 | return (size/mbyte).toFixed(1) + 'MB'; |
---|
124 | else |
---|
125 | return parseInt(size/gbyte).toFixed(1) + 'GB'; |
---|
126 | } |
---|
127 | |
---|
128 | function drawFiles(data){ |
---|
129 | var fmFileWindow = document.getElementById('fmFileWindow'); |
---|
130 | var files = unserialize(data); |
---|
131 | fmFileWindow.innerHTML = ""; |
---|
132 | var newpage; |
---|
133 | var td_hd = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">'; |
---|
134 | var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;" onclick="reloadFiles(\''; |
---|
135 | var sp_tl = '</span></td>'; |
---|
136 | newpage = '<table cellspacing="0" cellpadding="2"><tbody><tr class="message_header">'; |
---|
137 | newpage += td_hd+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; |
---|
138 | newpage += td_hd+sp_hd+'name\')" id="name">'+get_lang('file name')+sp_tl; |
---|
139 | if (preferences.mime_type =='1') |
---|
140 | newpage += td_hd+sp_hd+'mime\')" id="mime">'+get_lang('mime type')+sp_tl; |
---|
141 | if (preferences.size =='1') |
---|
142 | newpage += td_hd+sp_hd+'size\')" id="size">'+get_lang('size')+'</a>'+sp_tl; |
---|
143 | if (preferences.created =='1') |
---|
144 | newpage += td_hd+sp_hd+'created\')" id="created">'+get_lang('created')+'</a>'+sp_tl; |
---|
145 | if (preferences.modified =='1') |
---|
146 | newpage += td_hd+sp_hd+'modified\')" id="modified">'+get_lang('modified')+'</a>'+sp_tl; |
---|
147 | if (preferences.owner =='1') |
---|
148 | newpage += td_hd+sp_hd+'owner\')" id="owner">'+get_lang('owner')+'</a>'+sp_tl; |
---|
149 | if (preferences.createdby_id =='1') |
---|
150 | newpage += td_hd+sp_hd+'creatdby\')" id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; |
---|
151 | if (preferences.modifiedby_id =='1') |
---|
152 | newpage += td_hd+sp_hd+'modifdby\')" id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; |
---|
153 | if (preferences.comment =='1') |
---|
154 | newpage += td_hd+sp_hd+'comm\')" id="comm">'+get_lang('comment')+'</a>'+sp_tl; |
---|
155 | if (preferences.version =='1') newpage += td_hd+sp_hd+'vers\')" id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; |
---|
156 | |
---|
157 | var classTr = "tr_msg_read"; |
---|
158 | for (var i=0; i < files.length; i++) |
---|
159 | { |
---|
160 | newpage += '<tr class="'+classTr+'">'+td_hd; |
---|
161 | newpage += '<input name="fileman" value="'+files[i].name+'" type="checkbox"></td>'; |
---|
162 | if (permissions['private']) { |
---|
163 | newpage += '<td><img id="restrict_'+files[i].name+'" onclick="setRestricted(\''+files[i].name+'\')" '; |
---|
164 | newpage += 'src="'+templatePath+'images/button_'+(files[i].pub == '1'?'lock':'unlock')+'.png"></td>'; |
---|
165 | } |
---|
166 | else |
---|
167 | newpage += '<td></td>'; |
---|
168 | |
---|
169 | if (files[i].mime == 'text/html') |
---|
170 | newpage += '<td><a href="/index.php?menuaction=filemanager.uifilemanager.export&file='+base64_encode(files[i].name)+';path='+base64_encode(currentPath)+'"><img alt="'+get_lang('export')+'" title="'+get_lang('export')+'" src="'+templatePath+'images/button_export.png"></a></td>'; |
---|
171 | else |
---|
172 | newpage += '<td></td>'; |
---|
173 | newpage += td_hd+'<img src="'+(files[i].icon)+'">'; |
---|
174 | newpage += '<a id="name_'+files[i].name+'" href="/index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(files[i].name)+'&path='+base64_encode(currentPath)+'" target="_blank">'+files[i].name+'</a> </td>'; |
---|
175 | if (preferences.mime_type =='1') newpage += td_hd+files[i].mime+'</td>'; |
---|
176 | if (preferences.size =='1') newpage += td_hd+borkb(files[i].size)+'</td>'; |
---|
177 | if (preferences.created =='1') newpage += td_hd+files[i].creatd+'</td>'; |
---|
178 | if (preferences.modified =='1') newpage += td_hd+files[i].modifd+'</td>'; |
---|
179 | if (preferences.owner =='1') newpage += td_hd+files[i].owner+'</td>'; |
---|
180 | if (preferences.createdby_id =='1') newpage += td_hd+files[i].creatdby+'</td>'; |
---|
181 | if (preferences.modifiedby_id =='1') newpage += td_hd+files[i].modifdby+'</td>'; |
---|
182 | if (files[i].comm == null || files[i].comm.length == 0) |
---|
183 | files[i].comm = "<"+get_lang("no comments")+">"; |
---|
184 | if (preferences.comment =='1') newpage += td_hd+'<span id="'+files[i].name+'" onclick="setComments(this)">'+files[i].comm+'</span></td>'; |
---|
185 | if (preferences.version =='1') newpage += td_hd+'<span onclick="loadHistory(\''+files[i].name+'\')">'+files[i].vers+'</span></td></tr>'; |
---|
186 | // /index.php?menuaction=filemanager.uifilemanager.history&file=MDAxMC5lbWw%253D&path=L2hvbWUvem9yZWlh |
---|
187 | classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read"); |
---|
188 | |
---|
189 | } |
---|
190 | fmFileWindow.innerHTML = newpage; |
---|
191 | header = document.getElementsByName('head'); |
---|
192 | for (var i=0; i < header.length; i++) |
---|
193 | { |
---|
194 | if (header[i].id == criteria){ |
---|
195 | header[i].style.fontWeight = 'bold'; |
---|
196 | arrow = document.createElement('IMG'); |
---|
197 | if (order_type == '1') |
---|
198 | arrow.src = templatePath+'images/arrow_ascendant.gif'; |
---|
199 | else |
---|
200 | arrow.src = templatePath+'images/arrow_descendant.gif'; |
---|
201 | header[i].appendChild(arrow); |
---|
202 | } |
---|
203 | } |
---|
204 | } |
---|
205 | |
---|
206 | |
---|
207 | function loadToolbar(){ |
---|
208 | if (permissions['read'] == 0) |
---|
209 | return; |
---|
210 | var toolbar = document.getElementById('fmMenu'); |
---|
211 | var pageContent = '<table><tbody><tr>'; |
---|
212 | var createButton = function(name) { return '<td name="'+name+'" class="toolButton" onclick="toolbar_control(\''+name+'\');" title="'+name+'"><img src="'+templatePath+'images/button_'+name+'.png" alt="'+name+'"><small>'+get_lang(name.replace('_',' '))+'</small></td>'; } |
---|
213 | |
---|
214 | if (permissions['edit'] != 0){ |
---|
215 | pageContent += createButton('edit'); |
---|
216 | pageContent += createButton('rename'); |
---|
217 | } |
---|
218 | if (permissions['delete'] != 0){ |
---|
219 | pageContent += createButton('delete'); |
---|
220 | pageContent += createButton('move_to'); |
---|
221 | } |
---|
222 | pageContent += createButton('copy_to'); |
---|
223 | |
---|
224 | toolbar.innerHTML = pageContent+'</tr></tbody></table>'; |
---|
225 | |
---|
226 | |
---|
227 | } |
---|
228 | |
---|
229 | function loadPermissions(data){ |
---|
230 | var permission = parseInt(data); |
---|
231 | var ACL_READ = 1; |
---|
232 | var ACL_ADD = 2; |
---|
233 | var ACL_EDIT = 4; |
---|
234 | var ACL_DELETE = 8; |
---|
235 | var ACL_PRIVATE = 16; |
---|
236 | |
---|
237 | permissions['read']=(permission & ACL_READ); |
---|
238 | permissions['add']=(permission & ACL_ADD); |
---|
239 | permissions['edit']=(permission & ACL_EDIT); |
---|
240 | permissions['delete']=(permission & ACL_DELETE); |
---|
241 | permissions['private']=(permission & ACL_PRIVATE); |
---|
242 | loadToolbar(); |
---|
243 | loadPreferences(); |
---|
244 | toolbar_control('reload'); |
---|
245 | } |
---|
246 | |
---|
247 | function initDrawApi(){ |
---|
248 | currentPath = document.getElementById('currentPath').value; |
---|
249 | cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(currentPath),loadPermissions); |
---|
250 | quotaSize = document.getElementById('quotaSize').value; |
---|
251 | usedSpace = document.getElementById('usedSpace').value; |
---|
252 | |
---|
253 | document.getElementById('divAppboxHeader').innerHTML = title_app; |
---|
254 | |
---|
255 | if (parseInt(quotaSize) != 0) |
---|
256 | document.getElementById('content_quota').innerHTML = '<table width="102" cellspacing="0" cellpadding="0" border="0" id="table_quota"><tbody><tr><td width="102" nowrap="true" height="15" background="../phpgwapi/templates/default/images/dsunused.gif"><table cellspacing="0" cellpadding="0" border="0" style="width: '+parseInt((usedSpace/quotaSize)*100)+'%;"><tbody><tr><td height="15" class="dsused"/></tr></tbody></table></td><td nowrap="true" align="center"><span class="boxHeaderText">'+parseInt(usedSpace/quotaSize*100)+'% ('+(usedSpace/1024/1024).toFixed(1)+'M/'+(quotaSize/1024/1024)+'M)</span></td></tr></tbody></table></td></tr></table>'; |
---|
257 | displayMessages(); |
---|
258 | resizeDiv(); |
---|
259 | window.onresize = resizeDiv; |
---|
260 | document.body.style.overflow = "hidden"; |
---|
261 | |
---|
262 | // Disabled for now |
---|
263 | // document.getElementById('main_table').style.visibility = ""; |
---|
264 | |
---|
265 | } |
---|
266 | |
---|