Changeset 7414 for trunk/expressoMail1_2/js/messages_controller.js
- Timestamp:
- 10/11/12 18:14:36 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/messages_controller.js
r7200 r7414 9 9 * Retorna os cabeçalhos das mensagens a serem desenhadas na caixa de email. 10 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) { 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 14 //MAILARCHIVER-01 15 16 //var baseFolder = folder.substr(6); 17 var baseFolder = folder.replace('local_messages_', ''); 18 var tree_name; 19 //var drawinginfo = {treeObject: tree_name, treeName: tree_name, folderName: baseFolder}; 20 var drawinginfo = {}; 21 expresso_mail_archive.update_counters = false; 22 expresso_mail_archive.currentfolder = baseFolder; 23 expresso_mail_archive.getFolderInfo(expresso_mail_archive.currentfolder); 24 expresso_mail_archive.drawdata = drawinginfo; 25 26 if(tree_name == 'tree_folders'){ //only the 'tree_folders' must show messages. 'folders_tree' are just for managment operation 27 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); 28 expresso_mail_archive.queryconfig.setExpressoDefaults(exp_dfs); 29 expresso_mail_archive.listMessages(); 30 } 31 else{ 32 if (!tree_name){ 33 //window.alert('sem arvore para atualizar, com sort_box_type =' + sort_box_type + ' e search_box_type= ' + search_box_type + ' reverse -- ' + sort_box_reverse); 34 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); 35 expresso_mail_archive.queryconfig.setExpressoDefaults(exp_dfs); 36 expresso_mail_archive.listMessages(); 37 } 38 if(tree_name == 'folders_tree'){ 39 /*var div_export_local = document.createElement('div'); 40 div.style.width 41 var lbl_check = document.createElement('label'); 42 var check_export_local_recursive = document.createElement('input'); 43 var lbl_combo = document.createElement('label'); 44 var combo_export_local_format = document.createElement('select');*/ 45 //window.alert('alert td content = ' + Element('div_buttons').getElementsByTagName('table')[0].tbody[0].tr[4].td[0].innerHTML); 46 //Element('div_buttons').appendChild(div_export_local); 47 } 48 } 49 50 }else { 51 $.ajax({ 52 url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3", 53 folder: folder, 54 msg_range_begin: msg_range_begin, 55 msg_range_end: emails_per_page, 56 sort_box_type: sort_box_type, 57 search_box_type: search_box_type, 58 sort_box_reverse: sort_box_reverse } ), 59 60 success: function( data ){ 61 data = connector.unserialize(data); 62 63 if( data ) 64 call_back( data ); 65 }, 66 beforeSend: function( jqXHR, settings ){ 67 connector.showProgressBar(); 68 }, 69 complete: function( jqXHR, settings ){ 70 connector.hideProgressBar(); 71 } 72 73 }); 74 } 75 } 76 messages_proxy.prototype.messages_list_old = 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 77 if(this.is_local_folder(folder)) { 13 78 var real_folder = folder.substr(6); … … 53 118 messages_proxy.prototype.get_msg = function(msg_number,msg_folder,set_flag,call_back) { 54 119 if(this.is_local_folder(msg_folder)) { 55 if(set_flag) 56 expresso_local_messages.set_messages_flag(msg_number,"seen"); 57 var data = expresso_local_messages.get_local_mail(msg_number); 58 59 eval("call_back(data)"); 120 121 122 //if(set_flag) 123 // expresso_local_messages.set_messages_flag(msg_number,"seen"); 124 // var data = expresso_local_messages.get_local_mail(msg_number); 125 //MAILARCHIVER-02 126 expresso_mail_archive.getMessage(msg_number); 127 128 //eval("call_back(data)"); 60 129 }else{ 61 130 $.ajax({ … … 86 155 if (folder == 'null') 87 156 folder = get_current_folder(); 88 if (msgs_number == 'selected') 89 msgs_number = get_selected_messages(); 90 157 158 //Validação para recuperar o id caso não seja aba de listagem 159 if (msgs_number == 'selected' && currentTab != 0) //Recupera apenas o id da mensagem aberta 160 msgs_number = currentTab.substr(0,currentTab.indexOf('_r')); 161 else if (msgs_number == 'selected' && currentTab == 0) 162 msgs_number = get_selected_messages(); 163 91 164 if(currentTab != 0 && currentTab.indexOf("search_") >= 0){ 92 165 var content_search = document.getElementById('content_id_'+currentTab); … … 100 173 if (!this.is_local_folder(folder)){ 101 174 delete_msgs(folder, msgs_number, border_ID); 102 }else { 103 if((folder != 'local_Trash') && (expresso_local_messages.as_trash())){ 104 expresso_local_messages.move_messages('Trash', msgs_number); 105 this.aux_interface_remove_mails(msgs_number, 'local_Trash', border_ID); 106 draw_tree_local_folders(); 107 update_local_box(); 108 refresh(); 109 }else{ 110 expresso_local_messages.delete_msgs(msgs_number, border_ID); 111 draw_tree_local_folders(); 112 update_local_box(); 113 refresh(); 114 } 115 } 175 }else { 176 //MAILARCHIVER-03 177 var msg_to_delete = Element(msgs_number); 178 //user has preference to show previous message on deleting one 179 if (isNaN(currentTab) && parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) { 180 if (msg_to_delete.previousSibling){ 181 var previous_msg = msg_to_delete.previousSibling.id; 182 183 //user has preference to maintain default folder structure at local folders, so we have trash folder 184 if(preferences.auto_create_local == 1){ 185 //user has preference to "save" delete messasge on trash folder, so move it to there 186 if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 187 expresso_mail_archive.folder_destination = 'trash'; 188 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 189 delete_border(currentTab,'false'); 190 expresso_mail_archive.getMessage(previous_msg); 191 } 192 //user does not want to save messages deleted on trash. purge them imediatly 193 else{ 194 expresso_mail_archive.deleteMessages(msgs_number); 195 delete_border(currentTab,'false'); 196 expresso_mail_archive.getMessage(previous_msg) 197 } 198 } 199 //maybe, we do not have trash. 200 else{ 201 //user has preference to "save" delete messasge on trash folder, so move it to there 202 if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 203 expresso_mail_archive.createFolder("","Trash"); 204 expresso_mail_archive.folder_destination = 'trash'; 205 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 206 delete_border(currentTab,'false'); 207 expresso_mail_archive.getMessage(previous_msg); 208 } 209 //user does not want to save messages deleted on trash. purge them imediatly 210 else{ 211 expresso_mail_archive.deleteMessages(msgs_number); 212 delete_border(currentTab,'false'); 213 expresso_mail_archive.getMessage(previous_msg) 214 } 215 } 216 } 217 //there is no previous message existing to show. Just delete de view context 218 else{ 219 //user has preference to maintain default folder structure at local folders, so we have trash folder 220 if(preferences.auto_create_local == 1){ 221 if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 222 expresso_mail_archive.folder_destination = 'trash'; 223 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 224 delete_border(currentTab,'false'); 225 } 226 //user does not want to save messages deleted on trash. purge them imediatly 227 else{ 228 expresso_mail_archive.deleteMessages(msgs_number); 229 delete_border(currentTab,'false'); 230 } 231 } 232 //maybe, we do not have trash. Purge message so. 233 else{ 234 //user has preference to "save" delete messasge on trash folder, so move it to there 235 if (((preferences.save_deleted_msg == true)) && (folder != expresso_mail_archive.specialfolders.trash)){ 236 expresso_mail_archive.createFolder("","Trash"); 237 expresso_mail_archive.folder_destination = 'trash'; 238 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 239 expresso_mail_archive.getMessage(previous_msg); 240 } 241 //user does not want to save messages deleted on trash. purge them imediatly 242 else{ 243 expresso_mail_archive.deleteMessages(msgs_number); 244 } 245 } 246 } 247 } 248 //user has no preferece to show previous message on deleting 249 else{ 250 if(preferences.auto_create_local == 1){ 251 //user has preference to "save" delete messasge on trash folder, so move it to there 252 if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){ 253 expresso_mail_archive.folder_destination = 'trash'; 254 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 255 delete_border(currentTab,'false'); 256 } 257 //user does not want to save messages deleted on trash (or is cleaning it). purge them imediatly 258 else{ 259 expresso_mail_archive.deleteMessages(msgs_number); 260 delete_border(currentTab,'false'); 261 } 262 } 263 //maybe, we do not have trash. Purge message so. 264 else{ 265 //user has preference to "save" delete messasge on trash folder, so move it to there 266 if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){ 267 expresso_mail_archive.createFolder("","Trash"); 268 expresso_mail_archive.folder_destination = 'trash'; 269 expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 270 } 271 //user does not want to save messages deleted on trash. purge them imediatly 272 else{ 273 expresso_mail_archive.deleteMessages(msgs_number); 274 } 275 } 276 } 277 } 278 279 //Código adicionado para o correto funcionamento da seleção independente de paginação. 280 $.each(msgs_number.split(","), function(index, value){ 281 delete selectedPagingMsgs[value]; 282 }); 283 totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 284 selectAllFolderMsgs(false); 285 updateSelectedMsgs(); 116 286 } 117 287 … … 119 289 120 290 if(info_msg.local_message==true) { 121 return "javascript:download_local_attachment('"+ 122 expresso_local_messages.get_url_anexo(info_msg.msg_number,info_msg.attachments[numero_ordem_anexo].pid)+ 123 "')"; 291 //ma serpro 292 // return "javascript:download_local_attachment('"+ 293 // expresso_local_messages.get_url_anexo(info_msg.msg_number,info_msg.attachments[numero_ordem_anexo].pid)+ 294 // "')"; 295 //MAILARCHIVER-04 296 return "javascript:download_local_attachment('"+ mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/temp/download/' +info_msg.attachments[numero_ordem_anexo].pid + "')"; 124 297 } 125 298 else { … … 139 312 140 313 messages_proxy.prototype.proxy_set_messages_flag = function (flag,msg_number){ 141 if(this.is_local_folder(get_current_folder())) { 142 expresso_local_messages.set_messages_flag(msg_number,flag); 143 } 144 else { 145 set_messages_flag(flag,msg_number); 146 // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada 147 // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta. 148 if('UNSEEN' == search_box_type) 149 return sort_box('UNSEEN','SORTARRIVAL'); 150 } 151 } 152 153 messages_proxy.prototype.proxy_set_message_flag = function (msg_number,flag,func_after_flag_change){ 154 var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 314 //MAILARCHIVER 315 if(this.is_local_folder(get_current_folder())) { 316 var msglist = get_selected_messages(); 317 var arrlist = msglist.split(","); 318 var operation; 319 var strtag; 320 321 for(var i in arrlist){ 322 switch(flag.toLowerCase()){ 323 case 'unseen': 324 strtag = "unseen"; 325 operation = 0; 326 set_msg_as_unread(arrlist[i]); 327 break; 328 case 'seen': 329 strtag = "unseen"; 330 operation = 1; 331 set_msg_as_read(arrlist[i]); 332 break; 333 case 'flagged': 334 strtag = "flagged, importance_high"; 335 operation = 0; 336 set_msg_as_flagged(arrlist[i]); 337 break; 338 case 'unflagged': 339 strtag = "flagged, importance_high"; 340 operation = 1; 341 set_msg_as_unflagged(arrlist[i]); 342 break; 343 } 344 expresso_mail_archive.currenttag = flag; 345 var tl = expresso_mail_archive.pattern.tagConfig(strtag, arrlist[i], operation); 346 expresso_mail_archive.taglist = tl; 347 expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1); 348 } 349 } 350 else { 351 set_messages_flag(flag,msg_number); 352 // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada 353 // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta. 354 if('UNSEEN' == search_box_type) 355 return sort_box('UNSEEN','SORTARRIVAL'); 356 } 357 } 358 359 messages_proxy.prototype.proxy_set_message_flag = function (msg_number,flag,func_after_flag_change,msgid){ 360 var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 155 361 if(!msg_number_folder) 156 362 var msg_number_folder = Element("input_folder_"+msg_number+"_r"); //Mensagens abertas 157 363 var folder = msg_number_folder ? msg_number_folder.value : get_current_folder(); 158 if(this.is_local_folder(folder)) { 159 expresso_local_messages.set_message_flag(msg_number,flag, func_after_flag_change); 160 } 161 else { 162 set_message_flag(msg_number,flag, func_after_flag_change); 163 } 364 365 //MAILARCHIVER 366 if(this.is_local_folder(folder)) { 367 if(!msgid) 368 msgid = msg_number; 369 var taglist = flag; 370 var operation; 371 372 switch(flag.toLowerCase()){ 373 case 'unseen': 374 strtag = "unseen"; 375 operation = 0; 376 set_msg_as_unread(msgid); 377 break; 378 case 'seen': 379 strtag = "unseen"; 380 operation = 1; 381 set_msg_as_read(msgid); 382 break; 383 case 'flagged': 384 strtag = 'flagged, importance_high'; 385 operation = 0; 386 set_msg_as_flagged(msgid); 387 break; 388 case 'unflagged': 389 strtag = "flagged, importance_high"; 390 operation = 1; 391 set_msg_as_unflagged(msgid); 392 break; 393 case 'forwarded': 394 strtag = "forwarded"; 395 operation = 0; 396 set_msg_as_flagged(msgid); 397 case 'answered': 398 strtag = "answered"; 399 operation = 0; 400 set_msg_as_flagged(msgid); 401 402 } 403 404 expresso_mail_archive.drawdata = null; 405 var tl = expresso_mail_archive.pattern.tagConfig(strtag, msgid, operation); 406 expresso_mail_archive.currenttag = flag; 407 expresso_mail_archive.taglist = tl; 408 expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1); 409 } 410 else { 411 set_message_flag(msg_number,flag, func_after_flag_change); 412 } 164 413 } 165 414 … … 290 539 if (! folder || folder == 'null') 291 540 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder()); 292 if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas não locais... 293 if (folder == new_folder){ 294 write_msg(get_lang('The origin folder and the destination folder are the same.')); 541 542 //MAILARCHIVER-08 543 if (this.is_local_folder(folder)){ 544 expresso_mail_archive.update_counters = true; 545 //Folder de onde sai a mensagem é local (armazenamento local) 546 if (folder == new_folder){ 547 write_msg(get_lang('The origin folder and the destination folder are the same.')); 295 548 return; 296 } 297 if(msgs_number=='selected') 298 msgs_number = get_selected_messages(); 299 if (new_folder == 'local_root') 300 alert(get_lang("Select a folder!")); 301 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 302 expresso_local_messages.move_messages(new_folder.substr(6), msgs_number); 303 this.aux_interface_remove_mails(msgs_number, new_folder_name, border_ID); 304 draw_tree_local_folders(); 305 update_local_box(); 306 } 307 else 308 write_msg(get_lang('No selected message.')); 309 } 310 else 311 if ((!this.is_local_folder(folder)) && (!this.is_local_folder(new_folder))) { //Move entre pastas locais... 312 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 313 }else if ((!this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { 314 if(msgs_number=='selected') 315 archive_msgs(folder,new_folder); 316 else 317 archive_msgs(folder,new_folder,msgs_number); 318 319 320 draw_tree_local_folders(); 321 refresh(); 322 } 323 else { 324 //Por Bruno Costa (bruno.vieira-costa@serpro.gov.br) permite o desarquivamento de menssagens chamando a função unarchive_msgs quando uma msg é movida de uma pasta local para uma pasta remota. 325 326 expresso_local_messages.unarchive_msgs(folder,new_folder,msgs_number); 327 //write_msg(get_lang("you can't move mails from local to server folders")); 328 } 329 330 549 } 550 551 //Validação para recuperar o id caso não seja aba de listagem 552 if (msgs_number == 'selected' && currentTab != 0) //Recupera apenas o id da mensagem aberta 553 msgs_number = currentTab.substr(0,currentTab.indexOf('_r')); 554 else 555 msgs_number = get_selected_messages(); 556 557 if (new_folder == 'local_root'){ 558 alert(get_lang("Select a folder!")); 559 } 560 561 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 562 if (this.is_local_folder(new_folder)){ 563 //esta tirando de um folder local para outro folder local 564 expresso_mail_archive.moveMessages(new_folder.replace("local_messages_",""), msgs_number); 565 if(currentTab != 0) 566 delete_border(currentTab,'false'); 567 } 568 else{ 569 //esta tirando de um folder local para um folder IMAP (desarquivamento) 570 if(!new_folder){ 571 new_folder = 'INBOX'; 572 } 573 if(currentTab.toString().indexOf("_r") != -1){ 574 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 575 } 576 expresso_mail_archive.unarchieve(folder, new_folder, msgs_number); 577 } 578 } 579 else{ 580 write_msg(get_lang('No selected message.')); 581 } 582 }else{ 583 if (this.is_local_folder(new_folder)){ 584 //esta tirando de um folder não local para um folder local (arquivamento) 585 if(msgs_number=='selected'){ 586 archive_msgs(folder, new_folder); 587 } 588 else{ 589 archive_msgs(folder, new_folder, msgs_number); 590 } 591 } 592 else{ 593 //esta tirando de um folder não local para outro folder não local (move) 594 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 595 } 596 } 597 598 //Adicionado código para o correto funcionamento da seleção independente de paginação. 599 $.each(msgs_number.split(","), function(index, value){ 600 delete selectedPagingMsgs[value]; 601 }); 602 totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 603 selectAllFolderMsgs(false); 604 updateSelectedMsgs(); 331 605 } 332 606 … … 462 736 463 737 messages_proxy.prototype.export_all_messages = function(folder){ 464 465 if (!folder){ 466 folder = get_current_folder(); 467 } 468 469 if(!this.is_local_folder(folder)){ 470 export_all_selected_msgs(); 471 }else{ 472 local_messages.prototype.local_messages_to_export(); 473 } 474 } 738 if (!folder) { 739 folder = get_current_folder(); 740 } 741 742 if(!this.is_local_folder(folder) || folder.split("_")[0] == "local"){ 743 export_all_selected_msgs(); 744 }else{ 745 local_messages.prototype.local_messages_to_export(); 746 } 747 } 748 749 750 751 /* Airton 752 * Método que vai chamar efetivamente o método Archive. 753 * TO-DO: Tirar desse arquivo o método e passar pra outro arquivo 754 */ 755 messages_proxy.prototype.archive_message = function(folder, msgs_number) { 756 if(msgs_number == 'get_selected_messages') 757 msgs_number = get_selected_messages(); 758 759 expresso_mail_archive.Archive("INBOX", "inbox", msgs_number); 760 } 761 762 763 475 764 /* 476 765 messages_proxy.prototype.proxy_export_all_msg=function(){
Note: See TracChangeset
for help on using the changeset viewer.