source: sandbox/filemanager/js/handler.js @ 1879

Revision 1879, 5.8 KB checked in by amuller, 14 years ago (diff)

Ticket #597 - Melhoria do FM. melhorias na interface, criação de pastas

Line 
1function handler(){
2}
3handler.prototype.del = function(data){
4        var returnVal = data.split('|');
5        var deletedFiles = "";
6        for (i=0; i < returnVal.length; i++)
7                if (returnVal[i] == 'False'){
8                        write_error(get_lang('Could not delete %1',returnVal[i+1]));
9                        return;
10                }else
11                {
12                        if (returnVal[i] != ""){
13                                deletedFiles += ", "+returnVal[i];
14                                var element = document.getElementById("name_"+returnVal[i]);
15                                var pai = element.parentNode.parentNode;
16                                pai.parentNode.removeChild(pai);
17                        }
18                        if (i > 3) //to avoid big message
19                        {
20                                deletedFiles = "  " +returnVal.length + " " +get_lang("files");
21                                break;
22                        }
23                }
24                write_msg(get_lang('Deleted %1',deletedFiles.substr(2)));
25        //Repaint stripes
26        folderList.drawStripes();
27}
28handler.prototype.rename = function(data) {
29        if (data == null){
30                var returnVal = new Array ("True",oldValue,oldValue);
31        }
32        else
33                var returnVal = data.split('|');
34        if ( returnVal[0] == "True" ){
35                if (returnVal[1] != returnVal[2]) write_msg(get_lang('Renamed %1 to %2',returnVal[1],returnVal[2]));
36                var nameLink = document.createElement('A');
37                var inputName = document.getElementById('input_'+returnVal[1]);
38                nameLink.innerHTML = returnVal[2];
39                nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath);
40                nameLink.target = "_blank";
41                nameLink.id = "name_"+returnVal[2];
42
43                /*Value da checkbox correspondente ao arquivo é atualizada*/
44                inputName.parentNode.parentNode.firstChild.firstChild.value = returnVal[2];
45
46                inputName.parentNode.appendChild(nameLink);
47                inputName.parentNode.removeChild(inputName);
48        }
49        else
50        {
51                if (returnVal[1] == "badchar")
52                        write_error(get_lang('File names cannot contain "%1"',returnVal[2]));
53                else if (returnVal[1] == "slashes")
54                        write_error(get_lang('File names cannot contain \\ or /'));
55                else if (returnVal[1] == "editing")
56                        write_error(get_lang('This file is being edited right now'));
57                else
58                        write_error(get_lang('Could not rename %1 to %2', returnVal[1], returnVal[2]));
59        }
60
61}
62handler.prototype.upload = function(data){
63        close_window();
64        connector.hideProgressBar();
65        var response = unserialize(data);
66        if (response[0] == "Ok")
67                write_msg(get_lang('All files created sucessfuly'));
68        else
69                for (var i=0;i < response.length; i++)
70                        write_error(response[i]);
71        toolbar.control('reload');
72}
73handler.prototype.restricted = function(data){
74        if (data.indexOf("True") == 0){
75                returnVal = data.split('|');
76                var img_lock = document.getElementById('restrict_'+returnVal[1]);
77                if (img_lock.src.indexOf('button_unlock') > 0)
78                {
79                        img_lock.src = img_lock.src.replace(/button_unlock/g,'button_lock');
80                        write_msg(get_lang('%1 marked as restricted',returnVal[1]));
81                }
82                else
83                {
84                        img_lock.src = img_lock.src.replace(/button_lock/g,'button_unlock');
85                        write_msg(get_lang('%1 unmarked as restricted',returnVal[1]));
86                }
87        }
88        else
89                write_error("Could not mark as restricted");
90}
91handler.prototype.archive = function(data) {
92        returnVal = data.split('|');
93        if (returnVal[0] == 'False')
94        {
95                write_error(get_lang('It was not possible to execute it'));
96        }
97        else
98        if (returnVal[0] == 'wpasswd')
99        {
100                write_error(get_lang('Wrong password'));
101                return;
102        }
103        else
104                 write_msg(get_lang('Your operation was successfully executed'));
105        toolbar.control('reload');
106
107}
108handler.prototype.updateComment = function (data) {
109        var returnVal = data.split('|');
110        if (data.indexOf("True") == 0)
111        {
112                write_msg(get_lang('Updated comment for %1',returnVal[1]));
113        }
114        else
115        {
116                if (returnVal[1] == "badchar")
117                        write_error(get_lang('Comments cannot contain "%1"',returnVal[2]));
118                else
119                        write_error(get_lang('You have no permission to access this file'));
120        }
121
122}
123handler.prototype.draw_folders_list = function (data) {
124        toolbar.control('reload');
125        folders_tree = new dFTree({name: 'main'});
126        folders = unserialize(data);
127        var rootFold = new dNode({id:'root', caption:get_lang("filemanager")});
128        folders_tree.add(rootFold,'root');
129        var myfolder = new dNode({id:folders[0], caption:get_lang("My Folder"),onClick:'load(\''+folders[0]+'\',this)'});
130        folders_tree.add(myfolder,'root');
131        for (var i=1;i<folders.length;i++)
132        {
133                var lastIndex = folders[i].lastIndexOf('/');
134                var name = folders[i].substr(lastIndex+1,folders[i].length);
135                var parentDir = folders[i].substr(0,lastIndex);
136                if (parentDir == '/home')
137                {
138                        parentDir = 'root';
139                        folder = new dNode({id:folders[i], caption:name, plusSign:true, onClick:'load(\''+folders[i]+'\',this)'});
140                }
141                else
142                        folder = new dNode({id:folders[i], caption:name, plusSign:false, onClick:'load(\''+folders[i]+'\',this)'});
143                folders_tree.add(folder,parentDir);
144        }
145        document.getElementById('content_folders').innerHTML = "";
146        folders_tree.draw(document.getElementById('content_folders'));
147        folders_tree.openTo(currentPath);
148        folders_tree.getNodeById(currentPath)._select();
149}
150handler.prototype.refreshDir = function (data) {
151        cExecute('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list);
152        toolbar.control('reload');
153}
154
155var handler = new handler();
Note: See TracBrowser for help on using the repository browser.