source: trunk/expressoMail1_2/js/messages_controller.js @ 7496

Revision 7496, 30.4 KB checked in by marcosw, 11 years ago (diff)

Ticket #3088 - Removido comentários inválidos

Line 
1/**
2 * @author diogenes
3 */
4
5        function messages_proxy() {
6               
7        }
8/**
9 * Retorna os cabeçalhos das mensagens a serem desenhadas na caixa de email.
10 */
11    messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip,call_back) {
12        if(this.is_local_folder(folder)) {
13            //MAILARCHIVER-01
14            var baseFolder = folder.replace('local_messages_', '');
15            var tree_name;
16            var drawinginfo = {};
17            expresso_mail_archive.update_counters = false;
18            expresso_mail_archive.currentfolder = baseFolder;
19            expresso_mail_archive.getFolderInfo(expresso_mail_archive.currentfolder);
20            expresso_mail_archive.drawdata = drawinginfo;
21
22            if(tree_name == 'tree_folders'){ //only the 'tree_folders' must show messages. 'folders_tree' are just for managment operation
23                var exp_dfs = new Array(baseFolder,msg_range_begin,emails_per_page,sort_box_type,search_box_type, sort_box_reverse,preview_msg_subject,preview_msg_tip);
24                expresso_mail_archive.queryconfig.setExpressoDefaults(exp_dfs);
25                expresso_mail_archive.listMessages();
26            }
27            else{
28                //window.alert('sem arvore para atualizar, com sort_box_type =' + sort_box_type + ' e search_box_type= ' + search_box_type + ' reverse -- ' + sort_box_reverse);
29                var exp_dfs = new Array(baseFolder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip);
30                expresso_mail_archive.queryconfig.setExpressoDefaults(exp_dfs);
31                //Para recontagem de mensagens para aba e paginação.
32                expresso_mail_archive.tot_msgs_tab = 0;
33                expresso_mail_archive.tot_unseen_msgs_tab = 0;
34                expresso_mail_archive.listAllMessagesByFolder(folder.replace("local_messages_",""), search_box_type);
35                selectAllFolderMsgs(false);
36                populateSelectedMsgs(expresso_mail_archive.allmessagesbyfolder);
37                expresso_mail_archive.listMessages();
38            }
39
40        }else {
41            $.ajax({
42                url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",
43                                    folder: folder,
44                                    msg_range_begin: msg_range_begin,
45                                    msg_range_end: emails_per_page,
46                                    sort_box_type: sort_box_type,
47                                    search_box_type: search_box_type,
48                                    sort_box_reverse: sort_box_reverse } ),
49
50                  success: function( data ){
51                    data = connector.unserialize(data);
52                   
53                    if( data )
54                        call_back( data );
55                  },
56                  beforeSend: function( jqXHR, settings ){
57                    connector.showProgressBar();
58                  },
59                  complete: function( jqXHR, settings ){
60                    connector.hideProgressBar();
61                  }
62             
63            });
64        }
65    }
66
67        messages_proxy.prototype.get_msg = function(msg_number,msg_folder,set_flag,call_back) {
68                if(this.is_local_folder(msg_folder)) {
69            //MAILARCHIVER-02
70            expresso_mail_archive.getMessage(msg_number);
71                }else{
72                    $.ajax({
73                              url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg',
74                                                                  msg_number: msg_number,
75                                                                  msg_folder: msg_folder
76                                                                  } ),
77                              success: function( data ){
78                                  data = connector.unserialize( data );
79                                 
80                                  if( data )
81                                      call_back( data );
82                              },
83                                  beforeSend: function( jqXHR, settings ){
84                                        connector.showProgressBar();
85                                  },
86                                  complete: function( jqXHR, settings ){
87                                        connector.hideProgressBar();
88                                  }
89
90                    });
91                }
92
93        }
94       
95        messages_proxy.prototype.delete_msgs = function(folder, msgs_number, border_ID) {
96
97                if (folder == 'null')
98                        folder = get_current_folder();
99
100        //Validação para recuperar o id caso não seja aba de listagem
101                if (msgs_number == 'selected' && currentTab != 0) //Recupera apenas o id da mensagem aberta
102                        msgs_number = currentTab.substr(0,currentTab.indexOf('_r'));
103        else if (msgs_number == 'selected' && currentTab == 0)
104            msgs_number = get_selected_messages();
105
106                if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){
107                        var content_search = document.getElementById('content_id_'+currentTab);
108                        action_msg_selected_from_search(content_search.id, 'delete');
109                        refresh();
110                        //draw_tree_folders();
111                        //update_local_box();
112                        return;
113                }
114                       
115                if (!this.is_local_folder(folder)){
116                        delete_msgs(folder, msgs_number, border_ID);
117                }else {   
118            //MAILARCHIVER-03
119            var msg_to_delete = Element(msgs_number);
120            //user has preference to show previous message on deleting one
121            if (isNaN(currentTab) && parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) {
122                    if (msg_to_delete.previousSibling){
123                            var previous_msg = msg_to_delete.previousSibling.id;
124                           
125                            //user has preference to maintain default folder structure at local folders, so we have trash folder
126                            if(preferences.auto_create_local == 1){
127                                //user has preference to "save" delete messasge on trash folder, so move it to there
128                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){
129                                    expresso_mail_archive.folder_destination = 'trash';
130                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
131                                    delete_border(currentTab,'false');
132                                    expresso_mail_archive.getMessage(previous_msg);
133                                }
134                                //user does not want to save messages deleted on trash. purge them imediatly
135                                else{
136                                    expresso_mail_archive.deleteMessages(msgs_number);
137                                    delete_border(currentTab,'false');
138                                    expresso_mail_archive.getMessage(previous_msg)
139                                }                                                                               
140                            }
141                            //maybe, we do not have trash.
142                            else{
143                                //user has preference to "save" delete messasge on trash folder, so move it to there
144                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){
145                                    expresso_mail_archive.createFolder("","Trash");
146                                    expresso_mail_archive.folder_destination = 'trash';
147                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
148                                    delete_border(currentTab,'false');
149                                    expresso_mail_archive.getMessage(previous_msg);
150                                }
151                                //user does not want to save messages deleted on trash. purge them imediatly
152                                else{
153                                    expresso_mail_archive.deleteMessages(msgs_number);
154                                    delete_border(currentTab,'false');
155                                    expresso_mail_archive.getMessage(previous_msg)
156                                }                                         
157                            }
158                    }
159                    //there is no previous message existing to show. Just delete de view context
160                    else{
161                           //user has preference to maintain default folder structure at local folders, so we have trash folder
162                           if(preferences.auto_create_local == 1){
163                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){
164                                    expresso_mail_archive.folder_destination = 'trash';
165                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
166                                    delete_border(currentTab,'false');
167                                }
168                                //user does not want to save messages deleted on trash. purge them imediatly
169                                else{
170                                    expresso_mail_archive.deleteMessages(msgs_number);
171                                    delete_border(currentTab,'false');
172                                }                                       
173                           }
174                            //maybe, we do not have trash. Purge message so.
175                            else{
176                                //user has preference to "save" delete messasge on trash folder, so move it to there
177                                if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){
178                                    expresso_mail_archive.createFolder("","Trash");
179                                    expresso_mail_archive.folder_destination = 'trash';
180                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
181                                    expresso_mail_archive.getMessage(previous_msg);
182                                }
183                                //user does not want to save messages deleted on trash. purge them imediatly
184                                else{
185                                    expresso_mail_archive.deleteMessages(msgs_number);
186                                }                                   
187                            }
188                    }
189            }
190            //user has no preferece to show previous message on deleting
191            else{
192                if(preferences.auto_create_local == 1){
193                    //user has preference to "save" delete messasge on trash folder, so move it to there
194                    if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){
195                        expresso_mail_archive.folder_destination = 'trash';
196                        expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
197                        delete_border(currentTab,'false');
198                    }
199                    //user does not want to save messages deleted on trash (or is cleaning it). purge them imediatly
200                    else{
201                        expresso_mail_archive.deleteMessages(msgs_number);
202                        delete_border(currentTab,'false');
203                    }                           
204                }
205                //maybe, we do not have trash. Purge message so.
206                else{
207                    //user has preference to "save" delete messasge on trash folder, so move it to there
208                    if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){
209                        expresso_mail_archive.createFolder("","Trash");
210                        expresso_mail_archive.folder_destination = 'trash';
211                        expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number);
212                    }
213                    //user does not want to save messages deleted on trash. purge them imediatly
214                    else{
215                        expresso_mail_archive.deleteMessages(msgs_number);
216                    }     
217                }
218            }
219                }
220
221        //Código adicionado para o correto funcionamento da seleção independente de paginação.
222        $.each(msgs_number.split(","), function(index, value){
223            delete selectedPagingMsgs[value];
224        });
225        totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
226        selectAllFolderMsgs(false);
227        updateSelectedMsgs();
228        }
229       
230        messages_proxy.prototype.link_anexo = function (info_msg,numero_ordem_anexo) {
231
232                if(info_msg.local_message==true) {
233            //MAILARCHIVER-04
234            return "javascript:download_local_attachment('"+ mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/temp/download/' +info_msg.attachments[numero_ordem_anexo].pid + "')";
235                }
236                else {
237                        return "javascript:download_attachments('"+Base64.encode(info_msg.msg_folder)+"','"+info_msg.msg_number+"',"+numero_ordem_anexo+",'"+info_msg.attachments[numero_ordem_anexo].pid+"','"+info_msg.attachments[numero_ordem_anexo].encoding+"','"+info_msg.attachments[numero_ordem_anexo].name+"')";
238                }
239        }
240
241        messages_proxy.prototype.proxy_source_msg = function (id_msg,folder) {
242                if(!this.is_local_folder(folder)) {
243                        source_msg(id_msg,folder);
244                }
245                else {
246                        var num_msg = id_msg.substr(0,(id_msg.length - 2));
247                        expresso_local_messages.get_source_msg(num_msg);
248                }
249        }
250       
251        messages_proxy.prototype.proxy_set_messages_flag = function (flag,msg_number){
252        //MAILARCHIVER
253        if(this.is_local_folder(get_current_folder())) {           
254            var msglist = get_selected_messages();   
255            var arrlist = msglist.split(",");
256            var operation;
257            var strtag;
258           
259            for(var i in arrlist){
260                switch(flag.toLowerCase()){
261                    case 'unseen':
262                        strtag = "unseen";
263                        operation = 0;
264                        set_msg_as_unread(arrlist[i]);
265                        break;
266                    case 'seen':
267                        strtag = "unseen";
268                        operation = 1;
269                        set_msg_as_read(arrlist[i]);
270                        break;
271                    case 'flagged':
272                        strtag = "flagged, importance_high";
273                        operation = 0;
274                        set_msg_as_flagged(arrlist[i]);
275                        break;
276                    case 'unflagged':
277                        strtag = "flagged, importance_high";
278                        operation = 1;
279                        set_msg_as_unflagged(arrlist[i]);
280                        break;
281                }
282                expresso_mail_archive.currenttag = flag;
283                var tl = expresso_mail_archive.pattern.tagConfig(strtag, arrlist[i], operation);
284                expresso_mail_archive.taglist = tl;                             
285                expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1);
286            }
287        }
288        else {
289            set_messages_flag(flag,msg_number);
290            // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada
291            // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta.
292            if('UNSEEN' == search_box_type)
293                return sort_box('UNSEEN','SORTARRIVAL');
294        }
295        }
296       
297        messages_proxy.prototype.proxy_set_message_flag = function (msg_number,flag,func_after_flag_change,msgid){
298        var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas
299                if(!msg_number_folder)
300                        var msg_number_folder = Element("input_folder_"+msg_number+"_r"); //Mensagens abertas
301                var folder = msg_number_folder ?  msg_number_folder.value : get_current_folder();
302
303        //MAILARCHIVER
304        if(this.is_local_folder(folder)) {
305            if(!msgid)
306                msgid = msg_number;
307            var taglist = flag;
308            var operation;
309   
310            switch(flag.toLowerCase()){
311                case 'unseen':
312                    strtag = "unseen";
313                    operation = 0;
314                    set_msg_as_unread(msgid);
315                    break;
316                case 'seen':
317                    strtag = "unseen";
318                    operation = 1;
319                    set_msg_as_read(msgid);
320                    break;
321                case 'flagged':
322                    strtag = 'flagged, importance_high';
323                    operation = 0;
324                    set_msg_as_flagged(msgid);
325                    break;
326                case 'unflagged':
327                    strtag = "flagged, importance_high";
328                    operation = 1;
329                    set_msg_as_unflagged(msgid);
330                    break;
331                case 'forwarded':
332                    strtag = "forwarded";
333                    operation = 0;
334                    set_msg_as_flagged(msgid);
335                case 'answered':
336                    strtag = "answered";
337                    operation = 0;
338                    set_msg_as_flagged(msgid);                                 
339                   
340            }               
341           
342            expresso_mail_archive.drawdata = null;
343            var tl = expresso_mail_archive.pattern.tagConfig(strtag, msgid, operation);
344            expresso_mail_archive.currenttag = flag;
345            expresso_mail_archive.taglist = tl;
346            expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1);
347        }
348        else {
349            set_message_flag(msg_number,flag, func_after_flag_change);
350        }
351        }
352       
353        messages_proxy.prototype.is_local_folder = function(folder) {
354                if(typeof(folder) == "undefined" || folder.indexOf("local_")==-1)
355                        return false;
356                return true;
357        }
358       
359        /*
360        messages_proxy.prototype.proxy_rename_folder = function(){
361                var specialFolders = special_folders[ttree.getFolder().split(cyrus_delimiter)[ttree.getFolder().split(cyrus_delimiter).length-1]];
362                if (ttree.getFolder() == 'INBOX' || specialFolders ) {
363                        alert(get_lang("It's not possible rename the folder: ") + lang_folder((specialFolders ? specialFolders : ttree.getFolder()))+ '.');
364                        return false;
365                }
366                if(ttree.getFolder() == 'root') {
367                        alert(get_lang("It's not possible rename this folder!"));
368                        return false;
369                }
370                if(!specialFolders && ttree.getFolder() == get_current_folder()){
371                                alert(get_lang("It's not possible rename this folder, because it is being used in the moment!"));
372                                return false;
373                }
374               
375                if (this.is_local_folder(ttree.getFolder())) {
376                        folder = prompt(get_lang("Enter a name for the box"), "");
377                        if(folder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){
378                        alert(get_lang("It's not possible rename this folder. try other folder name"));
379                        return false;
380                        }
381                        if(trim(folder) == "" || trim(folder) == null){
382                                alert(get_lang("you have to enter the name of the new folder"));
383                                return false;
384                        }
385                        var temp = expresso_local_messages.rename_folder(folder, ttree.FOLDER.substr(6));
386                        if (!temp)
387                                alert(get_lang("cannot rename folder. try other folder name"));
388                        ttreeBox.update_folder();
389                }
390                else {
391                        ttreeBox.validate("rename");
392                }
393               
394        }
395        */
396        /*
397        messages_proxy.prototype.proxy_create_folder = function() {
398                if (folders.length == preferences.imap_max_folders){
399                    alert(get_lang("Limit reached folders"));
400                    return false;
401                }
402               
403                if (this.is_local_folder(ttree.FOLDER)) {
404                        folder = prompt(get_lang('Enter the name of the new folder:'), "");
405
406                        if(folder == null)
407                            return;
408
409
410                        if(trim(folder) == ""){
411                                alert(get_lang("you have to enter the name of the new folder"));
412                                return false;
413                        }
414                        if(folder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){
415                            alert(get_lang("cannot create folder. try other folder name"));
416                            return false;
417                        }
418                        if(ttree.FOLDER=="local_root")
419                                var temp = expresso_local_messages.create_folder(folder);
420                        else
421                                var temp = expresso_local_messages.create_folder(ttree.FOLDER.substr(6)+"/"+folder);
422                        if (!temp)
423                                alert(get_lang("cannot create folder. try other folder name"));
424                        ttreeBox.update_folder(true);
425                }
426                else                   
427                        if(ttree.FOLDER == "INBOX")
428                                alert(get_lang("It's not possible create inside: ") + lang_folder(ttree.FOLDER)+".");
429                        else if (!this.is_local_folder(ttree.FOLDER))
430                                ttreeBox.validate("newpast");
431                        else
432                                alert(get_lang("It's not possible create inside: ") + lang_folder(ttree.FOLDER.substr(6))+".");
433        }
434        */
435        /*
436        messages_proxy.prototype.proxy_remove_folder = function() {
437                if (this.is_local_folder(ttree.FOLDER)) {
438                        if(ttree.FOLDER == 'local_root') {
439                                alert(get_lang("Select a folder!"));
440                                return false;
441                        }
442                        if (ttree.FOLDER == 'local_Inbox' || (preferences.auto_create_local == '1' && (ttree.FOLDER == 'local_Sent' || ttree.FOLDER == 'local_Drafts' || ttree.FOLDER == 'local_Trash'))) {
443                                alert(get_lang("It's not possible delete the folder: ")  + lang_folder(ttree.FOLDER.substr(6)) + '.');
444                                return false;
445                        }
446                        if(ttree.FOLDER.match("^local_.*$") && ttree.FOLDER == get_current_folder()){
447                            alert(get_lang("It's not possible rename this folder, because it is being used in the moment!"));
448                            return false;
449                        }
450
451                        if(ttree.FOLDER.indexOf("/")!="-1") {
452                                final_pos = ttree.FOLDER.lastIndexOf("/");
453                                new_caption = ttree.FOLDER.substr(final_pos+1);
454                        }
455                        else {
456                                new_caption = ttree.FOLDER.substr(6);
457                        }
458                        var string_confirm = get_lang("Do you wish to exclude the folder ") + new_caption + "?";
459
460                        if (confirm(string_confirm)) {
461                                var flag = expresso_local_messages.remove_folder(ttree.FOLDER.substr(6));
462                                if (flag) {
463                                        write_msg(get_lang("The folder %1 was successfully removed", new_caption));
464                                        draw_tree_local_folders();
465                                        ttreeBox.update_folder(true);
466                                }
467                                else
468                                        alert(get_lang("Delete your sub-folders first"));
469                               
470                        }
471                }
472                else
473                        ttreeBox.del();
474        }*/
475
476        messages_proxy.prototype.proxy_move_messages = function (folder, msgs_number, border_ID, new_folder, new_folder_name) {
477                if (! folder || folder == 'null')
478                        folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder());
479
480        //MAILARCHIVER-08
481        if (this.is_local_folder(folder)){
482            expresso_mail_archive.update_counters = true;
483            //Folder de onde sai a mensagem é local (armazenamento local)
484            if (folder == new_folder){
485                write_msg(get_lang('The origin folder and the destination folder are the same.'));
486                                return;
487            }                   
488
489            //Validação para recuperar o id caso não seja aba de listagem
490            if (msgs_number == 'selected' && currentTab != 0) //Recupera apenas o id da mensagem aberta
491                msgs_number = currentTab.substr(0,currentTab.indexOf('_r'));
492            else
493                msgs_number = get_selected_messages();
494
495            if (new_folder == 'local_root'){
496                alert(get_lang("Select a folder!"));
497            }
498                       
499            if (parseInt(msgs_number) > 0 || msgs_number.length > 0) {
500                if (this.is_local_folder(new_folder)){
501                    //esta tirando de um folder local para outro folder local
502                    expresso_mail_archive.moveMessages(new_folder.replace("local_messages_",""), msgs_number);
503                    if(currentTab != 0)
504                        delete_border(currentTab,'false');
505                }
506                else{
507                    //esta tirando de um folder local para um folder IMAP (desarquivamento)
508                    if(!new_folder){
509                        new_folder = 'INBOX';
510                    }
511                    if(currentTab.toString().indexOf("_r") != -1){
512                        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));
513                    }                     
514                    expresso_mail_archive.unarchieve(folder, new_folder, msgs_number);
515                }
516            }
517            else{
518                write_msg(get_lang('No selected message.'));
519            }
520        }else{
521            if (this.is_local_folder(new_folder)){
522                //esta tirando de um folder não local para um folder local (arquivamento)
523                if(msgs_number=='selected'){
524                    archive_msgs(folder, new_folder);
525                }
526                else{
527                    archive_msgs(folder, new_folder, msgs_number);
528                }
529            }
530            else{
531                //esta tirando de um folder não local para outro folder não local (move)
532                move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);
533            }
534        }       
535
536        //Adicionado código para o correto funcionamento da seleção independente de paginação.
537        $.each(msgs_number.split(","), function(index, value){
538            delete selectedPagingMsgs[value];
539        });
540        totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
541        selectAllFolderMsgs(false);
542        updateSelectedMsgs();
543        }
544       
545        messages_proxy.prototype.proxy_move_search_messages = function(border_id, new_folder, new_folder_name) {
546               
547               
548                /*
549               
550               
551                if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas não locais...
552                        if (folder == new_folder){
553                                write_msg(get_lang('The origin folder and the destination folder are the same.'));
554                                return;
555                        }
556                        if(msgs_number=='selected')
557                                msgs_number = get_selected_messages();
558                        if (new_folder == 'local_root')
559                                alert(get_lang("Select a folder!"));
560                        if (parseInt(msgs_number) > 0 || msgs_number.length > 0) {
561                                expresso_local_messages.move_messages(new_folder.substr(6), msgs_number);
562                                this.aux_interface_remove_mails(msgs_number, new_folder_name, border_ID);
563                        }
564                        else
565                                write_msg(get_lang('No selected message.'));
566                }
567                else
568                        if ((!this.is_local_folder(folder)) && (!this.is_local_folder(new_folder))) { //Move entre pastas locais...
569                                move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);
570                        }
571                        else if ((!this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) {
572                                archive_msgs(folder,new_folder);
573                        }
574                        else {
575                                write_msg(get_lang("you can't move mails from local to server folders"));
576                        }*/
577        }
578       
579        messages_proxy.prototype.aux_interface_remove_mails = function(msgs_number,new_folder_name,border_ID,previous_msg) {
580                if(!msgs_number)
581                        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));
582                       
583                if(msgs_number === ""){
584                        write_msg(get_lang('No selected message.'));
585                        return;
586                }
587               
588                Element('chk_box_select_all_messages').checked = false;
589                mail_msg = Element("tbody_box");
590                msgs_number = msgs_number.split(",");
591                var msg_to_delete;
592                this.previous = 0;
593                for (var i=0; i<msgs_number.length; i++){
594                        msg_to_delete = Element(msgs_number[i]);
595                        if (msg_to_delete){
596                                if ( (msg_to_delete.style.backgroundColor != '') && (preferences.use_shortcuts == '1') )
597                                        select_msg('null', 'down');
598                                       
599                                  if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete && currentTab.toString().indexOf("_r") > 0)
600                                for(var ii=0; ii < mail_msg.rows.length; ii++){
601                                        if(mail_msg.rows[ii] === msg_to_delete){
602                                                if(ii == 0){
603                                                        break;
604                                                }else{
605                                                        this.previous = mail_msg.rows[(ii - 1)].attributes[0];
606                                                        this.previous = parseInt(this.previous.value);
607                                                        break;
608                                                }
609                                        }
610                                }
611                                mail_msg.removeChild(msg_to_delete);
612                        }
613                }
614                new_folder_name = this.get_folder_name(new_folder_name);
615                if (msgs_number.length == 1)
616                        write_msg(get_lang("The message was moved to folder ") + new_folder_name);
617                else
618                        write_msg(get_lang("The messages were moved to folder ") + new_folder_name);
619
620                if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete && this.previous){
621                        proxy_mensagens.get_msg(this.previous, folder, true, show_msg);
622                }else if(currentTab != 0){
623                if (border_ID != '' && border_ID != 'null'){
624                                delete_border(border_ID,'false');
625                        }else{
626                                delete_border(currentTab,'false');
627                        }
628                }
629                if(folder == get_current_folder())
630                        Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - msgs_number.length;                 
631        }
632
633        messages_proxy.prototype.get_folder_name = function(new_folder_name){
634                switch (new_folder_name) {
635                        case 'local_Inbox':
636                                return 'Local_Caixa de Entrada';
637                        case 'local_Sent':
638                                return 'Local_Enviados';
639                        case 'local_Trash':
640                                return 'Local_Lixeira';
641                        case 'local_Drafts':
642                                return 'Local_Rascunhos';
643                        default:
644                                return new_folder_name;
645                }
646        }
647       
648        messages_proxy.prototype.msg_img = function(msgs_number,folder_name,call_back) {
649     if(this.is_local_folder(folder_name)){
650         var msg = expresso_local_messages.get_local_mail(msgs_number);
651                 eval('call_back(msg)');
652     }
653     else
654         $.ajax({
655                  url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg',
656                                                      msg_number: msgs_number,
657                                                      msg_folder: folder_name,
658                                                      decoded: true } ),
659                  success: function( data ){
660                      data = connector.unserialize( data );
661                     
662                      if( data )
663                          call_back( data );
664                  },
665                  beforeSend: function( jqXHR, settings ){
666                        connector.showProgressBar();
667                  },
668                  complete: function( jqXHR, settings ){
669                        connector.hideProgressBar();
670                  }
671
672        });
673    }
674
675    messages_proxy.prototype.export_all_messages = function(folder){
676        if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){ 
677            alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");
678            return true;
679        }
680        if (!folder) {
681            folder = get_current_folder();
682        }
683
684        if(!this.is_local_folder(folder) || folder.split("_")[0] == "local"){
685            export_all_selected_msgs();
686        }else{
687            local_messages.prototype.local_messages_to_export();
688        }
689        }
690       
691        messages_proxy.prototype.archive_message = function(folder, msgs_number) {
692                if(msgs_number == 'get_selected_messages')
693                        msgs_number = get_selected_messages();
694                       
695                expresso_mail_archive.Archive("INBOX", "inbox", msgs_number);
696        }
697
698    messages_proxy.prototype.unarchive_message = function(folder, msgs_number) {
699
700        if(msgs_number == 'get_selected_messages')
701            msgs_number = get_selected_messages();
702
703        expresso_mail_archive.unarchieve(folder, "inbox", msgs_number);
704        $('.select-link').trigger('click',function(){selectAllFolderMsgs();$('.select-link').unbind('click');});
705    }
706       
707        var proxy_mensagens;
708        proxy_mensagens = new messages_proxy();
Note: See TracBrowser for help on using the repository browser.