source: trunk/expressoMail1_2/js/TreeShow.js @ 118

Revision 118, 8.4 KB checked in by wmerlotto, 16 years ago (diff)

ContactCenter? internacionalizado. Corrigido falhas de tradução do ExpressoMail?.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1/**************************************************************************\
2 Início
3\**************************************************************************/
4
5        function Tree_Box(){
6               
7                this.name_folder = "";
8                this.name_func   = "";
9                connector.loadScript("TreeS");
10        }
11        Tree_Box.prototype.update_folder = function(){
12
13                var handler_update_folders = function(data){
14                        folders = data;
15                        // update element dftree_folders_tree;
16                        ttree.make_tree(data,"div_tree","folders_tree","ttree.get_folder(\"root\")",ttreeBox.name_folder,ttreeBox.name_folder,false);
17                       
18                        // update element dftree_tree_folders;
19                        if(Element('content_folders')){Element('content_folders').innerHTML = "";}
20                        draw_tree_folders(folders);
21                       
22                        // update element dftree_wfolders_tree;
23                        if (Element('dftree_wfolders_tree')){
24                                Element('dftree_wfolders_tree').innerHTML = '';
25                                ttree.make_tree(data,"wfolders_content_tree","wfolders_tree","","","",false);   
26                        }
27                        ttree.FOLDER = ttreeBox.name_folder;
28                        tree_folders.getNodeById(get_current_folder())._select();
29                }
30                cExecute ("$this.imap_functions.get_folders_list", handler_update_folders);             
31        }
32
33        Tree_Box.prototype.verify_children = function(param){
34                var aux;
35                var aux1;
36                var cont = parseInt(0);
37                for(var i=0 ; i < folders.length; i++){
38                        aux = folders[i].folder_id.split(cyrus_delimiter);
39                        aux.pop();
40                        for(var j=0; j < aux.length; j++){
41                                if(j == 0)
42                                        aux1 = aux[j];
43                                else
44                                        aux1 += cyrus_delimiter + aux[j];
45                        }
46                        if( aux1 == param){
47                                cont++;
48                        }
49                }
50                if( cont == 0){
51                        ttreeBox.del_past(param);
52                }else{
53                       alert(get_lang("Delete your sub-folders first"));
54                }
55                cont = parseInt(0);
56        }
57       
58        // Função para verificar ponto e espacos;
59        Tree_Box.prototype.verify = function(exp)
60        {
61                var reTipo = /^(.*)(\/)(.*)$/;
62               
63                if(reTipo.test(exp)){
64                        return false;
65                }
66                return true;
67        }
68
69        // Função para verificar o nome da caixa;
70        Tree_Box.prototype.verify_names = function(name_folder){
71
72                var arr_nm_folder = new Array("INBOX","Enviados","Enviado","Rascunhos","Rascunho","Lixeira");
73                for(var i=0 ; i < arr_nm_folder.length; i++){
74                        if(name_folder == arr_nm_folder[i]){
75                                ttree.FOLDER = "";
76                                return true;
77                        }
78                }
79                return false;
80        }
81       
82        // Valida os nomes das pastas
83        Tree_Box.prototype.validate = function(func){
84       
85                var aux = ttree.FOLDER.split(cyrus_delimiter);
86                var aux2;
87
88                if(ttree.FOLDER != ""){
89                        if(aux.length > 1){aux2 = aux[1];}
90                        else{aux2 = aux[0];}
91                        if(this.verify_names(aux2)){
92                                if(func == "newpast")
93                                       if(aux2 == "INBOX"){alert(get_lang("It's not possible create inside : INBOX" ))}else{alert(get_lang("It's not possible create inside : ") + aux2)};
94                                if(func == "rename")
95                                      if(aux2 == "INBOX"){alert(get_lang("It's not possible rename the folder : Caixa de Entrada" ))}else{alert(get_lang("It's not possible rename the folder : ") + aux2)};
96                                return false;
97                        }else{
98                                if(func == "newpast"){
99                                       var button = prompt(get_lang("Enter the name of the new box :"),"");
100
101                                        if(trim(button) == "" || trim(button) == null){
102                                                return false;
103                                        }else{
104                                                ttreeBox.new_past(button);
105                                        }
106                                }
107                                if(func == "rename"){
108                                        if(ttree.FOLDER == "root"){
109                                               alert(get_lang("It's not possible rename this folder!"));
110                                                return false;
111                                        }
112                                        if(ttree.FOLDER == get_current_folder()){
113                                               alert(get_lang("It's not possible rename this folder becouse it is being used in the moment!"));
114                                                return false;
115                                        }
116                                       var button1 = prompt(get_lang("Enter a name for the box"), "");
117                                        if(trim(button1) == "" || trim(button1) == null){
118                                                return false;
119                                        }else{
120                                                ttreeBox.rename(button1);
121                                        }
122                                }
123                        }
124                }else{
125                        alert(get_lang("Select a folder"));
126                        return false;
127                }
128        }
129       
130        // Para criar a nova pasta;
131        Tree_Box.prototype.new_past = function(newp){
132
133        var aux   = ttree.FOLDER.split(cyrus_delimiter);
134        var newp2 = "";
135               
136                if(aux.length == 1 && aux[0] != "root"){
137                       alert(get_lang("It's not possible create inside : ") + aux[0]);
138                        newp = "";
139                }else{
140                        if( aux[0] == "root"){
141                                if(!this.verify(newp)){
142                                       alert(get_lang("Type without spaces, dots or special characters!"));
143                                        newp = "";
144                                        return false;
145                                }else{
146                                        newp2 = newp;
147                                        newp = "INBOX" + cyrus_delimiter + newp;
148                                }
149                        }else{
150                                if(!this.verify(newp)){
151                                        alert(get_lang("Type without spaces, dots or special characters!"));
152                                        newp = "";
153                                        return false;
154                                }else{
155                                        newp2 = newp;
156                                        newp = ttree.FOLDER + cyrus_delimiter + newp;
157                                }
158                        }
159                }
160                if(newp != ""){
161                        var handler_return = function(data){           
162                                if(data != "Ok"){
163                                        alert(data);
164                                }else{
165                                        ttreeBox.name_folder = newp;
166                                        this.name_func = "newpast";
167                                        ttreeBox.update_folder();
168                                }
169                        }
170                        var args = "$this.imap_functions.create_mailbox";
171                        var params = "newp="+newp;
172                        cExecute(args,handler_return,params);
173                }       
174        }
175       
176        // Funcao para renomear a pasta;
177        Tree_Box.prototype.rename = function(rename){
178
179                var old_box  = ttree.FOLDER;
180                var aux = old_box.split(cyrus_delimiter);
181                var rename_new = "";
182               
183                if(old_box == "root"){
184                       alert(get_lang("Select a folder"));
185                        return false;
186                }
187                if(aux.length == 1){
188                       alert(get_lang("It's not possible rename : ") + aux[0]);
189                        rename = "";
190                        return false;
191                }else{
192                        if(this.verify_names(aux[1])){
193                               alert(get_lang("It's not possible rename : ") + aux[1]);
194                                rename = "";
195                                return false;
196                        }else{
197                                if(!this.verify(rename)){
198                                        alert(get_lang("Type without spaces, dots or special characters!"));
199                                        rename = "";
200                                        return false;
201                                }else{
202                                        aux.pop();
203                                        aux.push(rename);
204                                        for(var i=0; i< aux.length; i++){
205                                                if( i == 0)
206                                                        rename_new = aux[i];
207                                                else
208                                                        rename_new += cyrus_delimiter + aux[i];
209                                        }
210                                }       
211                        }
212                }
213                if(rename != ""){
214                        var handler_return = function(data)
215                        {               
216                                ttree.FOLDER = "";
217                                ttreeBox.update_folder();                               
218                        }
219                        var args = "$this.imap_functions.ren_mailbox";
220                        var params = "rename="+rename_new+"&current="+old_box;
221                        cExecute(args,handler_return,params);
222                }
223        }
224        //
225        Tree_Box.prototype.export_all_msg = function(){
226                       
227                if(ttree.FOLDER == "root"){return false;}
228                var nm_bx = ttree.FOLDER.split(cyrus_delimiter);
229                var name_f = nm_bx[nm_bx.length -1];
230                var hand_export = function(data){
231                        if(!data){
232                                write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.'))
233                        }else
234                          download_attachments(null, null, data, null,null, name_f +'.zip');
235                }
236                cExecute("$this.exporteml.export_all",hand_export,"folder="+ttree.FOLDER);     
237                write_msg(get_lang('You must wait while the messages will be exported...'));                   
238        }
239       
240        // Função para deletar a pasta;
241        Tree_Box.prototype.del = function(){
242       
243                var aux = ttree.FOLDER.split(cyrus_delimiter);
244
245                if(aux[0] == "root" || ttree.FOLDER == ""){
246                        alert(get_lang("Select a folder!"));
247                        return false;
248                }
249               
250                if(aux.length == 1){
251                       alert(get_lang("It's not possible delete the folder Inbox"));           
252                        return false;
253                }else{
254                        if(this.verify_names(aux[1])){
255                               alert(get_lang("It's not possible delete the folter ") + aux[1]);         
256                                return false;
257                        }else{
258                                this.verify_children(ttree.FOLDER);
259                        }
260                }       
261        }
262       
263        Tree_Box.prototype.del_past = function(param){
264
265                var aux = param.split(cyrus_delimiter);
266                var aux1 = aux.pop();
267
268                if(ttree.FOLDER == get_current_folder()){
269                      alert(get_lang("It's not possible rename this folder, it is begin in use at the moment!"));
270                        return false;
271                }
272               if(confirm(get_lang("Do you wish to erase the folder ") + aux1+ "?")){
273                        var handler_return = function(data)
274                        {               
275                                if(data != "Ok")
276                                {
277                                        alert(data);
278                                }else{
279                                        ttree.FOLDER = "";
280                                        ttreeBox.update_folder();
281                                       alert(get_lang("The folder " + aux1 + get_lang(" was successfully erased")));                                   
282                                }
283                        }
284                        var args = "$this.imap_functions.delete_mailbox";
285                        var params = "del_past="+param;
286                        cExecute(args,handler_return,params);
287                }else{
288                        alert(get_lang("The folder was not deleted!"));
289                }
290       
291        }
292/* - Build Object -*/
293        var ttreeBox;
294        ttreeBox = new Tree_Box();
Note: See TracBrowser for help on using the repository browser.