Changeset 8232 for branches/2.5/expressoMail1_2/js/main.js
- Timestamp:
- 10/08/13 16:20:46 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.5/expressoMail1_2/js/main.js
r8188 r8232 1 // Tempo do auto refresh (em milisegundos)2 1 var time_refresh = 150000; 3 2 … … 152 151 153 152 154 if(preferences.show_name_print_messages == "1") { 155 var getUserName = document.getElementById("user_info"); 156 var userName = getUserName.innerHTML; 157 var position = userName.indexOf("-"); 158 var userName = userName.substring(3, position); 159 cabecalho = '<h4>' + userName; 160 } 161 162 current_folder="INBOX"; 163 164 //MAILARCHIVER-02 165 //Try to get ArchiveServices object directly 166 if(ArchiveServices) 167 expresso_mail_archive.Startup(); 168 //ArchiveServices not runnnig: catch the user preferences to set up message at header 169 else{ 170 if(preferences.use_local_messages=="1") 171 write_msg(get_lang('Sorry, but Mail Archiver does not seems to be running or installed at this workstation. By now, we are turning off local messages!')); 172 } 173 174 //cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 175 $.ajax({ 176 async: false, 177 url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds", 178 folder: get_current_folder(), 179 msg_range_begin: "0", 180 msg_range_end: "0", 181 sort_box_type: "SORTARRIVAL", 182 search_box_type: search_box_type, 183 sort_box_reverse: "1" 184 }), 185 success: function(data){ 186 data = connector.unserialize(data); 187 if(data){ 188 var _data = {}; 189 $.each(data,function(index,value){ 190 if (data[index]){ 191 _data[data[index]] = data[index]; 192 } 193 }); 194 populateSelectedMsgs(_data); 195 } 196 }, 197 beforeSend: function( jqXHR, settings ){ 198 connector.showProgressBar(); 199 }, 200 complete: function( jqXHR, settings ){ 201 connector.hideProgressBar(); 153 if(preferences.show_name_print_messages == "1") { 154 var getUserName = document.getElementById("user_info"); 155 var userName = getUserName.innerHTML; 156 var position = userName.indexOf("-"); 157 var userName = userName.substring(3, position); 158 cabecalho = '<h4>' + userName; 159 } 160 161 current_folder="INBOX"; 162 163 //MAILARCHIVER-02 164 //Try to get ArchiveServices object directly 165 if(ArchiveServices) 166 expresso_mail_archive.Startup(); 167 //ArchiveServices not runnnig: catch the user preferences to set up message at header 168 else{ 169 if(preferences.use_local_messages=="1") 170 write_msg(get_lang('Sorry, but Mail Archiver does not seems to be running or installed at this workstation. By now, we are turning off local messages!')); 171 } 172 173 // cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 174 175 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 176 177 if(preferences.hide_folders == "1") 178 Element('divAppboxHeader').innerHTML = title_app_menu; 179 180 //Desbilitado limpeza de lixeira por request. Ticket #3253 181 //if (preferences.delete_trash_messages_after_n_days != 0) 182 /// cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 183 184 //if(preferences.outoffice == "1") 185 // 186 187 //Troca da forma de construção de menu para o plugin jquery.contextMenu 188 //ConstructMenuTools(); 189 //MAILARCHIVER-00 190 //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) ) //Precisa ser feito após a renderização da caixa de emails 191 //check_mail_in_queue(); 192 193 // Insere a applet de criptografia 194 if (preferences.use_signature_digital_cripto == '1'){ 195 loadApplet(); 196 } 197 // Fim da inserção da applet 198 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 199 //update_menu(Folder.getList(false)); 200 201 if($.cookie('collapse_folders') == "true"){ 202 if(!is_ie) 203 $("#folderscol").addClass( "hidden"); 204 else 205 $("#folderscol").hide(); 206 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 207 refresh(); 208 resizeWindow(); 209 } 210 else{ 211 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 212 refresh(); 213 resizeWindow(); 214 } 215 216 $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 217 if($("#folderscol").css("display") != "none"){ 218 if(!is_ie) 219 $("#folderscol").addClass( "hidden"); 220 else 221 $("#folderscol").hide(); 222 223 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 224 $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 225 $(".collapse_folders").parent().attr('title', "Expandir"); 226 $.cookie('collapse_folders', "true"); 227 refresh(); 228 resizeWindow(); 229 }else{ 230 if(!is_ie) 231 $("#folderscol").removeClass( "hidden"); 232 else 233 $("#folderscol").show(); 234 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 235 $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 236 $(".collapse_folders").parent().attr('title', "Ocultar"); 237 $.cookie('collapse_folders', "false"); 238 refresh(); 239 resizeWindow(); 202 240 } 203 }); 204 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 205 206 if(preferences.hide_folders == "1") 207 Element('divAppboxHeader').innerHTML = title_app_menu; 208 209 //Desbilitado limpeza de lixeira por request. Ticket #3253 210 //if (preferences.delete_trash_messages_after_n_days != 0) 211 /// cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 212 213 //if(preferences.outoffice == "1") 214 // 215 216 //Troca da forma de construção de menu para o plugin jquery.contextMenu 217 //ConstructMenuTools(); 218 //MAILARCHIVER-00 219 //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) ) //Precisa ser feito após a renderização da caixa de emails 220 //check_mail_in_queue(); 221 222 // Insere a applet de criptografia 223 if (preferences.use_signature_digital_cripto == '1'){ 224 loadApplet(); 225 } 226 // Fim da inserção da applet 227 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 228 229 if($.cookie('collapse_folders') == "true"){ 230 if(!is_ie) 231 $("#folderscol").addClass( "hidden"); 232 else 233 $("#folderscol").hide(); 234 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 235 refresh(); 236 resizeWindow(); 237 } 238 else{ 239 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 240 refresh(); 241 resizeWindow(); 242 } 243 244 $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 245 if($("#folderscol").css("display") != "none"){ 246 if(!is_ie) 247 $("#folderscol").addClass( "hidden"); 248 else 249 $("#folderscol").hide(); 250 251 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 252 $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 253 $(".collapse_folders").parent().attr('title', "Expandir"); 254 $.cookie('collapse_folders', "true"); 255 refresh(); 256 resizeWindow(); 257 }else{ 258 if(!is_ie) 259 $("#folderscol").removeClass( "hidden"); 260 else 261 $("#folderscol").show(); 262 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 263 $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 264 $(".collapse_folders").parent().attr('title', "Ocultar"); 265 $.cookie('collapse_folders', "false"); 266 refresh(); 267 resizeWindow(); 268 } 269 resizeWindow(); 270 271 }).hover( 272 function(){ 273 $(this).addClass("collapse_folders_td_over"); 274 }, 275 function(){ 276 $(this).removeClass("collapse_folders_td_over"); 277 } 278 ); 279 280 if(parseInt(preferences.use_dynamic_contacts)){ 281 updateDynamicContact(); 282 } 283 284 285 var handler_automatic_trash_cleanness = function(data) 286 { 241 resizeWindow(); 242 243 }).hover( 244 function(){ 245 $(this).addClass("collapse_folders_td_over"); 246 }, 247 function(){ 248 $(this).removeClass("collapse_folders_td_over"); 249 } 250 ); 251 252 if(parseInt(preferences.use_dynamic_contacts)){ 253 updateDynamicContact(); 254 } 255 256 257 var handler_automatic_trash_cleanness = function(data) 258 { 287 259 if (data != false){ 288 260 write_msg(data.length +' '+ Element('txt_clear_trash').value); … … 295 267 // Get cyrus delimiter 296 268 cyrus_delimiter = Element('cyrus_delimiter').value; 297 298 cExecute ("phpgwapi.browser.isMobile", function( data ){299 mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) );300 });301 269 302 270 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); … … 595 563 if(Element("border_id_" + id_msg_read)) { 596 564 alternate_border(id_msg_read); 597 resizeWindow(); 565 resizeWindow(); 598 566 } 599 567 else { 600 568 var border_id = create_border(msg_info.subject, id_msg_read); 601 if(border_id )569 if(border_id && border_id != "maximo") 602 570 { 603 571 openTab.type[border_id] = 2; … … 661 629 662 630 } 663 if (msg_info.showImg) 664 { 665 $("#body_"+id_msg_read).html(msg_info.body); 666 $('#show_img_link_'+id_msg_read).remove(); 667 } 631 if (msg_info.showImg) 632 { 633 $("#body_"+id_msg_read).html(msg_info.body); 634 $('#show_img_link_'+id_msg_read).remove(); 635 } 668 636 //Change msg class to read. 669 637 if (!msg_is_read(ID)) … … 705 673 if(differenceOfNewCriteria > 0){ 706 674 for(var i=data.length - differenceOfNewCriteria; i < data.length; i++){ 707 var msg_folder = data[i].msg_folder; 708 var msg_number = data[i].msg_number; 675 var msg_folder = data[i].msg_folder; 676 var msg_number = data[i].msg_number; 709 677 desktopNotification.sentNotification("",get_lang("Filter criteria"), truncate(new Date(data[i].udate).toString('dd/MM HH:mm') + ' - ' + data[i].from+' - '+data[i].subject, 75)); 710 desktopNotification.showNotification(function(){ 711 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+msg_folder+"&msg_number="+msg_number, function(){}); 712 }, function(){ 678 desktopNotification.showNotification(function(){ 679 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+msg_folder+"&msg_number="+msg_number, function(){}); 680 }, function(){ 713 681 window.focus(); 714 682 this.cancel(); … … 721 689 function refresh(alert_new_msg, notifyPermission){ 722 690 691 //Não deixa atualizar caso o usuario esteja em uma aba de nova mesnagem , reponder ou encaminhar; 692 //Evita o travamento da escrita no CKEDITOR. 693 if(typeof(currentTab) !== 'undefined' && currentTab.toString().indexOf("_r_") === -1 && currentTab !== 0 ) 694 return; 695 723 696 getFromAlertRules(); 724 697 var handler_refresh = function(data){ 725 handlerMessageFilter = function (data) { 726 notificationFilter(data, notifyPermission); 727 alarmFollowupflagged('filtersAlarms', data); 728 729 } 730 /* Busca nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 731 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 698 699 if(preferences['use_alert_filter_criteria'] == "1") 700 { 701 var handlerMessageFilter = function (data) { 702 notificationFilter(data, notifyPermission); 703 alarmFollowupflagged('filtersAlarms', data); 704 705 } 706 /* Busca nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 707 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 708 } 732 709 733 710 if(data['msg_range_end']) … … 801 778 over : function(a, b){ 802 779 //SETA BORDA EM VOLTA DA PASTA 780 $(b.helper).find(".draggin-folder,.draggin-mail").css("color", "green"); 803 781 over = $(this); 804 782 $(this).addClass("folder-over"); … … 813 791 } 814 792 }, 815 out : function(){ 793 out : function(a,b){ 794 816 795 //RETIRA BORDA EM VOLTA DA PASTA 796 $(b.helper).find(".draggin-folder,.draggin-mail").css("color", ""); 817 797 $(this).removeClass("folder-over"); 818 798 }, … … 1005 985 1006 986 var userTrashFolder = ''; 1007 1008 if (arguments.length <= 6 ) show_success_msg = true;987 988 if (arguments.length <= 6 && typeof(show_success_msg) == "undefined") show_success_msg = true; 1009 989 if (folder == 'null') folder = current_folder; 1010 990 … … 1013 993 var arrayFolder = folder.split(cyrus_delimiter); 1014 994 userTrashFolder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash']; 1015 var has_folder = false;//Folder.get( userTrashFolder, false ); 1016 var folders = DataLayer.get("folder"); 1017 $.each(folders,function(index,value){ 1018 if(value && value.id == userTrashFolder)1019 has_folder = true; 1020 }); 1021 995 var has_folder = false;//Folder.get( userTrashFolder, false ); 996 var folders = DataLayer.get("folder"); 997 $.each(folders,function(index,value){ 998 if(value && value.id == userTrashFolder) 999 has_folder = true; 1000 }); 1001 1022 1002 if(!has_folder){ 1023 1003 create_new_folder(special_folders['Trash'], 'user'+cyrus_delimiter+arrayFolder[1]); … … 1097 1077 data = connector.unserialize( data ); 1098 1078 1099 if( data ) 1100 show_msg( data ); 1079 if( data ){ 1080 data.openSameBorder = true; 1081 show_msg( data ); 1082 } 1101 1083 }, 1102 1084 beforeSend: function( jqXHR, settings ){ … … 1147 1129 params_to_delete += "&search_box_type="+search_box_type; 1148 1130 params_to_delete += "&sort_box_reverse="+sort_box_reverse; 1131 1149 1132 cExecute ("$this.imap_functions.delete_msgs", handler_delete_msgs, params_to_delete); 1150 1133 } … … 1359 1342 return false; 1360 1343 } 1344 1361 1345 mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 1346 1347 var showMsg = function(){ 1348 1349 //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 1350 if(preferences.use_local_messages == 1){ 1351 if(!expresso_mail_archive.isArchiveOperation){ 1352 if (data.msgs_number.length == 1 || typeof(data.msgs_number) == 'string' ) 1353 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1354 else 1355 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1356 } 1357 } else { 1358 if (data.msgs_number.length == 1 || typeof(data.msgs_number) == 'string' ) 1359 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1360 else 1361 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1362 } 1363 } 1362 1364 1363 1365 if (openTab.type[currentTab] > 1) … … 1394 1396 proxy_mensagens.get_msg(previous_msg,folder,null,show_msg); 1395 1397 } 1396 } 1398 } 1397 1399 } 1398 1400 //se houver pagina anterior a paginação deve ser refeita … … 1453 1455 mail_msg.removeChild(msg_to_delete); 1454 1456 } 1455 1457 if (preferences.use_shortcuts == '1' && msg_to_delete && !msg_to_delete.previousSibling){ 1458 if( $("#tbody_box .current_selected_shortcut_msg").length == 0 ){ 1459 select_msg('null','reload_msg','null'); 1460 } 1461 } 1456 1462 // Update Box BgColor 1457 1463 var box = Element("tbody_box"); … … 1464 1470 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - 1; 1465 1471 } 1472 1473 showMsg(); 1466 1474 return; 1467 1475 } … … 1508 1516 } 1509 1517 1510 //Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção. 1511 if(preferences.use_local_messages == 1){ 1512 if(!expresso_mail_archive.isArchiveOperation){ 1513 if (data.msgs_number.length == 1) 1514 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1515 else 1516 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1517 } 1518 } else { 1519 if (data.msgs_number.length == 1) 1520 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1521 else 1522 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1523 } 1518 showMsg(); 1524 1519 1525 1520 if (data.border_ID.indexOf('r') != -1){ … … 1550 1545 1551 1546 try{ 1552 if (proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value')) && !border_ID) { 1553 alert(get_lang("You cant manipulate local messages on search")); 1554 return; 1555 } 1547 if(Element('input_folder_'+currentTab)) 1548 if (proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value')) && !border_ID) { 1549 alert(get_lang("You cant manipulate local messages on search")); 1550 return; 1551 } 1556 1552 } catch (e) {} 1557 1553 //Validação para recuperar o id caso não seja aba de listagem … … 1599 1595 //expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 1600 1596 expresso_mail_archive.moveMessages(new_folder.replace('local_messages_', ''), msgs_number); 1601 if(currentTab != 0) 1602 delete_border(border_ID);1597 if(currentTab != 0) 1598 delete_border(border_ID); 1603 1599 } 1604 1600 else{ … … 1682 1678 } 1683 1679 var hasFolder = false; 1684 $.each(fromRules, function(index, value) { 1685 if(value == folder){ 1686 hasFolder = true; 1687 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag); 1688 return false; 1689 } 1690 }); 1680 if(preferences['use_alert_filter_criteria'] == "1") 1681 { 1682 $.each(fromRules, function(index, value) { 1683 if(value == folder){ 1684 hasFolder = true; 1685 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag); 1686 return false; 1687 } 1688 }); 1689 } 1691 1690 if(!hasFolder){ 1692 1691 handler_removeFlag(); … … 2149 2148 2150 2149 function new_message_to(email) { 2151 var new_border_ID = new_message('new','null'); 2152 if (!new_border_ID){ 2153 var msgId; 2154 setTimeout(function(){ 2155 msgId = $('#border_tr td.menu-sel').attr('id').toString(); 2156 content = $("#content_id_"+msgId.substr(msgId.lastIndexOf("_")+1,msgId.length)); 2157 /*Envio de email para um grupo*/ 2158 if (email.indexOf('@') == -1){ 2159 var groups = REST.get('/groups'); 2160 $.each(normalizeContacts(groups.collection.itens),function(index,group){ 2161 if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 2162 email = group.id; 2163 } 2164 }); 2165 draw_email_box(email, content.find('.to').filter('textarea:first'),"G"); 2166 } 2167 else 2168 draw_reply_boxes_by_field("to",email,content); 2169 },500); 2170 } 2171 else{ 2172 var content = $("#content_id_"+new_border_ID);2173 if (email.indexOf('@') == -1){ 2174 var groups = REST.get('/groups'); 2175 $.each(normalizeContacts(groups.collection.itens),function(index,group){ 2176 if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 2177 email = group.id; 2178 } 2179 }); 2180 draw_email_box(email, content.find('.to').filter('textarea:first'),"G"); 2181 } 2182 else 2183 draw_reply_boxes_by_field("to",email,content); 2184 } 2150 var new_border_ID = new_message('new','null'); 2151 if (!new_border_ID){ 2152 var msgId; 2153 setTimeout(function(){ 2154 msgId = $('#border_tr td.menu-sel').attr('id').toString(); 2155 content = $("#content_id_"+msgId.substr(msgId.lastIndexOf("_")+1,msgId.length)); 2156 /*Envio de email para um grupo*/ 2157 if (email.indexOf('@') == -1){ 2158 var groups = REST.get('/groups'); 2159 $.each(normalizeContacts(groups.collection.itens),function(index,group){ 2160 if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 2161 email = group.id; 2162 } 2163 }); 2164 draw_email_box(email, content.find('.to').filter('textarea:first'),"G"); 2165 } 2166 else 2167 draw_reply_boxes_by_field("to",email,content); 2168 },500); 2169 } 2170 else{ 2171 var content = $("#content_id_"+new_border_ID); 2172 if (email.indexOf('@') == -1){ 2173 var groups = REST.get('/groups'); 2174 $.each(normalizeContacts(groups.collection.itens),function(index,group){ 2175 if (group.name.toLocaleLowerCase() == email.toLocaleLowerCase()){ 2176 email = group.id; 2177 } 2178 }); 2179 draw_email_box(email, content.find('.to').filter('textarea:first'),"G"); 2180 } 2181 else 2182 draw_reply_boxes_by_field("to",email,content); 2183 } 2185 2184 } 2186 2185 … … 3397 3396 /* Lista de palavras que vão ser procuradas no corpo do email, referente às variantes da palavra anexo em português, inglês e espanhol. */ 3398 3397 if(language == "pt-br") //Português brasileiro 3399 var words = ['anexo', 'anexos', 'anexada', 'anexado', 'anexei', 'anexando', 'anexaste', 'anexastes', 'anexamos', 'anexaram'];3400 3398 var words = ['anexando', 'anexos', 'anexadas', 'anexados', 'anexei', 'anexaste', 'anexastes', 'anexamos', 'anexaram', 'anexas', 'anexado', 'anexada', 'anexo', 'anexa']; 3399 else if(language == "es-es") //Espanhol 3401 3400 var words = ['anexo','adjunto', 'adjuntos', 'adjuntado','adjuntamos']; 3402 3401 else //Inglês ('en') 3403 var words = ['attach', 'attachment', 'attached', 'annex', 'appending'];3402 var words = ['attach', 'attachment', 'attached', 'annex', 'appending', 'appendage', 'annexe', 'appendix']; 3404 3403 3405 3404 if($('#fileupload_msg'+ID).find('.att-box').length == 0 && preferences.alert_message_attachment == '1' ) { … … 3456 3455 function send_valided_message(ID, folder, folder_name) 3457 3456 { 3458 3459 3460 3461 3462 3463 3464 3465 3457 if (preferences.auto_save_draft == 1) 3458 autoSaveControl.status[ID] = true; 3459 3460 var content = $("#content_id_"+ID); 3461 var save_link = $("#content_id_"+ID).find(".save"); 3462 var onClick = save_link.onclick; 3463 save_link.onclick = ''; 3464 save_link.button({disabled: true}); 3466 3465 3467 3466 var _subject = trim(content.find(".subject").val()); … … 3478 3477 $.each(array, function(index, value){ 3479 3478 stringReply += $(value).find("input").val() + ","; 3480 }); 3479 }); 3481 3480 var stringToEmail = ""; 3482 3481 draw_email_box(content.find(".to-tr").find("textarea:first").val() || content.find(".to-tr").find("input:visible").val(), content.find(".to-tr").find("textarea:first")); … … 3513 3512 }); 3514 3513 } 3515 stringEmail += 3514 stringEmail += stringCCEmail; 3516 3515 3517 3516 var mailData = new Object(); … … 3534 3533 mailData.msg_forward_from = $(content).find('[name="msg_forward_from"]').val(); 3535 3534 mailData.msg_reply_from = $(content).find('[name="msg_reply_from"]').val(); 3536 3537 if ($(content).find('select[name="input_from"]').val()) 3538 mailData.input_from = $(content).find('select[name="input_from"]').val(); 3539 3540 3541 if(stringEmail != ""){ 3542 $.ajax({ 3543 url: "controller.php?action=$this.imap_functions.send_mail", 3544 data: mailData, 3545 type: 'POST', 3546 3547 beforeSend: function(jqXHR, settings){ 3548 3549 write_msg( get_lang( 'Sending the message...' ) ); 3550 $(content).find('button.send').button('option', 'disabled', true); 3551 3552 3553 }, 3554 success: function(data){ 3555 send_message_return(connector.unserialize(data),ID); 3556 }, 3557 error: function(){ 3558 write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 3559 $(content).find('button.send').button('option', 'disabled', false); 3560 var interval = setInterval(function(){ 3561 send_valided_message(ID,folder,folder_name); 3562 clearInterval(interval); 3563 },15000); 3564 return; 3565 } 3566 }); 3535 3536 if ($(content).find('select[name="input_from"]').val()) 3537 mailData.input_from = $(content).find('select[name="input_from"]').val(); 3538 3539 if(stringEmail != ""){ 3540 $.ajax({ 3541 url: "controller.php?action=$this.imap_functions.send_mail", 3542 data: mailData, 3543 type: 'POST', 3544 async: false, 3545 beforeSend: function(jqXHR, settings){ 3546 write_msg( get_lang( 'Sending the message...' ) ); 3547 $(content).find('button.send').button('option', 'disabled', true); 3548 }, 3549 success: function(data){ 3550 send_message_return(connector.unserialize(data),ID); 3551 }, 3552 error: function(){ 3553 write_msg(get_lang( 'Error trying to send the message. Retry in a few seconds...' ) ); 3554 $(content).find('button.send').button('option', 'disabled', false); 3555 var interval = setInterval(function(){ 3556 send_valided_message(ID,folder,folder_name); 3557 clearInterval(interval); 3558 },15000); 3559 return; 3560 } 3561 }); 3567 3562 }else{ 3568 write_msg(get_lang("message without receiver")); 3569 return; 3570 } 3571 3572 3563 write_msg(get_lang("message without receiver")); 3564 } 3573 3565 } 3574 3566 … … 3765 3757 case "unseen": 3766 3758 set_msg_as_unread(msgs[j]+'_s'+id_border, true); 3759 set_msg_as_unread(msgs[j], true); // Atualiza msg na aba principal. 3767 3760 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3768 3761 break; 3769 3762 case "seen": 3770 3763 set_msg_as_read(msgs[j]+'_s'+id_border, true); 3764 set_msg_as_read(msgs[j], true); //Atualiza msg na aba principal. 3771 3765 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3772 3766 break; … … 3787 3781 } 3788 3782 3789 draw_tree_folders( );3783 draw_tree_folders(folders); 3790 3784 Element('chk_box_select_all_messages_search').checked = false; 3791 3785 refresh(); … … 3878 3872 Element("check_box_message_" + msgs_to_set[i]).checked = false; 3879 3873 3880 // remove a flag $FilteredMessage da mensagem ao ser marcada como lida 3881 $.each(fromRules, function(index, value) { 3882 if(value == folder){ 3883 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){}); 3884 return false; 3885 } 3886 }); 3887 3874 if(preferences['use_alert_filter_criteria'] == "1") 3875 { 3876 // remove a flag $FilteredMessage da mensagem ao ser marcada como lida 3877 $.each(fromRules, function(index, value) { 3878 if(value == folder){ 3879 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){}); 3880 return false; 3881 } 3882 }); 3883 } 3888 3884 break; 3889 3885 case "flagged": … … 4455 4451 update_quota(get_current_folder()); 4456 4452 draw_new_tree_folder(); 4457 draw_tree_labels(); 4453 if( preferences['use_followupflags_and_labels'] == "1" ) 4454 draw_tree_labels(); 4458 4455 if (data){ 4459 4456 if(typeof(data) == "object"){ … … 4514 4511 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 4515 4512 draw_new_tree_folder(); 4516 draw_tree_labels(); 4513 if( preferences['use_followupflags_and_labels'] == "1" ) 4514 draw_tree_labels(); 4517 4515 update_quota(get_current_folder()); 4518 4516 if (data){ … … 4552 4550 } 4553 4551 4554 function buildExportArchiver(msgsArchive, name_box){4555 4556 var hand_export = function(data){4557 if(!data){4558 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.'))4559 }else if(data["empty_folder"] || data == "empty_folder"){4560 write_msg(get_lang("The selected folder is empty."));4561 }else4562 download_attachments(null, null, data, null,null, get_current_folder().split("_")[2] +'.zip');4563 }4564 4565 var array = new Array();4566 4567 for(var i =0; i < msgsArchive.length; i++){4568 eachMsg = {4569 'ContentType' : msgsArchive[i].ContentType,4570 'from' : { 'email' : msgsArchive[i].from.email, 'full' : msgsArchive[i].from.full, 'name' : msgsArchive[i].from.name},4571 'msg_sample' : msgsArchive[i].msg_sample,4572 'subject' : msgsArchive[i].subject,4573 'to' : { 'email' : msgsArchive[i].to.email, 'full' : msgsArchive[i].to.full, 'name' : msgsArchive[i].to.name},4574 'toaddress2' : msgsArchive[i].toaddress2,4575 'msg_number' : msgsArchive[i].msg_number,4576 'date' : new Date(msgsArchive[i].timestamp).toString()4577 };4578 array.push(eachMsg);4579 }4580 4581 $.ajax({4582 type: "POST",4583 url: "controller.php?action=$this.exporteml.export_all_byLocalFolder",4584 data: { folder: name_box, type: "msg_local", messages : array}4585 }).done(function(msg) {4586 hand_export(msg.split('"')[1]);4587 });4588 }4589 4590 4552 function export_all_selected_msgs(){ 4591 4553 if(get_current_folder().split("_")[0] == "local"){ … … 4596 4558 expresso_mail_archive.getSomeMsgs([get_selected_messages()]); 4597 4559 } 4560 4561 } else { 4598 4562 4599 buildExportArchiver(expresso_mail_archive.getSomeMsg, get_current_folder().split("_")[2]);4600 4601 } else {4602 4603 4563 if (openTab.type[currentTab] > 1){ 4604 4564 source_msg(currentTab,openTab.imapBox[currentTab]); … … 4635 4595 filename = data[1]+'.eml'; 4636 4596 } 4637 4638 if(typeof data == "object") 4639 download_attachments(null, null, data[0], null,null,filename); 4640 else 4641 download_attachments(null, null, data, null,null,filename); 4597 4598 if(typeof data == "object") 4599 download_attachments(null, null, data[0], null,null,filename); 4600 else 4601 download_attachments(null, null, data, null,null,filename); 4642 4602 } 4643 4603 } … … 4879 4839 write_msg(get_lang('You must wait while the messages will be imported...')); 4880 4840 4881 var local_folder = input_hidden.attr("value"); //recupera a pasta selecionada 4882 if(local_folder.indexOf("local_") == 0){ //verifica se a pasta selecionada é uma pasta local 4883 4884 var fdata = local_folder.substr(15, local_folder.length); //recupera somente a estrutura da pasta ou o id 4885 expresso_mail_archive.getFolderInfo(fdata); //recuperar a estrutura da pasta, 4886 //para realizar a importação de mensagens 4887 fdata = expresso_mail_archive.folder.path; 4888 4889 //o mailarchiver não provê um serviço para a importação de mensagens nas pastas locais, 4890 //mas sim uma modal, da qual são extraídas as informações e as urls para submitar os dados 4891 //para o arquivamento de mensagens em pastas locais. 4892 var url_src = mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import?prt=' + mail_archive_protocol + '&por=' + mail_archive_port+ '&fid='+ encodeURIComponent(fdata) + '&sid=' + expresso_mail_archive.session.id; 4893 var _html = DataLayer.render(url_src); 4894 var regex_url = RegExp('\<iframe(.)*src=\"([^\"]*)"(.)*\>'); 4895 var obj_params = $.parseQuery( regex_url.exec(_html)[2].split('?')[1] || '' ); 4896 $(formSend).append('<input id="ma_import_flat" type="checkbox" value="false" name="flat" style="display:none"> ' + 4897 '<input id="sessionId" type="hidden" value="'+obj_params['sessvalue']+'" name="sessionId">' + 4898 '<input id="base" type="hidden" value="'+obj_params['basevalue']+'" name="base">' + 4899 '<input id="lang" type="hidden" value="'+obj_params['langvalue']+'" name="lang">'); 4900 4901 var importEmailsLocalDialog = $('#importEmailsLocal'); 4902 importEmailsLocalDialog.css("overflow","hidden"); 4903 importEmailsLocalDialog.dialog( 4904 { 4905 autoOpen : false, 4906 height : 200, 4907 width : 350, 4908 resizable : false, 4909 title : get_lang('Local Archive'), 4910 modal : true, 4911 buttons : [ 4912 { 4913 text : get_lang("Close"), 4914 click : function() 4915 { 4916 importEmailsLocalDialog.dialog("close").dialog("destroy"); 4917 } 4918 } 4919 ] 4920 }); 4921 4922 importEmailsLocalDialog.html('<iframe frameborder="0" scrolling="no" id="frameResult" name="frameResult" ></iframe>') 4923 $(formSend).attr("action", mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import'); 4924 $(formSend).attr("target", "frameResult"); 4925 $(formSend).submit(); 4926 importEmailsLocalDialog.dialog( "open" ); 4927 if(typeof(shortcut) != 'undefined') 4841 var local_folder = input_hidden.attr("value"); //recupera a pasta selecionada 4842 if(local_folder.indexOf("local_") == 0){ //verifica se a pasta selecionada é uma pasta local 4843 var fdata = local_folder.substr(15, local_folder.length); //recupera somente a estrutura da pasta ou o id 4844 expresso_mail_archive.getFolderInfo(fdata); //recuperar a estrutura da pasta, 4845 //para realizar a importação de mensagens 4846 fdata = expresso_mail_archive.folder.path; 4847 4848 //o mailarchiver não provê um serviço para a importação de mensagens nas pastas locais, 4849 //mas sim uma modal, da qual são extraídas as informações e as urls para submitar os dados 4850 //para o arquivamento de mensagens em pastas locais. 4851 var url_src = mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import?prt=' + mail_archive_protocol + '&por=' + mail_archive_port+ '&fid='+ encodeURIComponent(fdata) + '&sid=' + expresso_mail_archive.session.id; 4852 var _html = DataLayer.render(url_src); 4853 var regex_url = RegExp('\<iframe(.)*src=\"([^\"]*)"(.)*\>'); 4854 var obj_params = $.parseQuery( regex_url.exec(_html)[2].split('?')[1] || '' ); 4855 $(formSend).append('<input id="ma_import_flat" type="checkbox" value="false" name="flat" style="display:none"> ' + 4856 '<input id="sessionId" type="hidden" value="'+obj_params['sessvalue']+'" name="sessionId">' + 4857 '<input id="base" type="hidden" value="'+obj_params['basevalue']+'" name="base">' + 4858 '<input id="lang" type="hidden" value="'+obj_params['langvalue']+'" name="lang">'); 4859 4860 var importEmailsLocalDialog = $('#importEmailsLocal'); 4861 importEmailsLocalDialog.css("overflow","hidden"); 4862 importEmailsLocalDialog.dialog( 4863 { 4864 autoOpen : false, 4865 height : 200, 4866 width : 350, 4867 resizable : false, 4868 title : get_lang('Local Archive'), 4869 modal : true, 4870 buttons : [ 4871 { 4872 text : get_lang("Close"), 4873 click : function() 4874 { 4875 importEmailsLocalDialog.dialog("close").dialog("destroy"); 4876 } 4877 } 4878 ] 4879 }); 4880 4881 importEmailsLocalDialog.html('<iframe frameborder="0" scrolling="no" id="frameResult" name="frameResult" ></iframe>') 4882 $(formSend).attr("action", mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/import'); 4883 $(formSend).attr("target", "frameResult"); 4884 $(formSend).submit(); 4885 importEmailsLocalDialog.dialog( "open" ); 4886 if(typeof(shortcut) != 'undefined') 4928 4887 shortcut.disabled = false; 4929 } else { 4930 cExecuteForm('$this.imap_functions.import_msgs', formSend , handler_return ); 4931 } 4932 4888 } else { 4889 cExecuteForm('$this.imap_functions.import_msgs', formSend , handler_return ); 4890 } 4891 4933 4892 } 4934 4893 } … … 5439 5398 if(data.append == 1) 5440 5399 { 5441 proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,show_msg,false); 5400 proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,function (data) { 5401 if (onceOpenedHeadersMessages[data.msg_folder] == undefined) 5402 { 5403 onceOpenedHeadersMessages[data.msg_folder] = []; 5404 }; 5405 onceOpenedHeadersMessages[data.msg_folder][data.msg_number] = data; 5406 show_msg(data); 5407 },false); 5442 5408 partMsgs.push(data.msg_number); 5443 5409 }
Note: See TracChangeset
for help on using the changeset viewer.