source: sandbox/filemanager/js/draw_api.js @ 1846

Revision 1846, 22.0 KB checked in by amuller, 14 years ago (diff)

Ticket #597 - Melhoria do FM, tornando a programação des-orientada a objetos

RevLine 
[1719]1
2function 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
[1730]12function loadHistory(filename){
[1748]13        cExecute('./index.php?menuaction=filemanager.uifilemanager.history&file='+base64_encode(filename)+"&path="+base64_encode(currentPath),draw_window);
[1730]14}
15
16function loadPermissions(data){
17        var permission = parseInt(data);
18        var ACL_READ = 1;
19        var ACL_ADD = 2;
20        var ACL_EDIT = 4;
21        var ACL_DELETE = 8;
22        var ACL_PRIVATE = 16;
23
24        permissions['read']=(permission & ACL_READ);
25        permissions['add']=(permission & ACL_ADD);
26        permissions['edit']=(permission & ACL_EDIT);
27        permissions['delete']=(permission & ACL_DELETE);
28        permissions['private']=(permission & ACL_PRIVATE);
29        toolbar.load();
30}
[1726]31function close_window(){
32        var menu =  document.getElementById('dwindow');
[1804]33        if (menu != null)
34                menu.style.visibility = 'hidden'
[1726]35}
36function draw_window(htmlData){
37        var menu =  document.getElementById('dwindow');
[1804]38        headerWin = '<div class="message_header" style="width: 100%; heigth: 22px;"'+
39                ' onselectstart="return false">'+
40                '<img align="right" alt="'+get_lang('close')+'" title="'+get_lang('close')+'" '+
[1812]41                'onclick="close_window()" src="'+templatePath+'/images/close.png">'+
[1804]42                get_lang('filemanager')+'</div>';
[1726]43        if (!menu){
44                menu = document.createElement('DIV');
45                menu.id = "dwindow";
[1809]46                menu.style.left = 200;
47                menu.style.width = "400px";
[1726]48                menu.style.top = DocY;
49                menu.className = 'menubox';
50                menu.style.zIndex='1';
[1804]51                menu.innerHTML = headerWin+htmlData;
[1841]52                document.getElementById('tdAppbox').appendChild(menu);
[1726]53        }
54        else{
[1804]55                menu.innerHTML = headerWin+htmlData;
[1726]56                menu.style.visibility = 'visible';
57        }
[1719]58
[1726]59}
60
[1719]61function draw_menu(id,elements){
62        var menu = document.getElementById('menu_newFile'+id);
63        if (menu == null){
64                menu = document.createElement('DIV');
65                menu.id = "menu_newFile"+id;
66                menu.style.left = DocX;
67                menu.style.top = DocY;
68                for(j in elements)
69                {
70                        if (typeof(elements[j]['img']) != 'undefined'){
71                                var img = document.createElement( 'IMG' );
72                                img.src = elements[j]['img'];
73                                menu.appendChild(img);
74                        }
75                        var link = document.createElement( 'A' );
76                        link.href = elements[j]['url'];
77                        link.appendChild( document.createTextNode( elements[j]['text'] ) );
78                        menu.appendChild(link);
79                        menu.appendChild(document.createElement( 'BR' ));
80                }
81
82                menu.onmouseout = function () { menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",50);}
83                menu.onmouseover = function () { clearTimeout(menuTimeout); };
84                menu.className = 'menubox';
85                menu.style.zIndex='1';
86                document.getElementById('divAppboxHeader').appendChild(menu);
87        }
88        menu.style.visibility = 'visible';
89}
90
[1704]91function resizeDiv(){
92        defaultHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight;
93        document.getElementById('fmFileWindow').style.height = defaultHeight-170;
94        document.getElementById('content_folders').style.height = defaultHeight - (is_ie ? 230 : 215);
95
96}
[1627]97var headerMsgLock = false;
98var labelBefore = "";
99function write_msg (message){
[1841]100        connector.hideProgressBar();
[1627]101        if (headerMsgLock){
102                setTimeout('write_msg("'+message+'");', 300);
103                return;
104        }
105        headerMsgLock = true;
106        headerDiv = document.getElementById("divAppboxHeader");
107        labelBefore = headerDiv.innerHTML;
108        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>';
109        setTimeout('headerMsgLock = false; document.getElementById("divAppboxHeader").innerHTML = labelBefore;', 3000);
110}
111
112function write_error (message){
[1841]113        connector.hideProgressBar();
[1627]114        if (headerMsgLock){
115                setTimeout('write_error("'+message+'");', 300);
116                return;
117        }
118        headerMsgLock = true;
119        headerDiv = document.getElementById("divAppboxHeader");
120        labelBefore = headerDiv.innerHTML;
121        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>';
122        setTimeout('headerMsgLock = false; document.getElementById("divAppboxHeader").innerHTML = labelBefore;', 3000);
123}
124
125function displayMessages(){
126        var messages = document.getElementById("allMessages");
[1694]127
[1627]128        for (i=0; i < messages.childNodes.length; i++){
129                if (messages.childNodes[i].innerHTML.indexOf(get_lang('Error:')) == 0)
130                        write_error(messages.childNodes[i].innerHTML);
131                else
132                        write_msg(messages.childNodes[i].innerHTML);
133        }
134}
[1719]135
136function loadPreferences(){
137        preferencesEl = document.getElementById('userPreferences');
138        preferences = unserialize(preferencesEl.value);
[1810]139        preferencesEl.parentNode.removeChild(preferencesEl);
[1704]140}
[1719]141function reloadFiles(newCriteria){
142        if (newCriteria == criteria)
143                order_type = (order_type=='1'?'0':'1')
144        else
145                criteria = newCriteria;
[1730]146        toolbar.control('reload');
[1719]147}
148
[1730]149function initDrawApi(){
[1809]150        loadPreferences();
[1730]151        currentPath = document.getElementById('currentPath').value;
[1785]152        toolbar.control('reload');
[1730]153        document.getElementById('divAppboxHeader').innerHTML = title_app;
154        displayMessages();
155        resizeDiv();
156        window.onresize = resizeDiv;
157        document.body.style.overflow = "hidden";
158
[1719]159}
[1730]160
161
162function folderList(){
163        this.td = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">';
[1719]164}
[1730]165folderList.prototype.init = function(){
166        this.element = document.getElementById('fmFileWindow');
167}
168folderList.prototype.clear = function(){
169        this.element.innerHTML = "";
170}
171
172folderList.prototype.drawSearch = function(data){
173        var fl = folderList;
[1726]174        var files = unserialize(data);
175        if (files == null)
176        {
177                alert(get_lang('No results found'));
178                return
179        }
[1730]180        toolbar.clear();
181        fl.init();
182        fl.clear();
[1726]183        var newpage;
184        var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;"';
185        var sp_tl = '</span></td>';
[1737]186        newpage = '<table cellspacing="0" cellpadding="2" width="100%"><tbody><tr class="message_header">';
[1730]187        newpage += fl.td+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>';
188        newpage += fl.td+sp_hd+' id="name">'+get_lang('file name')+sp_tl;
189        newpage += fl.td+sp_hd+' id="folder">'+get_lang('folder')+sp_tl;
[1726]190        if (preferences.mime_type =='1')
[1730]191                newpage += fl.td+sp_hd+' id="mime">'+get_lang('mime type')+sp_tl;
[1726]192        if (preferences.size =='1')
[1730]193                newpage += fl.td+sp_hd+' id="size">'+get_lang('size')+'</a>'+sp_tl;
[1726]194        if (preferences.created =='1')
[1730]195                newpage += fl.td+sp_hd+' id="created">'+get_lang('created')+'</a>'+sp_tl;
[1726]196        if (preferences.modified =='1')
[1730]197                newpage += fl.td+sp_hd+' id="modified">'+get_lang('modified')+'</a>'+sp_tl;
[1726]198        if (preferences.createdby_id =='1')
[1730]199                newpage += fl.td+sp_hd+' id="creatdby">'+get_lang('created by')+'</a>'+sp_tl;
[1726]200        if (preferences.modifiedby_id =='1')
[1730]201                newpage += fl.td+sp_hd+' id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl;
[1726]202        if (preferences.comment =='1')
[1730]203                newpage += fl.td+sp_hd+' id="comm">'+get_lang('comment')+'</a>'+sp_tl;
204        if (preferences.version =='1') newpage += fl.td+sp_hd+' id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>';
205
[1726]206        for (var i=0; i < files.length; i++)
207        {
[1730]208                newpage += '<tr>'+fl.td;
[1726]209                newpage += '<input name="fileman" value="'+files[i].name+'" type="checkbox"></td>';
210                newpage += '<td></td><td></td>';
[1730]211                newpage += fl.td+'<img src="'+files[i].icon+'">';
[1748]212                newpage += '<a id="name_'+files[i].name+'" href="./index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(files[i].name)+'&path='+base64_encode(files[i].directory)+'" target="_blank">'+files[i].name+'</a>&nbsp;</td>';
[1730]213                newpage += fl.td+files[i].directory+'</td>';
214                if (preferences.mime_type =='1') newpage += fl.td+files[i].mime_type+'</td>';
215                if (preferences.size =='1') newpage += fl.td+borkb(files[i].size)+'</td>';
216                if (preferences.created =='1') newpage += fl.td+files[i].created+'</td>';
217                if (preferences.modified =='1') newpage += fl.td+files[i].modified+'</td>';
218                if (preferences.createdby_id =='1') newpage += fl.td+files[i].createdby_id+'</td>';
219                if (preferences.modifiedby_id =='1') newpage += fl.td+files[i].modifiedby_id+'</td>';
220                if (preferences.comment =='1') newpage += fl.td+'<span id="'+files[i].name+'">'+files[i].comment+'</span></td>';
221                if (preferences.version =='1') newpage += fl.td+'<span>'+files[i].version+'</span></td></tr>';
[1719]222
[1726]223        }
[1730]224        fl.element.innerHTML = newpage;
225        fl.drawStripes();
[1726]226}
[1784]227folderList.prototype.createLine = function(file){
228                var fl = folderList;
229                retBuff = fl.td;
230                retBuff += '<input name="fileman" value="'+file.name+'" type="checkbox"></td>';
231                if (permissions['private']) {
232                        retBuff += '<td><img id="restrict_'+file.name+'" onclick="setRestricted(\''+file.name+'\')" ';
233                        retBuff += 'src="'+templatePath+'images/button_'+(file.pub == '1'?'lock':'unlock')+'.png"></td>';
234                }
235                else
236                        retBuff += '<td></td>';
[1726]237
[1784]238                if (file.mime == 'text/html')
[1815]239                        retBuff += '<td><a href="./index.php?menuaction=filemanager.uifilemanager.export&file='+base64_encode(file.name)+'&path='+base64_encode(currentPath)+'"><img alt="'+get_lang('export')+'" title="'+get_lang('export')+'" src="'+templatePath+'images/button_export.png"></a></td>';
[1784]240                else
241                        retBuff += '<td></td>';
242                retBuff += fl.td+'<img src="'+(file.icon)+'">';
[1829]243                if((file.mime).toUpperCase().indexOf('IMAGE') == 0)
244                        var mousefunc = 'draw_card(\''+file.name+'\')'
245                else
246                        var mousefunc = 'document.getElementById(\'menu_newFilepreview\').style.visibility = \'hidden\'';
247                retBuff += '<a onmouseover="'+mousefunc+'" id="name_'+file.name+'" href="./index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(file.name)+'&path='+base64_encode(currentPath)+'" target="_blank">'+file.name+'</a>&nbsp;</td>';
[1784]248                if (preferences.mime_type =='1') retBuff += fl.td+file.mime+'</td>';
249                if (preferences.size =='1') retBuff += fl.td+borkb(file.size)+'</td>';
250                var now = new Date();
251                var dtString = "";
252                if (preferences.created =='1') {
253                        var created = new Date();
254                        created.setTime(file.creatd*1000);
255                        if (now.getTime() - created.getTime() < 86400000)
256                                if (created.getMinutes() < 10 )
257                                        dtString = created.getHours()+":0"+created.getMinutes();
258                                else
259                                        dtString = created.getHours()+":"+created.getMinutes();
260                        else
261                                dtString = created.getDate()+"/"+created.getMonth()+"/"+created.getFullYear();
262                        retBuff += fl.td+dtString+'</td>';
263                }
264                if (preferences.modified =='1'){
265                        var modified = new Date();
266                        modified.setTime(file.modifd*1000);
267                        if (file.modifd != "")
268                                if (now.getTime() - modified.getTime() < 86400000)
269                                        if (modified.getMinutes() < 10)
270                                                dtString = modified.getHours()+":0"+modified.getMinutes();
271                                        else
272                                                dtString = modified.getHours()+":"+modified.getMinutes();
273                                else
274                                        dtString = modified.getDate()+"/"+modified.getMonth()+"/"+modified.getFullYear();
275                        else
276                                dtString = "";
277                        retBuff += fl.td+dtString+'</td>';
278                }
279                if (preferences.owner =='1') retBuff += fl.td+file.owner+'</td>';
280                if (preferences.createdby_id =='1') retBuff += fl.td+file.creatdby+'</td>';
281                if (preferences.modifiedby_id =='1') retBuff += fl.td+file.modifdby+'</td>';
[1791]282                if (preferences.comment =='1') retBuff += fl.td+'<input id="'+file.name+'" class="inputComment" onkeydown="enterComments(event,this)" onclick="presetComments(this)" onblur="setComments(this)" value="'+file.comm+'" alt="'+get_lang('Click to change comments')+'" title="'+get_lang('Click to change comments')+'"></input></td>';
[1784]283                if (preferences.version =='1') retBuff += fl.td+'<span onclick="loadHistory(\''+file.name+'\')">'+file.vers+'</span></td>';
284                return retBuff;
285}
[1785]286folderList.prototype.updateQuota = function(quotaSize,usedSpace){
[1804]287        if (parseInt(quotaSize) != 0){
288                var contentQuota = document.getElementById('content_quota');
289                if (contentQuota != null)
290                        contentQuota.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)+'% ('+borkb(usedSpace)+'/'+borkb(quotaSize)+')</span></td></tr></tbody></table></td></tr></table>';
291        }
[1785]292}
[1730]293folderList.prototype.drawFiles = function(data){
294        var fl = folderList;
[1785]295        var returnData = unserialize(data);
296        loadPermissions(returnData.permissions);
297        var files = returnData.files;
[1730]298        fl.init();
299        fl.clear();
[1719]300        var newpage;
301        var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;" onclick="reloadFiles(\'';
302        var sp_tl = '</span></td>';
[1737]303        newpage = '<table cellspacing="0" cellpadding="2" width="100%"><tbody><tr class="message_header">';
[1730]304        newpage += fl.td+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>';
305        newpage += fl.td+sp_hd+'name\')" id="name">'+get_lang('file name')+sp_tl;
[1719]306        if (preferences.mime_type =='1')
[1730]307                newpage += fl.td+sp_hd+'mime\')" id="mime">'+get_lang('mime type')+sp_tl;
[1719]308        if (preferences.size =='1')
[1730]309                newpage += fl.td+sp_hd+'size\')" id="size">'+get_lang('size')+'</a>'+sp_tl;
[1719]310        if (preferences.created =='1')
[1730]311                newpage += fl.td+sp_hd+'creatd\')" id="creatd">'+get_lang('created')+'</a>'+sp_tl;
[1719]312        if (preferences.modified =='1')
[1730]313                newpage += fl.td+sp_hd+'modifd\')" id="modifd">'+get_lang('modified')+'</a>'+sp_tl;
[1719]314        if (preferences.owner =='1')
[1730]315                newpage += fl.td+sp_hd+'owner\')" id="owner">'+get_lang('owner')+'</a>'+sp_tl;
[1719]316        if (preferences.createdby_id =='1')
[1730]317                newpage += fl.td+sp_hd+'creatdby\')" id="creatdby">'+get_lang('created by')+'</a>'+sp_tl;
[1719]318        if (preferences.modifiedby_id =='1')
[1730]319                newpage += fl.td+sp_hd+'modifdby\')" id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl;
[1719]320        if (preferences.comment =='1')
[1730]321                newpage += fl.td+sp_hd+'comm\')" id="comm">'+get_lang('comment')+'</a>'+sp_tl;
322        if (preferences.version =='1') newpage += fl.td+sp_hd+'vers\')" id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>';
[1732]323        if (files != null)
[1719]324        for (var i=0; i < files.length; i++)
325        {
[1784]326                newpage += '<tr>';
327                newpage += fl.createLine(files[i]);
328                newpage += '</tr>';
[1719]329        }
[1732]330        else
331                newpage = "<b>"+get_lang('no files in this directory.')+"</b>";
[1730]332        fl.element.innerHTML = newpage;
[1719]333        header = document.getElementsByName('head');
334        for (var i=0; i < header.length; i++)
335        {
336                if (header[i].id == criteria){
337                        header[i].style.fontWeight = 'bold';
338                        arrow = document.createElement('IMG');
339                        if (order_type == '1')
340                                arrow.src = templatePath+'images/arrow_ascendant.gif';
341                        else
342                                arrow.src = templatePath+'images/arrow_descendant.gif';
343                        header[i].appendChild(arrow);
344                }
345        }
[1730]346        fl.drawStripes();
[1785]347        folderList.updateQuota(returnData.quota.quotaSize,returnData.quota.usedSpace);
[1719]348}
[1730]349folderList.prototype.drawStripes = function(){
350        var classTr = "tr_msg_read";
351        folderList.init();
352        var elements = folderList.element.firstChild.firstChild.childNodes;
353        for (var i = 1; i < elements.length; i++){
354                elements[i].className = classTr;
355                classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read");
356        }
357}
358var folderList = new folderList();
[1719]359
[1730]360function toolbar()
361{
362        var element;
363}
364toolbar.prototype.clear = function (){
365        this.element.innerHTML = "";
366}
367toolbar.prototype.load = function (){
368        this.element = document.getElementById('fmMenu');
[1719]369        if (permissions['read'] == 0)
370                return;
371        var pageContent = '<table><tbody><tr>';
[1730]372        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>'; }
[1719]373
374        if (permissions['edit'] != 0){
375                pageContent += createButton('edit');
376                pageContent += createButton('rename');
377        }
378        if (permissions['delete'] != 0){
379                pageContent += createButton('delete');
380                pageContent += createButton('move_to');
381        }
382        pageContent += createButton('copy_to');
383
[1730]384        this.element.innerHTML = pageContent+'</tr></tbody></table>';
[1719]385
386}
[1730]387toolbar.prototype.control = function (arg)
388{
389        //Used to get button position
390        var button = document.getElementsByName(arg);
391        button = button[0];
392        switch (arg) {
393                case 'new':
394                        elements = new Array();
[1804]395                        elements[0] = { 'text': get_lang('empty file'),
396                                        'url': 'javascript:newEmptyFile()'};
[1730]397                        elements[1] = new Array();
398                        elements[1]['text'] = get_lang('File from model');
399                        address = document.location.toString();
400                        address = address.split("?");
401                        elements[1]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.fileModels";
[1804]402                        elements[2] = { 'text' : get_lang('Upload'),
403                                        'url': 'javascript:newUpload()'};
[1730]404                        draw_menu(arg,elements);
405                        break;
406                case 'rename':
407                        var one_checked = false;
408                        files=document.getElementsByName('fileman');
409                        for (i = 0; i <  files.length; i++)
410                                if (files[i].checked){
411                                        one_checked = true;
412                                        files[i].checked = false;
413                                        var nameLink = document.getElementById('name_'+files[i].value);
414                                        var inputName = document.createElement('INPUT');
415                                        inputName.id = 'input_'+files[i].value;
416                                        var filename = nameLink.innerHTML;
417                                        inputName.value = filename;
[1803]418                                        inputName.onclick = function () { oldValue = inputName.value; }
[1846]419                                        inputName.onblur = function () { if (inputName.value == oldValue) handler.rename(); else cExecute('./index.php?menuaction=filemanager.vfs_functions.rename&file='+base64_encode(this.id.substr(6))+'&to='+base64_encode(this.value)+"&path="+base64_encode(currentPath),handler.rename) };
[1791]420                                        inputName.onkeydown=function (event) {if (event.keyCode == KEY_ENTER) this.blur(); };
[1730]421                                        nameLink.parentNode.appendChild(inputName);
422                                        nameLink.parentNode.removeChild(nameLink);
423                                }
424                        if (!one_checked)
425                                write_msg(get_lang('Please select a file'));
426                        break;
427                case 'edit':
428                        var one_checked = false;
429                        files=document.getElementsByName('fileman');
430                        for (i = 0; i <  files.length; i++)
431                                if (files[i].checked){
432                                        one_checked = true;
433                                        var filename=files[i].value;
434                                }
435                        if (one_checked){
436                                address = document.location.toString();
437                                address = address.split("&");
438                                document.location = address[0]+"&"+arg+".x=1&filename="+base64_encode(filename)+".&path="+base64_encode(currentPath);
439                        }
440                        else
441                        {
442                                write_msg(get_lang('Please select a file'));
443                                return;
444                        }
445                        break;
446                case 'delete':
447                        filesUrl = "";
448                        var one_checked = false;
449                        files=document.getElementsByName('fileman');
450                        var j=0;
451                        for (i = 0; i <  files.length; i++)
452                                if (files[i].checked){
453                                        one_checked = true;
454                                        filesUrl += "&fileman["+j+"]="+files[i].value;
455                                        j++;
456                                }
457                        if (!one_checked)
458                        {
459                                write_msg(get_lang('Please select a file'));
460                                return;
461                        }
[1719]462
[1748]463                        cExecute('./index.php?menuaction=filemanager.vfs_functions.delete&path='+
[1846]464                                        base64_encode(currentPath)+filesUrl,handler.del);
[1730]465                        break;
466                case 'move_to':
467                case 'copy_to':
468                        filesUrl = "";
469                        var one_checked = false;
470                        files=document.getElementsByName('fileman');
471                        var j=0;
472                        for (i = 0; i <  files.length; i++)
473                                if (files[i].checked){
474                                        one_checked = true;
475                                        filesUrl += "&fileman["+j+"]="+files[i].value;
476                                        j++;
477                                }
478                        if (!one_checked)
479                        {
480                                write_msg(get_lang('Please select a file'));
481                                return;
482                        }
483                        var elements = new Array();
484                        inputEl = document.getElementById('content_folders');
485                        for(i=0; i< inputEl.childNodes.length; i++)
486                        {
487                                if (inputEl.childNodes[i].nodeName != 'SPAN')
488                                        continue;
489                                elements[i] = new Array();
490                                elements[i]['text']=inputEl.childNodes[i].innerHTML;
491                                address = document.location.toString();
492                                address = address.split("&");
493                                elements[i]['url'] = address[0]+
494                                        "&"+escape(arg)+".x=10"+
[1732]495                                        "&from="+base64_encode(currentPath)+
[1730]496                                        "&to="+base64_encode(inputEl.childNodes[i].innerHTML)+
497                                        filesUrl;
[1726]498
[1730]499                        }
500                        draw_menu(arg,elements);
501                        break;
502                case 'reload':
[1748]503                        cExecute('./index.php?menuaction=filemanager.uifilemanager.dir_ls&path='+base64_encode(currentPath)+'&criteria='+criteria+'&otype='+order_type,folderList.drawFiles);
[1730]504                        return;
505                case 'tools':
506                        elements = new Array();
507                        elements[0] = new Array();
508                        elements[0]['text'] = get_lang('Preferences');
509                        elements[0]['url'] = 'preferences/preferences.php?appname=filemanager';
510                        elements[0]['img'] = templatePath+'images/preferences.png';
511                        elements[1] = new Array();
512                        elements[1]['text'] = get_lang('Search');
513                        elements[1]['url'] = 'javascript:\
514                                document.getElementById("menu_newFiletools").style.visibility="hidden";\
515                                document.getElementById("em_message_search").focus();';
516                        elements[1]['img'] = templatePath+'images/search.gif';
517                        /*
518                           elements[2] = new Array();
519                           elements[2]['text'] = get_lang('Edit Folders');
520                           elements[2]['url'] = 'javascript:EditFolders()';
521                           elements[2]['img'] = 'images/mime16_directory.png';
522                           */
523                        elements[3] = new Array();
524                        elements[3]['text'] = get_lang('Share Folders');
[1748]525                        elements[3]['url'] = "./index.php?menuaction=preferences.uiaclprefs.index&acl_app=filemanager";
[1730]526                        elements[3]['img'] = templatePath+'images/mime16_directory.png';
527                        elements[4] = new Array();
528                        elements[4]['text'] = get_lang('Edit Columns');
529                        elements[4]['url'] = "javascript:EditColumns()";
530                        elements[4]['img'] = templatePath+'images/editpaste.png';
531                        draw_menu(arg,elements);
532                        break;
533                default:
534                        return;
535        }
[1719]536}
[1730]537var toolbar = new toolbar();
[1719]538
[1829]539
540function draw_card(filename){
541        draw_window_card('preview','./index.php?menuaction=filemanager.vfs_functions.summary&file='+base64_encode(filename)+"&path="+base64_encode(currentPath));
542}
543
544function draw_window_card(id,url){
545        var menu = document.getElementById('menu_newFile'+id);
546        if (menu == null){
547                menu = document.createElement('DIV');
548                menu.className = 'menubox';
549                menu.id = "menu_newFile"+id;
550                menu.style.left = DocX;
551                menu.style.top = (DocY+20)+"px";
552                menu.width = "100%";
553                menu.innerHTML = '<img src="'+url+'">';
554                menu.onmouseout = function () { menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",50);}
555                menu.onmouseover = function () { clearTimeout(menuTimeout); };
556                menu.style.zIndex='1';
[1841]557                document.getElementById('tdAppbox').appendChild(menu);
[1829]558        }
559        else
560        {
561                menu.style.left = DocX;
562                menu.style.top = (DocY+20)+"px";
563                menu.innerHTML = '<img src="'+url+'">';
564        }
565        menu.style.visibility = 'visible';
566        clearTimeout(menuTimeout);
[1841]567        menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",3000);
[1829]568}
569
Note: See TracBrowser for help on using the repository browser.