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

Revision 1782, 20.3 KB checked in by fpcorrea, 14 years ago (diff)

Ticket #597 - Implementar módulo Gerenciador de Arquivos

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