Changeset 7563
- Timestamp:
- 11/23/12 17:38:23 (11 years ago)
- Location:
- trunk/expressoMail1_2/js
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/main.js
r7550 r7563 4595 4595 var handler_return = function(data) 4596 4596 { 4597 write_msg(get_lang('The import was executed successfully.')); 4598 4597 write_msg(get_lang('The import was executed successfully.')); 4599 4598 return_import_msgs( data, folder ); 4599 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 4600 4600 } 4601 4601 … … 4619 4619 { 4620 4620 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 4621 }, 4622 destroy: function(event,ui) 4623 { 4624 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 4621 4625 } 4622 4626 }); -
trunk/expressoMail1_2/js/main.min.js
r7550 r7563 1 // Tempo do auto refresh (em milisegundos) 2 var time_refresh = 300000; 3 4 //MAILARCHIVER-01 5 // Intervalo de tempo de verificacao de comunicacao com o MailArchiver (milisegundos) 6 var check_services_interval = 2000; 7 // Numero de tentativas de reconexao 8 var check_services_tryouts = 1; 9 // Limite de tentativas de reconexao 10 var check_services_tryouts_limit = 5; 11 12 13 // tempo do auto save (em milisegundos) 14 // 20000 = 20 segundos 15 var autosave_time = 40000; 16 var results_search_messages = ""; 17 var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>'; 18 var auxNotificationCriteriaVetor = []; 19 var auxNotification; 20 21 var countNewMessage = 0; 22 var notifyNewMessageFilter = []; 23 24 var dynamicPersonalContacts = new Array(); 25 var dynamicPersonalGroups = new Array(); 26 var dynamicContacts = new Array(); 27 var topContact = 0; 28 DataLayer.get("folder", true); 29 30 //Os IE's < 9 não possui suporte a trim() introduzida no JavaScript 1.8.1 31 if(!String.prototype.trim){ 32 String.prototype.trim = function(){ 33 return this.replace(/^\s+|\s+$/g,''); 34 } 35 } 36 37 function mount_url_folder(folders){ 38 return folders.join(cyrus_delimiter); 39 } 40 41 function updateDynamicContact(userContacts){ 42 43 if(!userContacts) 44 userContacts = REST.get("/usercontacts", false); 45 46 if(userContacts.collection && !userContacts.collection.error){ 47 dynamicData = normalizeContacts(userContacts.collection.itens); 48 }else{ 49 dynamicData = []; 50 } 51 52 if(dynamicData){ 53 var dynamicContactsList = []; 54 $.each(dynamicData, function(index, dynamic){ 55 56 var dataType = userContacts.collection.itens[index].dataType; 57 58 dynamic['value'] = (dynamic.name ? dynamic.name +' - ': '') + dynamic.mail; 59 dynamic['type'] = dataType 60 dynamic['typel'] = (dataType.substring(0,7) == "/shared" ? "/"+dataType.substring(7,dataType.length)+"s" : dataType); 61 62 topContact = dynamic.number_of_messages > topContact ? dynamic.number_of_messages : topContact; 63 64 dynamicContactsList.push(dynamic); 65 }); 66 } 67 68 dynamicData = dynamicContactsList; 69 70 71 /*dynamicContacts = new Array(); 72 73 var dynamicUsers = REST.get("/dynamiccontacts"); 74 75 if(dynamicUsers.collection && !dynamicUsers.collection.error){ 76 var dynamicData = normalizeContacts(dynamicUsers.collection.itens) 77 78 $.each(dynamicData, function(index, value){ 79 if(index ==0){ 80 topContact = parseInt(value['number_of_messages']); 81 } 82 var dynamic = { 83 name : value.name, 84 mail : value.mail, 85 value: value.name + " - " + value.mail, 86 type: "", 87 id: value.id, 88 qtd : value['number_of_messages'] 89 }; 90 dynamicContacts.push(dynamic); 91 }); 92 }*/ 93 } 94 95 96 function updateDynamicPersonalContacts(){ 97 dynamicPersonalContacts = new Array(); 98 99 var personalContacts = REST.get("/personalContact"); 100 101 if(personalContacts.collection && !personalContacts.collection.error){ 102 var contactsData = normalizeContacts(personalContacts.collection.itens); 103 if(contactsData){ 104 $.each(contactsData, function(index, value){ 105 var contact = { 106 id : parseInt(value.id), 107 name : value.name, 108 email: value.email, 109 value: value.name+ " - " + value.email, 110 type: "P" 111 }; 112 dynamicPersonalContacts.push(contact); 113 }); 114 } 115 } 116 } 117 118 119 function updateDynamicPersonalGroups(){ 120 dynamicPersonalGroups = new Array(); 121 122 var groups = REST.get("/groups"); 123 124 if(groups.collection && !groups.collection.error){ 125 var contactsData = normalizeContacts(groups.collection.itens); 126 if(contactsData.collecion && !contactsData.collecion.error){ 127 $.each(contactsData, function(index, value){ 128 var contact = { 129 id : parseInt(value.id), 130 owner : value.owner, 131 name : value.name, 132 email: value.email, 133 type: "G" 134 }; 135 dynamicPersonalGroups.push(contact); 136 }); 137 } 138 } 139 } 140 141 142 function init(){ 143 if (!is_ie) 144 Element('tableDivAppbox').width = '100%'; 145 146 //MailArchiver save offset to gmt user preference data to list correctly date/time from messages list 147 var save_gmtoffset = function(data){ 148 gmtoffset = data; 149 } 150 151 var save_preferences = function(data){ 152 153 154 preferences = data; 155 156 157 if(preferences.show_name_print_messages == "1") { 158 var getUserName = document.getElementById("user_info"); 159 var userName = getUserName.innerHTML; 160 var position = userName.indexOf("-"); 161 var userName = userName.substring(3, position); 162 cabecalho = '<h4>' + userName; 163 } 164 165 166 current_folder="INBOX"; 167 168 /*if( (window.google && google.gears) && !google.gears.factory.getPermission()) 169 preferences.use_local_messages=0; 170 171 if ((preferences.use_local_messages==1) && (!window.google || !google.gears)) { 172 temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 173 if (temp) { 174 location.href = "http://gears.google.com/?action=install&message="+ 175 "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + document.location.href; 176 } 177 else { 178 preferences.use_local_messages=0; 179 } 180 } 181 if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas... 182 connector.loadScript('mail_sync'); 183 setTimeout('auto_archiving()', 30000); 184 185 }*/ 186 187 //MAILARCHIVER-02 188 //Try to get ArchiveServices object directly 189 if(ArchiveServices) 190 expresso_mail_archive.Startup(); 191 //ArchiveServices not runnnig: catch the user preferences to set up message at header 192 else{ 193 if(preferences.use_local_messages=="1") 194 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!')); 195 } 196 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); 197 //cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 198 $.ajax({ 199 async: false, 200 url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds", 201 folder: get_current_folder(), 202 msg_range_begin: "0", 203 msg_range_end: "0", 204 sort_box_type: "SORTARRIVAL", 205 search_box_type: search_box_type, 206 sort_box_reverse: "1" 207 }), 208 success: function(data){ 209 data = connector.unserialize(data); 210 if(data){ 211 var _data = {}; 212 $.each(data,function(index,value){ 213 if (data[index]){ 214 _data[data[index]] = data[index]; 215 } 216 }); 217 populateSelectedMsgs(_data); 218 } 219 }, 220 beforeSend: function( jqXHR, settings ){ 221 connector.showProgressBar(); 222 }, 223 complete: function( jqXHR, settings ){ 224 connector.hideProgressBar(); 225 } 226 }); 227 if(preferences.hide_folders == "1") 228 Element('divAppboxHeader').innerHTML = title_app_menu; 229 230 if (preferences.delete_trash_messages_after_n_days != 0) 231 cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 232 233 //if(preferences.outoffice == "1") 234 // 235 236 //Troca da forma de construção de menu para o plugin jquery.contextMenu 237 //ConstructMenuTools(); 238 //MAILARCHIVER-00 239 //if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) ) //Precisa ser feito após a renderização da caixa de emails 240 //check_mail_in_queue(); 241 242 // Insere a applet de criptografia 243 if (preferences.use_signature_digital_cripto == '1'){ 244 loadApplet(); 245 } 246 // Fim da inserção da applet 247 DataLayer.get("folder", true); 248 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 249 250 if($.cookie('collapse_folders') == "true"){ 251 if(!is_ie) 252 $("#folderscol").addClass( "hidden"); 253 else 254 $("#folderscol").hide(); 255 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 256 refresh(); 257 resizeWindow(); 258 } 259 else{ 260 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 261 refresh(); 262 resizeWindow(); 263 } 264 265 $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 266 if($("#folderscol").css("display") != "none"){ 267 if(!is_ie) 268 $("#folderscol").addClass( "hidden"); 269 else 270 $("#folderscol").hide(); 271 272 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 273 $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 274 $(".collapse_folders").parent().attr('title', "Expandir"); 275 $.cookie('collapse_folders', "true"); 276 refresh(); 277 resizeWindow(); 278 }else{ 279 if(!is_ie) 280 $("#folderscol").removeClass( "hidden"); 281 else 282 $("#folderscol").show(); 283 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 284 $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 285 $(".collapse_folders").parent().attr('title', "Ocultar"); 286 $.cookie('collapse_folders', "false"); 287 refresh(); 288 resizeWindow(); 289 } 290 resizeWindow(); 291 292 }).hover( 293 function(){ 294 $(this).addClass("collapse_folders_td_over"); 295 }, 296 function(){ 297 $(this).removeClass("collapse_folders_td_over"); 298 } 299 ); 300 301 if(parseInt(preferences.use_dynamic_contacts)){ 302 var load_dynamics = function(){ 303 updateDynamicContact(); 304 updateDynamicPersonalContacts(); 305 updateDynamicPersonalGroups(); 306 }; 307 load_dynamics(); 308 } 309 } 310 var handler_automatic_trash_cleanness = function(data){ 311 if (data != false){ 312 write_msg(data.length +' '+ Element('txt_clear_trash').value); 313 } 314 } 315 316 // Versão 317 Element('divAppboxHeader').innerHTML = title_app; 318 319 // Get cyrus delimiter 320 cyrus_delimiter = Element('cyrus_delimiter').value; 321 322 cExecute ("$this.functions.get_preferences", save_preferences); 323 cExecute ("phpgwapi.browser.isMobile", function( data ){ 324 mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) ); 325 }); 326 327 DataLayer.get("folder", true); 328 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 329 330 setTimeout('auto_refresh()', time_refresh); 331 332 $("#divAppbox").css("padding-left", "0px"); 333 } 334 335 function init_offline(){ 336 current_folder = 'local_Inbox'; 337 if (account_id != null) { 338 if (!is_ie) 339 Element('tableDivAppbox').width = '100%'; 340 else 341 connector.createXMLHTTP(); 342 Element('divStatusBar').innerHTML = '<table height="16px" border=0 width=100% cellspacing=0 cellpadding=2>' + 343 '<tr>' + 344 '<td style="padding-left:17px" width=33% id="content_quota" align=left></td>' + 345 '<td width=33% height=16px align=center nowrap><font face=Verdana, Arial, Helvetica, sans-serif color=#000066 size=2>' + 346 '<b>ExpressoMail Offline</b><font size=1><b> - Versão 1.0</b></font></td>' + 347 '<td width=33% id="div_menu_c3" align=right></td>' + 348 '</tr></table>'; 349 350 //Troca da forma de construção de menu para o plugin jquery.contextMenu 351 //ConstructMenuTools(); 352 353 draw_tree_folders(); 354 355 proxy_mensagens.messages_list('local_Inbox', 1, preferences.max_email_per_page, 'SORTARRIVAL', null, 1,1,1, function handler(data){ 356 draw_box(data, 'local_Inbox'); 357 }) 358 359 // Get cyrus delimiter 360 cyrus_delimiter = Element('cyrus_delimiter').value; 361 362 //cExecute ("$this.db_functions.get_dropdown_contacts_to_cache", function(data) {contacts = data;}); 363 //cExecute ("$this.functions.get_preferences", save_preferences); 364 } 365 } 366 /** 367 * Carrega a applet java no objeto search_div 368 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 369 */ 370 371 function loadApplet(){ 372 373 var search_div = Element('search_div'); 374 var applet = null; 375 if (navigator.userAgent.match('MSIE')){ 376 applet = document.createElement('<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" ' + 377 'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"></object>'); 378 379 var parameters = { 380 type:'application/x-java-applet;version=1.5', 381 code:'ExpressoSmimeApplet', 382 codebase:'/security/', 383 mayscript:'true', 384 token: token_param, 385 locale: locale, 386 archive:'ExpressoCertMail.jar,' + 387 'ExpressoCert.jar,' + 388 'bcmail-jdk15-142.jar,' + 389 'mail.jar,' + 390 'activation.jar,' + 391 'bcprov-jdk15-142.jar,' + 392 'commons-codec-1.3.jar,' + 393 'commons-httpclient-3.1.jar,' + 394 'commons-logging-1.1.1.jar' 395 //debug:'true' 396 } 397 398 if (parameters != 'undefined' && parameters != null){ 399 for (var parameter in parameters) { 400 var param = document.createElement("PARAM"); 401 param.setAttribute("name",parameter); 402 param.setAttribute("value",parameters[parameter]); 403 applet.appendChild(param); 404 } 405 } 406 } 407 else 408 { 409 applet = document.createElement('embed'); 410 applet.innerHTML = '<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" code="ExpressoSmimeApplet.class" ' + 411 'codebase="/security/" locale="'+locale+'"'+ 412 'archive="ExpressoCertMail.jar,ExpressoCert.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar,commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar" ' + 413 'token="' + token_param + '" ' + 414 'type="application/x-java-applet;version=1.5" mayscript > ' + 415 //'type="application/x-java-applet;version=1.5" debug="true" mayscript > ' + 416 '<noembed> ' + 417 'No Java Support. ' + 418 '</noembed> ' + 419 '</embed> '; 420 } 421 422 if( applet != null ) 423 { 424 applet.style.top = "-100px"; 425 applet.style.left = "-100px"; 426 window.document.body.insertBefore( applet, document.body.lastChild ); 427 } 428 429 } 430 431 function disable_field(field,condition) { 432 var comando = "if ("+condition+") { document.getElementById('"+field.id+"').disabled=true;} else { document.getElementById('"+field.id+"').disabled=false; }"; 433 eval(comando); 434 } 435 /* 436 função que remove todos os anexos... 437 */ 438 function remove_all_attachments(folder,msg_num) { 439 440 var call_back = function(data) { 441 if(!data.status) { 442 alert(data.msg); 443 } 444 else { 445 msg_to_delete = Element(msg_num); 446 change_tr_properties(msg_to_delete, data.msg_no); 447 msg_to_delete.childNodes[1].innerHTML = ""; 448 write_msg(get_lang("Attachments removed")); 449 folderName = Base64.encode(folder); 450 folderName = folderName.replace(/=/gi, ''); 451 delete_border(msg_num+'_r_'+folderName,'false'); //close email tab 452 453 } 454 }; 455 if (confirm(get_lang("delete all attachments confirmation"))) 456 cExecute ("$this.imap_functions.remove_attachments&folder=" 457 +folder+"&msg_num="+msg_num, call_back); 458 } 1 var time_refresh=300000;var check_services_interval=2000;var check_services_tryouts=1;var check_services_tryouts_limit=5;var autosave_time=40000;var results_search_messages="";var cabecalho='<h4>ExpressoLivre - ExpressoMail</h4>';var auxNotificationCriteriaVetor=[];var auxNotification;var countNewMessage=0;var notifyNewMessageFilter=[];var dynamicPersonalContacts=new Array();var dynamicPersonalGroups=new Array();var dynamicContacts=new Array();var topContact=0;DataLayer.get("folder",true);if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'');}} 2 function mount_url_folder(folders){return folders.join(cyrus_delimiter);} 3 function updateDynamicContact(userContacts){if(!userContacts) 4 userContacts=REST.get("/usercontacts",false);if(userContacts.collection&&!userContacts.collection.error){dynamicData=normalizeContacts(userContacts.collection.itens);}else{dynamicData=[];} 5 if(dynamicData){var dynamicContactsList=[];$.each(dynamicData,function(index,dynamic){var dataType=userContacts.collection.itens[index].dataType;dynamic['value']=(dynamic.name?dynamic.name+' - ':'')+dynamic.mail;dynamic['type']=dataType 6 dynamic['typel']=(dataType.substring(0,7)=="/shared"?"/"+dataType.substring(7,dataType.length)+"s":dataType);topContact=dynamic.number_of_messages>topContact?dynamic.number_of_messages:topContact;dynamicContactsList.push(dynamic);});} 7 dynamicData=dynamicContactsList;} 8 function updateDynamicPersonalContacts(){dynamicPersonalContacts=new Array();var personalContacts=REST.get("/personalContact");if(personalContacts.collection&&!personalContacts.collection.error){var contactsData=normalizeContacts(personalContacts.collection.itens);if(contactsData){$.each(contactsData,function(index,value){var contact={id:parseInt(value.id),name:value.name,email:value.email,value:value.name+" - "+value.email,type:"P"};dynamicPersonalContacts.push(contact);});}}} 9 function updateDynamicPersonalGroups(){dynamicPersonalGroups=new Array();var groups=REST.get("/groups");if(groups.collection&&!groups.collection.error){var contactsData=normalizeContacts(groups.collection.itens);if(contactsData.collecion&&!contactsData.collecion.error){$.each(contactsData,function(index,value){var contact={id:parseInt(value.id),owner:value.owner,name:value.name,email:value.email,type:"G"};dynamicPersonalGroups.push(contact);});}}} 10 function init(){if(!is_ie) 11 Element('tableDivAppbox').width='100%';var save_gmtoffset=function(data){gmtoffset=data;} 12 var save_preferences=function(data){preferences=data;if(preferences.show_name_print_messages=="1"){var getUserName=document.getElementById("user_info");var userName=getUserName.innerHTML;var position=userName.indexOf("-");var userName=userName.substring(3,position);cabecalho='<h4>'+userName;} 13 current_folder="INBOX";if(ArchiveServices) 14 expresso_mail_archive.Startup();else{if(preferences.use_local_messages=="1") 15 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!'));} 16 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);$.ajax({async:false,url:"controller.php?"+$.param({action:"$this.imap_functions.getMessagesIds",folder:get_current_folder(),msg_range_begin:"0",msg_range_end:"0",sort_box_type:"SORTARRIVAL",search_box_type:search_box_type,sort_box_reverse:"1"}),success:function(data){data=connector.unserialize(data);if(data){var _data={};$.each(data,function(index,value){if(data[index]){_data[data[index]]=data[index];}});populateSelectedMsgs(_data);}},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});if(preferences.hide_folders=="1") 17 Element('divAppboxHeader').innerHTML=title_app_menu;if(preferences.delete_trash_messages_after_n_days!=0) 18 cExecute("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter,handler_automatic_trash_cleanness);if(preferences.use_signature_digital_cripto=='1'){loadApplet();} 19 DataLayer.get("folder",true);cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);if($.cookie('collapse_folders')=="true"){if(!is_ie) 20 $("#folderscol").addClass("hidden");else 21 $("#folderscol").hide();$(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title',"Expandir");refresh();resizeWindow();} 22 else{$(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title',"Ocultar");refresh();resizeWindow();} 23 $(".collapse_folders_td").attr('title',"Ocultar/Expandir").click(function(){if($("#folderscol").css("display")!="none"){if(!is_ie) 24 $("#folderscol").addClass("hidden");else 25 $("#folderscol").hide();$(".collapse_folders").removeClass("ui-icon-triangle-1-w");$(".collapse_folders").addClass("ui-icon-triangle-1-e");$(".collapse_folders").parent().attr('title',"Expandir");$.cookie('collapse_folders',"true");refresh();resizeWindow();}else{if(!is_ie) 26 $("#folderscol").removeClass("hidden");else 27 $("#folderscol").show();$(".collapse_folders").removeClass("ui-icon-triangle-1-e");$(".collapse_folders").addClass("ui-icon-triangle-1-w");$(".collapse_folders").parent().attr('title',"Ocultar");$.cookie('collapse_folders',"false");refresh();resizeWindow();} 28 resizeWindow();}).hover(function(){$(this).addClass("collapse_folders_td_over");},function(){$(this).removeClass("collapse_folders_td_over");});if(parseInt(preferences.use_dynamic_contacts)){var load_dynamics=function(){updateDynamicContact();updateDynamicPersonalContacts();updateDynamicPersonalGroups();};load_dynamics();}} 29 var handler_automatic_trash_cleanness=function(data){if(data!=false){write_msg(data.length+' '+Element('txt_clear_trash').value);}} 30 Element('divAppboxHeader').innerHTML=title_app;cyrus_delimiter=Element('cyrus_delimiter').value;cExecute("$this.functions.get_preferences",save_preferences);cExecute("phpgwapi.browser.isMobile",function(data){mobile_device=((data.constructor==Boolean)?data:(data==='true'));});DataLayer.get("folder",true);cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);setTimeout('auto_refresh()',time_refresh);$("#divAppbox").css("padding-left","0px");} 31 function init_offline(){current_folder='local_Inbox';if(account_id!=null){if(!is_ie) 32 Element('tableDivAppbox').width='100%';else 33 connector.createXMLHTTP();Element('divStatusBar').innerHTML='<table height="16px" border=0 width=100% cellspacing=0 cellpadding=2>'+'<tr>'+'<td style="padding-left:17px" width=33% id="content_quota" align=left></td>'+'<td width=33% height=16px align=center nowrap><font face=Verdana, Arial, Helvetica, sans-serif color=#000066 size=2>'+'<b>ExpressoMail Offline</b><font size=1><b> - Versão 1.0</b></font></td>'+'<td width=33% id="div_menu_c3" align=right></td>'+'</tr></table>';draw_tree_folders();proxy_mensagens.messages_list('local_Inbox',1,preferences.max_email_per_page,'SORTARRIVAL',null,1,1,1,function handler(data){draw_box(data,'local_Inbox');}) 34 cyrus_delimiter=Element('cyrus_delimiter').value;}} 35 function loadApplet(){var search_div=Element('search_div');var applet=null;if(navigator.userAgent.match('MSIE')){applet=document.createElement('<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" '+'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"></object>');var parameters={type:'application/x-java-applet;version=1.5',code:'ExpressoSmimeApplet',codebase:'/security/',mayscript:'true',token:token_param,locale:locale,archive:'ExpressoCertMail.jar,'+'ExpressoCert.jar,'+'bcmail-jdk15-142.jar,'+'mail.jar,'+'activation.jar,'+'bcprov-jdk15-142.jar,'+'commons-codec-1.3.jar,'+'commons-httpclient-3.1.jar,'+'commons-logging-1.1.1.jar'} 36 if(parameters!='undefined'&¶meters!=null){for(var parameter in parameters){var param=document.createElement("PARAM");param.setAttribute("name",parameter);param.setAttribute("value",parameters[parameter]);applet.appendChild(param);}}} 37 else 38 {applet=document.createElement('embed');applet.innerHTML='<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="cert_applet" code="ExpressoSmimeApplet.class" '+'codebase="/security/" locale="'+locale+'"'+'archive="ExpressoCertMail.jar,ExpressoCert.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar,commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar" '+'token="'+token_param+'" '+'type="application/x-java-applet;version=1.5" mayscript > '+'<noembed> '+'No Java Support. '+'</noembed> '+'</embed> ';} 39 if(applet!=null) 40 {applet.style.top="-100px";applet.style.left="-100px";window.document.body.insertBefore(applet,document.body.lastChild);}} 41 function disable_field(field,condition){var comando="if ("+condition+") { document.getElementById('"+field.id+"').disabled=true;} else { document.getElementById('"+field.id+"').disabled=false; }";eval(comando);} 42 function remove_all_attachments(folder,msg_num){var call_back=function(data){if(!data.status){alert(data.msg);} 43 else{msg_to_delete=Element(msg_num);change_tr_properties(msg_to_delete,data.msg_no);msg_to_delete.childNodes[1].innerHTML="";write_msg(get_lang("Attachments removed"));folderName=Base64.encode(folder);folderName=folderName.replace(/=/gi,'');delete_border(msg_num+'_r_'+folderName,'false');}};if(confirm(get_lang("delete all attachments confirmation"))) 44 cExecute("$this.imap_functions.remove_attachments&folder=" 45 +folder+"&msg_num="+msg_num,call_back);} 459 46 function watch_changes_in_msg(border_id) 460 { 461 if (document.getElementById('border_id_'+border_id)) 462 { 463 function keypress_handler () 464 { 465 away=false; 466 var save_link = content.find(".save"); 467 save_link.onclick = function onclick(event) {openTab.toPreserve[border_id] = true;save_msg(border_id);} ; 468 save_link.button({disabled: false}); 469 $(".header-button").button(); 470 }; 471 var content = $("#content_id_"+border_id); 472 473 var subject_obj = content.find(".subject"); 474 if ( subject_obj.addEventListener ) 475 subject_obj.addEventListener('keypress', keypress_handler, false); 476 else if ( subject_obj.attachEvent ) 477 subject_obj.attachEvent('onkeypress', keypress_handler); 478 479 var to_obj = content.find('[name="input_to"]'); 480 if ( to_obj.addEventListener ) 481 to_obj.addEventListener('keypress', keypress_handler, false); 482 else if ( to_obj.attachEvent ) 483 to_obj.attachEvent('onkeypress', keypress_handler); 484 485 var cc_obj = content.find('[name="input_cc"]'); 486 if ( cc_obj.addEventListener ) 487 cc_obj.addEventListener('keypress', keypress_handler, false); 488 else if ( cc_obj.attachEvent ) 489 cc_obj.attachEvent('onkeypress', keypress_handler); 490 491 if(content.find('[name="input_cco"]').length){ 492 var cco_obj = content.find('[name="input_cco"]'); 493 if ( cco_obj.addEventListener ) 494 cco_obj.addEventListener('keypress', keypress_handler, false); 495 else if ( cco_obj.attachEvent ) 496 cco_obj.attachEvent('onkeypress', keypress_handler); 497 } 498 //var important_obj = $("important_message_options_"+border_id).bind('click',keypress_handler); 499 //important_obj.addEventListener('click', keypress_handler, false); 500 501 var txtarea_obj = Element('body_'+border_id); 502 if (txtarea_obj){ 503 if ((preferences.plain_text_editor == 1)||(Element('body_')+border_id).checked){ 504 if ( txtarea_obj.addEventListener ) 505 txtarea_obj.addEventListener('keypress', keypress_handler, false); 506 else if ( txtarea_obj.attachEvent ) 507 txtarea_obj.attachEvent('onkeypress', keypress_handler); 508 } 509 } 510 } 511 } 512 513 function show_msg_img(msg_number,folder){ 514 var call_back = function(data){ 515 data.showImg = true; 516 if (!Element(data.msg_number)){ 517 trElement = document.createElement('DIV'); 518 trElement.id = data.msg_number; 519 Element("tbody_box").appendChild(trElement); 520 } 521 show_msg(data); 522 } 523 524 proxy_mensagens.msg_img(msg_number,folder,call_back); 525 526 } 527 528 function show_msg(msg_info){ 529 if(!verify_session(msg_info)) 530 return; 531 if (typeof(msg_info) != 'object') 532 alert(get_lang("Error in show_msg param is not object")); 533 534 if (msg_info.status_get_msg_info == 'false') 535 { 536 write_msg(get_lang("Problems reading your message")+ "."); 537 return; 538 } 539 540 var handler_sendNotification = function(data){ 541 if (data) 542 write_msg(get_lang("A read confirmation was sent.")); 543 else 544 write_msg(get_lang("Error in SMTP sending read confirmation.")); 545 } 546 547 if(msg_info.source) 548 { 549 // Abrindo um e-mail criptografado 550 // Verifica se existe o objeto applet 551 if (!Element('cert_applet')){ 552 // se não existir, mostra mensagem de erro. 553 write_msg(get_lang('The preference "%1" isn\'t enabled.', get_lang('Enable digitally sign/cipher the message?'))); 554 } else { 555 // se existir prepara os dados para serem enviados e chama a 556 // operação na applet 557 558 // if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ 559 /* var confNotification = confirm(get_lang("The sender waits your notification of reading. Do you want to confirm this?"), ""); 560 if (confNotification)*/ 561 // cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 562 // } 563 564 Element('cert_applet').doButtonClickAction('decript', 565 msg_info.msg_number, 566 msg_info.source, 567 msg_info.msg_folder); // Passa os dados para a applet 568 } 569 return; 570 571 } 572 573 574 if (msg_info.status_get_msg_info == 'false') 575 { 576 write_msg(get_lang("Problems reading your message")+ "."); 577 return; 578 } 579 580 if (msg_info.status == 'false'){ 581 eval(msg_info.command_to_exec); 582 } 583 else{ 584 var ID = msg_info.original_ID ? msg_info.original_ID : msg_info.msg_number; 585 586 var folderName = msg_info.msg_folder; 587 folderName = Base64.encode(folderName); 588 folderName = folderName.replace(/=/gi, ''); 589 var id_msg_read = ID+"_r_"+folderName; 590 591 //Evita a tentativa de criação de uma aba cujo ID já existe 592 if (Element("border_id_"+id_msg_read) && currentTab > 0) 593 id_msg_read += "n"; 594 595 if (preferences.use_shortcuts == '1') 596 select_msg(ID, 'null'); 597 598 // Call function to draw message 599 // If needed, delete old border 600 var isPartMsg = false; 601 for(var ii = 0; ii < partMsgs.length; ii++) 602 if(partMsgs[ii] == ID) isPartMsg = true; 603 604 if(msg_info.alarm == false){ 605 if ((openTab.type[currentTab] == 2 || openTab.type[currentTab] == 3) && isPartMsg === false){ 606 delete_border(currentTab,'false'); 607 } 608 609 } 610 611 if(Element("border_id_" + id_msg_read)) { 612 alternate_border(id_msg_read); 613 resizeWindow(); 614 } 615 else { 616 var border_id = create_border(msg_info.subject, id_msg_read); 617 if(border_id) 618 { 619 openTab.type[border_id] = 2; 620 openTab.imapBox[border_id] = msg_info.msg_folder; 621 draw_message(msg_info,border_id); 622 var unseen_sort = document.getElementById('span_flag_UNSEEN').getAttribute('onclick'); 623 unseen_sort = unseen_sort.toString(); 624 if ( !(unseen_sort.indexOf("'UNSEEN' == 'UNSEEN'") < 0) ) 625 { 626 var sort_type = sort_box_type; 627 sort_box_type = null; 628 sort_box('UNSEEN', sort_type,false); 629 delete selectedPagingMsgs[msg_info.msg_number]; 630 totalFolderMsgs--; 631 } 632 } 633 else 634 return; 635 } 636 637 var domains = ""; 638 if ((msg_info.DispositionNotificationTo) && (!msg_is_read(ID) || (msg_info.Recent == 'N'))) 639 { 640 if (preferences.notification_domains != undefined && preferences.notification_domains != "") 641 { 642 domains = preferences.notification_domains.split(','); 643 } 644 else 645 { 646 var confNotification = true; 647 } 648 for (var i = 0; i < domains.length; i++) 649 if (Base64.decode(msg_info.DispositionNotificationTo).match("@"+domains[i])) 650 { 651 var confNotification = true; 652 break; 653 } 654 if (confNotification == undefined) 655 var confNotification = confirm(get_lang("The sender:\n%1\nwaits your notification of reading. Do you want to confirm this?",Base64.decode(msg_info.DispositionNotificationTo)), ""); 656 657 if (confNotification) { 658 /* Adequação a nova funcionalidade. Agora, a confirmação de leitura é uma preferência do usuário. */ 659 if(preferences.confirm_read_message) { 660 $.Zebra_Dialog(get_lang("Would you like to send the read receipt?"), { 661 'type': 'question', 662 'title': get_lang('Read receipt'), 663 'buttons': [get_lang("Yes"), get_lang("No")], 664 'overlay_opacity' : 0.5, 665 'onClose': function(caption) { 666 if(caption == get_lang("Yes")) 667 cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&date="+msg_info.udate+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 668 else 669 write_msg(get_lang("Confirmation message is not sent")); 670 } 671 }); 672 } 673 else 674 cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&date="+msg_info.udate+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 675 } 676 677 } 678 679 //Change msg class to read. 680 if (!msg_is_read(ID)) 681 { 682 //MAILARCHIVER-01 TAG MESSAGE AS SEEN 683 if (proxy_mensagens.is_local_folder(get_current_folder())){ 684 expresso_mail_archive.drawdata = null //no draw action 685 var tl = expresso_mail_archive.pattern.tagConfig('unseen', ID, 1); 686 expresso_mail_archive.taglist = tl; 687 expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1); 688 } 689 set_msg_as_read(ID, true); 690 if (msg_info.cacheHit || (!proxy_mensagens.is_local_folder(get_current_folder()) && msg_info.original_ID)) 691 { 692 set_message_flag(ID, "seen"); // avoid caducous (lazy) data 693 } 694 } 695 } 696 setTimeout('resizeWindow()',300); 697 } 698 699 function auto_refresh(){ 700 refresh(preferences.alert_new_msg, preferences.notifications); 701 setTimeout('auto_refresh()', time_refresh); 702 } 703 704 function auto_archiving() { 705 expresso_mail_sync.start_sync(); 706 setTimeout('auto_archiving()',600000); 707 } 708 709 function notificationFilter(data, notifyCriteria){ 710 711 if(parseInt(notifyCriteria) && data.length > 0 && !activePage ){ 712 713 var howManyCriteria = $('div.gray.filtersDeadline .message-list li').length; 714 var differenceOfNewCriteria = data.length - howManyCriteria; 715 716 if(differenceOfNewCriteria > 0){ 717 for(var i=data.length - differenceOfNewCriteria; i < data.length; i++){ 718 719 desktopNotification.sentNotification("",get_lang("Filter criteria"), truncate(new Date(data[i].udate).toString('dd/MM HH:mm') + ' - ' + data[i].from+' - '+data[i].subject, 75)); 720 desktopNotification.showNotification(false, function(){ 721 window.focus(); 722 this.cancel(); 723 }); 724 } 725 } 726 } 727 } 728 729 function refresh(alert_new_msg, notifyPermission){ 730 731 getFromAlertRules(); 732 var handler_refresh = function(data){ 733 handlerMessageFilter = function (data) { 734 notificationFilter(data, notifyPermission); 735 alarmFollowupflagged('filtersAlarms', data); 736 737 } 738 /* Busca nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 739 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 740 741 if(data['msg_range_end']) 742 if(data['msg_range_end'] > 0) 743 current_page = data['msg_range_end']/preferences.max_email_per_page; 744 if(!verify_session(data)) 745 return; 746 var total_messages_element = Element('tot_m'); 747 748 var box = Element("tbody_box"); 749 if (box.childNodes.length == 0) 750 showEmptyBoxMsg(box); 751 752 if (data.length > 0 || countNewMessage > 0){ 753 for(var i=0;i< data.length;i++){ 754 if (!onceOpenedHeadersMessages[current_folder]) 755 onceOpenedHeadersMessages[current_folder] = {}; 756 onceOpenedHeadersMessages[current_folder][data[i].msg_number] = data[i]; 757 } 758 Element("table_message_header_box_0").emptyBody = false; 759 table_element = Element("table_box"); 760 var msg_info = document.getElementById('msg_info'); 761 if (msg_info != null) 762 { 763 var msg_tr = msg_info.parentNode.parentNode; 764 msg_tr.removeChild(msg_info.parentNode); 765 if (!Element("colgroup_main_"+numBox)) { 766 var colgr_element = buildColGroup(); 767 colgr_element.setAttribute("id","colgroup_main_"+numBox); 768 table_element.appendChild(colgr_element); 769 } 770 } 771 772 var box = Element("tbody_box"); 773 //table_element.insertBefore(box, Element("colgroup_main_"+numBox)); // keeps colgroup as the last child 774 //table_element.appendChild(Element("colgroup_main_"+numBox)); 775 776 777 if (!$("#colgroup_main_0").size()){ 778 $(table_element).append(Element("colgroup_main_"+numBox)); 779 } 780 781 if (data.msgs_to_delete.length > 0){ 782 for (var i=0; i<data.msgs_to_delete.length; i++){ 783 if ( (data.msgs_to_delete[i] != undefined) && (data.msgs_to_delete[i] != "")){ 784 removeAll(data.msgs_to_delete[i]); 785 } 786 } 787 } 788 if (data[0].msg_folder != current_folder) // Bad request 789 return false; 790 791 totalFolderMsgs += data.new_msgs; 792 793 for (var i=0; i<data.length; i++){ 794 var existent = document.getElementById(data[i].msg_number); 795 if (!existent) 796 { 797 selectedPagingMsgs[data[i].msg_number] = false; 798 totalFolderMsgs++; 799 updateSelectedMsgs(false,data[i].msg_number); 800 var new_msg = this.make_tr_message(data[i], current_folder, data.offsetToGMT); 801 $(new_msg).draggable({ 802 start : function(){ 803 if($(".shared-folders").length){ 804 $(".shared-folders").parent().find('.folder:not(".shared-folders")').droppable({ 805 over : function(a, b){ 806 //SETA BORDA EM VOLTA DA PASTA 807 over = $(this); 808 $(this).addClass("folder-over"); 809 if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 810 if($(this).prev()[0]) 811 if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 812 setTimeout(function(){ 813 if(over.hasClass("folder-over")) 814 over.prev().trigger("click"); 815 }, 500); 816 817 } 818 }, 819 out : function(){ 820 //RETIRA BORDA EM VOLTA DA PASTA 821 $(this).removeClass("folder-over"); 822 }, 823 //accept: ".draggin_mail", 824 drop : function(event, ui){ 825 $(this).css("border", ""); 826 if($(this).parent().attr('id') == undefined){ 827 var folder_to = 'INBOX'; 828 var to_folder_title = get_lang("Inbox"); 829 }else{ 830 var folder_to = $(this).parent().attr('id'); 831 var to_folder_title = $(this).attr('title'); 832 } 833 var folder_to_move = ui.draggable.parent().attr('id'); 834 var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 835 // Mensagens : SE O DROP VIER DA LISTA DE MENSAGENS : 836 if(folder_to_move == "tbody_box"){ 837 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 838 return refresh(); 839 } 840 } 841 }); 842 } 843 }, 844 stop :function(){ 845 $(".shared-folders").parent().find(".folder").droppable("destroy"); 846 }, 847 helper: function(event){ 848 $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 849 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 850 if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 851 $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 852 $.each( $(".selected_shortcut_msg"), function(index, value){ 853 updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 854 }); 855 } 856 if(totalSelected() > 1) 857 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 858 if( $(this).find(".td_msg_subject").text().length > 18 ) 859 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 860 else 861 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+"</td></tr>"); 862 }, 863 iframeFix: true, 864 delay: 150, 865 cursorAt: {top: 5, left: 56}, 866 refreshPositions: true, 867 containment: "#divAppbox" 868 }).bind("contextmenu", function(){ 869 if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 870 if($(this).find("input:checkbox").attr("checked") != "checked"){ 871 $(this).find("input:checkbox").trigger('click'); 872 $(this).addClass("selected_msg"); 873 } 874 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 875 } 876 }); 877 //_dragArea.makeDragged(new_msg, data[i].msg_number, data[i].subject, true); 878 879 if( data[i].next_msg_number != undefined && data[i].next_msg_number != null ){ 880 try { 881 box.insertBefore(new_msg, box.childNodes[data[i].msg_key_position]); 882 } 883 catch (e){ 884 box.insertBefore(new_msg, box.firstChild); 885 } 886 } 887 else if (data[i].Recent == 'N'){ 888 box.insertBefore(new_msg,box.firstChild); 889 } 890 else { 891 box.appendChild(new_msg); 892 } 893 } 894 } 895 if(parseInt(preferences.use_shortcuts)) 896 select_msg("null","reload_msg","null"); 897 898 if(parseInt(alert_new_msg) && data.new_msgs > 0 && activePage) 899 alert(data['new_msgs'] > 1 ? get_lang("You have %1 new messages", data['new_msgs']) + "!" : get_lang("You have 1 new message") +"!"); 900 901 902 if(parseInt(notifyPermission) && (data.new_msgs > 0 || !!countNewMessage) && !activePage ){ 903 904 countNewMessage += data.length; 905 906 desktopNotificationAux = desktopNotification.sentNotification("",get_lang("Notification"), countNewMessage > 1 ? get_lang("You have %1 new messages", countNewMessage) + "!" : get_lang("You have 1 new message") + "!"); 907 908 if(auxNotification !== 'undefined') 909 desktopNotification.cancelByReference(auxNotification); 910 911 desktopNotification.showNotification(function(){ 912 countNewMessage = 0; 913 }, function(){ 914 window.focus(); 915 this.cancel(); 916 countNewMessage = 0; 917 }); 918 919 auxNotification = desktopNotificationAux; 920 } 921 build_quota(data['quota']); 922 } 923 if(data.new_msgs){ 924 total_messages_element.innerHTML = parseInt( total_messages_element.innerHTML ) + data.new_msgs; 925 }else if(data.tot_msgs){ 926 total_messages_element.innerHTML = data.tot_msgs >=0 ? data.tot_msgs : 0; 927 } 928 // Update Box BgColor 929 var box = Element("tbody_box"); 930 if(box.childNodes.length > 1){ 931 updateBoxBgColor(box.childNodes); 932 } 933 connector.purgeCache(); 934 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 935 resizeMailList(); 936 937 } 938 939 msg_range_end = (current_page*preferences.max_email_per_page); 940 msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 941 942 943 //Get element tBody. 944 main = Element("tbody_box"); 945 if(!main) 946 return; 947 948 // Get all TR (messages) in tBody. 949 main_list = main.childNodes; 950 var tmp = ''; 951 var string_msgs_in_main = ''; 952 953 var len = main_list.length; 954 for (var j=0; j < len; j++) 955 tmp += main_list[j].id + ','; 956 957 string_msgs_in_main = tmp.substring(0,(tmp.length-1)); 958 if(!expresso_offline) 959 $.ajax({ 960 url: 'controller.php?' + $.param( {action: '$this.imap_functions.refresh', 961 folder: current_folder, 962 msgs_existent: string_msgs_in_main, 963 msg_range_begin: msg_range_begin, 964 msg_range_end: msg_range_end, 965 sort_box_type: sort_box_type, 966 search_box_type: search_box_type, 967 sort_box_reverse: sort_box_reverse } ), 968 success: function( data ){ 969 data = connector.unserialize( data ); 970 971 if( data ) 972 handler_refresh( data ); 973 }, 974 beforeSend: function( jqXHR, settings ){ 975 connector.showProgressBar(); 976 }, 977 complete: function( jqXHR, settings ){ 978 connector.hideProgressBar(); 979 } 980 981 }); 982 983 var msgs = $("#tbody_box tr"); 984 if(!msgs.hasClass("current_selected_shortcut_msg selected_shortcut_msg")) 985 { 986 msgs.first().focus().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 987 } 988 989 } 990 991 function delete_msgs(folder, msgs_number, border_ID, show_success_msg,archive){ 992 if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){ 993 alert( "Impossivel deletar mensagens que estão ainda estão sendo arquivadas." ); 994 return; 995 } 996 997 var userTrashFolder = ''; 998 999 if (arguments.length < 4) show_success_msg = true; 1000 if (folder == 'null') folder = current_folder; 1001 1002 if(folder.substr(0,4) == 'user') 1003 { 1004 var arrayFolder = folder.split(cyrus_delimiter); 1005 userTrashFolder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash']; 1006 /** TODO Mudar quando melhorias forem implementadas na API de atualização do cache */ 1007 DataLayer.remove('folder', false); 1008 DataLayer.get('folder'); 1009 1010 var has_folder = DataLayer.get('folder', userTrashFolder); 1011 if(!has_folder){ 1012 create_new_folder(special_folders['Trash'], 'user'+cyrus_delimiter+arrayFolder[1]); 1013 } 1014 1015 } 1016 else userTrashFolder = mount_url_folder(["INBOX",special_folders["Trash"]]); 1017 1018 if(openTab.type[currentTab] == 1) 1019 return move_search_msgs('content_id_'+currentTab,userTrashFolder,special_folders['Trash']); 1020 1021 if(currentTab.toString().indexOf("_r") != -1) 1022 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 1023 1024 if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){ 1025 move_msgs2(folder, ""+msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg ); 1026 return; 1027 } 1028 1029 var handler_delete_msgs = function(data){ 1030 1031 Element('chk_box_select_all_messages').checked = false; 1032 if (currentTab) 1033 mail_msg = Element("tbody_box_"+currentTab); 1034 else 1035 mail_msg = Element("tbody_box"); 1036 1037 if ( preferences.use_shortcuts == '1') { 1038 //Last msg is selected 1039 if (mail_msg && exist_className(mail_msg.childNodes[mail_msg.childNodes.length-1], 'selected_shortcut_msg') ) { 1040 select_msg('null', 'up', true); 1041 } 1042 else { 1043 if (!select_msg('null', 'down', true)) { 1044 select_msg('null', 'up', true); 1045 } 1046 } 1047 } 1048 1049 if(data.status == false){ 1050 write_msg(get_lang("You don't have permission for this operation in this shared folder!")); 1051 return false; 1052 } 1053 1054 //Se pref. usar mensagens locais ativaada e não for operação de arquivamento exibe mensagem de remoção. 1055 if(preferences.use_local_messages == 1){ 1056 if(!expresso_mail_archive.isArchiveOperation){ 1057 if (show_success_msg){ 1058 if (data.msgs_number.length == 1) 1059 write_msg(get_lang("The message was deleted.")); 1060 else 1061 write_msg(get_lang("The messages were deleted.")); 1062 } 1063 } 1064 } 1065 else{ 1066 if (show_success_msg){ 1067 if (data.msgs_number.length == 1) 1068 write_msg(get_lang("The message was deleted.")); 1069 else 1070 write_msg(get_lang("The messages were deleted.")); 1071 } 1072 } 1073 1074 if (openTab.type[currentTab] > 1){ 1075 var msg_to_delete = Element(msgs_number); 1076 if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) { 1077 if (msg_to_delete.previousSibling){ 1078 var previous_msg = msg_to_delete.previousSibling.id; 1079 $.ajax({ 1080 url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 1081 msg_number: previous_msg, 1082 msg_folder: current_folder, 1083 decoded: true } ), 1084 success: function( data ){ 1085 data = connector.unserialize( data ); 1086 1087 if( data ) 1088 show_msg( data ); 1089 }, 1090 beforeSend: function( jqXHR, settings ){ 1091 connector.showProgressBar(); 1092 }, 1093 complete: function( jqXHR, settings ){ 1094 connector.hideProgressBar(); 1095 } 1096 1097 }); 1098 } 1099 else{ 1100 delete_border(currentTab,'false'); 1101 } 1102 1103 } 1104 else{ 1105 delete_border(currentTab,'false'); 1106 } 1107 1108 } 1109 for (var i=0; i<data.msgs_number.length; i++){ 1110 var msg_to_delete = Element(data.msgs_number[i]); 1111 if (msg_to_delete){ 1112 removeAll(msg_to_delete.id); 1113 delete selectedPagingMsgs[data.msgs_number[i]]; 1114 } 1115 totalFolderMsgs = totalFolderMsgs - data.msgs_number.length; 1116 } 1117 $.each(data.msgs_number, function(index, value){ 1118 msgFolder = Base64.encode(get_current_folder()); 1119 tabToRemove = value + "_r_" + msgFolder.replace(/=/g,""); 1120 if ($("#"+tabToRemove)){ 1121 delete_border(tabToRemove,'false'); 1122 } 1123 }); 1124 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 1125 refresh(); 1126 } 1127 1128 if (msgs_number.length > 0 || parseInt(msgs_number) > 0) 1129 cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_delete_msgs); 1130 else 1131 write_msg(get_lang('No selected message.')); 1132 } 1133 1134 1135 function move_search_msgs(border_id, new_folder, new_folder_name, action){ 1136 1137 var msg_to_delete = ""; 1138 var msg_to_move = ""; 1139 var selected_messages = ''; 1140 var temp_msg; 1141 var remove_currente_folder = ""; 1142 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 1143 1144 //Validação para não poder manipular mensagens locais na busca 1145 if (currentTab.indexOf('search_local') != -1 || proxy_mensagens.is_local_folder(new_folder)) 1146 { 1147 alert(get_lang("You cant manipulate local messages on search")); 1148 return; 1149 } 1150 1151 var delete_msg = false; 1152 1153 if(new_folder_name == special_folders['Trash']){ 1154 delete_msg = true; 1155 } 1156 selected_messages = get_selected_messages_search(); 1157 1158 if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){ 1159 alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." ); 1160 return; 1161 } 1162 var handler_move_search_msgs = function(data){ 1163 if(!data || !data.msgs_number) 1164 return; 1165 else if(data.deleted) { 1166 if(data.no_move && data.move) 1167 alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission.")); 1168 else if (data.msgs_number.length == 1) 1169 write_msg(get_lang("The message was deleted.")); 1170 else 1171 write_msg(get_lang("The messages were deleted.")); 1172 }else if(data.status == false && data.move ){ 1173 alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission.")); 1174 }else if(data.status == false){ 1175 alert(get_lang("You don't have permission for this operation in this shared folder!")); 1176 return false; 1177 }else{ 1178 if (data.msgs_number.length == 1) 1179 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1180 else 1181 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1182 } 1183 1184 if(data.no_move){ 1185 var no_remove = data.no_move.split(','); 1186 var continua = true; 1187 1188 selected_messages = selected_messages.split(","); 1189 for (i = 0; i < selected_messages.length; i++){ 1190 for(j = 0; j < no_remove.length; j++) 1191 if(selected_messages[i] == no_remove[j]) 1192 continua = false; 1193 if(continua) 1194 removeAll(selected_messages[i]+'_s'+id_border); 1195 continua = true; 1196 } 1197 }else{ 1198 selected_messages = selected_messages.split(","); 1199 for (i = 0; i < selected_messages.length; i++){ 1200 removeAll(selected_messages[i]+'_s'+id_border); 1201 1202 } 1203 } 1204 1205 // Update Box BgColor 1206 var box = Element("tbody_box_"+getNumBoxFromTabId(currentTab)).childNodes; 1207 if(box.length > 1){ 1208 updateBoxBgColor(box); 1209 } 1210 connector.purgeCache(); 1211 1212 1213 if(remove_currente_folder != ""){ 1214 var mail_msg = Element('tbody_box').childNodes; 1215 remove_currente_folder = remove_currente_folder.substring(0,(remove_currente_folder.length-1)); 1216 remove_currente_folder = remove_currente_folder.split(","); 1217 for(i = 0; i < remove_currente_folder.length; i++) 1218 removeAll(remove_currente_folder[i]); 1219 1220 // Update Box BgColor 1221 var box = Element("tbody_box"); 1222 if(box.childNodes.length > 0){ 1223 updateBoxBgColor(box.childNodes); 1224 } 1225 if(folder == get_current_folder()){ 1226 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - remove_currente_folder.length; 1227 } 1228 } 1229 1230 draw_new_tree_folder(); 1231 EsearchE.refresh(); 1232 } 1233 1234 if (selected_messages){ 1235 1236 var selected_param = ""; 1237 if (selected_messages.indexOf(',') != -1) 1238 { 1239 selected_msg_array = selected_messages.split(","); 1240 for (i = 0; i < selected_msg_array.length; i++){ 1241 var tr = Element(selected_msg_array[i]+'_s'+id_border); 1242 if(tr.getAttribute('name') == current_folder) 1243 remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 1244 1245 if ((action == 'delete' && tr.getAttribute('name') == mount_url_folder(["INBOX",special_folders["Trash"]])) || !(parseInt(preferences.save_deleted_msg))) 1246 { 1247 msg_to_delete += ','+special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1248 } 1249 else if (!(tr.getAttribute('name') == new_folder && action != 'delete')) 1250 { 1251 msg_to_move = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 1252 selected_param += ','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1253 }else{ 1254 write_msg(get_lang('At least one message have the same origin')); 1255 return false; 1256 } 1257 } 1258 } 1259 else 1260 { 1261 var tr=Element(selected_messages+'_s'+id_border); 1262 if(tr.getAttribute('name') == current_folder) 1263 remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 1264 if((action == 'delete' && tr.getAttribute('name') == mount_url_folder(["INBOX",special_folders["Trash"]])) || !(parseInt(preferences.save_deleted_msg))){ 1265 msg_to_delete = special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1266 }else if (!(tr.getAttribute('name') == new_folder && action != 'delete')){ 1267 trfolder = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 1268 selected_param=trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1269 }else{ 1270 write_msg(get_lang('The origin folder and the destination folder are the same.')); 1271 return false; 1272 } 1273 } 1274 var params = ""; 1275 if(msg_to_delete != "" && msg_to_move != ""){ 1276 params += "&selected_messages_move="+url_encode(selected_param); 1277 params += "&new_folder_move="+url_encode(new_folder); 1278 params += "&new_folder_name_move="+url_encode(new_folder_name); 1279 1280 new_folder = mount_url_folder(["INBOX",special_folders["Trash"]]); 1281 new_folder_name = special_folders['Trash']; 1282 params += "&selected_messages_delete="+url_encode(msg_to_delete); 1283 params += "&new_folder_delete="+url_encode(new_folder); 1284 cExecute ("$this.imap_functions.move_delete_search_messages", handler_move_search_msgs, params); 1285 }else if(msg_to_delete != ""){ 1286 new_folder = mount_url_folder(["INBOX",special_folders["Trash"]]); 1287 new_folder_name = special_folders['Trash']; 1288 params += "&delete=true"; 1289 params += "&selected_messages="+url_encode(msg_to_delete); 1290 params += "&new_folder="+url_encode(new_folder); 1291 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 1292 }else{ 1293 params = "&selected_messages="+url_encode(selected_param); 1294 params += "&delete=false"; 1295 params += "&new_folder="+url_encode(new_folder); 1296 params += "&new_folder_name="+url_encode(new_folder_name); 1297 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 1298 } 1299 } 1300 else 1301 write_msg(get_lang('No selected message.')); 1302 } 1303 1304 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg, not_opem_previus){ 1305 not_opem_previus = typeof(not_opem_previus) != 'undefined' ? not_opem_previus : false; 1306 var folder_error = new_folder_name; 1307 if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){ 1308 alert( "Impossivel mover mensagens que estão ainda estão sendo arquivadas." ); 1309 return; 1310 } 1311 1312 if (! folder || folder == 'null') 1313 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : (openTab.imapBox[currentTab] ? openTab.imapBox[currentTab]:get_current_folder()); 1314 if(openTab.type[currentTab] == 1) 1315 return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 1316 1317 var handler_move_msgs = function(data){ 1318 if(typeof(data) == 'string') 1319 if (data.match(/^(.*)TRYCREATE(.*)$/)){ 1320 connector.loadScript('TreeS'); 1321 var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : special_folders['Trash']; 1322 alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', folder_error)); 1323 ttree.FOLDER = 'root'; 1324 create_new_folder(move_to_folder,"INBOX"); 1325 return false; 1326 }else{ 1327 write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".', new_folder_name)); 1328 /*Verifica se a pasta destino é a "Trash" e se a pasta origem e destino são do mesma estrutura compartilhada*/ 1329 if(new_folder_name == "Trash" && folder.split("/")[1] == new_folder.split("/")[1]){ 1330 alert(get_lang("You can not remove the message with the preference 'Send to Trash' enabled. There is no permission to move messages to the trash folder.")); 1331 } 1332 return false; 1333 } 1334 //Este bloco verifica as permissoes ACL sobre pastas compartilhadas 1335 if(data.status == false){ 1336 write_msg(get_lang("You don't have permission for this operation in this shared folder!")); 1337 return false; 1338 } 1339 mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 1340 if (data.msgs_number.length == 1){ 1341 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1342 } 1343 else{ 1344 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1345 } 1346 1347 if (openTab.type[currentTab] > 1) 1348 { 1349 msg_to_delete = Element(msgs_number); 1350 if (parseInt(preferences.delete_and_show_previous_message) && msg_to_delete) 1351 { 1352 if (msg_to_delete.previousSibling) 1353 { 1354 var previous_msg = msg_to_delete.previousSibling.id; 1355 //cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + current_folder, show_msg); 1356 if(!not_opem_previus){ 1357 $.ajax({ 1358 url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 1359 msg_number: previous_msg, 1360 msg_folder: folder, 1361 decoded: true } ), 1362 success: function( data ){ 1363 data = connector.unserialize( data ); 1364 1365 if( data ) 1366 show_msg( data ); 1367 }, 1368 beforeSend: function( jqXHR, settings ){ 1369 connector.showProgressBar(); 1370 }, 1371 complete: function( jqXHR, settings ){ 1372 connector.hideProgressBar(); 1373 } 1374 }); 1375 } 1376 } 1377 //se houver pagina anterior a paginação deve ser refeita 1378 else 1379 { 1380 if (current_page > 1) 1381 { 1382 $('#msg_opt_previous_'+msg_to_delete.getAttribute('id') + '_r').trigger('click'); 1383 } 1384 else 1385 { 1386 var border_id = $("#border_id_"+currentTab).prev().attr("id").split("_").slice(2, 3).join("") 1387 var folderName = current_folder; 1388 if(border_id) 1389 { 1390 $.ajax({ 1391 url: 'controller.php?' + $.param({ 1392 action: '$this.imap_functions.get_info_msg', 1393 msg_number: border_id, 1394 msg_folder: folderName, 1395 decoded: true 1396 }), 1397 success: function( data ){ 1398 data = connector.unserialize( data ); 1399 delete_border(currentTab,'false'); 1400 if( data ) 1401 { 1402 show_msg( data ); 1403 } 1404 }, 1405 beforeSend: function( jqXHR, settings ){ 1406 connector.showProgressBar(); 1407 }, 1408 complete: function( jqXHR, settings ){ 1409 connector.hideProgressBar(); 1410 } 1411 }); 1412 } 1413 else 1414 { 1415 delete_border(currentTab,'false'); 1416 } 1417 } 1418 } 1419 } 1420 else 1421 { 1422 if (msg_to_delete.id === String(currentTab).split('_')[0]) 1423 { 1424 delete_border(currentTab,'false'); 1425 } 1426 } 1427 1428 if(msg_to_delete) 1429 { 1430 mail_msg.removeChild(msg_to_delete); 1431 } 1432 1433 // Update Box BgColor 1434 var box = Element("tbody_box"); 1435 if(box.childNodes.length > 0) 1436 { 1437 updateBoxBgColor(box.childNodes); 1438 } 1439 if(folder == get_current_folder()) 1440 { 1441 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - 1; 1442 } 1443 return; 1444 } 1445 1446 Element('chk_box_select_all_messages').checked = false; 1447 if (! mail_msg) 1448 mail_msg = Element("tbody_box"); 1449 data.msgs_number = data.msgs_number.split(","); 1450 1451 var msg_to_delete; 1452 if( typeof(msgs_number) == 'string' ) 1453 all_search_msg = msgs_number.split(','); 1454 else if( typeof(msgs_number) == 'number') 1455 all_search_msg = msgs_number; 1456 1457 for (var i=0; i <= all_search_msg.length; i++) 1458 { 1459 msg_to_delete = Element(folder+';'+all_search_msg[i]); 1460 if (msg_to_delete) 1461 msg_to_delete.parentNode.removeChild(msg_to_delete); 1462 } 1463 1464 if ( preferences.use_shortcuts == '1') { 1465 var all_messages = Element('tbody_box').childNodes; 1466 // verificar se a msg selecionada com o checkbox é a mesma selecionada com o shortcut 1467 var msg_list_shortcut = get_selected_messages_shortcut().split(','); 1468 if(data.msgs_number.length > 0 && msg_list_shortcut.length > 0 && data.msgs_number.toString() == msg_list_shortcut.toString()){ 1469 //Last msg is selected 1470 if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) { 1471 select_msg('null', 'up', true); 1472 } 1473 else { 1474 if (!select_msg('null', 'down', true)) { 1475 select_msg('null', 'up', true); 1476 } 1477 } 1478 } 1479 } 1480 for (var i=0; i<data.msgs_number.length; i++) 1481 { 1482 msg_to_delete = Element(data.msgs_number[i]); 1483 if (msg_to_delete) 1484 mail_msg.removeChild(msg_to_delete); 1485 } 1486 1487 if (data.msgs_number.length == 1) 1488 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 1489 else 1490 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 1491 if (data.border_ID.indexOf('r') != -1){ 1492 if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ 1493 delete_border(data.border_ID,'false'); 1494 show_msg(data.previous_msg); 1495 } 1496 else{ 1497 delete_border(data.border_ID,'false'); 1498 } 1499 1500 } 1501 if(folder == get_current_folder()){ 1502 var n_total_msg = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 1503 n_total_msg = n_total_msg >= 0 ? n_total_msg : 0; 1504 draw_paging(n_total_msg); 1505 Element('tot_m').innerHTML = n_total_msg; 1506 totalFolderMsgs -= data.msgs_number.length; 1507 } 1508 refresh(); 1509 } 1510 1511 if (folder == new_folder){ 1512 write_msg(get_lang('The origin folder and the destination folder are the same.')); 1513 return; 1514 } 1515 1516 try{ 1517 if (proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value')) && !border_ID) { 1518 alert(get_lang("You cant manipulate local messages on search")); 1519 return; 1520 } 1521 } catch (e) {} 1522 //Validação para recuperar o id caso não seja aba de listagem 1523 if (currentTab == 0 && msgs_number == "selected") 1524 msgs_number = get_selected_messages(); 1525 else if (currentTab != 0 && msgs_number == "selected") 1526 msgs_number = currentTab.substr(0,currentTab.indexOf('_r')); 1527 1528 if(openTab.type[currentTab] == 1){ 1529 return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name); 1530 } 1531 1532 // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 1533 if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 1534 { 1535 //se a aba for aberta atraves de uma pesquisa 1536 if(currentTab.toString().indexOf('_s') != -1) 1537 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf('_s')); 1538 else 1539 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf('_r')); 1540 } 1541 if (msgs_number) { 1542 refresh(); 1543 } 1544 else{ 1545 $("#"+get_current_folder()).find('span:first').addClass('selected'); 1546 } 1547 1548 if (proxy_mensagens.is_local_folder(folder)){ 1549 1550 expresso_mail_archive.update_counters = true; 1551 //Folder de onde sai a mensagem é local (armazenamento local) 1552 1553 if(msgs_number=='selected'){ 1554 msgs_number = get_selected_messages(); 1555 } 1556 1557 if (new_folder == 'local_root'){ 1558 alert(get_lang("Select a folder!")); 1559 } 1560 1561 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) { 1562 if (proxy_mensagens.is_local_folder(new_folder)){ 1563 //esta tirando de um folder local para outro folder local 1564 //expresso_mail_archive.moveMessages(new_folder.substr(6), msgs_number); 1565 expresso_mail_archive.moveMessages(new_folder.replace('local_messages_', ''), msgs_number); 1566 delete_border(border_ID); 1567 } 1568 else{ 1569 //esta tirando de um folder local para um folder IMAP (desarquivamento) 1570 if(!new_folder){ 1571 new_folder = 'INBOX'; 1572 } 1573 if(currentTab.toString().indexOf("_r") != -1){ 1574 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 1575 } 1576 expresso_mail_archive.unarchieve(folder, new_folder, msgs_number); 1577 if(currentTab != 0) 1578 delete_border(border_ID); 1579 } 1580 } 1581 else{ 1582 write_msg(get_lang('No selected message.')); 1583 } 1584 1585 } 1586 else{ 1587 if (proxy_mensagens.is_local_folder(new_folder)){ 1588 //esta tirando de um folder não local para um folder local (arquivamento) 1589 if(msgs_number=='selected'){ 1590 archive_msgs(folder, new_folder); 1591 } 1592 else{ 1593 archive_msgs(folder, new_folder, msgs_number); 1594 } 1595 } 1596 else{ 1597 //esta tirando de um folder não local para outro folder não local (move) 1598 //move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 1599 if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 1600 // remove a flag $FilteredMessage da mensagem, depois move 1601 var handler_removeFlag = function(){ 1602 $.ajax({ 1603 url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 1604 folder: folder, 1605 msgs_number: ""+msgs_number, 1606 border_ID: border_ID, 1607 sort_box_type: sort_box_type, 1608 search_box_type: search_box_type, 1609 sort_box_reverse: sort_box_reverse, 1610 reuse_border: border_ID, 1611 new_folder: new_folder, 1612 new_folder_name: new_folder_name, 1613 get_previous_msg: ( !not_opem_previus ? preferences.delete_and_show_previous_message : false ), 1614 decoded: true } ), 1615 1616 success: function( data ){ 1617 data = connector.unserialize( data ); 1618 $.each(msgs_number.split(","), function(index, value){ 1619 delete selectedPagingMsgs[value]; 1620 msgFolder = Base64.encode(get_current_folder()); 1621 tabToRemove = value + "_r_" + msgFolder.replace(/=/g,""); 1622 if ($("#"+tabToRemove)){ 1623 //delete_border(tabToRemove,'false'); 1624 } 1625 }); 1626 totalFolderMsgs -= msgs_number.split(",").length; 1627 1628 //TESTE 1629 selectAllFolderMsgs(); 1630 $('.select-link').unbind('click'); 1631 1632 if( data ) 1633 handler_move_msgs( data ); 1634 }, 1635 beforeSend: function( jqXHR, settings ){ 1636 connector.showProgressBar(); 1637 }, 1638 complete: function( jqXHR, settings ){ 1639 connector.hideProgressBar(); 1640 } 1641 1642 }); 1643 } 1644 var hasFolder = false; 1645 $.each(fromRules, function(index, value) { 1646 if(value == folder){ 1647 hasFolder = true; 1648 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag); 1649 return false; 1650 } 1651 }); 1652 if(!hasFolder){ 1653 handler_removeFlag(); 1654 } 1655 1656 }else 1657 write_msg(get_lang('No selected message.')); 1658 } 1659 } 1660 1661 //Código adicionado para o correto funcionamento da seleção independente de paginação. 1662 $.each(msgs_number.split(","), function(index, value){ 1663 delete selectedPagingMsgs[value]; 1664 }); 1665 totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 1666 selectAllFolderMsgs(false); 1667 updateSelectedMsgs(); 1668 } 1669 1670 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name, not_opem_previus) { 1671 move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true, not_opem_previus); 1672 } 1673 1674 function normalizeMsgNumber( msgNumber ){ 1675 1676 if (msgNumber || msgNumber == 'selected') 1677 msgNumber = get_selected_messages(); 1678 1679 1680 // se a aba estiver aberta e selecionada, apenas a msg da aba é movida 1681 if(currentTab.toString().indexOf("_r") != -1) 1682 { 1683 //se a aba for aberta atraves de uma pesquisa 1684 if(currentTab.toString().indexOf('_s') != -1) 1685 msgNumber = currentTab.toString().substr(0,currentTab.toString().indexOf('_s')); 1686 else 1687 msgNumber = currentTab.toString().substr(0,currentTab.toString().indexOf('_r')); 1688 } 1689 1690 if (parseInt(msgNumber) <= 0 || msgNumber.length <= 0){ 1691 write_msg(get_lang('No selected message.')); 1692 return( false ); 1693 } 1694 1695 return( msgNumber ); 1696 1697 } 1698 1699 function archive_search_msgs(folder_dest) { 1700 1701 var id_msgs = ""; 1702 id_msgs = get_selected_messages_search(); 1703 var msg_to_arquive = ""; 1704 var messages = ""; 1705 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 1706 1707 if ( parseInt(id_msgs) <= 0 || id_msgs.length <= 0 ) 1708 return write_msg(get_lang('No selected message.')); 1709 1710 if(folder_dest=='local_root' || folder_dest==null) //Caso seja o primeiro arquivamento... 1711 folder_dest = 'local_Inbox'; 1712 1713 id_msgs = expresso_local_messages.checkArchived( id_msgs, folder_dest ); 1714 1715 if( !id_msgs ){ 1716 write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 1717 return; 1718 } 1719 1720 document.getElementById("overlay").style.visibility = "visible"; 1721 1722 var handler_arquivar_mensagens = function(data) { 1723 1724 var msgs_info = []; 1725 1726 for( var i = 0; i < data.length; i++ ) 1727 msgs_info[i] = connector.unserialize( data[i] ); 1728 1729 //vejo se já tinha mensagens locais 1730 var h = expresso_local_messages.has_local_mails(); 1731 1732 expresso_local_messages.insert_mails( msgs_info, folder_dest, function( s, f ){complete_archiving( s, f, h )} ); 1733 1734 document.getElementById("overlay").style.visibility = "hidden"; 1735 } 1736 1737 id_msgs = id_msgs.split(','); 1738 for (i = 0; i < id_msgs.length; i++){ 1739 var tr = Element(id_msgs[i]+'_s'+id_border); 1740 msg_to_arquive = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 1741 messages += ','+msg_to_arquive+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 1742 } 1743 1744 $.ajax({ 1745 url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 1746 msg_number: messages, 1747 msg_folder: folder_dest, 1748 decoded: true } ), 1749 success: function( data ){ 1750 data = connector.unserialize( data ); 1751 1752 if( data ) 1753 handler_arquivar_mensagens( data ); 1754 }, 1755 beforeSend: function( jqXHR, settings ){ 1756 connector.showProgressBar(); 1757 }, 1758 complete: function( jqXHR, settings ){ 1759 connector.hideProgressBar(); 1760 } 1761 1762 }); 1763 } 1764 1765 1766 function archive_msgs(folder,folder_dest,id_msgs) { 1767 1768 if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){ 1769 alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 1770 return true; 1771 } 1772 write_msg(get_lang('Starting to archive messages')); 1773 1774 if(currentTab.toString().indexOf("_r") != -1){ 1775 id_msgs = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 1776 } 1777 1778 if(!id_msgs) 1779 id_msgs = get_selected_messages(); 1780 1781 if(folder_dest=='local_root' || folder_dest==null)//Default archive destiny = local_inbox folder 1782 folder_dest = 'local_inbox'; 1783 1784 if (parseInt(id_msgs) > 0 || id_msgs.length > 0){ 1785 //expresso_mail_archive.Archive(folder,folder_dest,id_msgs); 1786 window.setTimeout("expresso_mail_archive.Archive('" + folder + "','" + folder_dest + "','" + id_msgs + "')", 1); 1787 selectAllFolderMsgs(false); 1788 } 1789 else 1790 write_msg(get_lang('No selected message.')); 1791 1792 1793 /* 1794 if(proxy_mensagens.is_local_folder(folder)) { 1795 write_msg(get_lang("You cant archive local mails")); 1796 return; 1797 } 1798 1799 if(currentTab.toString().indexOf("_r") != -1) 1800 id_msgs = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 1801 1802 if(currentTab.toString().indexOf("_s") != -1) 1803 id_msgs = currentTab.toString().substr(0,currentTab.toString().indexOf("_s")); 1804 1805 if(!id_msgs){ 1806 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 1807 archive_search_msgs(folder_dest); 1808 return; 1809 }else 1810 id_msgs = get_selected_messages(); 1811 } 1812 1813 if ( parseInt(id_msgs) <= 0 || id_msgs.length <= 0 ) 1814 return write_msg(get_lang('No selected message.')); 1815 1816 if(folder_dest=='local_root' || folder_dest==null) //Caso seja o primeiro arquivamento... 1817 folder_dest = 'local_Inbox'; 1818 1819 id_msgs = expresso_local_messages.checkArchived( id_msgs, folder_dest ); 1820 1821 if( !id_msgs ){ 1822 write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 1823 return; 1824 } 1825 1826 document.getElementById("overlay").style.visibility = "visible"; 1827 1828 var handler_arquivar_mensagens = function(data) { 1829 1830 //var msgs_info = []; 1831 1832 //for( var i = 0; i < data.length; i++ ) 1833 //msgs_info[i] = connector.unserialize( data[i] ); 1834 1835 //vejo se já tinha mensagens locais 1836 //var h = expresso_local_messages.has_local_mails(); 1837 1838 //expresso_local_messages.insert_mails( msgs_info, folder_dest, function( s, f ){complete_archiving( s, f, h )} ); 1839 1840 expresso_mail_archive.Archive(folder,folder_dest,id_msgs); 1841 document.getElementById("overlay").style.visibility = "hidden"; 1842 } 1843 1844 $.ajax({ 1845 url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 1846 msg_number: id_msgs, 1847 msg_folder: folder, 1848 decoded: true } ), 1849 success: function( data ){ 1850 data = connector.unserialize( data ); 1851 1852 if( data ) 1853 handler_arquivar_mensagens( data ); 1854 }, 1855 beforeSend: function( jqXHR, settings ){ 1856 connector.showProgressBar(); 1857 }, 1858 complete: function( jqXHR, settings ){ 1859 connector.hideProgressBar(); 1860 } 1861 1862 }); 1863 */ 1864 1865 } 1866 1867 function complete_archiving( success, fails, has_local_messages_before ) 1868 { 1869 var msgs_to_remove = {}; 1870 var target = mount_url_folder(["INBOX",special_folders["Trash"],'tmpMoveToLocal']); 1871 1872 success = expresso_local_messages.select_mail( [ 'original_id', 'original_folder' ], success ); 1873 1874 for (var i = 0; i < success.length; i++) { 1875 1876 var msg_info = success[i]; 1877 1878 // if ( msg_info.dest_folder == target ) 1879 // { 1880 // msg_info.msg_folder += (Date.parse(new Date)); 1881 // } 1882 1883 //////////////// deselecionando //////////////// 1884 Element('chk_box_select_all_messages').checked = false; 1885 1886 if ( Element("check_box_message_" + msg_info.original_id) ) 1887 { 1888 Element("check_box_message_" + msg_info.original_id).checked = false; 1889 } 1890 if ( Element(msg_info.original_id) ) 1891 { 1892 remove_className(Element(msg_info.original_id), 'selected_msg'); 1893 } 1894 1895 // if ( tree_folders._selected.id.indexOf( 'local_' ) == 0 || msg_info.dest_folder.indexOf( target ) == 0 ) 1896 // { 1897 // openTab.imapBox[0] = ''; 1898 // tree_folders.getNodeById( 'local_Inbox' )._select( ); 1899 // change_folder('local_Inbox','Inbox'); 1900 // } 1901 ///////////////////////////////////////////////// 1902 1903 //As mensagens arquivadas devem ser removidas, caso o usuario tenha isso configurado. 1904 msgs_to_remove[ msg_info.original_folder ] = msgs_to_remove[ msg_info.original_folder ] || []; 1905 msgs_to_remove[ msg_info.original_folder ].push( msg_info.original_id ); 1906 } 1907 1908 if (preferences.keep_archived_messages == 0) { 1909 //Remove as mensagens 1910 for( var folder in msgs_to_remove ){ 1911 if(folder != 'undefined') 1912 delete_msgs(folder, msgs_to_remove[folder],'null',false,true); 1913 } 1914 } 1915 1916 if( !has_local_messages_before && expresso_local_messages.has_local_mails() ) 1917 ttreeBox.update_folder(); 1918 else 1919 update_menu(); 1920 } 1921 1922 function action_msg_selected_from_search(aba, evento){ 1923 if(evento == "delete") 1924 move_search_msgs(aba,'INBOX/Trash', 'Trash', 'delete'); 1925 } 1926 1927 function get_all_messages_search(){ 1928 var aba = document.getElementById('content_id_'+currentTab); 1929 var messages = ""; 1930 jQuery(function() { 1931 jQuery("#"+aba.id+" tr").each(function(i, main_list) { 1932 messages += main_list.id.replace(/_[a-zA-Z0-9]+/,"") + ',' ; 1933 }); 1934 1935 }); 1936 if(messages.indexOf(',') == 0) 1937 messages = messages.substring(1,(messages.length)); 1938 return messages.substring(0,(messages.length-1)); 1939 } 1940 1941 function get_selected_messages_search(){ 1942 var aba = document.getElementById('content_id_'+currentTab); 1943 var selected_messages = ""; 1944 jQuery("#"+aba.id+" tr").each(function(i, main_list) { 1945 var check_box = main_list.firstChild.firstChild; 1946 if(check_box && check_box.checked) { 1947 selected_messages += main_list.id.replace(/_[a-zA-Z0-9]+/,"") + ',' ; 1948 }; 1949 }); 1950 1951 if (selected_messages != ""){ 1952 if(selected_messages.indexOf(',') == 0) 1953 selected_messages = selected_messages.substring(1,(selected_messages.length)); 1954 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 1955 return selected_messages; 1956 }else{ 1957 return false; 1958 } 1959 } 1960 1961 function get_selected_messages_search_role(){ 1962 var aba = document.getElementById('content_id_'+currentTab); 1963 var selected_messages = ""; 1964 jQuery("#"+aba.id+" tr").each(function(i, main_list) { 1965 var check_box = main_list.firstChild.firstChild; 1966 if(check_box && check_box.checked && check_box.id != 'chk_box_select_all_messages_search') { 1967 selected_messages += main_list.role + ',' ; 1968 }; 1969 }); 1970 1971 if (selected_messages != ""){ 1972 if(selected_messages.indexOf(',') == 0) 1973 selected_messages = selected_messages.substring(1,(selected_messages.length)); 1974 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 1975 return selected_messages; 1976 }else{ 1977 return false; 1978 } 1979 } 1980 1981 function get_selected_messages_shortcut(){ 1982 var main; 1983 try{ 1984 main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 1985 }catch(e){ 1986 }; 1987 1988 if (! main) 1989 main = Element("tbody_box_"+numBox); 1990 1991 if (! main) 1992 main = Element("tbody_box"); 1993 1994 // Get all TR (messages) in tBody. 1995 var main_list = main.childNodes; 1996 var selected_messages_by_shortcuts = ''; 1997 var j = 0; 1998 for (j; j<(main_list.length); j++) 1999 { 2000 2001 if ( exist_className(Element(main_list[j].id), 'selected_shortcut_msg') ) 2002 { 2003 selected_messages_by_shortcuts += main_list[j].id + ','; 2004 } 2005 2006 } 2007 selected_messages_by_shortcuts = selected_messages_by_shortcuts.substring(0,(selected_messages_by_shortcuts.length-1)); 2008 2009 return selected_messages_by_shortcuts; 2010 2011 } 2012 2013 /*function get_selected_messages(){ 2014 var main; 2015 try{ 2016 main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 2017 }catch(e){ 2018 }; 2019 2020 if (! main) 2021 main = Element("tbody_box_"+numBox); 2022 2023 if (! main) 2024 main = Element("tbody_box"); 2025 2026 // Get all TR (messages) in tBody. 2027 var main_list = main.childNodes; 2028 2029 var _tab_prefix = getTabPrefix(); 2030 var selected_messages = ''; 2031 var selected_messages_by_shortcuts = ''; 2032 var j = 0; 2033 for (j; j<(main_list.length); j++) 2034 { 2035 2036 if ( (!isNaN(parseInt(numBox))) && (numBox == 0)) { 2037 check_box = Element("check_box_message_" + main_list[j].id); 2038 } else { 2039 id_mensagem = main_list[j].id.split('_'); 2040 check_box = Element("search_" + numBox + "_check_box_message_" + id_mensagem[0]); 2041 } 2042 2043 if ( (check_box) && (check_box.checked) ) 2044 selected_messages += main_list[j].id + ','; 2045 2046 if (preferences.use_shortcuts == '1') 2047 { 2048 if ( exist_className(Element(main_list[j].id), 'selected_shortcut_msg') ) 2049 { 2050 selected_messages_by_shortcuts += main_list[j].id + ','; 2051 } 2052 } 2053 } 2054 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 2055 2056 2057 /* Verifica se está na tela de pesquisa. */ /* 2058 if(selected_messages.indexOf("_") != -1) 2059 { 2060 results_search_messages = selected_messages; 2061 /* Retira a informação da aba */ /* 2062 selected_messages = selected_messages.substring(0,selected_messages.indexOf("_")); 2063 } 2064 2065 2066 if (preferences.use_shortcuts == '1') 2067 { 2068 selected_messages_by_shortcuts = selected_messages_by_shortcuts.substring(0,(selected_messages_by_shortcuts.length-1)); 2069 2070 var array_selected_messages_by_shortcuts = selected_messages_by_shortcuts.split(","); 2071 var array_selected_messages = selected_messages.split(","); 2072 /* 2073 if ((array_selected_messages.length == 0) && (array_selected_messages_by_shortcuts.length > 0)) 2074 { 2075 return selected_messages_by_shortcuts; 2076 }*/ 2077 /*Se houver mais de uma mensagem selecionada por atalho*//* 2078 if (array_selected_messages_by_shortcuts.length > 1){ 2079 if (selected_messages == "") 2080 return selected_messages_by_shortcuts; 2081 else 2082 return selected_messages + "," + selected_messages_by_shortcuts; 2083 } 2084 } 2085 if (selected_messages == '') 2086 return false; 2087 else 2088 return selected_messages; 2089 }*/ 2090 2091 function get_selected_messages(){ 2092 var selectedMsg = new Array(); 2093 $.each(selectedPagingMsgs, function(index, value){ 2094 if(value) 2095 selectedMsg.push(index); 2096 }); 2097 return ""+selectedMsg; 2098 } 2099 function clear_selected_messages(){ 2100 selectedPagingMsgs = {}; 2101 } 2102 2103 function replaceAll(string, token, newtoken) { 2104 while (string.indexOf(token) != -1) { 2105 string = string.replace(token, newtoken); 2106 } 2107 return string; 2108 } 2109 2110 function new_message_to(email) { 2111 var new_border_ID = new_message('new','null'); 2112 document.getElementById("to_" + new_border_ID).value=email; 2113 } 2114 2115 function new_message(type, border_ID, flagged){ 2116 if(RichTextEditor.editorReady === false) return false; 2117 2118 RichTextEditor.editorReady = false; 2119 2120 2121 if (Element('show_img_link_'+border_ID)) 2122 { 2123 show_msg_img(border_ID.match(/^\d*/)[0], Element('input_folder_'+border_ID).value); 2124 } 2125 var new_border_ID = draw_new_message(parseInt(border_ID.replace('_r',''))); 2126 2127 if(typeof(openTab.type[new_border_ID]) != "undefined") { 2128 if(tabTypes[type] == openTab.type[new_border_ID]) { 2129 if (type != 'edit') 2130 { 2131 delete_border(currentTab); 2132 new_border_ID = draw_new_message(parseInt(border_ID)); 2133 } 2134 } else { 2135 var a_types = {6 : get_lang("Forward"),7 : get_lang("Reply"), 2136 8 : get_lang("Reply to all with history"), 2137 9 : get_lang("Reply without history"), 2138 10: get_lang("Reply to all without history")}; 2139 if(new_border_ID != 0) 2140 if(!confirm(get_lang("Your message to %1 has not been saved or sent. "+ 2141 "To %2 will be necessary open it again. Discard your message?", 2142 a_types[openTab.type[new_border_ID]].toUpperCase(), 2143 a_types[tabTypes[type]].toUpperCase()))){ 2144 return new_border_ID; 2145 } else { 2146 delete_border(currentTab); 2147 new_border_ID = draw_new_message(parseInt(border_ID)); 2148 } 2149 } 2150 } 2151 if (new_border_ID == 'maximo'){ 2152 RichTextEditor.editorReady = true; 2153 return false; 2154 } 2155 if (new_border_ID == false) 2156 { 2157 RichTextEditor.editorReady = true; 2158 setTimeout('new_message(\''+type+'\',\''+border_ID+'\',\''+flagged+'\');',500); 2159 return false; 2160 } 2161 openTab.type[new_border_ID] = tabTypes[type]; 2162 2163 // Salva a pasta da mensagem respondida ou encaminhada: 2164 var folder_message = Element("input_folder_"+border_ID); 2165 if(folder_message) { 2166 var input_current_folder = document.createElement('input'); 2167 input_current_folder.id = "new_input_folder_"+border_ID; 2168 input_current_folder.name = "input_folder"; 2169 input_current_folder.type = "hidden"; 2170 input_current_folder.value = folder_message.value; 2171 Element("content_id_" + new_border_ID).appendChild(input_current_folder); 2172 }//Fim. 2173 var title = ''; 2174 data = []; 2175 2176 2177 if (Element("from_" + border_ID)){ 2178 if (document.getElementById("reply_to_" + border_ID)){ 2179 data.to = document.getElementById("reply_to_values_" + border_ID).value; 2180 data.to = data.to.replace(/</gi,"<"); 2181 data.to = data.to.replace(/>/gi,">"); 2182 } 2183 else { 2184 if (document.getElementById("sender_values_"+border_ID)) 2185 { 2186 data.to = document.getElementById("sender_values_"+border_ID).value; 2187 data.to = data.to.replace(/</gi,"<"); 2188 data.to = data.to.replace(/>/gi,">"); 2189 } 2190 else if(document.getElementById("from_values_"+border_ID)) { 2191 data.to = document.getElementById("from_values_"+border_ID).value; 2192 data.to = data.to.replace(/</gi,"<"); 2193 data.to = data.to.replace(/>/gi,">"); 2194 } 2195 } 2196 if (document.getElementById("to_values_" + border_ID)){ 2197 data.to_all = document.getElementById("to_values_" + border_ID).value; 2198 data.to_all_alternative = document.getElementById("user_email_alternative").value; 2199 data.to_all = data.to_all.replace(/\n/gi," "); 2200 data.to_all = data.to_all.replace(/</gi,"<"); 2201 data.to_all = data.to_all.replace(/>/gi,">"); 2202 var _array_to_all = data.to_all.split(","); 2203 var _array_to_alternative = data.to_all_alternative.split(","); 2204 } 2205 } 2206 if (document.getElementById("cc_" + border_ID)){ 2207 data.cc = document.getElementById("cc_values_" + border_ID).value; 2208 data.cc = data.cc.replace(/</gi,"<"); 2209 data.cc = data.cc.replace(/>/gi,">"); 2210 var _array_cc = data.cc.split(","); 2211 } 2212 if (document.getElementById("cco_" + border_ID)){ 2213 data.cco = document.getElementById("cco_values_" + border_ID).value; 2214 data.cco = data.cco.replace(/</gi,"<"); 2215 data.cco = data.cco.replace(/>/gi,">"); 2216 } 2217 if ($("#subject_" + border_ID)) 2218 data.subject = $("#subject_" + border_ID).text(); 2219 if(data.subject == get_lang("(no subject) ")) 2220 data.subject = ''; 2221 if (document.getElementById("body_" + border_ID)) 2222 data.body = document.getElementById("body_" + border_ID).innerHTML; 2223 if (document.getElementById("from_values_" + border_ID)) 2224 data.from = document.getElementById("from_values_"+border_ID).value; 2225 if (Element('date_' + border_ID)){ 2226 data.date = Element('date_' + border_ID).innerHTML; 2227 } 2228 if (Element('date_day_' + border_ID)){ 2229 data.date_day = Element('date_day_' + border_ID).value; 2230 } 2231 if (Element('date_hour_' + border_ID)){ 2232 data.date_hour = Element('date_hour_' + border_ID).value; 2233 } 2234 2235 var signature = RichTextEditor.getSignatureDefault(); 2236 2237 if(type!="new" && type!="edit" && document.getElementById("is_local_"+border_ID) != null) 2238 data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 2239 2240 if(typeof($.fn.elastic) == "undefined"){ 2241 $.lazy({ 2242 src: '../prototype/plugins/jquery-elastic/jquery.elastic.source.js', 2243 name: 'elastic' 2244 }); 2245 } 2246 var content = $("#content_id_"+new_border_ID); 2247 2248 //It is verifying if the message was modified or not. 2249 var btnSaveVerify = function(){ 2250 $("#content_id_"+currentTab+" .save").button("disable"); 2251 2252 dataBtn = new Array(".to",".cc",".cco","input[name=input_subject]",".reply-to"); 2253 2254 for(var i in dataBtn){ 2255 $("#content_id_"+currentTab+" "+dataBtn[i]).keydown(function() { 2256 $("#content_id_"+currentTab+" .save").button("enable"); 2257 }); 2258 } 2259 2260 RichTextEditor.keydown(new_border_ID); 2261 } 2262 2263 switch(type){ 2264 case "reply_without_history": 2265 btnSaveVerify(); 2266 2267 RichTextEditor.replyController = true; //Seta o editor como modo reply 2268 content.find('[name="input_to"]').val(data.to); 2269 2270 draw_reply_boxes_by_field("to", data.to, content); 2271 2272 title = "Re: " + html_entities(data.subject); 2273 content.find(".subject").val("Re: " + data.subject); 2274 useOriginalAttachments(new_border_ID,border_ID); 2275 content.find('[name="msg_reply_from"]').val($("#msg_number_" + border_ID).val()); 2276 2277 // Insert the signature automaticaly at message body if use_signature preference is set 2278 if (preferences.use_signature == "1"){ 2279 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>' + signature ,true) ; 2280 } 2281 break; 2282 case "reply_with_history": 2283 btnSaveVerify(); 2284 2285 RichTextEditor.replyController = true; //Seta o editor como modo reply 2286 title = "Re: " + html_entities(data.subject); 2287 content.find(".subject").val("Re: " + data.subject); 2288 content.find('[name="input_to"]').val(data.to); 2289 2290 draw_reply_boxes_by_field("to", data.to, content); 2291 content.find('[name="msg_reply_from"]').val($("#msg_number_" + border_ID).val()); 2292 block_quoted_body = make_body_reply(data.body, data.from, data.date_day, data.date_hour); 2293 2294 useOriginalAttachments(new_border_ID,border_ID); 2295 2296 // Insert the signature automaticaly at message body if use_signature preference is set 2297 if (preferences.use_signature == "1"){ 2298 RichTextEditor.setInitData(new_border_ID, '<div><br type="_moz"></div>' + signature + '<div><br type="_moz"></div>' + block_quoted_body,true); 2299 }else{ 2300 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+ block_quoted_body,true); 2301 } 2302 break; 2303 case "reply_to_all_without_history": 2304 btnSaveVerify(); 2305 2306 RichTextEditor.replyController = true; //Seta o editor como modo reply 2307 // delete user email from to_all array. 2308 data.to_all = new Array(); 2309 data.to_all = removeUserEmail(_array_to_all); 2310 data.to_all = removeAlternative(data.to_all,_array_to_alternative); 2311 content.find('[name="msg_reply_from"]').val($("#msg_number_" + border_ID).val()); 2312 2313 data.to_all = data.to_all.join(","); 2314 2315 title = "Re: " + html_entities(data.subject); 2316 content.find(".subject").val("Re: " + data.subject); 2317 2318 if (data.to.indexOf(Element("user_email").value) > 0 ){ 2319 draw_reply_boxes_by_field("to", data.to_all, content); 2320 content.find('[name="input_to"]').val(data.to_all); 2321 }else{ 2322 draw_reply_boxes_by_field("to", data.to + ',' + data.to_all, content); 2323 content.find('[name="input_to"]').val(data.to + ',' + data.to_all); 2324 } 2325 2326 if (data.cc){ 2327 data.cc = new Array(); 2328 data.cc = removeUserEmail(_array_cc); 2329 data.cc = removeAlternative(data.cc,_array_to_alternative); 2330 if (data.cc != get_lang("undisclosed-recipient")) 2331 data.cc = data.cc.join(","); 2332 else 2333 data.cc = ""; 2334 if(data.cc != ""){ 2335 content.find('[name="input_cc"]').val(data.cc); 2336 input_binds(content.find('[name="input_cc"]').parent(), new_border_ID); 2337 content.find(".cc-tr").show();//cc-button 2338 //document.getElementById("a_cc_link" + new_border_ID).value = data.cc; 2339 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 2340 content.find(".cc-button").find("span").html("Remover CC"); 2341 draw_reply_boxes_by_field("cc", data.cc, content); 2342 } 2343 } 2344 2345 useOriginalAttachments(new_border_ID,border_ID); 2346 if (preferences.use_signature == "1"){ 2347 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>' + signature,true); 2348 } 2349 2350 break; 2351 case "reply_to_all_with_history": 2352 btnSaveVerify(); 2353 2354 RichTextEditor.replyController = true; //Seta o editor como modo reply 2355 //delete user email from to_all array. 2356 data.to_all = new Array(); 2357 data.to_all = removeUserEmail(_array_to_all); 2358 data.to_all = removeAlternative(data.to_all,_array_to_alternative); 2359 content.find('[name="msg_reply_from"]').val($("#msg_number_" + border_ID).val()); 2360 2361 if (data.to_all != get_lang("undisclosed-recipient")) 2362 data.to_all = data.to_all.join(","); 2363 else 2364 data.to_all = ""; 2365 2366 title = "Re: " + html_entities(data.subject); 2367 2368 if (data.to.indexOf(Element("user_email").value) > 0 ){ 2369 draw_reply_boxes_by_field("to", data.to_all, content); 2370 content.find('[name="input_to"]').val(data.to_all); 2371 }else{ 2372 draw_reply_boxes_by_field("to", data.to + ',' + data.to_all, content); 2373 content.find('[name="input_to"]').val(data.to + ',' + data.to_all); 2374 } 2375 2376 if (data.cc){ 2377 data.cc = new Array(); 2378 data.cc = removeUserEmail(_array_cc); 2379 data.cc = removeAlternative(data.cc,_array_to_alternative); 2380 if (data.cc != get_lang("undisclosed-recipient")) 2381 data.cc = data.cc.join(","); 2382 else 2383 data.cc = ""; 2384 if(data.cc != ""){ 2385 content.find('[name="input_cc"]').val(data.cc); 2386 input_binds(content.find('[name="input_aux_cc"]').parent(), new_border_ID); 2387 content.find(".cc-tr").show(); 2388 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 2389 content.find(".cc-button").find("span").html("Remover CC"); 2390 2391 draw_reply_boxes_by_field("cc", data.cc, content); 2392 } 2393 } 2394 content.find(".subject").val("Re: " + data.subject); 2395 2396 block_quoted_body = make_body_reply(data.body, data.from, data.date_day, data.date_hour); 2397 2398 useOriginalAttachments(new_border_ID,border_ID); 2399 2400 if (preferences.use_signature == "1"){ 2401 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div><div><br type="_moz"></div>' + signature + '<div><br type="_moz"></div>'+ block_quoted_body,true); 2402 }else{ 2403 RichTextEditor.setInitData(new_border_ID,block_quoted_body,true); 2404 } 2405 2406 break; 2407 case "forward": 2408 btnSaveVerify(); 2409 2410 title = "Fw: " + html_entities(data.subject); 2411 content.find(".subject").val("Fw: " + data.subject); 2412 var divFiles = Element("divFiles_"+new_border_ID); 2413 var campo_arquivo; 2414 content.find('[name="msg_forward_from"]').val($("#msg_number_" + border_ID).val()); 2415 2416 if (Element("attachments_" + border_ID)) 2417 addOriginalAttachments(new_border_ID,border_ID); 2418 2419 // Insert the signature automaticaly at message body if use_signature preference is set 2420 if (preferences.use_signature == "1"){ 2421 $("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>' + signature + '<div><br type="_moz"></div>'+ make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)); 2422 RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>' + signature + '<div><br type="_moz"></div>'+ make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)); 2423 content.find(".to").focus(); 2424 } 2425 else{ 2426 RichTextEditor.setInitData(new_border_ID,make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)); 2427 $("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>'+make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)); 2428 content.find(".to").focus(); 2429 } 2430 2431 break; 2432 case "new": 2433 2434 btnSaveVerify(); 2435 2436 title = get_lang("New Message"); 2437 if(Element('msg_number').value) { 2438 var _to = Element('msg_number').value; 2439 var reEmail = /^[A-Za-z\d_-]+(\.[A-Za-z\d_-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/; 2440 if(!reEmail.test(_to)){ 2441 var array_contacts = contacts.split(','); 2442 for(i = 0; i < array_contacts.length;i++) { 2443 if(array_contacts[i].lastIndexOf(_to) != "-1"){ 2444 var _group = array_contacts[i].split(";"); 2445 _to = '"'+_group[0]+'" <'+_group[1]+'>'; 2446 break; 2447 } 2448 } 2449 } 2450 content.find('[name="input_to"]').val(_to +','); 2451 draw_email_box(_to, content.find(".to").filter("input")); 2452 Element('msg_number').value = ''; 2453 } 2454 2455 // Insert the signature automaticaly at message body if use_signature preference is set 2456 if (preferences.use_signature == "1"){ 2457 $("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>' + signature); 2458 RichTextEditor.setInitData(new_border_ID, '<div><br type="_moz"></div>' + signature); 2459 content.find(".to").focus(); 2460 } 2461 else 2462 content.find('[name="input_to"]').focus(); 2463 break; 2464 case "edit": 2465 btnSaveVerify(); 2466 2467 if(flagged == 'F') 2468 $(".important").addClass("expressomail-button-icon-ative"); 2469 2470 openTab.imapBox[new_border_ID] = folder_message.value; 2471 document.getElementById('font_border_id_'+new_border_ID).innerHTML = data.subject; 2472 title = "Edição: "+ html_entities(data.subject); 2473 2474 data.to = Element("to_values_" + border_ID).value; 2475 if( data.to != get_lang("without destination") ) { 2476 data.to = data.to.replace(/</gi,"<"); 2477 data.to = data.to.replace(/>/gi,">"); 2478 } else { 2479 data.to = ""; 2480 } 2481 2482 draw_reply_boxes_by_field("to", data.to, content); 2483 2484 content.find('[name="input_to"]').val(data.to); 2485 if (data.cc){ 2486 data.cc = data.cc.replace(/</gi,"<"); 2487 data.cc = data.cc.replace(/>/gi,">"); 2488 content.find('[name="input_cc"]').val(data.cc); 2489 input_binds(content.find('[name="input_cc"]').parent(), new_border_ID); 2490 content.find(".cc-tr").show(); 2491 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 2492 content.find(".cc-button").find("span").html(get_lang('Remove CC')); 2493 draw_reply_boxes_by_field("cc", data.cc, content); 2494 } 2495 if (data.cco){ 2496 if(content.find('[name="input_cco"]').length){ 2497 content.find('[name="input_cco"]').val(data.cco); 2498 content.find(".cco-tr").show(); 2499 content.find(".cco-button").toggleClass("expressomail-button-icon-ative"); 2500 content.find(".cco-button").find("span").html(get_lang('Remove CCo')); 2501 input_binds(content.find('[name="input_cco"]').parent(), new_border_ID); 2502 draw_reply_boxes_by_field("cco", data.cco, content); 2503 } 2504 } 2505 content.find(".subject").val(data.subject); 2506 2507 if( $("#disposition_notification_" + border_ID).length ){ 2508 content.find('[name="input_return_receipt"]').attr("checked", true); 2509 content.find(".return-recept").toggleClass("expressomail-button-icon-ative"); 2510 //Element("return_receipt_" + new_border_ID).checked = true; 2511 } 2512 2513 var element_important_message = Element("important_message_" + new_border_ID); 2514 if(element_important_message) { 2515 2516 if($("#disposition_important_" + border_ID).length){ 2517 content.find('[name="input_important_message"]').attr("checked", true); 2518 content.find(".important").toggleClass("expressomail-button-icon-ative"); 2519 } 2520 } 2521 2522 if (Element("attachments_" + border_ID)) 2523 addOriginalAttachments(new_border_ID,border_ID); 2524 RichTextEditor.setInitData(new_border_ID, data.body, 'edit'); 2525 2526 uidsSave[new_border_ID].push(new_border_ID); 2527 close_delete(border_ID); 2528 2529 break; 2530 default: 2531 } 2532 2533 content.find('[name="input_to"]').trigger("update"); 2534 var txtarea = $('#body_'+new_border_ID); 2535 var height = document.body.scrollHeight - 330; 2536 txtarea.css("overflowY","auto"); 2537 txtarea.css("height",height); 2538 $("#border_id_" + new_border_ID).attr("title", title); 2539 set_border_caption("border_id_" + new_border_ID, title); 2540 resizeWindow(); 2541 return new_border_ID; //Preciso retornar o ID da nova mensagem. 2542 } 2543 2544 //DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÇÃO REPLY 2545 function draw_reply_boxes_by_field(field, value, context){ 2546 array = break_comma(value); 2547 $.each(array, function(index, value){ 2548 draw_email_box(value, context.find("."+field).filter("textarea:first")); 2549 }); 2550 } 2551 2552 //Remove o email do usuario ao responder a todos 2553 function removeUserEmail(emailList){ 2554 var userEmail = Element("user_email").value; 2555 var array_emails = Array(); 2556 var j = 0; 2557 for (var i=0;i<emailList.length;i++){ 2558 if (emailList[i].indexOf(userEmail) < 0){ 2559 array_emails[j++] = emailList[i]; 2560 } 2561 } 2562 return array_emails; 2563 } 2564 2565 //Remove os emails alternativos ao responder a todos 2566 function removeAlternative(value_to_all, _array_to_alternative){ 2567 for(i = 0; i < _array_to_alternative.length; i++) { 2568 for(k = 0; k < value_to_all.length; k++){ 2569 if(value_to_all[k].match(/<([^<]*)>[\s]*$/)){ 2570 if(value_to_all[k].match(/<([^<]*)>[\s]*$/)[1].toLowerCase() == _array_to_alternative[i].toLowerCase()){ 2571 value_to_all.splice( k , 1); 2572 k--; 2573 } 2574 }else if(value_to_all[k].replace(/^\s+|\s+$/g,"").toLowerCase() == _array_to_alternative[i].toLowerCase()){ 2575 value_to_all.splice( k , 1); 2576 k--; 2577 } 2578 } 2579 } 2580 return value_to_all; 2581 } 2582 47 {if(document.getElementById('border_id_'+border_id)) 48 {function keypress_handler() 49 {away=false;var save_link=content.find(".save");save_link.onclick=function onclick(event){openTab.toPreserve[border_id]=true;save_msg(border_id);};save_link.button({disabled:false});$(".header-button").button();};var content=$("#content_id_"+border_id);var subject_obj=content.find(".subject");if(subject_obj.addEventListener) 50 subject_obj.addEventListener('keypress',keypress_handler,false);else if(subject_obj.attachEvent) 51 subject_obj.attachEvent('onkeypress',keypress_handler);var to_obj=content.find('[name="input_to"]');if(to_obj.addEventListener) 52 to_obj.addEventListener('keypress',keypress_handler,false);else if(to_obj.attachEvent) 53 to_obj.attachEvent('onkeypress',keypress_handler);var cc_obj=content.find('[name="input_cc"]');if(cc_obj.addEventListener) 54 cc_obj.addEventListener('keypress',keypress_handler,false);else if(cc_obj.attachEvent) 55 cc_obj.attachEvent('onkeypress',keypress_handler);if(content.find('[name="input_cco"]').length){var cco_obj=content.find('[name="input_cco"]');if(cco_obj.addEventListener) 56 cco_obj.addEventListener('keypress',keypress_handler,false);else if(cco_obj.attachEvent) 57 cco_obj.attachEvent('onkeypress',keypress_handler);} 58 var txtarea_obj=Element('body_'+border_id);if(txtarea_obj){if((preferences.plain_text_editor==1)||(Element('body_')+border_id).checked){if(txtarea_obj.addEventListener) 59 txtarea_obj.addEventListener('keypress',keypress_handler,false);else if(txtarea_obj.attachEvent) 60 txtarea_obj.attachEvent('onkeypress',keypress_handler);}}}} 61 function show_msg_img(msg_number,folder){var call_back=function(data){data.showImg=true;if(!Element(data.msg_number)){trElement=document.createElement('DIV');trElement.id=data.msg_number;Element("tbody_box").appendChild(trElement);} 62 show_msg(data);} 63 proxy_mensagens.msg_img(msg_number,folder,call_back);} 64 function show_msg(msg_info){if(!verify_session(msg_info)) 65 return;if(typeof(msg_info)!='object') 66 alert(get_lang("Error in show_msg param is not object"));if(msg_info.status_get_msg_info=='false') 67 {write_msg(get_lang("Problems reading your message")+".");return;} 68 var handler_sendNotification=function(data){if(data) 69 write_msg(get_lang("A read confirmation was sent."));else 70 write_msg(get_lang("Error in SMTP sending read confirmation."));} 71 if(msg_info.source) 72 {if(!Element('cert_applet')){write_msg(get_lang('The preference "%1" isn\'t enabled.',get_lang('Enable digitally sign/cipher the message?')));}else{Element('cert_applet').doButtonClickAction('decript',msg_info.msg_number,msg_info.source,msg_info.msg_folder);} 73 return;} 74 if(msg_info.status_get_msg_info=='false') 75 {write_msg(get_lang("Problems reading your message")+".");return;} 76 if(msg_info.status=='false'){eval(msg_info.command_to_exec);} 77 else{var ID=msg_info.original_ID?msg_info.original_ID:msg_info.msg_number;var folderName=msg_info.msg_folder;folderName=Base64.encode(folderName);folderName=folderName.replace(/=/gi,'');var id_msg_read=ID+"_r_"+folderName;if(Element("border_id_"+id_msg_read)&¤tTab>0) 78 id_msg_read+="n";if(preferences.use_shortcuts=='1') 79 select_msg(ID,'null');var isPartMsg=false;for(var ii=0;ii<partMsgs.length;ii++) 80 if(partMsgs[ii]==ID)isPartMsg=true;if(msg_info.alarm==false){if((openTab.type[currentTab]==2||openTab.type[currentTab]==3)&&isPartMsg===false){delete_border(currentTab,'false');}} 81 if(Element("border_id_"+id_msg_read)){alternate_border(id_msg_read);resizeWindow();} 82 else{var border_id=create_border(msg_info.subject,id_msg_read);if(border_id) 83 {openTab.type[border_id]=2;openTab.imapBox[border_id]=msg_info.msg_folder;draw_message(msg_info,border_id);var unseen_sort=document.getElementById('span_flag_UNSEEN').getAttribute('onclick');unseen_sort=unseen_sort.toString();if(!(unseen_sort.indexOf("'UNSEEN' == 'UNSEEN'")<0)) 84 {var sort_type=sort_box_type;sort_box_type=null;sort_box('UNSEEN',sort_type,false);delete selectedPagingMsgs[msg_info.msg_number];totalFolderMsgs--;}} 85 else 86 return;} 87 var domains="";if((msg_info.DispositionNotificationTo)&&(!msg_is_read(ID)||(msg_info.Recent=='N'))) 88 {if(preferences.notification_domains!=undefined&&preferences.notification_domains!="") 89 {domains=preferences.notification_domains.split(',');} 90 else 91 {var confNotification=true;} 92 for(var i=0;i<domains.length;i++) 93 if(Base64.decode(msg_info.DispositionNotificationTo).match("@"+domains[i])) 94 {var confNotification=true;break;} 95 if(confNotification==undefined) 96 var confNotification=confirm(get_lang("The sender:\n%1\nwaits your notification of reading. Do you want to confirm this?",Base64.decode(msg_info.DispositionNotificationTo)),"");if(confNotification){if(preferences.confirm_read_message){$.Zebra_Dialog(get_lang("Would you like to send the read receipt?"),{'type':'question','title':get_lang('Read receipt'),'buttons':[get_lang("Yes"),get_lang("No")],'overlay_opacity':0.5,'onClose':function(caption){if(caption==get_lang("Yes")) 97 cExecute("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&date="+msg_info.udate+"&subject="+url_encode(msg_info.subject),handler_sendNotification);else 98 write_msg(get_lang("Confirmation message is not sent"));}});} 99 else 100 cExecute("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&date="+msg_info.udate+"&subject="+url_encode(msg_info.subject),handler_sendNotification);}} 101 if(!msg_is_read(ID)) 102 {if(proxy_mensagens.is_local_folder(get_current_folder())){expresso_mail_archive.drawdata=null 103 var tl=expresso_mail_archive.pattern.tagConfig('unseen',ID,1);expresso_mail_archive.taglist=tl;expresso_mail_archive.progressbar=window.setTimeout("expresso_mail_archive.tagMessage()",1);} 104 set_msg_as_read(ID,true);if(msg_info.cacheHit||(!proxy_mensagens.is_local_folder(get_current_folder())&&msg_info.original_ID)) 105 {set_message_flag(ID,"seen");}}} 106 setTimeout('resizeWindow()',300);} 107 function auto_refresh(){refresh(preferences.alert_new_msg,preferences.notifications);setTimeout('auto_refresh()',time_refresh);} 108 function auto_archiving(){expresso_mail_sync.start_sync();setTimeout('auto_archiving()',600000);} 109 function notificationFilter(data,notifyCriteria){if(parseInt(notifyCriteria)&&data.length>0&&!activePage){var howManyCriteria=$('div.gray.filtersDeadline .message-list li').length;var differenceOfNewCriteria=data.length-howManyCriteria;if(differenceOfNewCriteria>0){for(var i=data.length-differenceOfNewCriteria;i<data.length;i++){desktopNotification.sentNotification("",get_lang("Filter criteria"),truncate(new Date(data[i].udate).toString('dd/MM HH:mm')+' - '+data[i].from+' - '+data[i].subject,75));desktopNotification.showNotification(false,function(){window.focus();this.cancel();});}}}} 110 function refresh(alert_new_msg,notifyPermission){getFromAlertRules();var handler_refresh=function(data){handlerMessageFilter=function(data){notificationFilter(data,notifyPermission);alarmFollowupflagged('filtersAlarms',data);} 111 cExecute("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules,handlerMessageFilter);if(data['msg_range_end']) 112 if(data['msg_range_end']>0) 113 current_page=data['msg_range_end']/preferences.max_email_per_page;if(!verify_session(data)) 114 return;var total_messages_element=Element('tot_m');var box=Element("tbody_box");if(box.childNodes.length==0) 115 showEmptyBoxMsg(box);if(data.length>0||countNewMessage>0){for(var i=0;i<data.length;i++){if(!onceOpenedHeadersMessages[current_folder]) 116 onceOpenedHeadersMessages[current_folder]={};onceOpenedHeadersMessages[current_folder][data[i].msg_number]=data[i];} 117 Element("table_message_header_box_0").emptyBody=false;table_element=Element("table_box");var msg_info=document.getElementById('msg_info');if(msg_info!=null) 118 {var msg_tr=msg_info.parentNode.parentNode;msg_tr.removeChild(msg_info.parentNode);if(!Element("colgroup_main_"+numBox)){var colgr_element=buildColGroup();colgr_element.setAttribute("id","colgroup_main_"+numBox);table_element.appendChild(colgr_element);}} 119 var box=Element("tbody_box");if(!$("#colgroup_main_0").size()){$(table_element).append(Element("colgroup_main_"+numBox));} 120 if(data.msgs_to_delete.length>0){for(var i=0;i<data.msgs_to_delete.length;i++){if((data.msgs_to_delete[i]!=undefined)&&(data.msgs_to_delete[i]!="")){removeAll(data.msgs_to_delete[i]);}}} 121 if(data[0].msg_folder!=current_folder) 122 return false;totalFolderMsgs+=data.new_msgs;for(var i=0;i<data.length;i++){var existent=document.getElementById(data[i].msg_number);if(!existent) 123 {selectedPagingMsgs[data[i].msg_number]=false;totalFolderMsgs++;updateSelectedMsgs(false,data[i].msg_number);var new_msg=this.make_tr_message(data[i],current_folder,data.offsetToGMT);$(new_msg).draggable({start:function(){if($(".shared-folders").length){$(".shared-folders").parent().find('.folder:not(".shared-folders")').droppable({over:function(a,b){over=$(this);$(this).addClass("folder-over");if(($(this)[0]!=$(this).parent().find(".head_folder")[0])) 124 if($(this).prev()[0]) 125 if($(this).parent().find(".expandable-hitarea")[0]==$(this).prev()[0]){setTimeout(function(){if(over.hasClass("folder-over")) 126 over.prev().trigger("click");},500);}},out:function(){$(this).removeClass("folder-over");},drop:function(event,ui){$(this).css("border","");if($(this).parent().attr('id')==undefined){var folder_to='INBOX';var to_folder_title=get_lang("Inbox");}else{var folder_to=$(this).parent().attr('id');var to_folder_title=$(this).attr('title');} 127 var folder_to_move=ui.draggable.parent().attr('id');var border_id=ui.draggable.find("input[type=hidden]").attr("name");if(folder_to_move=="tbody_box"){move_msgs2(get_current_folder(),'selected',0,folder_to,to_folder_title,true);return refresh();}}});}},stop:function(){$(".shared-folders").parent().find(".folder").droppable("destroy");},helper:function(event){$(this).addClass("selected_msg").find("input:checkbox").attr("checked",true);updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id"));if($("#tbody_box .selected_shortcut_msg").length>1){$("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true);$.each($(".selected_shortcut_msg"),function(index,value){updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id"));});} 128 if(totalSelected()>1) 129 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs',{texto:(totalSelected()+" mensagens selecionadas"),type:"messages"})+"</td></tr>");if($(this).find(".td_msg_subject").text().length>18) 130 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs',{texto:$(this).find(".td_msg_subject").text().substring(0,18)+"...",type:"messages"})+"</td></tr>");else 131 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs',{texto:$(this).find(".td_msg_subject").text(),type:"messages"})+"</td></tr>");},iframeFix:true,delay:150,cursorAt:{top:5,left:56},refreshPositions:true,containment:"#divAppbox"}).bind("contextmenu",function(){if(!(($(event.target).find('img').length>0)&&($(event.target).hasClass('td-label')))){if($(this).find("input:checkbox").attr("checked")!="checked"){$(this).find("input:checkbox").trigger('click');$(this).addClass("selected_msg");} 132 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id"));}});if(data[i].next_msg_number!=undefined&&data[i].next_msg_number!=null){try{box.insertBefore(new_msg,box.childNodes[data[i].msg_key_position]);} 133 catch(e){box.insertBefore(new_msg,box.firstChild);}} 134 else if(data[i].Recent=='N'){box.insertBefore(new_msg,box.firstChild);} 135 else{box.appendChild(new_msg);}}} 136 if(parseInt(preferences.use_shortcuts)) 137 select_msg("null","reload_msg","null");if(parseInt(alert_new_msg)&&data.new_msgs>0&&activePage) 138 alert(data['new_msgs']>1?get_lang("You have %1 new messages",data['new_msgs'])+"!":get_lang("You have 1 new message")+"!");if(parseInt(notifyPermission)&&(data.new_msgs>0||!!countNewMessage)&&!activePage){countNewMessage+=data.length;desktopNotificationAux=desktopNotification.sentNotification("",get_lang("Notification"),countNewMessage>1?get_lang("You have %1 new messages",countNewMessage)+"!":get_lang("You have 1 new message")+"!");if(auxNotification!=='undefined') 139 desktopNotification.cancelByReference(auxNotification);desktopNotification.showNotification(function(){countNewMessage=0;},function(){window.focus();this.cancel();countNewMessage=0;});auxNotification=desktopNotificationAux;} 140 build_quota(data['quota']);} 141 if(data.new_msgs){total_messages_element.innerHTML=parseInt(total_messages_element.innerHTML)+data.new_msgs;}else if(data.tot_msgs){total_messages_element.innerHTML=data.tot_msgs>=0?data.tot_msgs:0;} 142 var box=Element("tbody_box");if(box.childNodes.length>1){updateBoxBgColor(box.childNodes);} 143 connector.purgeCache();cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);resizeMailList();} 144 msg_range_end=(current_page*preferences.max_email_per_page);msg_range_begin=(msg_range_end-(preferences.max_email_per_page)+1);main=Element("tbody_box");if(!main) 145 return;main_list=main.childNodes;var tmp='';var string_msgs_in_main='';var len=main_list.length;for(var j=0;j<len;j++) 146 tmp+=main_list[j].id+',';string_msgs_in_main=tmp.substring(0,(tmp.length-1));if(!expresso_offline) 147 $.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.refresh',folder:current_folder,msgs_existent:string_msgs_in_main,msg_range_begin:msg_range_begin,msg_range_end:msg_range_end,sort_box_type:sort_box_type,search_box_type:search_box_type,sort_box_reverse:sort_box_reverse}),success:function(data){data=connector.unserialize(data);if(data) 148 handler_refresh(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});var msgs=$("#tbody_box tr");if(!msgs.hasClass("current_selected_shortcut_msg selected_shortcut_msg")) 149 {msgs.first().focus().addClass("current_selected_shortcut_msg selected_shortcut_msg");}} 150 function delete_msgs(folder,msgs_number,border_ID,show_success_msg,archive){if(preferences.use_local_messages==1&&expresso_local_messages.isArchiving(msgs_number,folder)){alert("Impossivel deletar mensagens que estão ainda estão sendo arquivadas.");return;} 151 var userTrashFolder='';if(arguments.length<4)show_success_msg=true;if(folder=='null')folder=current_folder;if(folder.substr(0,4)=='user') 152 {var arrayFolder=folder.split(cyrus_delimiter);userTrashFolder='user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash'];DataLayer.remove('folder',false);DataLayer.get('folder');var has_folder=DataLayer.get('folder',userTrashFolder);if(!has_folder){create_new_folder(special_folders['Trash'],'user'+cyrus_delimiter+arrayFolder[1]);}} 153 else userTrashFolder=mount_url_folder(["INBOX",special_folders["Trash"]]);if(openTab.type[currentTab]==1) 154 return move_search_msgs('content_id_'+currentTab,userTrashFolder,special_folders['Trash']);if(currentTab.toString().indexOf("_r")!=-1) 155 msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));if(!archive&&(parseInt(preferences.save_deleted_msg))&&(folder!=userTrashFolder)){move_msgs2(folder,""+msgs_number,border_ID,userTrashFolder,special_folders['Trash'],show_success_msg);return;} 156 var handler_delete_msgs=function(data){Element('chk_box_select_all_messages').checked=false;if(currentTab) 157 mail_msg=Element("tbody_box_"+currentTab);else 158 mail_msg=Element("tbody_box");if(preferences.use_shortcuts=='1'){if(mail_msg&&exist_className(mail_msg.childNodes[mail_msg.childNodes.length-1],'selected_shortcut_msg')){select_msg('null','up',true);} 159 else{if(!select_msg('null','down',true)){select_msg('null','up',true);}}} 160 if(data.status==false){write_msg(get_lang("You don't have permission for this operation in this shared folder!"));return false;} 161 if(preferences.use_local_messages==1){if(!expresso_mail_archive.isArchiveOperation){if(show_success_msg){if(data.msgs_number.length==1) 162 write_msg(get_lang("The message was deleted."));else 163 write_msg(get_lang("The messages were deleted."));}}} 164 else{if(show_success_msg){if(data.msgs_number.length==1) 165 write_msg(get_lang("The message was deleted."));else 166 write_msg(get_lang("The messages were deleted."));}} 167 if(openTab.type[currentTab]>1){var msg_to_delete=Element(msgs_number);if(parseInt(preferences.delete_and_show_previous_message)&&msg_to_delete){if(msg_to_delete.previousSibling){var previous_msg=msg_to_delete.previousSibling.id;$.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.get_info_msg',msg_number:previous_msg,msg_folder:current_folder,decoded:true}),success:function(data){data=connector.unserialize(data);if(data) 168 show_msg(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 169 else{delete_border(currentTab,'false');}} 170 else{delete_border(currentTab,'false');}} 171 for(var i=0;i<data.msgs_number.length;i++){var msg_to_delete=Element(data.msgs_number[i]);if(msg_to_delete){removeAll(msg_to_delete.id);delete selectedPagingMsgs[data.msgs_number[i]];} 172 totalFolderMsgs=totalFolderMsgs-data.msgs_number.length;} 173 $.each(data.msgs_number,function(index,value){msgFolder=Base64.encode(get_current_folder());tabToRemove=value+"_r_"+msgFolder.replace(/=/g,"");if($("#"+tabToRemove)){delete_border(tabToRemove,'false');}});Element('tot_m').innerHTML=parseInt(Element('tot_m').innerHTML)-data.msgs_number.length;refresh();} 174 if(msgs_number.length>0||parseInt(msgs_number)>0) 175 cExecute("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse,handler_delete_msgs);else 176 write_msg(get_lang('No selected message.'));} 177 function move_search_msgs(border_id,new_folder,new_folder_name,action){var msg_to_delete="";var msg_to_move="";var selected_messages='';var temp_msg;var remove_currente_folder="";var id_border=currentTab.replace(/[a-zA-Z_]+/,"");if(currentTab.indexOf('search_local')!=-1||proxy_mensagens.is_local_folder(new_folder)) 178 {alert(get_lang("You cant manipulate local messages on search"));return;} 179 var delete_msg=false;if(new_folder_name==special_folders['Trash']){delete_msg=true;} 180 selected_messages=get_selected_messages_search();if(preferences.use_local_messages==1&&expresso_local_messages.isArchiving(selected_messages,folder)){alert("Impossivel mover mensagens que ainda estão sendo arquivadas.");return;} 181 var handler_move_search_msgs=function(data){if(!data||!data.msgs_number) 182 return;else if(data.deleted){if(data.no_move&&data.move) 183 alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission."));else if(data.msgs_number.length==1) 184 write_msg(get_lang("The message was deleted."));else 185 write_msg(get_lang("The messages were deleted."));}else if(data.status==false&&data.move){alert(get_lang("Unable to remove the message (s) of shared folders which you do not have permission."));}else if(data.status==false){alert(get_lang("You don't have permission for this operation in this shared folder!"));return false;}else{if(data.msgs_number.length==1) 186 write_msg(get_lang("The message was moved to folder ")+lang_folder(data.new_folder_name));else 187 write_msg(get_lang("The messages were moved to folder ")+lang_folder(data.new_folder_name));} 188 if(data.no_move){var no_remove=data.no_move.split(',');var continua=true;selected_messages=selected_messages.split(",");for(i=0;i<selected_messages.length;i++){for(j=0;j<no_remove.length;j++) 189 if(selected_messages[i]==no_remove[j]) 190 continua=false;if(continua) 191 removeAll(selected_messages[i]+'_s'+id_border);continua=true;}}else{selected_messages=selected_messages.split(",");for(i=0;i<selected_messages.length;i++){removeAll(selected_messages[i]+'_s'+id_border);}} 192 var box=Element("tbody_box_"+getNumBoxFromTabId(currentTab)).childNodes;if(box.length>1){updateBoxBgColor(box);} 193 connector.purgeCache();if(remove_currente_folder!=""){var mail_msg=Element('tbody_box').childNodes;remove_currente_folder=remove_currente_folder.substring(0,(remove_currente_folder.length-1));remove_currente_folder=remove_currente_folder.split(",");for(i=0;i<remove_currente_folder.length;i++) 194 removeAll(remove_currente_folder[i]);var box=Element("tbody_box");if(box.childNodes.length>0){updateBoxBgColor(box.childNodes);} 195 if(folder==get_current_folder()){Element('tot_m').innerHTML=parseInt(Element('tot_m').innerHTML)-remove_currente_folder.length;}} 196 draw_new_tree_folder();EsearchE.refresh();} 197 if(selected_messages){var selected_param="";if(selected_messages.indexOf(',')!=-1) 198 {selected_msg_array=selected_messages.split(",");for(i=0;i<selected_msg_array.length;i++){var tr=Element(selected_msg_array[i]+'_s'+id_border);if(tr.getAttribute('name')==current_folder) 199 remove_currente_folder+=tr.id.replace(/_[a-zA-Z0-9]+/,"")+',';if((action=='delete'&&tr.getAttribute('name')==mount_url_folder(["INBOX",special_folders["Trash"]]))||!(parseInt(preferences.save_deleted_msg))) 200 {msg_to_delete+=','+special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");} 201 else if(!(tr.getAttribute('name')==new_folder&&action!='delete')) 202 {msg_to_move=(tr.getAttribute('name')==null?get_current_folder():tr.getAttribute('name'));selected_param+=','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");}else{write_msg(get_lang('At least one message have the same origin'));return false;}}} 203 else 204 {var tr=Element(selected_messages+'_s'+id_border);if(tr.getAttribute('name')==current_folder) 205 remove_currente_folder+=tr.id.replace(/_[a-zA-Z0-9]+/,"")+',';if((action=='delete'&&tr.getAttribute('name')==mount_url_folder(["INBOX",special_folders["Trash"]]))||!(parseInt(preferences.save_deleted_msg))){msg_to_delete=special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");}else if(!(tr.getAttribute('name')==new_folder&&action!='delete')){trfolder=(tr.getAttribute('name')==null?get_current_folder():tr.getAttribute('name'));selected_param=trfolder+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");}else{write_msg(get_lang('The origin folder and the destination folder are the same.'));return false;}} 206 var params="";if(msg_to_delete!=""&&msg_to_move!=""){params+="&selected_messages_move="+url_encode(selected_param);params+="&new_folder_move="+url_encode(new_folder);params+="&new_folder_name_move="+url_encode(new_folder_name);new_folder=mount_url_folder(["INBOX",special_folders["Trash"]]);new_folder_name=special_folders['Trash'];params+="&selected_messages_delete="+url_encode(msg_to_delete);params+="&new_folder_delete="+url_encode(new_folder);cExecute("$this.imap_functions.move_delete_search_messages",handler_move_search_msgs,params);}else if(msg_to_delete!=""){new_folder=mount_url_folder(["INBOX",special_folders["Trash"]]);new_folder_name=special_folders['Trash'];params+="&delete=true";params+="&selected_messages="+url_encode(msg_to_delete);params+="&new_folder="+url_encode(new_folder);cExecute("$this.imap_functions.move_search_messages",handler_move_search_msgs,params);}else{params="&selected_messages="+url_encode(selected_param);params+="&delete=false";params+="&new_folder="+url_encode(new_folder);params+="&new_folder_name="+url_encode(new_folder_name);cExecute("$this.imap_functions.move_search_messages",handler_move_search_msgs,params);}} 207 else 208 write_msg(get_lang('No selected message.'));} 209 function move_msgs2(folder,msgs_number,border_ID,new_folder,new_folder_name,show_success_msg,not_opem_previus){not_opem_previus=typeof(not_opem_previus)!='undefined'?not_opem_previus:false;var folder_error=new_folder_name;if(preferences.use_local_messages==1&&expresso_local_messages.isArchiving(msgs_number,folder)){alert("Impossivel mover mensagens que estão ainda estão sendo arquivadas.");return;} 210 if(!folder||folder=='null') 211 folder=Element("input_folder_"+msgs_number+"_r")?Element("input_folder_"+msgs_number+"_r").value:(openTab.imapBox[currentTab]?openTab.imapBox[currentTab]:get_current_folder());if(openTab.type[currentTab]==1) 212 return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name);var handler_move_msgs=function(data){if(typeof(data)=='string') 213 if(data.match(/^(.*)TRYCREATE(.*)$/)){connector.loadScript('TreeS');var move_to_folder=data.match(/^(.*)Spam(.*)$/)?"Spam":special_folders['Trash'];alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.',folder_error));ttree.FOLDER='root';create_new_folder(move_to_folder,"INBOX");return false;}else{write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".',new_folder_name));if(new_folder_name=="Trash"&&folder.split("/")[1]==new_folder.split("/")[1]){alert(get_lang("You can not remove the message with the preference 'Send to Trash' enabled. There is no permission to move messages to the trash folder."));} 214 return false;} 215 if(data.status==false){write_msg(get_lang("You don't have permission for this operation in this shared folder!"));return false;} 216 mail_msg=(Element("divScrollMain_"+numBox))?Element("divScrollMain_"+numBox).firstChild.firstChild:Element("divScrollMain_0").firstChild.firstChild;if(data.msgs_number.length==1){write_msg(get_lang("The message was moved to folder ")+lang_folder(data.new_folder_name));} 217 else{write_msg(get_lang("The messages were moved to folder ")+lang_folder(data.new_folder_name));} 218 if(openTab.type[currentTab]>1) 219 {msg_to_delete=Element(msgs_number);if(parseInt(preferences.delete_and_show_previous_message)&&msg_to_delete) 220 {if(msg_to_delete.previousSibling) 221 {var previous_msg=msg_to_delete.previousSibling.id;if(!not_opem_previus){$.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.get_info_msg',msg_number:previous_msg,msg_folder:folder,decoded:true}),success:function(data){data=connector.unserialize(data);if(data) 222 show_msg(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});}} 223 else 224 {if(current_page>1) 225 {$('#msg_opt_previous_'+msg_to_delete.getAttribute('id')+'_r').trigger('click');} 226 else 227 {var border_id=$("#border_id_"+currentTab).prev().attr("id").split("_").slice(2,3).join("") 228 var folderName=current_folder;if(border_id) 229 {$.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.get_info_msg',msg_number:border_id,msg_folder:folderName,decoded:true}),success:function(data){data=connector.unserialize(data);delete_border(currentTab,'false');if(data) 230 {show_msg(data);}},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 231 else 232 {delete_border(currentTab,'false');}}}} 233 else 234 {if(msg_to_delete.id===String(currentTab).split('_')[0]) 235 {delete_border(currentTab,'false');}} 236 if(msg_to_delete) 237 {mail_msg.removeChild(msg_to_delete);} 238 var box=Element("tbody_box");if(box.childNodes.length>0) 239 {updateBoxBgColor(box.childNodes);} 240 if(folder==get_current_folder()) 241 {Element('tot_m').innerHTML=parseInt(Element('tot_m').innerHTML)-1;} 242 return;} 243 Element('chk_box_select_all_messages').checked=false;if(!mail_msg) 244 mail_msg=Element("tbody_box");data.msgs_number=data.msgs_number.split(",");var msg_to_delete;if(typeof(msgs_number)=='string') 245 all_search_msg=msgs_number.split(',');else if(typeof(msgs_number)=='number') 246 all_search_msg=msgs_number;for(var i=0;i<=all_search_msg.length;i++) 247 {msg_to_delete=Element(folder+';'+all_search_msg[i]);if(msg_to_delete) 248 msg_to_delete.parentNode.removeChild(msg_to_delete);} 249 if(preferences.use_shortcuts=='1'){var all_messages=Element('tbody_box').childNodes;var msg_list_shortcut=get_selected_messages_shortcut().split(',');if(data.msgs_number.length>0&&msg_list_shortcut.length>0&&data.msgs_number.toString()==msg_list_shortcut.toString()){if(exist_className(all_messages[all_messages.length-1],'selected_shortcut_msg')){select_msg('null','up',true);} 250 else{if(!select_msg('null','down',true)){select_msg('null','up',true);}}}} 251 for(var i=0;i<data.msgs_number.length;i++) 252 {msg_to_delete=Element(data.msgs_number[i]);if(msg_to_delete) 253 mail_msg.removeChild(msg_to_delete);} 254 if(data.msgs_number.length==1) 255 write_msg(get_lang("The message was moved to folder ")+lang_folder(data.new_folder_name));else 256 write_msg(get_lang("The messages were moved to folder ")+lang_folder(data.new_folder_name));if(data.border_ID.indexOf('r')!=-1){if(parseInt(preferences.delete_and_show_previous_message)&&folder==get_current_folder()){delete_border(data.border_ID,'false');show_msg(data.previous_msg);} 257 else{delete_border(data.border_ID,'false');}} 258 if(folder==get_current_folder()){var n_total_msg=parseInt(Element('tot_m').innerHTML)-data.msgs_number.length;n_total_msg=n_total_msg>=0?n_total_msg:0;draw_paging(n_total_msg);Element('tot_m').innerHTML=n_total_msg;totalFolderMsgs-=data.msgs_number.length;} 259 refresh();} 260 if(folder==new_folder){write_msg(get_lang('The origin folder and the destination folder are the same.'));return;} 261 try{if(proxy_mensagens.is_local_folder(Element('input_folder_'+currentTab).getAttribute('value'))&&!border_ID){alert(get_lang("You cant manipulate local messages on search"));return;}}catch(e){} 262 if(currentTab==0&&msgs_number=="selected") 263 msgs_number=get_selected_messages();else if(currentTab!=0&&msgs_number=="selected") 264 msgs_number=currentTab.substr(0,currentTab.indexOf('_r'));if(openTab.type[currentTab]==1){return move_search_msgs('content_id_'+currentTab,new_folder,new_folder_name);} 265 if(currentTab.toString().indexOf("_r")!=-1&¤tTab==border_ID) 266 {if(currentTab.toString().indexOf('_s')!=-1) 267 msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf('_s'));else 268 msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf('_r'));} 269 if(msgs_number){refresh();} 270 else{$("#"+get_current_folder()).find('span:first').addClass('selected');} 271 if(proxy_mensagens.is_local_folder(folder)){expresso_mail_archive.update_counters=true;if(msgs_number=='selected'){msgs_number=get_selected_messages();} 272 if(new_folder=='local_root'){alert(get_lang("Select a folder!"));} 273 if(parseInt(msgs_number)>0||msgs_number.length>0){if(proxy_mensagens.is_local_folder(new_folder)){expresso_mail_archive.moveMessages(new_folder.replace('local_messages_',''),msgs_number);delete_border(border_ID);} 274 else{if(!new_folder){new_folder='INBOX';} 275 if(currentTab.toString().indexOf("_r")!=-1){msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));} 276 expresso_mail_archive.unarchieve(folder,new_folder,msgs_number);if(currentTab!=0) 277 delete_border(border_ID);}} 278 else{write_msg(get_lang('No selected message.'));}} 279 else{if(proxy_mensagens.is_local_folder(new_folder)){if(msgs_number=='selected'){archive_msgs(folder,new_folder);} 280 else{archive_msgs(folder,new_folder,msgs_number);}} 281 else{if(parseInt(msgs_number)>0||msgs_number.length>0){var handler_removeFlag=function(){$.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.move_messages',folder:folder,msgs_number:""+msgs_number,border_ID:border_ID,sort_box_type:sort_box_type,search_box_type:search_box_type,sort_box_reverse:sort_box_reverse,reuse_border:border_ID,new_folder:new_folder,new_folder_name:new_folder_name,get_previous_msg:(!not_opem_previus?preferences.delete_and_show_previous_message:false),decoded:true}),success:function(data){data=connector.unserialize(data);$.each(msgs_number.split(","),function(index,value){delete selectedPagingMsgs[value];msgFolder=Base64.encode(get_current_folder());tabToRemove=value+"_r_"+msgFolder.replace(/=/g,"");if($("#"+tabToRemove)){}});totalFolderMsgs-=msgs_number.split(",").length;selectAllFolderMsgs();$('.select-link').unbind('click');if(data) 282 handler_move_msgs(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 283 var hasFolder=false;$.each(fromRules,function(index,value){if(value==folder){hasFolder=true;cExecute("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number,handler_removeFlag);return false;}});if(!hasFolder){handler_removeFlag();}}else 284 write_msg(get_lang('No selected message.'));}} 285 $.each(msgs_number.split(","),function(index,value){delete selectedPagingMsgs[value];});totalFolderMsgs=totalFolderMsgs-msgs_number.split(",").length;selectAllFolderMsgs(false);updateSelectedMsgs();} 286 function move_msgs(folder,msgs_number,border_ID,new_folder,new_folder_name,not_opem_previus){move_msgs2(folder,msgs_number,border_ID,new_folder,new_folder_name,true,not_opem_previus);} 287 function normalizeMsgNumber(msgNumber){if(msgNumber||msgNumber=='selected') 288 msgNumber=get_selected_messages();if(currentTab.toString().indexOf("_r")!=-1) 289 {if(currentTab.toString().indexOf('_s')!=-1) 290 msgNumber=currentTab.toString().substr(0,currentTab.toString().indexOf('_s'));else 291 msgNumber=currentTab.toString().substr(0,currentTab.toString().indexOf('_r'));} 292 if(parseInt(msgNumber)<=0||msgNumber.length<=0){write_msg(get_lang('No selected message.'));return(false);} 293 return(msgNumber);} 294 function archive_search_msgs(folder_dest){var id_msgs="";id_msgs=get_selected_messages_search();var msg_to_arquive="";var messages="";var id_border=currentTab.replace(/[a-zA-Z_]+/,"");if(parseInt(id_msgs)<=0||id_msgs.length<=0) 295 return write_msg(get_lang('No selected message.'));if(folder_dest=='local_root'||folder_dest==null) 296 folder_dest='local_Inbox';id_msgs=expresso_local_messages.checkArchived(id_msgs,folder_dest);if(!id_msgs){write_msg("Todas as mensagens já foram arquivadas anteriormente.");return;} 297 document.getElementById("overlay").style.visibility="visible";var handler_arquivar_mensagens=function(data){var msgs_info=[];for(var i=0;i<data.length;i++) 298 msgs_info[i]=connector.unserialize(data[i]);var h=expresso_local_messages.has_local_mails();expresso_local_messages.insert_mails(msgs_info,folder_dest,function(s,f){complete_archiving(s,f,h)});document.getElementById("overlay").style.visibility="hidden";} 299 id_msgs=id_msgs.split(',');for(i=0;i<id_msgs.length;i++){var tr=Element(id_msgs[i]+'_s'+id_border);msg_to_arquive=(tr.getAttribute('name')==null?get_current_folder():tr.getAttribute('name'));messages+=','+msg_to_arquive+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");} 300 $.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.get_info_msg',msg_number:messages,msg_folder:folder_dest,decoded:true}),success:function(data){data=connector.unserialize(data);if(data) 301 handler_arquivar_mensagens(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 302 function archive_msgs(folder,folder_dest,id_msgs){if(typeof(currentTab)=="string"&¤tTab.indexOf("local")!=-1){alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");return true;} 303 write_msg(get_lang('Starting to archive messages'));if(currentTab.toString().indexOf("_r")!=-1){id_msgs=currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));} 304 if(!id_msgs) 305 id_msgs=get_selected_messages();if(folder_dest=='local_root'||folder_dest==null) 306 folder_dest='local_inbox';if(parseInt(id_msgs)>0||id_msgs.length>0){window.setTimeout("expresso_mail_archive.Archive('"+folder+"','"+folder_dest+"','"+id_msgs+"')",1);selectAllFolderMsgs(false);} 307 else 308 write_msg(get_lang('No selected message.'));} 309 function complete_archiving(success,fails,has_local_messages_before) 310 {var msgs_to_remove={};var target=mount_url_folder(["INBOX",special_folders["Trash"],'tmpMoveToLocal']);success=expresso_local_messages.select_mail(['original_id','original_folder'],success);for(var i=0;i<success.length;i++){var msg_info=success[i];Element('chk_box_select_all_messages').checked=false;if(Element("check_box_message_"+msg_info.original_id)) 311 {Element("check_box_message_"+msg_info.original_id).checked=false;} 312 if(Element(msg_info.original_id)) 313 {remove_className(Element(msg_info.original_id),'selected_msg');} 314 msgs_to_remove[msg_info.original_folder]=msgs_to_remove[msg_info.original_folder]||[];msgs_to_remove[msg_info.original_folder].push(msg_info.original_id);} 315 if(preferences.keep_archived_messages==0){for(var folder in msgs_to_remove){if(folder!='undefined') 316 delete_msgs(folder,msgs_to_remove[folder],'null',false,true);}} 317 if(!has_local_messages_before&&expresso_local_messages.has_local_mails()) 318 ttreeBox.update_folder();else 319 update_menu();} 320 function action_msg_selected_from_search(aba,evento){if(evento=="delete") 321 move_search_msgs(aba,'INBOX/Trash','Trash','delete');} 322 function get_all_messages_search(){var aba=document.getElementById('content_id_'+currentTab);var messages="";jQuery(function(){jQuery("#"+aba.id+" tr").each(function(i,main_list){messages+=main_list.id.replace(/_[a-zA-Z0-9]+/,"")+',';});});if(messages.indexOf(',')==0) 323 messages=messages.substring(1,(messages.length));return messages.substring(0,(messages.length-1));} 324 function get_selected_messages_search(){var aba=document.getElementById('content_id_'+currentTab);var selected_messages="";jQuery("#"+aba.id+" tr").each(function(i,main_list){var check_box=main_list.firstChild.firstChild;if(check_box&&check_box.checked){selected_messages+=main_list.id.replace(/_[a-zA-Z0-9]+/,"")+',';};});if(selected_messages!=""){if(selected_messages.indexOf(',')==0) 325 selected_messages=selected_messages.substring(1,(selected_messages.length));selected_messages=selected_messages.substring(0,(selected_messages.length-1));return selected_messages;}else{return false;}} 326 function get_selected_messages_search_role(){var aba=document.getElementById('content_id_'+currentTab);var selected_messages="";jQuery("#"+aba.id+" tr").each(function(i,main_list){var check_box=main_list.firstChild.firstChild;if(check_box&&check_box.checked&&check_box.id!='chk_box_select_all_messages_search'){selected_messages+=main_list.role+',';};});if(selected_messages!=""){if(selected_messages.indexOf(',')==0) 327 selected_messages=selected_messages.substring(1,(selected_messages.length));selected_messages=selected_messages.substring(0,(selected_messages.length-1));return selected_messages;}else{return false;}} 328 function get_selected_messages_shortcut(){var main;try{main=document.getElementById("divScrollMain_"+numBox).firstChild.firstChild;}catch(e){};if(!main) 329 main=Element("tbody_box_"+numBox);if(!main) 330 main=Element("tbody_box");var main_list=main.childNodes;var selected_messages_by_shortcuts='';var j=0;for(j;j<(main_list.length);j++) 331 {if(exist_className(Element(main_list[j].id),'selected_shortcut_msg')) 332 {selected_messages_by_shortcuts+=main_list[j].id+',';}} 333 selected_messages_by_shortcuts=selected_messages_by_shortcuts.substring(0,(selected_messages_by_shortcuts.length-1));return selected_messages_by_shortcuts;} 334 function get_selected_messages(){var selectedMsg=new Array();$.each(selectedPagingMsgs,function(index,value){if(value) 335 selectedMsg.push(index);});return""+selectedMsg;} 336 function clear_selected_messages(){selectedPagingMsgs={};} 337 function replaceAll(string,token,newtoken){while(string.indexOf(token)!=-1){string=string.replace(token,newtoken);} 338 return string;} 339 function new_message_to(email){var new_border_ID=new_message('new','null');document.getElementById("to_"+new_border_ID).value=email;} 340 function new_message(type,border_ID,flagged){if(RichTextEditor.editorReady===false)return false;RichTextEditor.editorReady=false;if(Element('show_img_link_'+border_ID)) 341 {show_msg_img(border_ID.match(/^\d*/)[0],Element('input_folder_'+border_ID).value);} 342 var new_border_ID=draw_new_message(parseInt(border_ID.replace('_r','')));if(typeof(openTab.type[new_border_ID])!="undefined"){if(tabTypes[type]==openTab.type[new_border_ID]){if(type!='edit') 343 {delete_border(currentTab);new_border_ID=draw_new_message(parseInt(border_ID));}}else{var a_types={6:get_lang("Forward"),7:get_lang("Reply"),8:get_lang("Reply to all with history"),9:get_lang("Reply without history"),10:get_lang("Reply to all without history")};if(new_border_ID!=0) 344 if(!confirm(get_lang("Your message to %1 has not been saved or sent. "+"To %2 will be necessary open it again. Discard your message?",a_types[openTab.type[new_border_ID]].toUpperCase(),a_types[tabTypes[type]].toUpperCase()))){return new_border_ID;}else{delete_border(currentTab);new_border_ID=draw_new_message(parseInt(border_ID));}}} 345 if(new_border_ID=='maximo'){RichTextEditor.editorReady=true;return false;} 346 if(new_border_ID==false) 347 {RichTextEditor.editorReady=true;setTimeout('new_message(\''+type+'\',\''+border_ID+'\',\''+flagged+'\');',500);return false;} 348 openTab.type[new_border_ID]=tabTypes[type];var folder_message=Element("input_folder_"+border_ID);if(folder_message){var input_current_folder=document.createElement('input');input_current_folder.id="new_input_folder_"+border_ID;input_current_folder.name="input_folder";input_current_folder.type="hidden";input_current_folder.value=folder_message.value;Element("content_id_"+new_border_ID).appendChild(input_current_folder);} 349 var title='';data=[];if(Element("from_"+border_ID)){if(document.getElementById("reply_to_"+border_ID)){data.to=document.getElementById("reply_to_values_"+border_ID).value;data.to=data.to.replace(/</gi,"<");data.to=data.to.replace(/>/gi,">");} 350 else{if(document.getElementById("sender_values_"+border_ID)) 351 {data.to=document.getElementById("sender_values_"+border_ID).value;data.to=data.to.replace(/</gi,"<");data.to=data.to.replace(/>/gi,">");} 352 else if(document.getElementById("from_values_"+border_ID)){data.to=document.getElementById("from_values_"+border_ID).value;data.to=data.to.replace(/</gi,"<");data.to=data.to.replace(/>/gi,">");}} 353 if(document.getElementById("to_values_"+border_ID)){data.to_all=document.getElementById("to_values_"+border_ID).value;data.to_all_alternative=document.getElementById("user_email_alternative").value;data.to_all=data.to_all.replace(/\n/gi," ");data.to_all=data.to_all.replace(/</gi,"<");data.to_all=data.to_all.replace(/>/gi,">");var _array_to_all=data.to_all.split(",");var _array_to_alternative=data.to_all_alternative.split(",");}} 354 if(document.getElementById("cc_"+border_ID)){data.cc=document.getElementById("cc_values_"+border_ID).value;data.cc=data.cc.replace(/</gi,"<");data.cc=data.cc.replace(/>/gi,">");var _array_cc=data.cc.split(",");} 355 if(document.getElementById("cco_"+border_ID)){data.cco=document.getElementById("cco_values_"+border_ID).value;data.cco=data.cco.replace(/</gi,"<");data.cco=data.cco.replace(/>/gi,">");} 356 if($("#subject_"+border_ID)) 357 data.subject=$("#subject_"+border_ID).text();if(data.subject==get_lang("(no subject) ")) 358 data.subject='';if(document.getElementById("body_"+border_ID)) 359 data.body=document.getElementById("body_"+border_ID).innerHTML;if(document.getElementById("from_values_"+border_ID)) 360 data.from=document.getElementById("from_values_"+border_ID).value;if(Element('date_'+border_ID)){data.date=Element('date_'+border_ID).innerHTML;} 361 if(Element('date_day_'+border_ID)){data.date_day=Element('date_day_'+border_ID).value;} 362 if(Element('date_hour_'+border_ID)){data.date_hour=Element('date_hour_'+border_ID).value;} 363 var signature=RichTextEditor.getSignatureDefault();if(type!="new"&&type!="edit"&&document.getElementById("is_local_"+border_ID)!=null) 364 data.is_local_message=(document.getElementById("is_local_"+border_ID).value=="1")?true:false;if(typeof($.fn.elastic)=="undefined"){$.lazy({src:'../prototype/plugins/jquery-elastic/jquery.elastic.source.js',name:'elastic'});} 365 var content=$("#content_id_"+new_border_ID);var btnSaveVerify=function(){$("#content_id_"+currentTab+" .save").button("disable");dataBtn=new Array(".to",".cc",".cco","input[name=input_subject]",".reply-to");for(var i in dataBtn){$("#content_id_"+currentTab+" "+dataBtn[i]).keydown(function(){$("#content_id_"+currentTab+" .save").button("enable");});} 366 RichTextEditor.keydown(new_border_ID);} 367 switch(type){case"reply_without_history":btnSaveVerify();RichTextEditor.replyController=true;content.find('[name="input_to"]').val(data.to);draw_reply_boxes_by_field("to",data.to,content);title="Re: "+html_entities(data.subject);content.find(".subject").val("Re: "+data.subject);useOriginalAttachments(new_border_ID,border_ID);content.find('[name="msg_reply_from"]').val($("#msg_number_"+border_ID).val());if(preferences.use_signature=="1"){RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+signature,true);} 368 break;case"reply_with_history":btnSaveVerify();RichTextEditor.replyController=true;title="Re: "+html_entities(data.subject);content.find(".subject").val("Re: "+data.subject);content.find('[name="input_to"]').val(data.to);draw_reply_boxes_by_field("to",data.to,content);content.find('[name="msg_reply_from"]').val($("#msg_number_"+border_ID).val());block_quoted_body=make_body_reply(data.body,data.from,data.date_day,data.date_hour);useOriginalAttachments(new_border_ID,border_ID);if(preferences.use_signature=="1"){RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+signature+'<div><br type="_moz"></div>'+block_quoted_body,true);}else{RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+block_quoted_body,true);} 369 break;case"reply_to_all_without_history":btnSaveVerify();RichTextEditor.replyController=true;data.to_all=new Array();data.to_all=removeUserEmail(_array_to_all);data.to_all=removeAlternative(data.to_all,_array_to_alternative);content.find('[name="msg_reply_from"]').val($("#msg_number_"+border_ID).val());data.to_all=data.to_all.join(",");title="Re: "+html_entities(data.subject);content.find(".subject").val("Re: "+data.subject);if(data.to.indexOf(Element("user_email").value)>0){draw_reply_boxes_by_field("to",data.to_all,content);content.find('[name="input_to"]').val(data.to_all);}else{draw_reply_boxes_by_field("to",data.to+','+data.to_all,content);content.find('[name="input_to"]').val(data.to+','+data.to_all);} 370 if(data.cc){data.cc=new Array();data.cc=removeUserEmail(_array_cc);data.cc=removeAlternative(data.cc,_array_to_alternative);if(data.cc!=get_lang("undisclosed-recipient")) 371 data.cc=data.cc.join(",");else 372 data.cc="";if(data.cc!=""){content.find('[name="input_cc"]').val(data.cc);input_binds(content.find('[name="input_cc"]').parent(),new_border_ID);content.find(".cc-tr").show();content.find(".cc-button").toggleClass("expressomail-button-icon-ative");content.find(".cc-button").find("span").html("Remover CC");draw_reply_boxes_by_field("cc",data.cc,content);}} 373 useOriginalAttachments(new_border_ID,border_ID);if(preferences.use_signature=="1"){RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+signature,true);} 374 break;case"reply_to_all_with_history":btnSaveVerify();RichTextEditor.replyController=true;data.to_all=new Array();data.to_all=removeUserEmail(_array_to_all);data.to_all=removeAlternative(data.to_all,_array_to_alternative);content.find('[name="msg_reply_from"]').val($("#msg_number_"+border_ID).val());if(data.to_all!=get_lang("undisclosed-recipient")) 375 data.to_all=data.to_all.join(",");else 376 data.to_all="";title="Re: "+html_entities(data.subject);if(data.to.indexOf(Element("user_email").value)>0){draw_reply_boxes_by_field("to",data.to_all,content);content.find('[name="input_to"]').val(data.to_all);}else{draw_reply_boxes_by_field("to",data.to+','+data.to_all,content);content.find('[name="input_to"]').val(data.to+','+data.to_all);} 377 if(data.cc){data.cc=new Array();data.cc=removeUserEmail(_array_cc);data.cc=removeAlternative(data.cc,_array_to_alternative);if(data.cc!=get_lang("undisclosed-recipient")) 378 data.cc=data.cc.join(",");else 379 data.cc="";if(data.cc!=""){content.find('[name="input_cc"]').val(data.cc);input_binds(content.find('[name="input_aux_cc"]').parent(),new_border_ID);content.find(".cc-tr").show();content.find(".cc-button").toggleClass("expressomail-button-icon-ative");content.find(".cc-button").find("span").html("Remover CC");draw_reply_boxes_by_field("cc",data.cc,content);}} 380 content.find(".subject").val("Re: "+data.subject);block_quoted_body=make_body_reply(data.body,data.from,data.date_day,data.date_hour);useOriginalAttachments(new_border_ID,border_ID);if(preferences.use_signature=="1"){RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div><div><br type="_moz"></div>'+signature+'<div><br type="_moz"></div>'+block_quoted_body,true);}else{RichTextEditor.setInitData(new_border_ID,block_quoted_body,true);} 381 break;case"forward":btnSaveVerify();title="Fw: "+html_entities(data.subject);content.find(".subject").val("Fw: "+data.subject);var divFiles=Element("divFiles_"+new_border_ID);var campo_arquivo;content.find('[name="msg_forward_from"]').val($("#msg_number_"+border_ID).val());if(Element("attachments_"+border_ID)) 382 addOriginalAttachments(new_border_ID,border_ID);if(preferences.use_signature=="1"){$("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>'+signature+'<div><br type="_moz"></div>'+make_forward_body(data.body,data.to,data.date,data.subject,data.to_all,data.cc));RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+signature+'<div><br type="_moz"></div>'+make_forward_body(data.body,data.to,data.date,data.subject,data.to_all,data.cc));content.find(".to").focus();} 383 else{RichTextEditor.setInitData(new_border_ID,make_forward_body(data.body,data.to,data.date,data.subject,data.to_all,data.cc));$("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>'+make_forward_body(data.body,data.to,data.date,data.subject,data.to_all,data.cc));content.find(".to").focus();} 384 break;case"new":btnSaveVerify();title=get_lang("New Message");if(Element('msg_number').value){var _to=Element('msg_number').value;var reEmail=/^[A-Za-z\d_-]+(\.[A-Za-z\d_-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;if(!reEmail.test(_to)){var array_contacts=contacts.split(',');for(i=0;i<array_contacts.length;i++){if(array_contacts[i].lastIndexOf(_to)!="-1"){var _group=array_contacts[i].split(";");_to='"'+_group[0]+'" <'+_group[1]+'>';break;}}} 385 content.find('[name="input_to"]').val(_to+',');draw_email_box(_to,content.find(".to").filter("input"));Element('msg_number').value='';} 386 if(preferences.use_signature=="1"){$("#body_"+new_border_ID).val('<div><br type="_moz"></div><div><br type="_moz"></div>'+signature);RichTextEditor.setInitData(new_border_ID,'<div><br type="_moz"></div>'+signature);content.find(".to").focus();} 387 else 388 content.find('[name="input_to"]').focus();break;case"edit":btnSaveVerify();if(flagged=='F') 389 $(".important").addClass("expressomail-button-icon-ative");openTab.imapBox[new_border_ID]=folder_message.value;document.getElementById('font_border_id_'+new_border_ID).innerHTML=data.subject;title="Edição: "+html_entities(data.subject);data.to=Element("to_values_"+border_ID).value;if(data.to!=get_lang("without destination")){data.to=data.to.replace(/</gi,"<");data.to=data.to.replace(/>/gi,">");}else{data.to="";} 390 draw_reply_boxes_by_field("to",data.to,content);content.find('[name="input_to"]').val(data.to);if(data.cc){data.cc=data.cc.replace(/</gi,"<");data.cc=data.cc.replace(/>/gi,">");content.find('[name="input_cc"]').val(data.cc);input_binds(content.find('[name="input_cc"]').parent(),new_border_ID);content.find(".cc-tr").show();content.find(".cc-button").toggleClass("expressomail-button-icon-ative");content.find(".cc-button").find("span").html(get_lang('Remove CC'));draw_reply_boxes_by_field("cc",data.cc,content);} 391 if(data.cco){if(content.find('[name="input_cco"]').length){content.find('[name="input_cco"]').val(data.cco);content.find(".cco-tr").show();content.find(".cco-button").toggleClass("expressomail-button-icon-ative");content.find(".cco-button").find("span").html(get_lang('Remove CCo'));input_binds(content.find('[name="input_cco"]').parent(),new_border_ID);draw_reply_boxes_by_field("cco",data.cco,content);}} 392 content.find(".subject").val(data.subject);if($("#disposition_notification_"+border_ID).length){content.find('[name="input_return_receipt"]').attr("checked",true);content.find(".return-recept").toggleClass("expressomail-button-icon-ative");} 393 var element_important_message=Element("important_message_"+new_border_ID);if(element_important_message){if($("#disposition_important_"+border_ID).length){content.find('[name="input_important_message"]').attr("checked",true);content.find(".important").toggleClass("expressomail-button-icon-ative");}} 394 if(Element("attachments_"+border_ID)) 395 addOriginalAttachments(new_border_ID,border_ID);RichTextEditor.setInitData(new_border_ID,data.body,'edit');uidsSave[new_border_ID].push(new_border_ID);close_delete(border_ID);break;default:} 396 content.find('[name="input_to"]').trigger("update");var txtarea=$('#body_'+new_border_ID);var height=document.body.scrollHeight-330;txtarea.css("overflowY","auto");txtarea.css("height",height);$("#border_id_"+new_border_ID).attr("title",title);set_border_caption("border_id_"+new_border_ID,title);resizeWindow();return new_border_ID;} 397 function draw_reply_boxes_by_field(field,value,context){array=break_comma(value);$.each(array,function(index,value){draw_email_box(value,context.find("."+field).filter("textarea:first"));});} 398 function removeUserEmail(emailList){var userEmail=Element("user_email").value;var array_emails=Array();var j=0;for(var i=0;i<emailList.length;i++){if(emailList[i].indexOf(userEmail)<0){array_emails[j++]=emailList[i];}} 399 return array_emails;} 400 function removeAlternative(value_to_all,_array_to_alternative){for(i=0;i<_array_to_alternative.length;i++){for(k=0;k<value_to_all.length;k++){if(value_to_all[k].match(/<([^<]*)>[\s]*$/)){if(value_to_all[k].match(/<([^<]*)>[\s]*$/)[1].toLowerCase()==_array_to_alternative[i].toLowerCase()){value_to_all.splice(k,1);k--;}}else if(value_to_all[k].replace(/^\s+|\s+$/g,"").toLowerCase()==_array_to_alternative[i].toLowerCase()){value_to_all.splice(k,1);k--;}}} 401 return value_to_all;} 2583 402 function useOriginalAttachments(new_border_ID,old_id_border) 2584 { 2585 if (Element("attachments_" + old_id_border)) 2586 { 2587 var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 2588 var attachments = $("#attachments_" + old_id_border).find("a"); 2589 if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 2590 alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 2591 return false; 2592 } 2593 2594 var imagens = block_quoted_body.match(/<img[^>]*>/g); 2595 var arrayAttachments = []; 2596 var arrayAttachmentsA = []; 2597 2598 //------------------- 2599 for (var i = 0; i < attachments.length; i++){ 2600 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 2601 continue; 2602 if(attachments[i].href.split("local") > 1){ 2603 var arrayAtt = attachments[i].href.replace("javascript:download_local_attachment(", "").replace(")", "").split(','); 2604 }else{ 2605 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 2606 } 2607 2608 var att = new Object(); 2609 var regex = new RegExp( "'", "g" ); 2610 att.folder = utf8_decoder(Base64.decode(arrayAtt[0].replace(regex,""))); 2611 att.uid = arrayAtt[1].replace(regex,""); 2612 att.part = arrayAtt[3].replace(regex,""); 2613 att.type = 'imapPart'; 2614 var idATT = JSON.stringify(att); 2615 2616 if(block_quoted_body.indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part+'"') !== -1) 2617 { 2618 addAttachment( new_border_ID , idATT); 2619 2620 var attach = {}; 2621 attach.fileName = attachments[i].text.substring(0, attachments[i].text.lastIndexOf('(')); 2622 attach.fullFileName = attach.fileName; 2623 if(attach.fileName.length > 20) 2624 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2625 2626 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 2627 2628 attach.error = false; 2629 fileUploadMSG.find(' .attachments-list').show(); 2630 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2631 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 2632 upload.find(".att-box-loading").remove(); 2633 upload.find('.att-box-delete').click(function(){ 2634 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2635 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2636 var imagens = content_body.match(/<img[^>]*>/g); 2637 var att = JSON.parse(idAttach); 2638 if(imagens != null) 2639 { 2640 for (var x = 0; x < imagens.length; x++) 2641 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part) !== -1) 2642 content_body = content_body.replace(imagens[x],''); 2643 2644 RichTextEditor.setData('body_'+new_border_ID,content_body); 2645 } 2646 2647 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 2648 delAttachment(new_border_ID,idAttach); 2649 $(this).parent().qtip("destroy"); 2650 $(this).parent().remove(); 2651 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2652 fileUploadMSG.find(' .attachments-list').hide(); 2653 } 2654 }); 2655 2656 fileUploadMSG.find('.attachments-list').append(upload); 2657 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2658 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2659 position: { 2660 corner: { 2661 tooltip: 'bottomMiddle', 2662 target: 'topMiddle' 2663 }, 2664 adjust: { 2665 resize: true, 2666 scroll: true, 2667 screen: true 2668 } 2669 }, 2670 show: { 2671 when: 'mouseover', // Don't specify a show event 2672 ready: false // Show the tooltip when ready 2673 }, 2674 hide: 'mouseout', // Don't specify a hide event 2675 style: { 2676 border: { 2677 width: 1, 2678 radius: 5 2679 }, 2680 width: { 2681 min: 75, 2682 max : 1000 2683 }, 2684 padding: 3, 2685 textAlign: 'left', 2686 tip: true, // Give it a speech bubble tip with automatic corner detection 2687 name: 'blue' // Style it according to the preset 'cream' style 2688 } 2689 }); 2690 } 2691 else 2692 { 2693 arrayAttachments.push(idATT); 2694 arrayAttachmentsA.push(attachments[i]); 2695 } 2696 } 2697 //------------------- 2698 2699 if(arrayAttachments.length > 0) 2700 { 2701 2702 var orignialAtt = fileUploadMSG.find('.button-files-upload').append(' <button tabindex="-1" class="message-add-original-att button small">Anexar arquivos originais</button>').find(".message-add-original-att").button(); 2703 orignialAtt.click(function(event ){ 2704 2705 for (var i = 0; i < arrayAttachments.length; i++){ 2706 2707 var att = JSON.parse(arrayAttachments[i]); 2708 addAttachment( new_border_ID , arrayAttachments[i]); 2709 2710 var attach = {}; 2711 attach.fileName = arrayAttachmentsA[i].text.substring(0, arrayAttachmentsA[i].text.lastIndexOf('(')); 2712 attach.fullFileName = attach.fileName; 2713 if(attach.fileName.length > 20) 2714 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2715 2716 attach.fileSize = arrayAttachmentsA[i].text.substring(( arrayAttachmentsA[i].text.lastIndexOf('(')+1), arrayAttachmentsA[i].text.lastIndexOf(')')); 2717 attach.error = false; 2718 fileUploadMSG.find(' .attachments-list').show(); 2719 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2720 upload.find('.att-box-loading').remove(); 2721 upload.append('<input type="hidden" name="fileId[]" value=\''+arrayAttachments[i]+'\'/>'); 2722 upload.find('.att-box-delete').click(function(){ 2723 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2724 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2725 var imagens = content_body.match(/<img[^>]*>/g); 2726 var att = JSON.parse(idAttach); 2727 if(imagens != null) 2728 { 2729 for (var x = 0; x < imagens.length; x++) 2730 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part) !== -1) 2731 content_body = content_body.replace(imagens[x],''); 2732 2733 RichTextEditor.setData('body_'+new_border_ID,content_body); 2734 } 2735 2736 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 2737 delAttachment(new_border_ID,idAttach); 2738 $(this).parent().qtip("destroy"); 2739 $(this).parent().remove(); 2740 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2741 fileUploadMSG.find(' .attachments-list').hide(); 2742 } 2743 }); 2744 2745 fileUploadMSG.find('.attachments-list').append(upload); 2746 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2747 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2748 position: { 2749 corner: { 2750 tooltip: 'bottomMiddle', 2751 target: 'topMiddle' 2752 }, 2753 adjust: { 2754 resize: true, 2755 scroll: true, 2756 screen: true 2757 } 2758 }, 2759 show: { 2760 when: 'mouseover', // Don't specify a show event 2761 ready: false // Show the tooltip when ready 2762 }, 2763 hide: 'mouseout', // Don't specify a hide event 2764 style: { 2765 border: { 2766 width: 1, 2767 radius: 5 2768 }, 2769 width: { 2770 min: 75, 2771 max : 1000 2772 }, 2773 padding: 3, 2774 textAlign: 'left', 2775 tip: true, // Give it a speech bubble tip with automatic corner detection 2776 name: 'blue' // Style it according to the preset 'cream' style 2777 } 2778 }); 2779 } 2780 2781 $(this).remove(); 2782 }); 2783 } 2784 2785 } 2786 2787 } 2788 403 {if(Element("attachments_"+old_id_border)) 404 {var fileUploadMSG=$('#fileupload_msg'+new_border_ID);var attachments=$("#attachments_"+old_id_border).find("a");if(openTab.imapBox[new_border_ID].split("local").length>1&&attachments.length>0){alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");return false;} 405 var imagens=block_quoted_body.match(/<img[^>]*>/g);var arrayAttachments=[];var arrayAttachmentsA=[];for(var i=0;i<attachments.length;i++){if((attachments[i].tagName=="SPAN")||(attachments[i].tagName=="IMG")||((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 406 continue;if(attachments[i].href.split("local")>1){var arrayAtt=attachments[i].href.replace("javascript:download_local_attachment(","").replace(")","").split(',');}else{var arrayAtt=attachments[i].href.replace("javascript:download_attachments(","").replace(")","").split(',');} 407 var att=new Object();var regex=new RegExp("'","g");att.folder=utf8_decoder(Base64.decode(arrayAtt[0].replace(regex,"")));att.uid=arrayAtt[1].replace(regex,"");att.part=arrayAtt[3].replace(regex,"");att.type='imapPart';var idATT=JSON.stringify(att);if(block_quoted_body.indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part+'"')!==-1) 408 {addAttachment(new_border_ID,idATT);var attach={};attach.fileName=attachments[i].text.substring(0,attachments[i].text.lastIndexOf('('));attach.fullFileName=attach.fileName;if(attach.fileName.length>20) 409 attach.fileName=attach.fileName.substr(0,17)+" ... "+attach.fileName.substr(attach.fileName.length-9,attach.fileName.length);attach.fileSize=attachments[i].text.substring((attachments[i].text.lastIndexOf('(')+1),attachments[i].text.lastIndexOf(')'));attach.error=false;fileUploadMSG.find(' .attachments-list').show();var upload=$(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs",{file:attach}));upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>');upload.find(".att-box-loading").remove();upload.find('.att-box-delete').click(function(){var idAttach=$(this).parent().find('input[name="fileId[]"]').val();var content_body=RichTextEditor.getData('body_'+new_border_ID);var imagens=content_body.match(/<img[^>]*>/g);var att=JSON.parse(idAttach);if(imagens!=null) 410 {for(var x=0;x<imagens.length;x++) 411 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part)!==-1) 412 content_body=content_body.replace(imagens[x],'');RichTextEditor.setData('body_'+new_border_ID,content_body);} 413 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]');delAttachment(new_border_ID,idAttach);$(this).parent().qtip("destroy");$(this).parent().remove();if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){fileUploadMSG.find(' .attachments-list').hide();}});fileUploadMSG.find('.attachments-list').append(upload);fileUploadMSG.find('.attachments-list .att-box:last').qtip({content:DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs",{attach:attach}),position:{corner:{tooltip:'bottomMiddle',target:'topMiddle'},adjust:{resize:true,scroll:true,screen:true}},show:{when:'mouseover',ready:false},hide:'mouseout',style:{border:{width:1,radius:5},width:{min:75,max:1000},padding:3,textAlign:'left',tip:true,name:'blue'}});} 414 else 415 {arrayAttachments.push(idATT);arrayAttachmentsA.push(attachments[i]);}} 416 if(arrayAttachments.length>0) 417 {var orignialAtt=fileUploadMSG.find('.button-files-upload').append(' <button tabindex="-1" class="message-add-original-att button small">Anexar arquivos originais</button>').find(".message-add-original-att").button();orignialAtt.click(function(event){for(var i=0;i<arrayAttachments.length;i++){var att=JSON.parse(arrayAttachments[i]);addAttachment(new_border_ID,arrayAttachments[i]);var attach={};attach.fileName=arrayAttachmentsA[i].text.substring(0,arrayAttachmentsA[i].text.lastIndexOf('('));attach.fullFileName=attach.fileName;if(attach.fileName.length>20) 418 attach.fileName=attach.fileName.substr(0,17)+" ... "+attach.fileName.substr(attach.fileName.length-9,attach.fileName.length);attach.fileSize=arrayAttachmentsA[i].text.substring((arrayAttachmentsA[i].text.lastIndexOf('(')+1),arrayAttachmentsA[i].text.lastIndexOf(')'));attach.error=false;fileUploadMSG.find(' .attachments-list').show();var upload=$(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs",{file:attach}));upload.find('.att-box-loading').remove();upload.append('<input type="hidden" name="fileId[]" value=\''+arrayAttachments[i]+'\'/>');upload.find('.att-box-delete').click(function(){var idAttach=$(this).parent().find('input[name="fileId[]"]').val();var content_body=RichTextEditor.getData('body_'+new_border_ID);var imagens=content_body.match(/<img[^>]*>/g);var att=JSON.parse(idAttach);if(imagens!=null) 419 {for(var x=0;x<imagens.length;x++) 420 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part)!==-1) 421 content_body=content_body.replace(imagens[x],'');RichTextEditor.setData('body_'+new_border_ID,content_body);} 422 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]');delAttachment(new_border_ID,idAttach);$(this).parent().qtip("destroy");$(this).parent().remove();if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){fileUploadMSG.find(' .attachments-list').hide();}});fileUploadMSG.find('.attachments-list').append(upload);fileUploadMSG.find('.attachments-list .att-box:last').qtip({content:DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs",{attach:attach}),position:{corner:{tooltip:'bottomMiddle',target:'topMiddle'},adjust:{resize:true,scroll:true,screen:true}},show:{when:'mouseover',ready:false},hide:'mouseout',style:{border:{width:1,radius:5},width:{min:75,max:1000},padding:3,textAlign:'left',tip:true,name:'blue'}});} 423 $(this).remove();});}}} 2789 424 function addOriginalAttachments(new_border_ID,old_id_border) 2790 { 2791 var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 2792 var attachments = $("#attachments_" + old_id_border).find("a"); 2793 2794 if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){ 2795 alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos"); 2796 return false; 2797 } 2798 2799 for (var i = 0; i < attachments.length; i++){ 2800 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 2801 continue; 2802 fileUploadMSG.find(' .attachments-list').show(); 2803 if(attachments[i].href.split("local").length > 1){ 2804 var arrayAtt = attachments[i].href.replace("javascript:download_local_attachment(", "").replace(")", "").split(','); 2805 }else{ 2806 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 2807 } 2808 var att = new Object(); 2809 var regex = new RegExp( "'", "g" ); 2810 att.folder = utf8_decoder(Base64.decode(arrayAtt[0].replace(regex,""))); 2811 att.uid = arrayAtt[1].replace(regex,""); 2812 att.part = arrayAtt[3].replace(regex,""); 2813 att.type = 'imapPart'; 2814 var idATT = JSON.stringify(att); 2815 addAttachment( new_border_ID , idATT); 2816 2817 var attach = {}; 2818 var attachText = (is_ie ? attachments[i].innerText : attachments[i].text); 2819 attach.fileName = attachText.substring(0, attachText.lastIndexOf('(')); 2820 attach.fullFileName = attach.fileName; 2821 if(attach.fileName.length > 20) 2822 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2823 attach.fileSize = attachText.substring((attachText.lastIndexOf('(')+1),attachText.lastIndexOf(')')); 2824 attach.error = false; 2825 2826 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2827 upload.find('.att-box-loading').remove(); 2828 upload.find('.att-box-delete').click(function(){ 2829 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2830 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2831 var imagens = content_body.match(/<img[^>]*>/g); 2832 var att = JSON.parse(idAttach); 2833 if(imagens != null) 2834 { 2835 for (var x = 0; x < imagens.length; x++) 2836 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part) !== -1) 2837 content_body = content_body.replace(imagens[x],''); 2838 2839 RichTextEditor.setData('body_'+new_border_ID,content_body); 2840 } 2841 2842 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 2843 delAttachment(new_border_ID,idAttach); 2844 $(this).parent().qtip("destroy"); 2845 $(this).parent().remove(); 2846 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2847 fileUploadMSG.find(' .attachments-list').hide(); 2848 } 2849 }); 2850 2851 2852 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 2853 fileUploadMSG.find('.attachments-list').append(upload); 2854 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2855 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2856 position: { 2857 corner: { 2858 tooltip: 'bottomMiddle', 2859 target: 'topMiddle' 2860 }, 2861 adjust: { 2862 resize: true, 2863 scroll: true, 2864 screen: true 2865 } 2866 }, 2867 show: { 2868 when: 'mouseover', // Don't specify a show event 2869 ready: false // Show the tooltip when ready 2870 }, 2871 hide: 'mouseout', // Don't specify a hide event 2872 style: { 2873 border: { 2874 width: 1, 2875 radius: 5 2876 }, 2877 width: { 2878 min: 75, 2879 max : 1000 2880 }, 2881 padding: 3, 2882 textAlign: 'left', 2883 tip: true, // Give it a speech bubble tip with automatic corner detection 2884 name: 'blue' // Style it according to the preset 'cream' style 2885 } 2886 }); 2887 2888 } 2889 } 2890 2891 function send_message_return(data, ID){ 2892 2893 if (typeof(data) == 'object' && data.load){ 2894 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 2895 } 2896 watch_changes_in_msg(ID); 2897 2898 var content = $("#content_id_"+ID); 2899 var sign = false; 2900 var crypt = false; 2901 var reComplexEmail = /<([^<]*)>[\s]*$/; 2902 if ((preferences.use_assinar_criptografar != '0') && (preferences.use_signature_digital_cripto != '0')){ 2903 var checkSign = document.getElementById('return_digital_'+ID) 2904 if (checkSign.checked){ 2905 sign = true; 2906 } 2907 2908 var checkCript = document.getElementById('return_cripto_'+ID); 2909 if (checkCript.checked){ 2910 crypt = true; 2911 } 2912 } 2913 2914 if (typeof(data) == 'object' && !data.success) 2915 { 2916 connector = new cConnector(); 2917 2918 if (sign || crypt){ 2919 var operation = ''; 2920 if (sign){ 2921 operation = 'sign'; 2922 } 2923 else { // crypt 2924 //TODO: Colocar mensagem de erro, e finalizar o método. 2925 operation = 'nop'; 2926 } 2927 } 2928 2929 if (data.body){ 2930 Element('cert_applet').doButtonClickAction(operation, ID, data.body); 2931 } 2932 else { 2933 alert(data.error); 2934 } 2935 2936 return; 2937 } 2938 if(data && data.success == true ){ 2939 // if send ok, set a flag as answered or forwarded 2940 var msg_number_replied = content.find('[name="msg_reply_from"]'); 2941 var msg_number_forwarded = content.find('[name="msg_forward_from"]'); 2942 2943 if (msg_number_replied.val()){ 2944 proxy_mensagens.proxy_set_message_flag(msg_number_replied.val(), 'answered'); 2945 } 2946 else if (msg_number_forwarded.val()){ 2947 proxy_mensagens.proxy_set_message_flag(msg_number_forwarded.val(), 'forwarded'); 2948 } 2949 if(expresso_offline){ 2950 write_msg(get_lang('Your message was sent to queue')); 2951 delete_border(ID,'true'); 2952 return; 2953 }else{ 2954 if (wfolders.alert) { 2955 write_msg(get_lang('Your message was sent and save.')); 2956 wfolders.alert = false; 2957 } 2958 else { 2959 write_msg(get_lang('Your message was sent.')); 2960 } 2961 } 2962 2963 //REFAZER ISTO COM UMA CHAMADA ASSINCRONA PARA REGISTRAR E ATUALIZAR A LISTA DOS NOVOS CONTATOS DINAMICOS 2964 // If new dynamic contacts were added, update the autocomplete .... 2965 /*if(data.new_contacts){ 2966 var ar_contacts = data.new_contacts.split(',;'); 2967 for(var j in ar_contacts){ 2968 // If the dynamic contact don't exist, update the autocomplete.... 2969 if((contacts+",").indexOf(";"+ar_contacts[j]+",") == -1) 2970 contacts += ",;" + ar_contacts[j]; 2971 } 2972 } 2973 var dynamicPersonalContacts = new Array(); 2974 var dynamicPersonalGroups = new Array(); 2975 var dynamicContacts = new Array(); 2976 var dynamicContactList = new Array(); 2977 2978 */ 2979 delete_border(ID,'true'); 2980 var arrayTo = content.find(".to-tr").find(".box").clone(); 2981 save_dynamic_contacts(arrayTo); 2982 var arrayCC = content.find(".cc-tr").find(".box").clone(); 2983 save_dynamic_contacts(arrayCC); 2984 var arrayCCo = content.find(".cco-tr").find(".box").clone(); 2985 save_dynamic_contacts(arrayCCo); 2986 if(parseInt(preferences.use_dynamic_contacts)) 2987 updateDynamicContact(); 2988 cache = new Array(); 2989 } 2990 else{ 2991 if(data == 'Post-Content-Length') 2992 write_msg(get_lang('The size of this message has exceeded the limit (%1B).',Element('upload_max_filesize').value)); 2993 else if(data){ 2994 var error_mail = $.trim(data.split(":")[data.split(":").length-1]); 2995 var array = content.find(".to-tr").find(".box"); 2996 //$(value).find("input").val() 2997 $.each(array, function(index, value){ 2998 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 2999 $(value).addClass("invalid-email-box"); 3000 }); 3001 if ( content.find('[name="input_cco"]').length){ 3002 if(content.find(".cco-tr").css("display") != "none"){ 3003 var array = content.find(".cco-tr").find(".box"); 3004 $.each(array, function(index, value){ 3005 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 3006 $(value).addClass("invalid-email-box"); 3007 }); 3008 } 3009 } 3010 if(content.find(".cc-tr").css("display") != "none") 3011 { 3012 var array = content.find(".cc-tr").find(".box"); 3013 $.each(array, function(index, value){ 3014 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 3015 $(value).addClass("invalid-email-box"); 3016 }); 3017 } 3018 write_msg(data); 3019 }else 3020 write_msg(get_lang("Connection failed with %1 Server. Try later.", "Web")); 3021 3022 var save_link = $("#content_id_"+ID).find(".save")[0]; 3023 save_link.onclick = function onclick(event) {openTab.toPreserve[ID] = true;save_msg(ID);} ; 3024 $("#save_message_options_"+ID).button({disabled: false}); 3025 //save_link.className = 'message_options'; 3026 } 3027 if(!expresso_offline) 3028 connector.hideProgressBar(); 3029 } 3030 3031 /*Função que grava o destinatário nos contatos dinâmicos*/ 3032 function save_dynamic_contacts(array){ 3033 if(parseInt(preferences.use_dynamic_contacts)){ 3034 3035 $.each(array, function(i, value){ 3036 var stop = false; 3037 $.each(dynamicPersonalContacts, function(x, valuex){ 3038 if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 3039 stop = true; 3040 return false; 3041 } 3042 }); 3043 $.each(dynamicPersonalGroups, function(x, valuex){ 3044 if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 3045 stop = true; 3046 return false; 3047 } 3048 }); 3049 if(!stop){ 3050 var exist = 0; 3051 $.each(dynamicData, function(x, valuex){ 3052 if(valuex.mail == $(value).find("input").val().match(reComplexEmail)[1]){ 3053 exist = valuex.id; 3054 return false; 3055 } 3056 }); 3057 if(exist){ 3058 REST.put("/dynamiccontact/"+exist, {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 3059 }else{ 3060 REST.post("/dynamiccontacts", {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 3061 } 3062 } 3063 }); 3064 } 3065 } 3066 3067 /** 3068 * Método chamado pela applet para retornar o resultado da assinatura/decifragem do e-mail. 3069 * para posterior envio ao servidor. 3070 * @author Mário César Kolling <mario.kolling@serpro.gov.br>, Bruno Vieira da Costa <bruno.vieira-costa@serpro.gov.br> 3071 * @param smime O e-mail decifrado/assinado 3072 * @param ID O ID do e-mail, para saber em que aba esse e-mail será mostrado. 3073 * @param operation A operação que foi realizada pela applet (assinatura ou decifragem) 3074 */ 3075 function appletReturn(smime, ID, operation, folder){ 3076 3077 if (!smime){ // Erro aconteceu ao assinar ou decifrar e-mail 3078 connector = new cConnector(); 3079 connector.hideProgressBar(); 3080 return; 3081 } 3082 3083 if(operation=='decript') 3084 { 3085 var handler = function(data){ 3086 3087 if(data.msg_day == '') 3088 { 3089 header=expresso_local_messages.get_msg_date(data.original_ID, proxy_mensagens.is_local_folder(get_current_folder())); 3090 3091 data.fulldate=header.fulldate; 3092 data.smalldate=header.smalldate; 3093 data.msg_day = header.msg_day; 3094 data.msg_hour = header.msg_hour; 3095 3096 } 3097 this.show_msg(data); 3098 } 3099 para="&source="+smime+"&ID="+ID+"&folder="+folder; 3100 cExecute ("$this.imap_functions.show_decript&", handler, para); 3101 }else 3102 { 3103 ID_tmp = ID; 3104 // Lê a variável e chama a nova função cExecuteForm 3105 // Processa e envia para o servidor web 3106 // Faz o request do connector novamente. Talvez implementar no connector 3107 // para manter coerência. 3108 3109 var handler_send_smime = function(data){ 3110 send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 3111 }; 3112 3113 var textArea = document.createElement("TEXTAREA"); 3114 textArea.style.display='none'; 3115 textArea.id = 'smime'; 3116 textArea.name = "smime"; 3117 textArea.value += smime; 3118 3119 // Lê a variável e chama a nova função cExecuteForm 3120 // Processa e envia para o servidor web 3121 // Faz o request do connector novamente. Talvez implementar no connector 3122 // para manter coerência. 3123 if (is_ie){ 3124 var i = 0; 3125 while (document.forms(i).name != "form_message_"+ID){i++} 3126 form = document.forms(i); 3127 } 3128 else 3129 form = document.forms["form_message_"+ID]; 3130 3131 form.appendChild(textArea); 3132 3133 cExecuteForm ("$this.imap_functions.send_mail", form, handler_send_smime, ID); 3134 } 3135 } 3136 3137 /* 3138 * Método que verifica se existe algum item de 'words' em 'body'. 3139 * Se houver, retorna a primeira ocorrência encontrada de words, caso contrário retorna false. 3140 */ 3141 function verifyBodyWords(body, words) { 3142 for(i = 0; i < words.length; i++) { 3143 if(body.search(words[i]) != -1) { 3144 return words[i]; 3145 } 3146 } 3147 return false; 3148 } 3149 3150 3151 function send_message(ID, folder, folder_name){ 3152 var content_body = RichTextEditor.getData('body_'+ID); 3153 /* 3154 Funcionalidade que verifica se o usuário escreveu a palavra anexo no corpo da mensagem e não anexou nenhum arquivo. 3155 Esta funcionalidade é ativada nas preferências do módulo ExpressoMail. 3156 */ 3157 /* 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. */ 3158 if(language == "pt-br") //Português brasileiro 3159 var words = ['anexo', 'anexos', 'anexada', 'anexado', 'anexei', 'anexando', 'anexaste', 'anexastes', 'anexamos', 'anexaram']; 3160 else if(language == "es-es") //Espanhol 3161 var words = ['anexo','adjunto', 'adjuntos', 'adjuntado','adjuntamos']; 3162 else //Inglês ('en') 3163 var words = ['attach', 'attachment', 'attached', 'annex', 'appending']; 3164 3165 if($('#fileupload_msg'+ID).find('.att-box').length == 0 && preferences.alert_message_attachment == '1' ) { 3166 var bodyWord = verifyBodyWords(content_body, words); 3167 if(bodyWord) { 3168 $.Zebra_Dialog(get_lang('You wrote "%1" in your message, but there are no files attached. Send it anyway?', bodyWord), { 3169 'type': 'question', 3170 'overlay_opacity': '0.5', 3171 'buttons': ['OK', 'Cancelar'], 3172 'width' : 500, 3173 'onClose': function(clicked) { 3174 if(clicked == 'OK' ){ 3175 send_valided_message(ID, folder, folder_name); 3176 return; 3177 } else { 3178 return; 3179 } 3180 } 3181 }); 3182 } 3183 else 3184 send_valided_message(ID, folder, folder_name); 3185 } 3186 else if(!zebraDiscardEventDialog && $('#fileupload_msg'+ID).find('.att-box-loading').length) 3187 { 3188 zebraDiscardEventDialog = true; 3189 window.setTimeout(function() { 3190 $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 3191 'type': 'question', 3192 'overlay_opacity': '0.5', 3193 'buttons': ['Descartar anexos e enviar', 'Continuar editando e esperar anexos'], 3194 'width' : 500, 3195 'onClose': function(clicked) { 3196 if(clicked == 'Descartar anexos e enviar' ){ 3197 $.each($('#fileupload_msg'+ID).find('.att-box'), function(index, value){ 3198 if($(value).find(".att-box-loading").length) 3199 $(value).find('.att-box-delete').trigger("click"); 3200 }); 3201 send_valided_message(ID, folder, folder_name); 3202 } 3203 window.setTimeout(function() { 3204 zebraDiscardEventDialog = false; 3205 }, 500); 3206 } 3207 }) 3208 }, 300); 3209 }else { 3210 send_valided_message(ID, folder, folder_name); 3211 } 3212 } 3213 3214 function send_valided_message(ID, folder, folder_name) 3215 { 3216 if (preferences.auto_save_draft == 1) 3217 autoSaveControl.status[ID] = true; 3218 3219 var content = $("#content_id_"+ID); 3220 var save_link = $("#content_id_"+ID).find(".save"); 3221 var onClick = save_link.onclick; 3222 save_link.onclick = ''; 3223 save_link.button({disabled: true}); 3224 3225 var _subject = trim(content.find(".subject").val()); 3226 if((_subject.length == 0) && !confirm(get_lang("Send this message without a subject?"))) { 3227 save_link.click(onClick); 3228 content.find(".subject").focus(); 3229 return; 3230 } 3231 3232 var stringReply = ""; 3233 draw_email_box(content.find(".reply-to-tr").find("textarea:first").val(), content.find(".reply-to-tr").find("textarea:first")); 3234 content.find(".reply-to-tr").find("textarea:first").val(""); 3235 var array = content.find(".reply-to-tr").find(".box"); 3236 $.each(array, function(index, value){ 3237 stringReply += $(value).find("input").val() + ","; 3238 }); 3239 var stringToEmail = ""; 3240 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")); 3241 content.find(".to-tr").find("textarea:first").val(""); 3242 content.find(".to-tr").find("input:visible").val(""); 3243 var array = content.find(".to-tr").find(".box"); 3244 $.each(array, function(index, value){ 3245 stringToEmail += $(value).find("input").val() + ","; 3246 }); 3247 var stringEmail = ""; 3248 stringEmail = stringToEmail; 3249 var stringCCoEmail = ""; 3250 if ( content.find('[name="input_cco"]').length){ 3251 if(content.find(".cco-tr").css("display") != "none"){ 3252 draw_email_box(content.find(".cco-tr").find("textarea:first").val() || content.find(".cco-tr").find("input:visible").val(), content.find(".cco-tr").find("textarea:first")); 3253 content.find(".cco-tr").find("textarea:first").val(""); 3254 content.find(".cco-tr").find("input:visible").val(""); 3255 var array = content.find(".cco-tr").find(".box"); 3256 $.each(array, function(index, value){ 3257 stringCCoEmail += $(value).find("input").val() + ","; 3258 }); 3259 } 3260 } 3261 stringEmail += stringCCoEmail; 3262 var stringCCEmail = ""; 3263 if(content.find(".cc-tr").css("display") != "none") 3264 { 3265 draw_email_box(content.find(".cc-tr").find("textarea:first").val() || content.find(".cc-tr").find("input:visible").val(), content.find(".cc-tr").find("textarea:first")); 3266 content.find(".cc-tr").find("textarea:first").val(""); 3267 content.find(".cc-tr").find("input:visible").val(""); 3268 var array = content.find(".cc-tr").find(".box"); 3269 $.each(array, function(index, value){ 3270 stringCCEmail += $(value).find("input").val() + ","; 3271 }); 3272 } 3273 stringEmail += stringCCEmail; 3274 3275 var mailData = new Object(); 3276 mailData.body = Base64.encode(RichTextEditor.getData('body_'+ID)); 3277 mailData.folder = folder; 3278 mailData.type = RichTextEditor.plain[ID] ? 'plain' : 'html'; 3279 mailData.uids_save = uidsSave[ID].toString(); 3280 mailData.save_folder = (openTab.imapBox[ID] && openTab.type[ID] < 6) ? openTab.imapBox[ID]: "INBOX" + cyrus_delimiter + draftsfolder; 3281 mailData.attachments = listAttachment(ID); 3282 mailData.messageNum = currentTab; 3283 mailData.input_subject = trim(content.find(".subject").val()); 3284 mailData.input_reply_to = stringReply; 3285 mailData.input_to = stringToEmail; 3286 mailData.input_cco = stringCCoEmail; 3287 mailData.input_cc = stringCCEmail; 3288 mailData.input_cc = stringCCEmail; 3289 mailData.abaID = $(content).find('[name="abaID"]').val(); 3290 mailData.input_important_message = $(content).find('input:checkbox:checked[name="input_important_message"]').val(); 3291 mailData.input_return_receipt = $(content).find('input:checkbox:checked[name="input_return_receipt"]').val(); 3292 mailData.msg_forward_from = $(content).find('[name="msg_forward_from"]').val(); 3293 mailData.msg_reply_from = $(content).find('[name="msg_reply_from"]').val(); 3294 3295 if ($(content).find('select[name="input_from"]').val()) 3296 mailData.input_from = $(content).find('select[name="input_from"]').val(); 3297 3298 3299 if(stringEmail != ""){ 3300 $.ajax({ 3301 url: "controller.php?action=$this.imap_functions.send_mail", 3302 data: mailData, 3303 type: 'POST', 3304 success: function(data){ 3305 send_message_return(connector.unserialize(data),ID); 3306 }, 3307 error: function(){ 3308 write_msg("Erro ao tentar enviar a mensagem. Nova tentativa em alguns segundos..."); 3309 var interval = setInterval(function(){ 3310 send_valided_message(ID,folder,folder_name); 3311 clearInterval(interval); 3312 },15000); 3313 return; 3314 } 3315 }); 3316 }else{ 3317 write_msg(get_lang("message without receiver")); 3318 return; 3319 } 3320 3321 3322 } 3323 3324 function is_valid_email(campo){ 3325 var invalidEmail = searchEmail(campo); 3326 var semicolon = campo.split(";"); 3327 3328 if((campo.replace(/^\s+|\s+$/g,"")) != ""){ 3329 if(invalidEmail[0] == true){ 3330 write_msg("Erro de SMTP: Os endereços de destinatário a seguir falharam: "+ invalidEmail[1]); 3331 return false; 3332 }else{ 3333 if(semicolon.length > 1){ 3334 var stringError = "Erro de SMTP: Os endereços devem ser separados apenas por vígula: "; 3335 for(var i= 0; i < semicolon.length; i++){ 3336 stringError = stringError + semicolon[i]; 3337 if(i+1 < semicolon.length) 3338 stringError = stringError + " ; "; 3339 } 3340 write_msg(stringError); 3341 return false; 3342 }else { 3343 return true; 3344 } 3345 } 3346 } 3347 else{ 3348 write_msg(get_lang("Message without receiver")); 3349 return false; 3350 } 3351 } 3352 function change_tr_properties(tr_element, newUid, newSubject){ 3353 message_id=tr_element.id; 3354 var td_from = document.getElementById('td_from_'+message_id); 3355 if (typeof(newSubject) != 'undefined') 3356 td_from.nextSibling.innerHTML = newSubject; 3357 tr_element.id = newUid; 3358 3359 var openNewMessage = function () { 3360 $.ajax({ 3361 url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 3362 msg_number: newUid, 3363 msg_folder: current_folder, 3364 decoded: true } ), 3365 success: function( data ){ 3366 data = connector.unserialize( data ); 3367 3368 if( data ) 3369 show_msg( data ); 3370 }, 3371 beforeSend: function( jqXHR, settings ){ 3372 connector.showProgressBar(); 3373 }, 3374 complete: function( jqXHR, settings ){ 3375 connector.hideProgressBar(); 3376 } 3377 3378 }); 3379 }; 3380 for (var i=2; i < 10; i++){ 3381 if (typeof(tr_element.childNodes[i].id) != "undefined") 3382 tr_element.childNodes[i].id = tr_element.childNodes[i].id.replace(message_id,newUid); 3383 tr_element.childNodes[i].onclick = openNewMessage; 3384 } 3385 } 3386 3387 3388 function autoSave( ID ) 3389 { 3390 var content = $("#content_id_"+border_id); 3391 content.find(".save").button('option','disabled',true); 3392 3393 saveButtonDisabled = $("#content_id_"+ID).find(".save").button('option','disabled'); 3394 if(autoSaveControl.status[ID] === false && !saveButtonDisabled) 3395 save_msg(ID); 3396 refresh(); 3397 } 3398 3399 function save_msg(border_id){ 3400 3401 //seta o status do auto_save = true 3402 if (preferences.auto_save_draft == 1) 3403 autoSaveControl.status[border_id] = true; 3404 /////////////////////////////////////////// 3405 var content = $("#content_id_"+border_id); 3406 content.find(".save").button('option','disabled',true); 3407 3408 var array = content.find(".reply-to-tr").find(".box"); 3409 var stringReplyToEmail = ""; 3410 $.each(array, function(index, value){ 3411 stringReplyToEmail += $(value).find("input").val() + ","; 3412 }); 3413 content.find('[name="input_reply_to"]').val(stringReplyToEmail); 3414 3415 var stringEmail = ""; 3416 var array = content.find(".to-tr").find(".box"); 3417 $.each(array, function(index, value){ 3418 stringEmail += $(value).find("input").val() + ","; 3419 }); 3420 content.find('[name="input_to"]').val(stringEmail); 3421 stringEmail = ""; 3422 if ( content.find('[name="input_cco"]').length){ 3423 if(content.find(".cco-tr").css("display") != "none"){ 3424 var array = content.find(".cco-tr").find(".box"); 3425 $.each(array, function(index, value){ 3426 stringEmail += $(value).find("input").val() + ","; 3427 }); 3428 content.find('[name="input_cco"]').val(stringEmail); 3429 } 3430 } 3431 3432 stringEmail = ""; 3433 if(content.find(".cc-tr").css("display") != "none") 3434 { 3435 var array = content.find(".cc-tr").find(".box"); 3436 $.each(array, function(index, value){ 3437 stringEmail += $(value).find("input").val() + ","; 3438 }); 3439 content.find('[name="input_cc"]').val(stringEmail); 3440 } 3441 3442 var idJavascript = saveBorderError[border_id]; 3443 3444 if(saveBorderError[border_id] !== false) 3445 DataLayer.put('message',DataLayer.merge(DataLayer.form("#form_message_"+border_id), {id: idJavascript })); 3446 else 3447 idJavascript = DataLayer.put('message',DataLayer.form("#form_message_"+border_id)); 3448 3449 uidsSave[border_id] = []; 3450 DataLayer.commit(false,false,function(data){ 3451 if(data != null && data['message://'+idJavascript] !== undefined && data['message://'+idJavascript].id !== undefined ) 3452 { 3453 uidsSave[border_id].push(data['message://'+idJavascript].id); 3454 saveBorderError[border_id] = false; 3455 write_msg('Mensagem salva com sucesso!'); 3456 } 3457 else 3458 { 3459 saveBorderError[border_id] = idJavascript; 3460 write_msg('Erro ao salvar sua mensagem! Nova tentativa em alguns segundos.'); 3461 } 3462 }); 3463 3464 } 3465 3466 function set_messages_flag_search_local(flag){ 3467 // var msgs_flag = this.get_selected_messages_search(); 3468 // if(local_messages.prototype.set_messages_flag(msgs_flag, flag, true)){ 3469 // var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 3470 // var msgs = msgs_flag.split(','); 3471 // for(var i = 0; i < msgs.length; i++){ 3472 // Element("search_local_msg"+id_border+"_check_box_message_"+msgs[i]).checked = false; 3473 // } 3474 // draw_tree_folders(); 3475 // Element('chk_box_select_all_messages_search_local').checked = false; 3476 // refresh(); 3477 // write_msg(get_lang('The messages were marked with success!')); 3478 // }else{ 3479 // write_msg(get_lang('Error marking messages.')); 3480 // } 3481 } 3482 3483 function set_messages_flag_search(flag){ 3484 3485 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 3486 var msgs_flag = this.get_selected_messages_search(); 3487 if (!msgs_flag){ 3488 write_msg(get_lang('No selected message.')); 3489 return; 3490 } 3491 var selected_param = ""; 3492 msgs_to_flag = msgs_flag.split(","); 3493 search = true; 3494 for (i = 0; i < msgs_to_flag.length; i++){ 3495 var tr = Element(msgs_to_flag[i]+'_s'+id_border); 3496 var msg_to_flag = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 3497 selected_param += ','+msg_to_flag+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 3498 } 3499 3500 var handler_set_messages_flag = function(data){ 3501 var errors = false; 3502 var notErrors = false; 3503 for (var i = 0; i < data.length; i++){ 3504 var notArray = true; 3505 if(data[i].msgs_to_set != ''){ 3506 var msgs = []; 3507 if(data[i].msgs_to_set.indexOf(',') > 0){ 3508 msgs = data[i].msgs_to_set.split(',') 3509 notArray = false; 3510 }else 3511 msgs[0] = data[i].msgs_to_set; 3512 3513 for (var j = 0; j < msgs.length; j++){ 3514 switch(data[i].flag){ 3515 case "unseen": 3516 set_msg_as_unread(msgs[j]+'_s'+id_border, true); 3517 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3518 break; 3519 case "seen": 3520 set_msg_as_read(msgs[j]+'_s'+id_border, true); 3521 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3522 break; 3523 case "flagged": 3524 set_msg_as_flagged(msgs[j]+'_s'+id_border, true); 3525 document.getElementById("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3526 break; 3527 case "unflagged": 3528 set_msg_as_unflagged(msgs[j]+'_s'+id_border, true); 3529 Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked = false; 3530 break; 3531 } 3532 notErrors = true; 3533 } 3534 }else{ 3535 errors = true; 3536 } 3537 } 3538 3539 draw_tree_folders(); 3540 Element('chk_box_select_all_messages_search').checked = false; 3541 refresh(); 3542 3543 if(errors && notErrors) 3544 write_msg(get_lang('Some messages were not marked with success!')); 3545 else if(notErrors) 3546 write_msg(get_lang('The messages were marked with success!')); 3547 else 3548 write_msg(get_lang('Error marking messages.')); 3549 } 3550 cExecute ("$this.imap_functions.set_messages_flag_from_search&msg_to_flag="+selected_param+"&flag="+flag, handler_set_messages_flag); 3551 } 3552 3553 // Get checked messages 3554 function set_messages_flag(flag, msgs_to_set){ 3555 if(currentTab != 0 && currentTab.indexOf("search_local") >= 0){ 3556 return set_messages_flag_search_local(flag); 3557 } 3558 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 3559 return set_messages_flag_search(flag); 3560 } 3561 3562 var handler_set_messages_flag = function (data){ 3563 if(!verify_session(data)) 3564 return; 3565 var msgs_to_set = data.msgs_to_set.split(","); 3566 3567 3568 if(data.disposition_notification_to){ 3569 $.Zebra_Dialog(data.disposition_notification_to.length == 1 ? get_lang('One of his messages can not be marked as read, because it contains a read confirmation.') : data.disposition_notification_to.length + get_lang(' of its messages could not be marked as read, because it contains a read confirmation.'), { 3570 'type': 'warning', 3571 'overlay_opacity': '0.5', 3572 'buttons': ['Fechar'] 3573 }); 3574 } 3575 3576 if(!data.status) { 3577 write_msg(data.msg); 3578 Element('chk_box_select_all_messages').checked = false; 3579 for (var i = 0; i < msgs_to_set.length; i++) { 3580 Element("check_box_message_" + msgs_to_set[i]).checked = false; 3581 remove_className(Element(msgs_to_set[i]), 'selected_msg'); 3582 } 3583 if(!data.msgs_unflageds) 3584 return; 3585 3586 else 3587 if(data.msgs_not_to_set != "") 3588 write_msg(get_lang("Error processing some messages.")); 3589 3590 msgs_to_set = data.msgs_unflageds.split(","); 3591 } 3592 3593 for (var i=0; i<msgs_to_set.length; i++){ 3594 if (preferences.use_cache == 'True') 3595 { 3596 if (current_folder == '') 3597 current_folder = 'INBOX'; 3598 var setFlag = function(msgObj) { 3599 switch(data.flag){ 3600 case "unseen": 3601 msgObj.Unseen = "U"; 3602 break; 3603 case "seen": 3604 msgObj.Unseen = ""; 3605 break; 3606 case "flagged": 3607 msgObj.Flagged = "F"; 3608 break; 3609 case "unflagged": 3610 msgObj.Flagged = ""; 3611 break; 3612 } 3613 } 3614 } 3615 if(Element("check_box_message_" + msgs_to_set[i])){ 3616 switch(data.flag){ 3617 case "unseen": 3618 set_msg_as_unread(msgs_to_set[i]); 3619 if(results_search_messages != "") 3620 set_msg_as_unread(results_search_messages, true); 3621 Element("check_box_message_" + msgs_to_set[i]).checked = false; 3622 break; 3623 case "seen": 3624 set_msg_as_read(msgs_to_set[i], false); 3625 if(results_search_messages != "") 3626 set_msg_as_read(results_search_messages, false, true); 3627 Element("check_box_message_" + msgs_to_set[i]).checked = false; 3628 3629 // remove a flag $FilteredMessage da mensagem ao ser marcada como lida 3630 $.each(fromRules, function(index, value) { 3631 if(value == folder){ 3632 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){}); 3633 return false; 3634 } 3635 }); 3636 3637 break; 3638 case "flagged": 3639 set_msg_as_flagged(msgs_to_set[i]); 3640 if(results_search_messages != "") 3641 set_msg_as_flagged(results_search_messages, true); 3642 document.getElementById("check_box_message_" + msgs_to_set[i]).checked = false; 3643 break; 3644 case "unflagged": 3645 set_msg_as_unflagged(msgs_to_set[i]); 3646 if(results_search_messages != "") 3647 set_msg_as_unflagged(results_search_messages, true); 3648 Element("check_box_message_" + msgs_to_set[i]).checked = false; 3649 break; 3650 } 3651 } 3652 } 3653 Element('chk_box_select_all_messages').checked = false; 3654 } 3655 3656 var folder = get_current_folder(); 3657 if (msgs_to_set == 'get_selected_messages') 3658 var msgs_to_set = this.get_selected_messages(); 3659 else 3660 folder = Element("input_folder_"+msgs_to_set+"_r").value; 3661 3662 if (msgs_to_set) 3663 $.ajax({ 3664 url: 'controller.php?' + $.param( {action: '$this.imap_functions.set_messages_flag', 3665 folder: folder, 3666 msgs_to_set: msgs_to_set, 3667 flag: flag, 3668 decoded: true } ), 3669 success: function( data ){ 3670 data = connector.unserialize( data ); 3671 3672 selectAllFolderMsgs(); 3673 $('.select-link').unbind('click'); 3674 3675 if( data ) 3676 handler_set_messages_flag( data ); 3677 }, 3678 beforeSend: function( jqXHR, settings ){ 3679 connector.showProgressBar(); 3680 }, 3681 complete: function( jqXHR, settings ){ 3682 connector.hideProgressBar(); 3683 } 3684 3685 }); 3686 else 3687 write_msg(get_lang('No selected message.')); 3688 } 3689 3690 // By message number 3691 function set_message_flag(msg_number, flag, func_after_flag_change){ 3692 var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 3693 if(!msg_number_folder) 3694 var msg_number_folder = Element("input_folder_"+msg_number+"_r"); //Mensagens abertas 3695 3696 var handler_set_messages_flag = function (data){ 3697 if(!verify_session(data)) 3698 return; 3699 if(!data.status) { 3700 write_msg(get_lang("this message cant be marked as normal")); 3701 return; 3702 } 3703 else if(func_after_flag_change) { 3704 func_after_flag_change(true); 3705 } 3706 if (data.status && Element("td_message_answered_"+msg_number)) { 3707 3708 switch(flag){ 3709 case "unseen": 3710 set_msg_as_unread(msg_number); 3711 break; 3712 case "seen": 3713 set_msg_as_read(msg_number); 3714 break; 3715 case "flagged": 3716 set_msg_as_flagged(msg_number); 3717 break; 3718 case "unflagged": 3719 set_msg_as_unflagged(msg_number); 3720 break; 3721 case "answered": 3722 Element("td_message_answered_"+msg_number).innerHTML = '<img src=templates/'+template+'/images/answered.png title=Respondida>'; 3723 break; 3724 case "forwarded": 3725 Element("td_message_answered_"+msg_number).innerHTML = '<img src=templates/'+template+'/images/forwarded.png title=Encaminhada>'; 3726 break; 3727 } 3728 } else { 3729 refresh(); 3730 } 3731 } 3732 $.ajax({ 3733 url: 'controller.php?' + $.param( {action: '$this.imap_functions.set_messages_flag', 3734 folder: ( msg_number_folder ? msg_number_folder.value : get_current_folder() ), 3735 msgs_to_set: msg_number, 3736 flag: flag, 3737 decoded: true } ), 3738 success: function( data ){ 3739 data = connector.unserialize( data ); 3740 3741 if( data ) 3742 handler_set_messages_flag( data ); 3743 }, 3744 beforeSend: function( jqXHR, settings ){ 3745 connector.showProgressBar(); 3746 }, 3747 complete: function( jqXHR, settings ){ 3748 connector.hideProgressBar(); 3749 } 3750 3751 }); 3752 } 3753 3754 function print_search_msg(){ 3755 var folder = "<h2> Resultado da Pesquisa <font color=\"#505050\" face=\"Verdana\" size=\"1\"></h2>"; 3756 msgs_number = get_selected_messages_search(); 3757 var tbody = Element('divScrollMain_'+numBox).firstChild.firstChild.innerHTML; 3758 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 3759 3760 if(msgs_number){ 3761 msgs_number = msgs_number.split(","); 3762 var tbody = ""; 3763 for(var i = 0; i < msgs_number.length; i++){ 3764 tbody += "<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+ Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>"; 3765 } 3766 }else{ 3767 msgs_number = get_all_messages_search(); 3768 msgs_number = msgs_number.split(","); 3769 var tbody = ""; 3770 for(var i = 0; i < msgs_number.length; i++){ 3771 tbody += "<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+ Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>"; 3772 } 3773 } 3774 3775 var print_width = screen.width - 200; 3776 var x = ((screen.width - print_width) / 2); 3777 var y = ((screen.height - 400) / 2) - 35; 3778 var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); 3779 seekDot = (is_ie ? /width=24/gi : /width="24"/gi); 3780 3781 var thead = "<tr class=\"message_header\"> <td width=\"3%\"></td><td width=\"2%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"2%\"></td><td id=\"message_header_FOLDER_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">Pasta</td><td id=\"message_header_SORTFROM_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">De</td><td id=\"message_header_SORTSUBJECT_0\" class=\"th_resizable\" align=\"left\" width=\"*\">Assunto</td><td id=\"message_header_SORTARRIVAL_0\" class=\"th_resizable\" align=\"center\" width=\"11%\"><b>Data</b><img src=\"templates/default/images/arrow_descendant.gif\"></td><td id=\"message_header_SORTSIZE_0\" class=\"th_resizable\" align=\"left\" width=\"11%\">Tamanho</td></tr>"; 3782 tbody = tbody.replace(seekDot, "style='display:none'"); 3783 seekDot = (is_ie ? /width=16/gi : /width="16"/gi); 3784 3785 tbody = tbody.replace(seekDot, "style='display:none'"); 3786 seekDot = (is_ie ? /width=12/gi : /width="12"/gi); 3787 3788 tbody = tbody.replace(seekDot, "style='display:none'"); 3789 while (1){ 3790 try{ 3791 window_print.document.open(); 3792 var html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 3793 + '<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>' 3794 + cabecalho + '</h4><hr>' 3795 + '<h2>'+folder+'</h2><hr/><blockquote><font size="2">' 3796 + '<table width="100%" cellpadding="0" cellspacing="0">' 3797 + '<thead>' + thead + '</thead><tbody>' + tbody + '</tbody>' 3798 + '</table></font></blockquote></body></html>'; 3799 window_print.document.write(html); 3800 window_print.document.close(); 3801 break; 3802 } 3803 catch(e){ 3804 //alert(e.message); 3805 } 3806 } 3807 window_print.document.close(); 3808 window_print.print(); 3809 } 3810 3811 3812 /*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÚDO*/ 3813 function print_messages_bodies(){ 3814 var messages = {}; 3815 messages[get_current_folder()] = get_selected_messages().split(','); 3816 3817 var print_bodies = function (data){ 3818 var print_width = screen.width - 200; 3819 var x = ((screen.width - print_width) / 2); 3820 var y = ((screen.height - 400) / 2) - 35; 3821 var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); 3822 if(window_print == null) { 3823 alert(get_lang("The Anti Pop-Up is enabled. Allow this site (%1) for print.",document.location.hostname)); 3824 return; 3825 } 3826 var header = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 3827 + '<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>'; 3828 window_print.document.write(header); 3829 var printData ='<body style="overflow:auto">' + cabecalho + '</h4><hr>'; 3830 window_print.document.write(printData); 3831 var newRow = function(label,data){ 3832 return "<tr><td width=7%><font size='2'><b>"+label+" </b></font></td><td><font size='2'>"+data+"</font></td></tr>"; 3833 } 3834 /*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/ 3835 $.each(data,function(index,message){ 3836 var html = "<table><tbody>"; 3837 if(message.sender) 3838 for(var i=0; i<message.sender.length; i++){ 3839 html += newRow(get_lang('Sent by')+":",message.sender[i]); 3840 } 3841 if(message.from) 3842 for(var i=0; i<message.from.length; i++){ 3843 html += newRow(get_lang('From')+":",message.from[i]); 3844 } 3845 if(message.toaddress2) { 3846 html += newRow(get_lang('To')+":",message.toaddress2); 3847 } 3848 if (message.cc) { 3849 html += newRow(get_lang('Cc')+":",message.cc); 3850 } 3851 if (message.bcc) { 3852 html += newRow(get_lang('Cco')+":",message.bcc); 3853 } 3854 if(message.smalldate) 3855 html += newRow(get_lang('Date')+":",message.smalldate); 3856 /*DATA NAS MESAGENS LOCAIS*/ 3857 else if(message.udate){ 3858 var norm = function (arg) {return (arg < 10 ? '0'+arg : arg);}; 3859 var weekDays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; 3860 var today = new Date(); 3861 today.setHours(23); 3862 today.setMinutes(59); 3863 today.setSeconds(59); 3864 today.setMilliseconds(999); 3865 udate_local = message.udate*1000 + today.getTimezoneOffset()*60*1000; 3866 date_msg = new Date(udate_local); 3867 if (preferences.show_date_numerical == 0 || typeof(preferences.show_date_numerical) == 'undefined') { 3868 if (today.getTime() - date_msg.getTime() < 86400000) 3869 html += newRow(get_lang('Date')+":",norm(date_msg.getHours()) + ':' + norm(date_msg.getMinutes())); 3870 else 3871 if (today.getTime() - date_msg.getTime() < 172800000) 3872 newRow(get_lang('Date')+":",get_lang('Yesterday')); 3873 else if (today.getTime() - date_msg.getTime() < 259200000) 3874 html += newRow(get_lang('Date')+":",get_lang(weekDays[date_msg.getDay()])); 3875 else 3876 html += newRow(get_lang('Date')+":",norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear()); 3877 }else 3878 html += newRow(get_lang('Date')+":",norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear()); 3879 } 3880 html += newRow(get_lang('Subject')+":",message.subject); 3881 /*LISTA DE ANEXOS*/ 3882 if (message.attachments && message.attachments.length) { 3883 var img = '<img style="margin-bottom : -5px; cursor : pointer;" src="templates/'+template+'/images/new.png">'; 3884 var atts = ""; 3885 $.each(message.attachments,function(index,attach){ 3886 atts += " | " + attach.name + "("+ formatBytes(attach.fsize) +") " + img + " | "; 3887 }); 3888 html += newRow(get_lang('Attachments: '),atts); 3889 } 3890 /*ANEXOS LOCAIS*/ 3891 else if (message.attachment && message.attachment.number_attachments > 0) { 3892 var img = '<img style="margin-bottom : -5px; cursor : pointer;" src="templates/'+template+'/images/new.png">'; 3893 var atts = ""; 3894 $.each(message.attachment.names.split(','),function(index,attach){ 3895 atts += " | " + attach + img + " |"; 3896 }); 3897 html += newRow(get_lang('Attachments: '),atts); 3898 } 3899 html += '</tbody></table>'; 3900 if (message.body){ 3901 html += "<hr>" + message.body; 3902 } 3903 else if (message._return){ 3904 html += "<hr>" + message._return; 3905 } 3906 html += "<hr>"; 3907 window_print.document.write(html); 3908 }); 3909 window_print.document.close(); 3910 window_print.print(); 3911 } 3912 /*MENSAGENS LOCAIS*/ 3913 if ( proxy_mensagens.is_local_folder(get_current_folder()) ){ 3914 var msgs = Array(); 3915 var _msg = {}; 3916 $.each(get_selected_messages().split(','),function(index,value){ 3917 _msg.header = expresso_mail_archive.getMessageHeaders(value); 3918 _msg.body = expresso_mail_archive.getMessageBodies([value]); 3919 msgs.push($.extend({},_msg.header,_msg.body[0])); 3920 }); 3921 print_bodies(msgs); 3922 } 3923 else{ 3924 $.ajax({ 3925 url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessages", 3926 details: "all", 3927 messages : messages, 3928 }), 3929 success: function(data){ 3930 data = connector.unserialize(data); 3931 if(data){ 3932 print_bodies(data[get_current_folder()]); 3933 } 3934 }, 3935 beforeSend: function( jqXHR, settings ){ 3936 connector.showProgressBar(); 3937 }, 3938 complete: function( jqXHR, settings ){ 3939 connector.hideProgressBar(); 3940 } 3941 }); 3942 } 3943 } 3944 3945 function newTbody(messages){ 3946 var tbody = $("<tbody>"); 3947 $.each(messages,function(index,msg){ 3948 var newTr = make_tr_message(msg,get_current_folder()); 3949 if (msg.attachments && msg.attachments.length){ 3950 $(newTr).find('td').eq(1).css({'background-image':'url(templates/'+template+'/images/mail-gifs.gif)','background-position': '0 -242px'}); 3951 } 3952 tbody.append(newTr); 3953 }); 3954 return tbody.html(); 3955 } 3956 3957 function print_messages_list(){ 3958 var print_list = function(tbody,folder){ 3959 var print_width = screen.width - 200; 3960 var x = ((screen.width - print_width) / 2); 3961 var y = ((screen.height - 400) / 2) - 35; 3962 var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); 3963 seekDot = (is_ie ? /width=24/gi : /width="24"/gi); 3964 //thead = thead.replace(seekDot, "style='display:none'"); 3965 var thead = "<tr class=\"message_header\"> <td width=\"3%\"></td><td width=\"2%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"2%\"></td><td width=\"2%\"></td><td width=\"2%\"></td><td id=\"message_header_SORTFROM_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">De</td><td id=\"message_header_SORTSUBJECT_0\" class=\"th_resizable\" align=\"left\" width=\"*\">Assunto</td><td id=\"message_header_SORTARRIVAL_0\" class=\"th_resizable\" align=\"center\" width=\"11%\"><b>Data</b><img src=\"templates/default/images/arrow_descendant.gif\"></td><td id=\"message_header_SORTSIZE_0\" class=\"th_resizable\" align=\"left\" width=\"11%\">Tamanho</td></tr>"; 3966 tbody = tbody.replace(seekDot, "style='display:none'"); 3967 seekDot = (is_ie ? /width=16/gi : /width="16"/gi); 3968 //thead = thead.replace(seekDot, "style='display:none'"); 3969 tbody = tbody.replace(seekDot, "style='display:none'"); 3970 seekDot = (is_ie ? /width=12/gi : /width="12"/gi); 3971 //thead = thead.replace(seekDot, "style='display:none'"); 3972 tbody = tbody.replace(seekDot, "style='display:none'"); 3973 while (1){ 3974 try{ 3975 window_print.document.open(); 3976 var html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 3977 + '<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>' 3978 + cabecalho + '</h4><hr>' 3979 + '<h2>'+$('#border_id_0').html()+'</h2><hr/><blockquote><font size="2">' 3980 + '<table width="100%" cellpadding="0" cellspacing="0">' 3981 + '<thead>' + thead + '</thead><tbody>' + tbody + '</tbody>' 3982 + '</table></font></blockquote></body></html>'; 3983 window_print.document.write(html); 3984 window_print.document.close(); 3985 break; 3986 } 3987 catch(e){ 3988 //alert(e.message); 3989 } 3990 } 3991 window_print.document.close(); 3992 window_print.print(); 3993 } 3994 msgs_number = get_selected_messages(); 3995 if(msgs_number == false){ 3996 var tbody = Element('divScrollMain_0').firstChild.firstChild.innerHTML; 3997 print_list(tbody); 3998 }else{ 3999 var messages = {}; 4000 messages[get_current_folder()] = msgs_number.split(','); 4001 /*MENSAGENS LOCAIS*/ 4002 if ( proxy_mensagens.is_local_folder(get_current_folder()) ){ 4003 var msgs = Array(); 4004 $.each(msgs_number.split(','),function(index,value){ 4005 msgs.push(expresso_mail_archive.getMessageHeaders(value)); 4006 }); 4007 print_list(newTbody(msgs)); 4008 } 4009 else{ 4010 $.ajax({ 4011 url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessages", 4012 details : "all", 4013 messages : messages, 4014 }), 4015 success: function(data){ 4016 data = connector.unserialize(data); 4017 if(data){ 4018 data = data[get_current_folder()]; 4019 print_list(newTbody(data)); 4020 } 4021 }, 4022 beforeSend: function( jqXHR, settings ){ 4023 connector.showProgressBar(); 4024 }, 4025 complete: function( jqXHR, settings ){ 4026 connector.hideProgressBar(); 4027 } 4028 }); 4029 } 4030 } 4031 } 4032 4033 function print_all(){ 4034 if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){ 4035 alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 4036 return true; 4037 } 4038 if (openTab.type[currentTab] == 2) 4039 return print_msg(current_folder,currentTab.substr(0,currentTab.indexOf("_r")),currentTab); 4040 4041 if (currentTab != 0 && currentTab.indexOf("search_") >= 0){ 4042 return print_search_msg(); 4043 } 4044 4045 if (get_selected_messages() == false){ 4046 return print_messages_list(); 4047 } 4048 var msg = 'Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.'; 4049 $.Zebra_Dialog(msg, { 4050 'type': 'question', 4051 'buttons': ['Sim','Não'], 4052 'overlay_opacity': '0.5', 4053 'onClose': function(caption) { 4054 if(caption == 'Sim'){ 4055 return print_messages_bodies(); 4056 } 4057 else{ 4058 return print_messages_list(); 4059 } 4060 } 4061 }); 4062 } 4063 4064 function print_msg(msg_folder, msg_number, border_ID){ 4065 var div_toaddress_full = Element("div_toaddress_full_"+border_ID); 4066 var div_ccaddress_full = Element("div_ccaddress_full_"+border_ID); 4067 var div_ccoaddress_full = Element("div_ccoaddress_full_"+border_ID); 4068 var printListTO = (div_toaddress_full && div_toaddress_full.style.display != 'none') || toaddress_array[border_ID].length == 1 ? true : false; 4069 var printListCC = (div_ccaddress_full && div_ccaddress_full.style.display != 'none') || !div_ccaddress_full ? true : false; 4070 var printListCCO = (div_ccoaddress_full && div_ccoaddress_full.style.display != 'none') || !div_ccoaddress_full ? true : false; 4071 var sender = Element('sender_values_'+border_ID) ? Element('sender_values_'+border_ID).value : null; 4072 var from = Element('from_values_'+border_ID) ? Element('from_values_'+border_ID).value : null; 4073 var to = Element('to_values_'+border_ID) ? Element('to_values_'+border_ID).value :null; 4074 var cco = Element('cco_values_'+border_ID) ? Element('cco_values_'+border_ID).value : null; 4075 var cc = Element('cc_values_'+border_ID) ? Element('cc_values_'+border_ID).value : null; 4076 var date = Element('date_'+border_ID); 4077 var subject = Element('subject_'+border_ID); 4078 var attachments = Element('attachments_'+border_ID); 4079 var body = Element('body_'+border_ID); 4080 4081 4082 var att = ''; 4083 4084 var countAtt = 0; 4085 4086 if(attachments !== null) 4087 { 4088 countAtt = attachments.getElementsByTagName('a').length; 4089 if(countAtt === 1) 4090 att = attachments.getElementsByTagName('a')[0].innerHTML; 4091 else if(countAtt > 1) 4092 for (var i = 1; i <attachments.getElementsByTagName('a').length; i++) 4093 att += " | " + attachments.getElementsByTagName('a')[i].innerHTML; 4094 } 4095 4096 var body = Element('body_'+border_ID); 4097 4098 var print_width = screen.width - 200; 4099 var x = ((screen.width - print_width) / 2); 4100 var y = ((screen.height - 400) / 2) - 35; 4101 var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); 4102 if(window_print == null) { 4103 alert(get_lang("The Anti Pop-Up is enabled. Allow this site (%1) for print.",document.location.hostname)); 4104 return; 4105 } 4106 4107 //needed to get the names of the attachments... only. 4108 if(attachments != null) 4109 { 4110 var a = attachments.childNodes; 4111 var attachs = ""; 4112 var show_attachs = ""; 4113 var ii = a.length >2?2:1; 4114 for(i=ii;i<a.length;i++) 4115 { 4116 if(a[i].tagName && a[i].tagName == "A") 4117 { 4118 attachs += a[i].innerHTML; 4119 } 4120 } 4121 show_attachs = "<tr><td width=7%><font size='2'>" + get_lang('Attachments: ')+ " </font></td><td><font size='2'>"+attachs+"</font></td></tr>"; 4122 } else{ 4123 show_attachs = ""; 4124 } 4125 var current_path = window.location.href.substr(0,window.location.href.lastIndexOf("/")); 4126 var head = '<head><title></title><link href="'+current_path+'/templates/default/main.css" type="text/css" rel="stylesheet"></head>'; 4127 window_print.document.write(head); 4128 4129 while (1){ 4130 try{ 4131 var html ='<body style="overflow:auto">'; 4132 html += cabecalho + '</h4><hr>'; 4133 html += '<table><tbody>'; 4134 if(sender) 4135 html += "<tr><td width=7% noWrap><font size='2'>" + get_lang('Sent by') + ": </font></td><td><font size='2'>"+sender+"</font></td></tr>"; 4136 if(from) 4137 html += "<tr><td width=7%><font size='2'>" + get_lang('From') + ": </font></td><td><font size='2'>"+from+"</font></td></tr>"; 4138 if(to) { 4139 if(!printListTO) 4140 to = 'Os destinatários não estão sendo exibidos para esta impressão'; 4141 html += "<tr><td width=7%><font size='2'>" + get_lang('To') + ": </font></td><td><font size='2'>"+to+"</font></td></tr>"; 4142 } 4143 if (cc) { 4144 if(!printListCC) 4145 cc = 'Os destinatários não estão sendo exibidos para esta impressão'; 4146 html += "<tr><td width=7%><font size='2'>" + get_lang('Cc') + ": </font></td><td><font size='2'>"+cc+"</font></td></tr>"; 4147 } 4148 if (cco) { 4149 if(!printListCCO) 4150 cco = 'Os destinatários não estão sendo exibidos para esta impressão'; 4151 html += "<tr><td width=7%><font size='2'>" + get_lang('Cco') + ": </font></td><td><font size='2'>"+cco+"</font></td></tr>"; 4152 } 4153 if(date) 4154 html += "<tr><td width=7%><font size='2'>" + get_lang('Date') + ": </font></td><td><font size='2'>"+date.innerHTML+"</font></td></tr>"; 4155 4156 html += "<tr><td width=7%><font size='2'>" + get_lang('Subject')+ ": </font></td><td><font size='2'>"+subject.innerHTML+"</font></td></tr>"; 4157 //html += show_attachs; //to show the names of the attachments 4158 if (countAtt > 0) { 4159 html += "<tr><td width=7%><font size='2'>" + get_lang('Attachments: ') + "</font></td><td><font size='2'>"+att+"</font></td></tr>"; 4160 } 4161 html += "</tbody></table><hr>"; 4162 window_print.document.write(html + body.innerHTML); 4163 4164 var tab_tags = window_print.document.getElementsByTagName("IMG"); 4165 var link = location.href.replace(/\/expressoMail1_2\/(.*)/, ""); 4166 for(var i = 0; i < tab_tags.length;i++){ 4167 var _img = tab_tags[i].cloneNode(true); 4168 if(tab_tags[i].src.toUpperCase().indexOf('INC/GET_ARCHIVE.PHP?MSGFOLDER=') > -1) 4169 _img.src = link + '/expressoMail1_2/'+tab_tags[i].src.substr(tab_tags[i].src.toUpperCase().indexOf('INC/GET_ARCHIVE.PHP?MSGFOLDER=')); 4170 4171 tab_tags[i].parentNode.replaceChild(_img,tab_tags[i]); 4172 } 4173 4174 break; 4175 } 4176 catch(e){ 4177 //alert(e.message); 4178 } 4179 } 4180 window_print.document.close(); 4181 window_print.print(); 4182 } 4183 4184 function empty_trash_imap(shared, button, type){ 4185 if(shared){ 4186 var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 4187 var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 4188 } 4189 4190 var handler_empty_trash = function(data){ 4191 Element('chk_box_select_all_messages').checked = false; 4192 if(!verify_session(data)) 4193 return; 4194 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Trash"]])).alter({caption: get_lang("Trash")}); 4195 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Trash"]]))._refresh(); 4196 update_quota(get_current_folder()); 4197 draw_new_tree_folder(); 4198 draw_tree_labels(); 4199 if (data){ 4200 if(typeof(data) == "object"){ 4201 if(data[1] == "Permission denied"){ 4202 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4203 return write_msg(get_lang("Permission denied")); 4204 } 4205 } 4206 write_msg(get_lang('Your Trash folder was empty.')); 4207 if (get_current_folder() == mount_url_folder(["INBOX",special_folders["Trash"]])){ 4208 draw_paging(0); 4209 remove_rows(document.getElementById("table_box")); 4210 Element('tot_m').innerHTML = 0; 4211 Element('new_m').innerHTML = 0; 4212 } 4213 } 4214 else 4215 write_msg(get_lang('ERROR emptying your Trash folder.')); 4216 } 4217 4218 $.Zebra_Dialog(get_lang('Do you really want to empty your trash folder?'), { 4219 'type': 'question', 4220 'title': get_lang('Empty Trash'), 4221 'buttons': [get_lang("Yes"), get_lang("No")], 4222 'overlay_opacity' : 0.5, 4223 'onClose': function(caption) { 4224 4225 if(caption == get_lang("Yes")){ 4226 if(type.id == "local_messages_trash"){ 4227 expresso_mail_archive.deleteAllMessages(type.id); 4228 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4229 } else { 4230 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared ? "&shared="+folder : ""), handler_empty_trash); 4231 } 4232 } 4233 } 4234 }); 4235 } 4236 4237 function empty_spam_imap(shared, button, type){ 4238 if(shared){ 4239 var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 4240 var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 4241 } 4242 var handler_empty_spam = function(data){ 4243 Element('chk_box_select_all_messages').checked = false; 4244 if(!verify_session(data)) 4245 return; 4246 if (get_current_folder() == mount_url_folder(["INBOX",special_folders["Spam"]])){ 4247 draw_paging(0); 4248 remove_rows(document.getElementById("table_box")); 4249 } 4250 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]])).alter({caption: get_lang("Spam")}); 4251 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 4252 draw_new_tree_folder(); 4253 draw_tree_labels(); 4254 update_quota(get_current_folder()); 4255 if (data){ 4256 if(typeof(data) == "object"){ 4257 if(data[1] == "Permission denied"){ 4258 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4259 return write_msg(get_lang("Permission denied")); 4260 }else{ 4261 write_msg(get_lang('Your Spam folder was empty.')); 4262 } 4263 }else{ 4264 write_msg(get_lang('Your Spam folder was empty.')); 4265 } 4266 } 4267 else 4268 write_msg(get_lang('ERROR emptying your Spam folder.')); 4269 } 4270 4271 $.Zebra_Dialog(get_lang('Do you really want to empty your spam folder?'), { 4272 'type': 'question', 4273 'title': get_lang('Empty Spam'), 4274 'buttons': [get_lang("Yes"), get_lang("No")], 4275 'overlay_opacity' : 0.5, 4276 'onClose': function(caption) { 4277 if(caption == get_lang("Yes")){ 4278 if(type.id == "local_messages_spam"){ 4279 expresso_mail_archive.deleteAllMessages(type.id); 4280 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4281 } else { 4282 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared ? "&shared="+folder : ""), handler_empty_spam); 4283 } 4284 } 4285 } 4286 }); 4287 } 4288 4289 function buildExportArchiver(msgsArchive, name_box){ 4290 4291 var hand_export = function(data){ 4292 if(!data){ 4293 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 4294 }else if(data["empty_folder"] || data == "empty_folder"){ 4295 write_msg(get_lang("The selected folder is empty.")); 4296 }else 4297 download_attachments(null, null, data, null,null, get_current_folder().split("_")[2] +'.zip'); 4298 } 4299 4300 var array = new Array(); 4301 4302 for(var i =0; i < msgsArchive.length; i++){ 4303 eachMsg = { 4304 'ContentType' : msgsArchive[i].ContentType, 4305 'from' : { 'email' : msgsArchive[i].from.email, 'full' : msgsArchive[i].from.full, 'name' : msgsArchive[i].from.name}, 4306 'msg_sample' : msgsArchive[i].msg_sample, 4307 'subject' : msgsArchive[i].subject, 4308 'to' : { 'email' : msgsArchive[i].to.email, 'full' : msgsArchive[i].to.full, 'name' : msgsArchive[i].to.name}, 4309 'toaddress2' : msgsArchive[i].toaddress2, 4310 'msg_number' : msgsArchive[i].msg_number, 4311 'date' : new Date(msgsArchive[i].timestamp).toString() 4312 }; 4313 array.push(eachMsg); 4314 } 4315 4316 $.ajax({ 4317 type: "POST", 4318 url: "controller.php?action=$this.exporteml.export_all_byLocalFolder", 4319 data: { folder: name_box, type: "msg_local", messages : array} 4320 }).done(function(msg) { 4321 hand_export(msg.split('"')[1]); 4322 }); 4323 } 4324 4325 function export_all_selected_msgs(){ 4326 if(get_current_folder().split("_")[0] == "local"){ 4327 4328 if(get_selected_messages().indexOf(",") != -1){ 4329 expresso_mail_archive.getSomeMsgs(get_selected_messages().split(",")); 4330 } else { 4331 expresso_mail_archive.getSomeMsgs([get_selected_messages()]); 4332 } 4333 4334 buildExportArchiver(expresso_mail_archive.getSomeMsg, get_current_folder().split("_")[2]); 4335 4336 } else { 4337 4338 if (openTab.type[currentTab] > 1){ 4339 source_msg(currentTab,openTab.imapBox[currentTab]); 4340 return; 4341 } 4342 var search = false; 4343 4344 if(currentTab != 0 && currentTab.indexOf("search_") >= 0){ 4345 var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 4346 var msgs_to_export = this.get_selected_messages_search(); 4347 if (!msgs_to_export){ 4348 write_msg(get_lang('No selected message.')); 4349 return; 4350 } 4351 var selected_param = ""; 4352 msgs_to_export = msgs_to_export.split(","); 4353 search = true; 4354 for (i = 0; i < msgs_to_export.length; i++){ 4355 var tr = Element(msgs_to_export[i]+'_s'+id_border); 4356 msg_to_move = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 4357 selected_param += ','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 4358 } 4359 }else{ 4360 var msgs_to_export = this.get_selected_messages(); 4361 } 4362 var handler_export_all_selected_msgs = function(data){ 4363 4364 if(!data){ 4365 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')); 4366 } 4367 else{ 4368 var filename = 'mensagens.zip'; 4369 if (data[0].match(/\.eml$/gi)) { 4370 filename = data[1]+'.eml'; 4371 } 4372 download_attachments(null, null, data[0], null,null,filename); 4373 } 4374 } 4375 4376 if(search){ 4377 cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder=false&msgs_to_export="+selected_param); 4378 }else if (msgs_to_export) { 4379 cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder="+get_current_folder()+"&msgs_to_export="+msgs_to_export); 4380 write_msg(get_lang('You must wait while the messages will be exported...')); 4381 } 4382 else 4383 write_msg(get_lang('No selected message.')); 4384 } 4385 } 4386 4387 function select_all_search_messages(select, aba){ 4388 4389 if(select){ 4390 jQuery("#"+aba+" tr").each(function(i, o) { 4391 4392 o.firstChild.firstChild.checked = true; 4393 add_className(o, 'selected_msg'); 4394 }); 4395 }else{ 4396 jQuery("#"+aba+" tr").each(function(i, o) { 4397 4398 o.firstChild.firstChild.checked = false; 4399 remove_className(o, 'selected_msg'); 4400 }); 4401 } 4402 } 4403 4404 function verify_session(data){ 4405 4406 if(data && data.imap_error) { 4407 if(data.imap_error == "nosession") 4408 write_msg(get_lang("your session could not be verified.")); 4409 else 4410 write_msg(data.imap_error); 4411 // Hold sesion for edit message. 4412 //if(!hold_session) 4413 // location.href="../login.php?cd=10&phpgw_forward=%2FexpressoMail1_2%2Findex.php"; 4414 return false; 4415 } 4416 else 4417 return true; 4418 } 4419 4420 // Save image file. 4421 function save_image(e,thumb,file_type){ 4422 file_type = file_type.replace("/","."); 4423 thumb.oncontextmenu = function(e) { 4424 return false; 4425 } 4426 var _button = is_ie ? window.event.button : e.which; 4427 var _target = is_ie ? event.srcElement : e.target; 4428 4429 if(_button == 2 || _button == 3) { 4430 var _params = _target.id.split(";;"); 4431 download_attachments(Base64.encode(_params[0]),_params[1],_params[2],_params[3],_params[4],file_type); 4432 if($(_target).parent().attr("href").split("http").length > 1){ 4433 var part_find = thumb.toString().split("#"); 4434 var part2_find = part_find[1].split("/temp"); 4435 var part_id_dwl = part2_find[0] + '/temp/download' + part2_find[1]; 4436 download_local_attachment(part_id_dwl); 4437 return; 4438 }else{ 4439 var _params = _target.id.split(";;"); 4440 download_attachments(_params[0],_params[1],_params[2],_params[3],_params[4],file_type); 4441 } 4442 } 4443 } 4444 4445 function save_image2(info){ 4446 var obj = jQuery.parseJSON(unescape(info)); 4447 download_attachments(obj.folder, obj.message, obj.thumbIndex, obj.pid, obj.encoding, obj.type.replace("/",".")); 4448 } 4449 4450 function nospam(msgs_number, border_ID, folder){ 4451 if (folder == 'null') 4452 folder = get_current_folder(); 4453 var new_folder = ''; 4454 if(folder.substr(0,4) == 'user'){ 4455 arrayFolder = folder.split(cyrus_delimiter); 4456 new_folder = 'user'+cyrus_delimiter+arrayFolder[1]; 4457 } 4458 else{ 4459 new_folder = 'INBOX'; 4460 } 4461 var new_folder_name = get_lang('INBOX'); 4462 var handler_move_msgs = function(data){ 4463 if (msgs_number == 'selected') 4464 set_messages_flag("unseen", "get_selected_messages"); 4465 else 4466 proxy_mensagens.proxy_set_message_flag(msgs_number, "unseen"); 4467 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 4468 4469 if (openTab.type[currentTab] > 1) 4470 delete_border(currentTab,'false'); 4471 } 4472 4473 if(currentTab.toString().indexOf("_r") != -1) 4474 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 4475 else if(msgs_number == 'selected') 4476 msgs_number = get_selected_messages(); 4477 4478 //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 4479 if(currentTab == 0) 4480 msgs_number = get_selected_messages(); 4481 if (typeof currentTab == "string" && currentTab.indexOf("search_") != "-1"){ 4482 msgs_number = ""; 4483 var checked = $("#divScrollMain_"+currentTab.substr(currentTab.indexOf('_')+1,255)).find("tr input:checked"); 4484 $.each(checked,function(index,value){ 4485 if (value){ 4486 if (index == 0) 4487 msgs_number = $(value).parents("tr").attr("id"); 4488 else 4489 msgs_number += "," + $(value).parents("tr").attr("id"); 4490 } 4491 }); 4492 } 4493 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 4494 cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=false"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 4495 else 4496 write_msg(get_lang('No selected message.')); 4497 } 4498 4499 function spam(folder, msgs_number, border_ID){ 4500 if (folder == 'null') 4501 folder = get_current_folder(); 4502 var new_folder = ''; 4503 if(folder.substr(0,4) == 'user') 4504 { 4505 arrayFolder = folder.split(cyrus_delimiter); 4506 new_folder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Spam']; 4507 } 4508 else 4509 { 4510 new_folder = mount_url_folder(["INBOX",special_folders["Spam"]]); 4511 } 4512 var new_folder_name = 'Spam'; 4513 var not_opem_previus = true; 4514 var handler_move_msgs = function(data){ 4515 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name, not_opem_previus); 4516 if (openTab.type[currentTab] > 1){ 4517 if(preferences.delete_and_show_previous_message == 1) 4518 delete_border(currentTab,'false'); 4519 } 4520 } 4521 4522 if(currentTab.toString().indexOf("_r") != -1) 4523 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 4524 else if(currentTab != 0 && currentTab.indexOf("search_") >= 0){ 4525 var content_search = document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]), 'Trash', 4526 move_search_msgs('content_id_'+currentTab, mount_url_folder(["INBOX",special_folders["Spam"]]), special_folders['Spam']); 4527 refresh(); 4528 return; 4529 }else if(msgs_number == 'selected') 4530 msgs_number = get_selected_messages(); 4531 4532 //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 4533 if(currentTab == 0) 4534 msgs_number = get_selected_messages(); 4535 4536 if(parseInt(msgs_number) > 0 || msgs_number.length > 0) 4537 cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=true"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 4538 else 4539 write_msg(get_lang('No selected message.')); 4540 } 4541 425 {var fileUploadMSG=$('#fileupload_msg'+new_border_ID);var attachments=$("#attachments_"+old_id_border).find("a");if(openTab.imapBox[new_border_ID].split("local").length>1&&attachments.length>0){alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");return false;} 426 for(var i=0;i<attachments.length;i++){if((attachments[i].tagName=="SPAN")||(attachments[i].tagName=="IMG")||((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 427 continue;fileUploadMSG.find(' .attachments-list').show();if(attachments[i].href.split("local").length>1){var arrayAtt=attachments[i].href.replace("javascript:download_local_attachment(","").replace(")","").split(',');}else{var arrayAtt=attachments[i].href.replace("javascript:download_attachments(","").replace(")","").split(',');} 428 var att=new Object();var regex=new RegExp("'","g");att.folder=utf8_decoder(Base64.decode(arrayAtt[0].replace(regex,"")));att.uid=arrayAtt[1].replace(regex,"");att.part=arrayAtt[3].replace(regex,"");att.type='imapPart';var idATT=JSON.stringify(att);addAttachment(new_border_ID,idATT);var attach={};var attachText=(is_ie?attachments[i].innerText:attachments[i].text);attach.fileName=attachText.substring(0,attachText.lastIndexOf('('));attach.fullFileName=attach.fileName;if(attach.fileName.length>20) 429 attach.fileName=attach.fileName.substr(0,17)+" ... "+attach.fileName.substr(attach.fileName.length-9,attach.fileName.length);attach.fileSize=attachText.substring((attachText.lastIndexOf('(')+1),attachText.lastIndexOf(')'));attach.error=false;var upload=$(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs",{file:attach}));upload.find('.att-box-loading').remove();upload.find('.att-box-delete').click(function(){var idAttach=$(this).parent().find('input[name="fileId[]"]').val();var content_body=RichTextEditor.getData('body_'+new_border_ID);var imagens=content_body.match(/<img[^>]*>/g);var att=JSON.parse(idAttach);if(imagens!=null) 430 {for(var x=0;x<imagens.length;x++) 431 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part)!==-1) 432 content_body=content_body.replace(imagens[x],'');RichTextEditor.setData('body_'+new_border_ID,content_body);} 433 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]');delAttachment(new_border_ID,idAttach);$(this).parent().qtip("destroy");$(this).parent().remove();if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){fileUploadMSG.find(' .attachments-list').hide();}});upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>');fileUploadMSG.find('.attachments-list').append(upload);fileUploadMSG.find('.attachments-list .att-box:last').qtip({content:DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs",{attach:attach}),position:{corner:{tooltip:'bottomMiddle',target:'topMiddle'},adjust:{resize:true,scroll:true,screen:true}},show:{when:'mouseover',ready:false},hide:'mouseout',style:{border:{width:1,radius:5},width:{min:75,max:1000},padding:3,textAlign:'left',tip:true,name:'blue'}});}} 434 function send_message_return(data,ID){if(typeof(data)=='object'&&data.load){cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);} 435 watch_changes_in_msg(ID);var content=$("#content_id_"+ID);var sign=false;var crypt=false;var reComplexEmail=/<([^<]*)>[\s]*$/;if((preferences.use_assinar_criptografar!='0')&&(preferences.use_signature_digital_cripto!='0')){var checkSign=document.getElementById('return_digital_'+ID) 436 if(checkSign.checked){sign=true;} 437 var checkCript=document.getElementById('return_cripto_'+ID);if(checkCript.checked){crypt=true;}} 438 if(typeof(data)=='object'&&!data.success) 439 {connector=new cConnector();if(sign||crypt){var operation='';if(sign){operation='sign';} 440 else{operation='nop';}} 441 if(data.body){Element('cert_applet').doButtonClickAction(operation,ID,data.body);} 442 else{alert(data.error);} 443 return;} 444 if(data&&data.success==true){var msg_number_replied=content.find('[name="msg_reply_from"]');var msg_number_forwarded=content.find('[name="msg_forward_from"]');if(msg_number_replied.val()){proxy_mensagens.proxy_set_message_flag(msg_number_replied.val(),'answered');} 445 else if(msg_number_forwarded.val()){proxy_mensagens.proxy_set_message_flag(msg_number_forwarded.val(),'forwarded');} 446 if(expresso_offline){write_msg(get_lang('Your message was sent to queue'));delete_border(ID,'true');return;}else{if(wfolders.alert){write_msg(get_lang('Your message was sent and save.'));wfolders.alert=false;} 447 else{write_msg(get_lang('Your message was sent.'));}} 448 delete_border(ID,'true');var arrayTo=content.find(".to-tr").find(".box").clone();save_dynamic_contacts(arrayTo);var arrayCC=content.find(".cc-tr").find(".box").clone();save_dynamic_contacts(arrayCC);var arrayCCo=content.find(".cco-tr").find(".box").clone();save_dynamic_contacts(arrayCCo);if(parseInt(preferences.use_dynamic_contacts)) 449 updateDynamicContact();cache=new Array();} 450 else{if(data=='Post-Content-Length') 451 write_msg(get_lang('The size of this message has exceeded the limit (%1B).',Element('upload_max_filesize').value));else if(data){var error_mail=$.trim(data.split(":")[data.split(":").length-1]);var array=content.find(".to-tr").find(".box");$.each(array,function(index,value){if(error_mail==$(value).find("input").val().match(reComplexEmail)[1]) 452 $(value).addClass("invalid-email-box");});if(content.find('[name="input_cco"]').length){if(content.find(".cco-tr").css("display")!="none"){var array=content.find(".cco-tr").find(".box");$.each(array,function(index,value){if(error_mail==$(value).find("input").val().match(reComplexEmail)[1]) 453 $(value).addClass("invalid-email-box");});}} 454 if(content.find(".cc-tr").css("display")!="none") 455 {var array=content.find(".cc-tr").find(".box");$.each(array,function(index,value){if(error_mail==$(value).find("input").val().match(reComplexEmail)[1]) 456 $(value).addClass("invalid-email-box");});} 457 write_msg(data);}else 458 write_msg(get_lang("Connection failed with %1 Server. Try later.","Web"));var save_link=$("#content_id_"+ID).find(".save")[0];save_link.onclick=function onclick(event){openTab.toPreserve[ID]=true;save_msg(ID);};$("#save_message_options_"+ID).button({disabled:false});} 459 if(!expresso_offline) 460 connector.hideProgressBar();} 461 function save_dynamic_contacts(array){if(parseInt(preferences.use_dynamic_contacts)){$.each(array,function(i,value){var stop=false;$.each(dynamicPersonalContacts,function(x,valuex){if(valuex.email==$(value).find("input").val().match(reComplexEmail)[1]){stop=true;return false;}});$.each(dynamicPersonalGroups,function(x,valuex){if(valuex.email==$(value).find("input").val().match(reComplexEmail)[1]){stop=true;return false;}});if(!stop){var exist=0;$.each(dynamicData,function(x,valuex){if(valuex.mail==$(value).find("input").val().match(reComplexEmail)[1]){exist=valuex.id;return false;}});if(exist){REST.put("/dynamiccontact/"+exist,{name:$(value).find("input").val().split('"')[1],mail:$(value).find("input").val().match(reComplexEmail)[1]});}else{REST.post("/dynamiccontacts",{name:$(value).find("input").val().split('"')[1],mail:$(value).find("input").val().match(reComplexEmail)[1]});}}});}} 462 function appletReturn(smime,ID,operation,folder){if(!smime){connector=new cConnector();connector.hideProgressBar();return;} 463 if(operation=='decript') 464 {var handler=function(data){if(data.msg_day=='') 465 {header=expresso_local_messages.get_msg_date(data.original_ID,proxy_mensagens.is_local_folder(get_current_folder()));data.fulldate=header.fulldate;data.smalldate=header.smalldate;data.msg_day=header.msg_day;data.msg_hour=header.msg_hour;} 466 this.show_msg(data);} 467 para="&source="+smime+"&ID="+ID+"&folder="+folder;cExecute("$this.imap_functions.show_decript&",handler,para);}else 468 {ID_tmp=ID;var handler_send_smime=function(data){send_message_return(data,this.ID_tmp);};var textArea=document.createElement("TEXTAREA");textArea.style.display='none';textArea.id='smime';textArea.name="smime";textArea.value+=smime;if(is_ie){var i=0;while(document.forms(i).name!="form_message_"+ID){i++} 469 form=document.forms(i);} 470 else 471 form=document.forms["form_message_"+ID];form.appendChild(textArea);cExecuteForm("$this.imap_functions.send_mail",form,handler_send_smime,ID);}} 472 function verifyBodyWords(body,words){for(i=0;i<words.length;i++){if(body.search(words[i])!=-1){return words[i];}} 473 return false;} 474 function send_message(ID,folder,folder_name){var content_body=RichTextEditor.getData('body_'+ID);if(language=="pt-br") 475 var words=['anexo','anexos','anexada','anexado','anexei','anexando','anexaste','anexastes','anexamos','anexaram'];else if(language=="es-es") 476 var words=['anexo','adjunto','adjuntos','adjuntado','adjuntamos'];else 477 var words=['attach','attachment','attached','annex','appending'];if($('#fileupload_msg'+ID).find('.att-box').length==0&&preferences.alert_message_attachment=='1'){var bodyWord=verifyBodyWords(content_body,words);if(bodyWord){$.Zebra_Dialog(get_lang('You wrote "%1" in your message, but there are no files attached. Send it anyway?',bodyWord),{'type':'question','overlay_opacity':'0.5','buttons':['OK','Cancelar'],'width':500,'onClose':function(clicked){if(clicked=='OK'){send_valided_message(ID,folder,folder_name);return;}else{return;}}});} 478 else 479 send_valided_message(ID,folder,folder_name);} 480 else if(!zebraDiscardEventDialog&&$('#fileupload_msg'+ID).find('.att-box-loading').length) 481 {zebraDiscardEventDialog=true;window.setTimeout(function(){$.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.',{'type':'question','overlay_opacity':'0.5','buttons':['Descartar anexos e enviar','Continuar editando e esperar anexos'],'width':500,'onClose':function(clicked){if(clicked=='Descartar anexos e enviar'){$.each($('#fileupload_msg'+ID).find('.att-box'),function(index,value){if($(value).find(".att-box-loading").length) 482 $(value).find('.att-box-delete').trigger("click");});send_valided_message(ID,folder,folder_name);} 483 window.setTimeout(function(){zebraDiscardEventDialog=false;},500);}})},300);}else{send_valided_message(ID,folder,folder_name);}} 484 function send_valided_message(ID,folder,folder_name) 485 {if(preferences.auto_save_draft==1) 486 autoSaveControl.status[ID]=true;var content=$("#content_id_"+ID);var save_link=$("#content_id_"+ID).find(".save");var onClick=save_link.onclick;save_link.onclick='';save_link.button({disabled:true});var _subject=trim(content.find(".subject").val());if((_subject.length==0)&&!confirm(get_lang("Send this message without a subject?"))){save_link.click(onClick);content.find(".subject").focus();return;} 487 var stringReply="";draw_email_box(content.find(".reply-to-tr").find("textarea:first").val(),content.find(".reply-to-tr").find("textarea:first"));content.find(".reply-to-tr").find("textarea:first").val("");var array=content.find(".reply-to-tr").find(".box");$.each(array,function(index,value){stringReply+=$(value).find("input").val()+",";});var stringToEmail="";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"));content.find(".to-tr").find("textarea:first").val("");content.find(".to-tr").find("input:visible").val("");var array=content.find(".to-tr").find(".box");$.each(array,function(index,value){stringToEmail+=$(value).find("input").val()+",";});var stringEmail="";stringEmail=stringToEmail;var stringCCoEmail="";if(content.find('[name="input_cco"]').length){if(content.find(".cco-tr").css("display")!="none"){draw_email_box(content.find(".cco-tr").find("textarea:first").val()||content.find(".cco-tr").find("input:visible").val(),content.find(".cco-tr").find("textarea:first"));content.find(".cco-tr").find("textarea:first").val("");content.find(".cco-tr").find("input:visible").val("");var array=content.find(".cco-tr").find(".box");$.each(array,function(index,value){stringCCoEmail+=$(value).find("input").val()+",";});}} 488 stringEmail+=stringCCoEmail;var stringCCEmail="";if(content.find(".cc-tr").css("display")!="none") 489 {draw_email_box(content.find(".cc-tr").find("textarea:first").val()||content.find(".cc-tr").find("input:visible").val(),content.find(".cc-tr").find("textarea:first"));content.find(".cc-tr").find("textarea:first").val("");content.find(".cc-tr").find("input:visible").val("");var array=content.find(".cc-tr").find(".box");$.each(array,function(index,value){stringCCEmail+=$(value).find("input").val()+",";});} 490 stringEmail+=stringCCEmail;var mailData=new Object();mailData.body=Base64.encode(RichTextEditor.getData('body_'+ID));mailData.folder=folder;mailData.type=RichTextEditor.plain[ID]?'plain':'html';mailData.uids_save=uidsSave[ID].toString();mailData.save_folder=(openTab.imapBox[ID]&&openTab.type[ID]<6)?openTab.imapBox[ID]:"INBOX"+cyrus_delimiter+draftsfolder;mailData.attachments=listAttachment(ID);mailData.messageNum=currentTab;mailData.input_subject=trim(content.find(".subject").val());mailData.input_reply_to=stringReply;mailData.input_to=stringToEmail;mailData.input_cco=stringCCoEmail;mailData.input_cc=stringCCEmail;mailData.input_cc=stringCCEmail;mailData.abaID=$(content).find('[name="abaID"]').val();mailData.input_important_message=$(content).find('input:checkbox:checked[name="input_important_message"]').val();mailData.input_return_receipt=$(content).find('input:checkbox:checked[name="input_return_receipt"]').val();mailData.msg_forward_from=$(content).find('[name="msg_forward_from"]').val();mailData.msg_reply_from=$(content).find('[name="msg_reply_from"]').val();if($(content).find('select[name="input_from"]').val()) 491 mailData.input_from=$(content).find('select[name="input_from"]').val();if(stringEmail!=""){$.ajax({url:"controller.php?action=$this.imap_functions.send_mail",data:mailData,type:'POST',success:function(data){send_message_return(connector.unserialize(data),ID);},error:function(){write_msg("Erro ao tentar enviar a mensagem. Nova tentativa em alguns segundos...");var interval=setInterval(function(){send_valided_message(ID,folder,folder_name);clearInterval(interval);},15000);return;}});}else{write_msg(get_lang("message without receiver"));return;}} 492 function is_valid_email(campo){var invalidEmail=searchEmail(campo);var semicolon=campo.split(";");if((campo.replace(/^\s+|\s+$/g,""))!=""){if(invalidEmail[0]==true){write_msg("Erro de SMTP: Os endereços de destinatário a seguir falharam: "+invalidEmail[1]);return false;}else{if(semicolon.length>1){var stringError="Erro de SMTP: Os endereços devem ser separados apenas por vígula: ";for(var i=0;i<semicolon.length;i++){stringError=stringError+semicolon[i];if(i+1<semicolon.length) 493 stringError=stringError+" ; ";} 494 write_msg(stringError);return false;}else{return true;}}} 495 else{write_msg(get_lang("Message without receiver"));return false;}} 496 function change_tr_properties(tr_element,newUid,newSubject){message_id=tr_element.id;var td_from=document.getElementById('td_from_'+message_id);if(typeof(newSubject)!='undefined') 497 td_from.nextSibling.innerHTML=newSubject;tr_element.id=newUid;var openNewMessage=function(){$.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.get_info_msg',msg_number:newUid,msg_folder:current_folder,decoded:true}),success:function(data){data=connector.unserialize(data);if(data) 498 show_msg(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});};for(var i=2;i<10;i++){if(typeof(tr_element.childNodes[i].id)!="undefined") 499 tr_element.childNodes[i].id=tr_element.childNodes[i].id.replace(message_id,newUid);tr_element.childNodes[i].onclick=openNewMessage;}} 500 function autoSave(ID) 501 {var content=$("#content_id_"+border_id);content.find(".save").button('option','disabled',true);saveButtonDisabled=$("#content_id_"+ID).find(".save").button('option','disabled');if(autoSaveControl.status[ID]===false&&!saveButtonDisabled) 502 save_msg(ID);refresh();} 503 function save_msg(border_id){if(preferences.auto_save_draft==1) 504 autoSaveControl.status[border_id]=true;var content=$("#content_id_"+border_id);content.find(".save").button('option','disabled',true);var array=content.find(".reply-to-tr").find(".box");var stringReplyToEmail="";$.each(array,function(index,value){stringReplyToEmail+=$(value).find("input").val()+",";});content.find('[name="input_reply_to"]').val(stringReplyToEmail);var stringEmail="";var array=content.find(".to-tr").find(".box");$.each(array,function(index,value){stringEmail+=$(value).find("input").val()+",";});content.find('[name="input_to"]').val(stringEmail);stringEmail="";if(content.find('[name="input_cco"]').length){if(content.find(".cco-tr").css("display")!="none"){var array=content.find(".cco-tr").find(".box");$.each(array,function(index,value){stringEmail+=$(value).find("input").val()+",";});content.find('[name="input_cco"]').val(stringEmail);}} 505 stringEmail="";if(content.find(".cc-tr").css("display")!="none") 506 {var array=content.find(".cc-tr").find(".box");$.each(array,function(index,value){stringEmail+=$(value).find("input").val()+",";});content.find('[name="input_cc"]').val(stringEmail);} 507 var idJavascript=saveBorderError[border_id];if(saveBorderError[border_id]!==false) 508 DataLayer.put('message',DataLayer.merge(DataLayer.form("#form_message_"+border_id),{id:idJavascript}));else 509 idJavascript=DataLayer.put('message',DataLayer.form("#form_message_"+border_id));uidsSave[border_id]=[];DataLayer.commit(false,false,function(data){if(data!=null&&data['message://'+idJavascript]!==undefined&&data['message://'+idJavascript].id!==undefined) 510 {uidsSave[border_id].push(data['message://'+idJavascript].id);saveBorderError[border_id]=false;write_msg('Mensagem salva com sucesso!');} 511 else 512 {saveBorderError[border_id]=idJavascript;write_msg('Erro ao salvar sua mensagem! Nova tentativa em alguns segundos.');}});} 513 function set_messages_flag_search_local(flag){} 514 function set_messages_flag_search(flag){var id_border=currentTab.replace(/[a-zA-Z_]+/,"");var msgs_flag=this.get_selected_messages_search();if(!msgs_flag){write_msg(get_lang('No selected message.'));return;} 515 var selected_param="";msgs_to_flag=msgs_flag.split(",");search=true;for(i=0;i<msgs_to_flag.length;i++){var tr=Element(msgs_to_flag[i]+'_s'+id_border);var msg_to_flag=(tr.getAttribute('name')==null?get_current_folder():tr.getAttribute('name'));selected_param+=','+msg_to_flag+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");} 516 var handler_set_messages_flag=function(data){var errors=false;var notErrors=false;for(var i=0;i<data.length;i++){var notArray=true;if(data[i].msgs_to_set!=''){var msgs=[];if(data[i].msgs_to_set.indexOf(',')>0){msgs=data[i].msgs_to_set.split(',') 517 notArray=false;}else 518 msgs[0]=data[i].msgs_to_set;for(var j=0;j<msgs.length;j++){switch(data[i].flag){case"unseen":set_msg_as_unread(msgs[j]+'_s'+id_border,true);Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked=false;break;case"seen":set_msg_as_read(msgs[j]+'_s'+id_border,true);Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked=false;break;case"flagged":set_msg_as_flagged(msgs[j]+'_s'+id_border,true);document.getElementById("search_"+id_border+"_check_box_message_"+msgs[j]).checked=false;break;case"unflagged":set_msg_as_unflagged(msgs[j]+'_s'+id_border,true);Element("search_"+id_border+"_check_box_message_"+msgs[j]).checked=false;break;} 519 notErrors=true;}}else{errors=true;}} 520 draw_tree_folders();Element('chk_box_select_all_messages_search').checked=false;refresh();if(errors&¬Errors) 521 write_msg(get_lang('Some messages were not marked with success!'));else if(notErrors) 522 write_msg(get_lang('The messages were marked with success!'));else 523 write_msg(get_lang('Error marking messages.'));} 524 cExecute("$this.imap_functions.set_messages_flag_from_search&msg_to_flag="+selected_param+"&flag="+flag,handler_set_messages_flag);} 525 function set_messages_flag(flag,msgs_to_set){if(currentTab!=0&¤tTab.indexOf("search_local")>=0){return set_messages_flag_search_local(flag);} 526 if(currentTab!=0&¤tTab.indexOf("search_")>=0){return set_messages_flag_search(flag);} 527 var handler_set_messages_flag=function(data){if(!verify_session(data)) 528 return;var msgs_to_set=data.msgs_to_set.split(",");if(data.disposition_notification_to){$.Zebra_Dialog(data.disposition_notification_to.length==1?get_lang('One of his messages can not be marked as read, because it contains a read confirmation.'):data.disposition_notification_to.length+get_lang(' of its messages could not be marked as read, because it contains a read confirmation.'),{'type':'warning','overlay_opacity':'0.5','buttons':['Fechar']});} 529 if(!data.status){write_msg(data.msg);Element('chk_box_select_all_messages').checked=false;for(var i=0;i<msgs_to_set.length;i++){Element("check_box_message_"+msgs_to_set[i]).checked=false;remove_className(Element(msgs_to_set[i]),'selected_msg');} 530 if(!data.msgs_unflageds) 531 return;else 532 if(data.msgs_not_to_set!="") 533 write_msg(get_lang("Error processing some messages."));msgs_to_set=data.msgs_unflageds.split(",");} 534 for(var i=0;i<msgs_to_set.length;i++){if(preferences.use_cache=='True') 535 {if(current_folder=='') 536 current_folder='INBOX';var setFlag=function(msgObj){switch(data.flag){case"unseen":msgObj.Unseen="U";break;case"seen":msgObj.Unseen="";break;case"flagged":msgObj.Flagged="F";break;case"unflagged":msgObj.Flagged="";break;}}} 537 if(Element("check_box_message_"+msgs_to_set[i])){switch(data.flag){case"unseen":set_msg_as_unread(msgs_to_set[i]);if(results_search_messages!="") 538 set_msg_as_unread(results_search_messages,true);Element("check_box_message_"+msgs_to_set[i]).checked=false;break;case"seen":set_msg_as_read(msgs_to_set[i],false);if(results_search_messages!="") 539 set_msg_as_read(results_search_messages,false,true);Element("check_box_message_"+msgs_to_set[i]).checked=false;$.each(fromRules,function(index,value){if(value==folder){cExecute("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set,function(){});return false;}});break;case"flagged":set_msg_as_flagged(msgs_to_set[i]);if(results_search_messages!="") 540 set_msg_as_flagged(results_search_messages,true);document.getElementById("check_box_message_"+msgs_to_set[i]).checked=false;break;case"unflagged":set_msg_as_unflagged(msgs_to_set[i]);if(results_search_messages!="") 541 set_msg_as_unflagged(results_search_messages,true);Element("check_box_message_"+msgs_to_set[i]).checked=false;break;}}} 542 Element('chk_box_select_all_messages').checked=false;} 543 var folder=get_current_folder();if(msgs_to_set=='get_selected_messages') 544 var msgs_to_set=this.get_selected_messages();else 545 folder=Element("input_folder_"+msgs_to_set+"_r").value;if(msgs_to_set) 546 $.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.set_messages_flag',folder:folder,msgs_to_set:msgs_to_set,flag:flag,decoded:true}),success:function(data){data=connector.unserialize(data);selectAllFolderMsgs();$('.select-link').unbind('click');if(data) 547 handler_set_messages_flag(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});else 548 write_msg(get_lang('No selected message.'));} 549 function set_message_flag(msg_number,flag,func_after_flag_change){var msg_number_folder=Element("new_input_folder_"+msg_number+"_r");if(!msg_number_folder) 550 var msg_number_folder=Element("input_folder_"+msg_number+"_r");var handler_set_messages_flag=function(data){if(!verify_session(data)) 551 return;if(!data.status){write_msg(get_lang("this message cant be marked as normal"));return;} 552 else if(func_after_flag_change){func_after_flag_change(true);} 553 if(data.status&&Element("td_message_answered_"+msg_number)){switch(flag){case"unseen":set_msg_as_unread(msg_number);break;case"seen":set_msg_as_read(msg_number);break;case"flagged":set_msg_as_flagged(msg_number);break;case"unflagged":set_msg_as_unflagged(msg_number);break;case"answered":Element("td_message_answered_"+msg_number).innerHTML='<img src=templates/'+template+'/images/answered.png title=Respondida>';break;case"forwarded":Element("td_message_answered_"+msg_number).innerHTML='<img src=templates/'+template+'/images/forwarded.png title=Encaminhada>';break;}}else{refresh();}} 554 $.ajax({url:'controller.php?'+$.param({action:'$this.imap_functions.set_messages_flag',folder:(msg_number_folder?msg_number_folder.value:get_current_folder()),msgs_to_set:msg_number,flag:flag,decoded:true}),success:function(data){data=connector.unserialize(data);if(data) 555 handler_set_messages_flag(data);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 556 function print_search_msg(){var folder="<h2> Resultado da Pesquisa <font color=\"#505050\" face=\"Verdana\" size=\"1\"></h2>";msgs_number=get_selected_messages_search();var tbody=Element('divScrollMain_'+numBox).firstChild.firstChild.innerHTML;var id_border=currentTab.replace(/[a-zA-Z_]+/,"");if(msgs_number){msgs_number=msgs_number.split(",");var tbody="";for(var i=0;i<msgs_number.length;i++){tbody+="<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>";}}else{msgs_number=get_all_messages_search();msgs_number=msgs_number.split(",");var tbody="";for(var i=0;i<msgs_number.length;i++){tbody+="<tr id=\""+msgs_number[i]+"_s"+id_border+"\" class=\"tr_msg_unread tr_msg_read2\">"+Element(msgs_number[i]+'_s'+id_border).innerHTML+"</tr>";}} 557 var print_width=screen.width-200;var x=((screen.width-print_width)/2);var y=((screen.height-400)/2)-35;var window_print=window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y);seekDot=(is_ie?/width=24/gi:/width="24"/gi);var thead="<tr class=\"message_header\"> <td width=\"3%\"></td><td width=\"2%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"2%\"></td><td id=\"message_header_FOLDER_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">Pasta</td><td id=\"message_header_SORTFROM_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">De</td><td id=\"message_header_SORTSUBJECT_0\" class=\"th_resizable\" align=\"left\" width=\"*\">Assunto</td><td id=\"message_header_SORTARRIVAL_0\" class=\"th_resizable\" align=\"center\" width=\"11%\"><b>Data</b><img src=\"templates/default/images/arrow_descendant.gif\"></td><td id=\"message_header_SORTSIZE_0\" class=\"th_resizable\" align=\"left\" width=\"11%\">Tamanho</td></tr>";tbody=tbody.replace(seekDot,"style='display:none'");seekDot=(is_ie?/width=16/gi:/width="16"/gi);tbody=tbody.replace(seekDot,"style='display:none'");seekDot=(is_ie?/width=12/gi:/width="12"/gi);tbody=tbody.replace(seekDot,"style='display:none'");while(1){try{window_print.document.open();var html='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 558 +'<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>' 559 +cabecalho+'</h4><hr>' 560 +'<h2>'+folder+'</h2><hr/><blockquote><font size="2">' 561 +'<table width="100%" cellpadding="0" cellspacing="0">' 562 +'<thead>'+thead+'</thead><tbody>'+tbody+'</tbody>' 563 +'</table></font></blockquote></body></html>';window_print.document.write(html);window_print.document.close();break;} 564 catch(e){}} 565 window_print.document.close();window_print.print();} 566 function print_messages_bodies(){var messages={};messages[get_current_folder()]=get_selected_messages().split(',');var print_bodies=function(data){var print_width=screen.width-200;var x=((screen.width-print_width)/2);var y=((screen.height-400)/2)-35;var window_print=window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y);if(window_print==null){alert(get_lang("The Anti Pop-Up is enabled. Allow this site (%1) for print.",document.location.hostname));return;} 567 var header='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 568 +'<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>';window_print.document.write(header);var printData='<body style="overflow:auto">'+cabecalho+'</h4><hr>';window_print.document.write(printData);var newRow=function(label,data){return"<tr><td width=7%><font size='2'><b>"+label+" </b></font></td><td><font size='2'>"+data+"</font></td></tr>";} 569 $.each(data,function(index,message){var html="<table><tbody>";if(message.sender) 570 for(var i=0;i<message.sender.length;i++){html+=newRow(get_lang('Sent by')+":",message.sender[i]);} 571 if(message.from) 572 for(var i=0;i<message.from.length;i++){html+=newRow(get_lang('From')+":",message.from[i]);} 573 if(message.toaddress2){html+=newRow(get_lang('To')+":",message.toaddress2);} 574 if(message.cc){html+=newRow(get_lang('Cc')+":",message.cc);} 575 if(message.bcc){html+=newRow(get_lang('Cco')+":",message.bcc);} 576 if(message.smalldate) 577 html+=newRow(get_lang('Date')+":",message.smalldate);else if(message.udate){var norm=function(arg){return(arg<10?'0'+arg:arg);};var weekDays=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];var today=new Date();today.setHours(23);today.setMinutes(59);today.setSeconds(59);today.setMilliseconds(999);udate_local=message.udate*1000+today.getTimezoneOffset()*60*1000;date_msg=new Date(udate_local);if(preferences.show_date_numerical==0||typeof(preferences.show_date_numerical)=='undefined'){if(today.getTime()-date_msg.getTime()<86400000) 578 html+=newRow(get_lang('Date')+":",norm(date_msg.getHours())+':'+norm(date_msg.getMinutes()));else 579 if(today.getTime()-date_msg.getTime()<172800000) 580 newRow(get_lang('Date')+":",get_lang('Yesterday'));else if(today.getTime()-date_msg.getTime()<259200000) 581 html+=newRow(get_lang('Date')+":",get_lang(weekDays[date_msg.getDay()]));else 582 html+=newRow(get_lang('Date')+":",norm(date_msg.getDate())+'/'+norm(date_msg.getMonth()+1)+'/'+date_msg.getFullYear());}else 583 html+=newRow(get_lang('Date')+":",norm(date_msg.getDate())+'/'+norm(date_msg.getMonth()+1)+'/'+date_msg.getFullYear());} 584 html+=newRow(get_lang('Subject')+":",message.subject);if(message.attachments&&message.attachments.length){var img='<img style="margin-bottom : -5px; cursor : pointer;" src="templates/'+template+'/images/new.png">';var atts="";$.each(message.attachments,function(index,attach){atts+=" | "+attach.name+"("+formatBytes(attach.fsize)+") "+img+" | ";});html+=newRow(get_lang('Attachments: '),atts);} 585 else if(message.attachment&&message.attachment.number_attachments>0){var img='<img style="margin-bottom : -5px; cursor : pointer;" src="templates/'+template+'/images/new.png">';var atts="";$.each(message.attachment.names.split(','),function(index,attach){atts+=" | "+attach+img+" |";});html+=newRow(get_lang('Attachments: '),atts);} 586 html+='</tbody></table>';if(message.body){html+="<hr>"+message.body;} 587 else if(message._return){html+="<hr>"+message._return;} 588 html+="<hr>";window_print.document.write(html);});window_print.document.close();window_print.print();} 589 if(proxy_mensagens.is_local_folder(get_current_folder())){var msgs=Array();var _msg={};$.each(get_selected_messages().split(','),function(index,value){_msg.header=expresso_mail_archive.getMessageHeaders(value);_msg.body=expresso_mail_archive.getMessageBodies([value]);msgs.push($.extend({},_msg.header,_msg.body[0]));});print_bodies(msgs);} 590 else{$.ajax({url:"controller.php?"+$.param({action:"$this.imap_functions.getMessages",details:"all",messages:messages,}),success:function(data){data=connector.unserialize(data);if(data){print_bodies(data[get_current_folder()]);}},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});}} 591 function newTbody(messages){var tbody=$("<tbody>");$.each(messages,function(index,msg){var newTr=make_tr_message(msg,get_current_folder());if(msg.attachments&&msg.attachments.length){$(newTr).find('td').eq(1).css({'background-image':'url(templates/'+template+'/images/mail-gifs.gif)','background-position':'0 -242px'});} 592 tbody.append(newTr);});return tbody.html();} 593 function print_messages_list(){var print_list=function(tbody,folder){var print_width=screen.width-200;var x=((screen.width-print_width)/2);var y=((screen.height-400)/2)-35;var window_print=window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y);seekDot=(is_ie?/width=24/gi:/width="24"/gi);var thead="<tr class=\"message_header\"> <td width=\"3%\"></td><td width=\"2%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"1%\"></td><td width=\"2%\"></td><td width=\"2%\"></td><td width=\"2%\"></td><td id=\"message_header_SORTFROM_0\" class=\"th_resizable\" align=\"left\" width=\"20%\">De</td><td id=\"message_header_SORTSUBJECT_0\" class=\"th_resizable\" align=\"left\" width=\"*\">Assunto</td><td id=\"message_header_SORTARRIVAL_0\" class=\"th_resizable\" align=\"center\" width=\"11%\"><b>Data</b><img src=\"templates/default/images/arrow_descendant.gif\"></td><td id=\"message_header_SORTSIZE_0\" class=\"th_resizable\" align=\"left\" width=\"11%\">Tamanho</td></tr>";tbody=tbody.replace(seekDot,"style='display:none'");seekDot=(is_ie?/width=16/gi:/width="16"/gi);tbody=tbody.replace(seekDot,"style='display:none'");seekDot=(is_ie?/width=12/gi:/width="12"/gi);tbody=tbody.replace(seekDot,"style='display:none'");while(1){try{window_print.document.open();var html='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>' 594 +'<head><link rel="stylesheet" type="text/css" href="templates/'+template+'/print.css"></head>' 595 +cabecalho+'</h4><hr>' 596 +'<h2>'+$('#border_id_0').html()+'</h2><hr/><blockquote><font size="2">' 597 +'<table width="100%" cellpadding="0" cellspacing="0">' 598 +'<thead>'+thead+'</thead><tbody>'+tbody+'</tbody>' 599 +'</table></font></blockquote></body></html>';window_print.document.write(html);window_print.document.close();break;} 600 catch(e){}} 601 window_print.document.close();window_print.print();} 602 msgs_number=get_selected_messages();if(msgs_number==false){var tbody=Element('divScrollMain_0').firstChild.firstChild.innerHTML;print_list(tbody);}else{var messages={};messages[get_current_folder()]=msgs_number.split(',');if(proxy_mensagens.is_local_folder(get_current_folder())){var msgs=Array();$.each(msgs_number.split(','),function(index,value){msgs.push(expresso_mail_archive.getMessageHeaders(value));});print_list(newTbody(msgs));} 603 else{$.ajax({url:"controller.php?"+$.param({action:"$this.imap_functions.getMessages",details:"all",messages:messages,}),success:function(data){data=connector.unserialize(data);if(data){data=data[get_current_folder()];print_list(newTbody(data));}},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});}}} 604 function print_all(){if(typeof(currentTab)=="string"&¤tTab.indexOf("local")!=-1){alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");return true;} 605 if(openTab.type[currentTab]==2) 606 return print_msg(current_folder,currentTab.substr(0,currentTab.indexOf("_r")),currentTab);if(currentTab!=0&¤tTab.indexOf("search_")>=0){return print_search_msg();} 607 if(get_selected_messages()==false){return print_messages_list();} 608 var msg='Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.';$.Zebra_Dialog(msg,{'type':'question','buttons':['Sim','Não'],'overlay_opacity':'0.5','onClose':function(caption){if(caption=='Sim'){return print_messages_bodies();} 609 else{return print_messages_list();}}});} 610 function print_msg(msg_folder,msg_number,border_ID){var div_toaddress_full=Element("div_toaddress_full_"+border_ID);var div_ccaddress_full=Element("div_ccaddress_full_"+border_ID);var div_ccoaddress_full=Element("div_ccoaddress_full_"+border_ID);var printListTO=(div_toaddress_full&&div_toaddress_full.style.display!='none')||toaddress_array[border_ID].length==1?true:false;var printListCC=(div_ccaddress_full&&div_ccaddress_full.style.display!='none')||!div_ccaddress_full?true:false;var printListCCO=(div_ccoaddress_full&&div_ccoaddress_full.style.display!='none')||!div_ccoaddress_full?true:false;var sender=Element('sender_values_'+border_ID)?Element('sender_values_'+border_ID).value:null;var from=Element('from_values_'+border_ID)?Element('from_values_'+border_ID).value:null;var to=Element('to_values_'+border_ID)?Element('to_values_'+border_ID).value:null;var cco=Element('cco_values_'+border_ID)?Element('cco_values_'+border_ID).value:null;var cc=Element('cc_values_'+border_ID)?Element('cc_values_'+border_ID).value:null;var date=Element('date_'+border_ID);var subject=Element('subject_'+border_ID);var attachments=Element('attachments_'+border_ID);var body=Element('body_'+border_ID);var att='';var countAtt=0;if(attachments!==null) 611 {countAtt=attachments.getElementsByTagName('a').length;if(countAtt===1) 612 att=attachments.getElementsByTagName('a')[0].innerHTML;else if(countAtt>1) 613 for(var i=1;i<attachments.getElementsByTagName('a').length;i++) 614 att+=" | "+attachments.getElementsByTagName('a')[i].innerHTML;} 615 var body=Element('body_'+border_ID);var print_width=screen.width-200;var x=((screen.width-print_width)/2);var y=((screen.height-400)/2)-35;var window_print=window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y);if(window_print==null){alert(get_lang("The Anti Pop-Up is enabled. Allow this site (%1) for print.",document.location.hostname));return;} 616 if(attachments!=null) 617 {var a=attachments.childNodes;var attachs="";var show_attachs="";var ii=a.length>2?2:1;for(i=ii;i<a.length;i++) 618 {if(a[i].tagName&&a[i].tagName=="A") 619 {attachs+=a[i].innerHTML;}} 620 show_attachs="<tr><td width=7%><font size='2'>"+get_lang('Attachments: ')+" </font></td><td><font size='2'>"+attachs+"</font></td></tr>";}else{show_attachs="";} 621 var current_path=window.location.href.substr(0,window.location.href.lastIndexOf("/"));var head='<head><title></title><link href="'+current_path+'/templates/default/main.css" type="text/css" rel="stylesheet"></head>';window_print.document.write(head);while(1){try{var html='<body style="overflow:auto">';html+=cabecalho+'</h4><hr>';html+='<table><tbody>';if(sender) 622 html+="<tr><td width=7% noWrap><font size='2'>"+get_lang('Sent by')+": </font></td><td><font size='2'>"+sender+"</font></td></tr>";if(from) 623 html+="<tr><td width=7%><font size='2'>"+get_lang('From')+": </font></td><td><font size='2'>"+from+"</font></td></tr>";if(to){if(!printListTO) 624 to='Os destinatários não estão sendo exibidos para esta impressão';html+="<tr><td width=7%><font size='2'>"+get_lang('To')+": </font></td><td><font size='2'>"+to+"</font></td></tr>";} 625 if(cc){if(!printListCC) 626 cc='Os destinatários não estão sendo exibidos para esta impressão';html+="<tr><td width=7%><font size='2'>"+get_lang('Cc')+": </font></td><td><font size='2'>"+cc+"</font></td></tr>";} 627 if(cco){if(!printListCCO) 628 cco='Os destinatários não estão sendo exibidos para esta impressão';html+="<tr><td width=7%><font size='2'>"+get_lang('Cco')+": </font></td><td><font size='2'>"+cco+"</font></td></tr>";} 629 if(date) 630 html+="<tr><td width=7%><font size='2'>"+get_lang('Date')+": </font></td><td><font size='2'>"+date.innerHTML+"</font></td></tr>";html+="<tr><td width=7%><font size='2'>"+get_lang('Subject')+": </font></td><td><font size='2'>"+subject.innerHTML+"</font></td></tr>";if(countAtt>0){html+="<tr><td width=7%><font size='2'>"+get_lang('Attachments: ')+"</font></td><td><font size='2'>"+att+"</font></td></tr>";} 631 html+="</tbody></table><hr>";window_print.document.write(html+body.innerHTML);var tab_tags=window_print.document.getElementsByTagName("IMG");var link=location.href.replace(/\/expressoMail1_2\/(.*)/,"");for(var i=0;i<tab_tags.length;i++){var _img=tab_tags[i].cloneNode(true);if(tab_tags[i].src.toUpperCase().indexOf('INC/GET_ARCHIVE.PHP?MSGFOLDER=')>-1) 632 _img.src=link+'/expressoMail1_2/'+tab_tags[i].src.substr(tab_tags[i].src.toUpperCase().indexOf('INC/GET_ARCHIVE.PHP?MSGFOLDER='));tab_tags[i].parentNode.replaceChild(_img,tab_tags[i]);} 633 break;} 634 catch(e){}} 635 window_print.document.close();window_print.print();} 636 function empty_trash_imap(shared,button,type){if(shared){var folder_part=$(button).parents("li:first").attr("id").split(cyrus_delimiter);var folder=folder_part[0]+cyrus_delimiter+folder_part[1];} 637 var handler_empty_trash=function(data){Element('chk_box_select_all_messages').checked=false;if(!verify_session(data)) 638 return;update_quota(get_current_folder());draw_new_tree_folder();draw_tree_labels();if(data){if(typeof(data)=="object"){if(data[1]=="Permission denied"){cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);return write_msg(get_lang("Permission denied"));}} 639 write_msg(get_lang('Your Trash folder was empty.'));if(get_current_folder()==mount_url_folder(["INBOX",special_folders["Trash"]])){draw_paging(0);remove_rows(document.getElementById("table_box"));Element('tot_m').innerHTML=0;Element('new_m').innerHTML=0;}} 640 else 641 write_msg(get_lang('ERROR emptying your Trash folder.'));} 642 $.Zebra_Dialog(get_lang('Do you really want to empty your trash folder?'),{'type':'question','title':get_lang('Empty Trash'),'buttons':[get_lang("Yes"),get_lang("No")],'overlay_opacity':0.5,'onClose':function(caption){if(caption==get_lang("Yes")){if(type.id=="local_messages_trash"){expresso_mail_archive.deleteAllMessages(type.id);cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);}else{cExecute("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared?"&shared="+folder:""),handler_empty_trash);}}}});} 643 function empty_spam_imap(shared,button,type){if(shared){var folder_part=$(button).parents("li:first").attr("id").split(cyrus_delimiter);var folder=folder_part[0]+cyrus_delimiter+folder_part[1];} 644 var handler_empty_spam=function(data){Element('chk_box_select_all_messages').checked=false;if(!verify_session(data)) 645 return;if(get_current_folder()==mount_url_folder(["INBOX",special_folders["Spam"]])){draw_paging(0);remove_rows(document.getElementById("table_box"));} 646 draw_new_tree_folder();draw_tree_labels();update_quota(get_current_folder());if(data){if(typeof(data)=="object"){if(data[1]=="Permission denied"){cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);return write_msg(get_lang("Permission denied"));}else{write_msg(get_lang('Your Spam folder was empty.'));}}else{write_msg(get_lang('Your Spam folder was empty.'));}} 647 else 648 write_msg(get_lang('ERROR emptying your Spam folder.'));} 649 $.Zebra_Dialog(get_lang('Do you really want to empty your spam folder?'),{'type':'question','title':get_lang('Empty Spam'),'buttons':[get_lang("Yes"),get_lang("No")],'overlay_opacity':0.5,'onClose':function(caption){if(caption==get_lang("Yes")){if(type.id=="local_messages_spam"){expresso_mail_archive.deleteAllMessages(type.id);cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);}else{cExecute("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared?"&shared="+folder:""),handler_empty_spam);}}}});} 650 function buildExportArchiver(msgsArchive,name_box){var hand_export=function(data){if(!data){write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.'))}else if(data["empty_folder"]||data=="empty_folder"){write_msg(get_lang("The selected folder is empty."));}else 651 download_attachments(null,null,data,null,null,get_current_folder().split("_")[2]+'.zip');} 652 var array=new Array();for(var i=0;i<msgsArchive.length;i++){eachMsg={'ContentType':msgsArchive[i].ContentType,'from':{'email':msgsArchive[i].from.email,'full':msgsArchive[i].from.full,'name':msgsArchive[i].from.name},'msg_sample':msgsArchive[i].msg_sample,'subject':msgsArchive[i].subject,'to':{'email':msgsArchive[i].to.email,'full':msgsArchive[i].to.full,'name':msgsArchive[i].to.name},'toaddress2':msgsArchive[i].toaddress2,'msg_number':msgsArchive[i].msg_number,'date':new Date(msgsArchive[i].timestamp).toString()};array.push(eachMsg);} 653 $.ajax({type:"POST",url:"controller.php?action=$this.exporteml.export_all_byLocalFolder",data:{folder:name_box,type:"msg_local",messages:array}}).done(function(msg){hand_export(msg.split('"')[1]);});} 654 function export_all_selected_msgs(){if(get_current_folder().split("_")[0]=="local"){if(get_selected_messages().indexOf(",")!=-1){expresso_mail_archive.getSomeMsgs(get_selected_messages().split(","));}else{expresso_mail_archive.getSomeMsgs([get_selected_messages()]);} 655 buildExportArchiver(expresso_mail_archive.getSomeMsg,get_current_folder().split("_")[2]);}else{if(openTab.type[currentTab]>1){source_msg(currentTab,openTab.imapBox[currentTab]);return;} 656 var search=false;if(currentTab!=0&¤tTab.indexOf("search_")>=0){var id_border=currentTab.replace(/[a-zA-Z_]+/,"");var msgs_to_export=this.get_selected_messages_search();if(!msgs_to_export){write_msg(get_lang('No selected message.'));return;} 657 var selected_param="";msgs_to_export=msgs_to_export.split(",");search=true;for(i=0;i<msgs_to_export.length;i++){var tr=Element(msgs_to_export[i]+'_s'+id_border);msg_to_move=(tr.getAttribute('name')==null?get_current_folder():tr.getAttribute('name'));selected_param+=','+msg_to_move+';'+tr.id.replace(/_[a-zA-Z0-9]+/,"");}}else{var msgs_to_export=this.get_selected_messages();} 658 var handler_export_all_selected_msgs=function(data){if(!data){write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.'));} 659 else{var filename='mensagens.zip';if(data[0].match(/\.eml$/gi)){filename=data[1]+'.eml';} 660 download_attachments(null,null,data[0],null,null,filename);}} 661 if(search){cExecute("$this.exporteml.makeAll",handler_export_all_selected_msgs,"folder=false&msgs_to_export="+selected_param);}else if(msgs_to_export){cExecute("$this.exporteml.makeAll",handler_export_all_selected_msgs,"folder="+get_current_folder()+"&msgs_to_export="+msgs_to_export);write_msg(get_lang('You must wait while the messages will be exported...'));} 662 else 663 write_msg(get_lang('No selected message.'));}} 664 function select_all_search_messages(select,aba){if(select){jQuery("#"+aba+" tr").each(function(i,o){o.firstChild.firstChild.checked=true;add_className(o,'selected_msg');});}else{jQuery("#"+aba+" tr").each(function(i,o){o.firstChild.firstChild.checked=false;remove_className(o,'selected_msg');});}} 665 function verify_session(data){if(data&&data.imap_error){if(data.imap_error=="nosession") 666 write_msg(get_lang("your session could not be verified."));else 667 write_msg(data.imap_error);return false;} 668 else 669 return true;} 670 function save_image(e,thumb,file_type){file_type=file_type.replace("/",".");thumb.oncontextmenu=function(e){return false;} 671 var _button=is_ie?window.event.button:e.which;var _target=is_ie?event.srcElement:e.target;if(_button==2||_button==3){var _params=_target.id.split(";;");download_attachments(Base64.encode(_params[0]),_params[1],_params[2],_params[3],_params[4],file_type);if($(_target).parent().attr("href").split("http").length>1){var part_find=thumb.toString().split("#");var part2_find=part_find[1].split("/temp");var part_id_dwl=part2_find[0]+'/temp/download'+part2_find[1];download_local_attachment(part_id_dwl);return;}else{var _params=_target.id.split(";;");download_attachments(_params[0],_params[1],_params[2],_params[3],_params[4],file_type);}}} 672 function save_image2(info){var obj=jQuery.parseJSON(unescape(info));download_attachments(obj.folder,obj.message,obj.thumbIndex,obj.pid,obj.encoding,obj.type.replace("/","."));} 673 function nospam(msgs_number,border_ID,folder){if(folder=='null') 674 folder=get_current_folder();var new_folder='';if(folder.substr(0,4)=='user'){arrayFolder=folder.split(cyrus_delimiter);new_folder='user'+cyrus_delimiter+arrayFolder[1];} 675 else{new_folder='INBOX';} 676 var new_folder_name=get_lang('INBOX');var handler_move_msgs=function(data){if(msgs_number=='selected') 677 set_messages_flag("unseen","get_selected_messages");else 678 proxy_mensagens.proxy_set_message_flag(msgs_number,"unseen");proxy_mensagens.proxy_move_messages(folder,msgs_number,border_ID,new_folder,new_folder_name);if(openTab.type[currentTab]>1) 679 delete_border(currentTab,'false');} 680 if(currentTab.toString().indexOf("_r")!=-1) 681 msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));else if(msgs_number=='selected') 682 msgs_number=get_selected_messages();if(currentTab==0) 683 msgs_number=get_selected_messages();if(typeof currentTab=="string"&¤tTab.indexOf("search_")!="-1"){msgs_number="";var checked=$("#divScrollMain_"+currentTab.substr(currentTab.indexOf('_')+1,255)).find("tr input:checked");$.each(checked,function(index,value){if(value){if(index==0) 684 msgs_number=$(value).parents("tr").attr("id");else 685 msgs_number+=","+$(value).parents("tr").attr("id");}});} 686 if(parseInt(msgs_number)>0||msgs_number.length>0) 687 cExecute("$this.imap_functions.spam&folder="+folder+"&spam=false"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter,handler_move_msgs);else 688 write_msg(get_lang('No selected message.'));} 689 function spam(folder,msgs_number,border_ID){if(folder=='null') 690 folder=get_current_folder();var new_folder='';if(folder.substr(0,4)=='user') 691 {arrayFolder=folder.split(cyrus_delimiter);new_folder='user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Spam'];} 692 else 693 {new_folder=mount_url_folder(["INBOX",special_folders["Spam"]]);} 694 var new_folder_name='Spam';var not_opem_previus=true;var handler_move_msgs=function(data){proxy_mensagens.proxy_move_messages(folder,msgs_number,border_ID,new_folder,new_folder_name,not_opem_previus);if(openTab.type[currentTab]>1){if(preferences.delete_and_show_previous_message==1) 695 delete_border(currentTab,'false');}} 696 if(currentTab.toString().indexOf("_r")!=-1) 697 msgs_number=currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));else if(currentTab!=0&¤tTab.indexOf("search_")>=0){var content_search=document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]),'Trash',move_search_msgs('content_id_'+currentTab,mount_url_folder(["INBOX",special_folders["Spam"]]),special_folders['Spam']);refresh();return;}else if(msgs_number=='selected') 698 msgs_number=get_selected_messages();if(currentTab==0) 699 msgs_number=get_selected_messages();if(parseInt(msgs_number)>0||msgs_number.length>0) 700 cExecute("$this.imap_functions.spam&folder="+folder+"&spam=true"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter,handler_move_msgs);else 701 write_msg(get_lang('No selected message.'));} 4542 702 function import_window() 4543 { 4544 if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){ 4545 alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais."); 4546 return true; 4547 } 4548 var folder = {}; 4549 var importEmails = $("#importEmails"); 4550 importEmails.html( DataLayer.render( BASE_PATH + "modules/mail/templates/importEmails.ejs", {})); 4551 importEmails.dialog( 4552 { 4553 height : 280, 4554 width : 500, 4555 resizable : false, 4556 title : get_lang('zip mails to import'), 4557 modal : true, 4558 buttons : [ 4559 { 4560 text : get_lang("Close"), 4561 click : function() 4562 { 4563 importEmails.dialog("close").dialog("destroy"); 4564 } 4565 }, 4566 { 4567 text : get_lang("Import"), 4568 click : function() 4569 { 4570 var input_file = importEmails.find("input[type=file]"); 4571 var input_hidden = importEmails.find("input[name=folder]"); 4572 4573 if( input_file.attr("value") == "" ) 4574 { 4575 $.Zebra_Dialog(get_lang("You must choose a file") + " !",{ 4576 'type' : 'warning', 4577 'overlay_opacity' : '0.5', 4578 'onClose' : function(){ 4579 $("#importMessageAccordion").accordion('activate',0); 4580 } 4581 }); 4582 } 4583 else 4584 { 4585 if( input_hidden.attr("value") == "" ) 4586 $.Zebra_Dialog( get_lang("You must choose a folder") + " !" , { 4587 'type' : 'warning', 4588 'overlay_opacity' : '0.5', 4589 'onClose' : function(){ 4590 $("#importMessageAccordion").accordion('activate',1); 4591 } 4592 }); 4593 else 4594 { 4595 var handler_return = function(data) 4596 { 4597 write_msg(get_lang('The import was executed successfully.')); 4598 4599 return_import_msgs( data, folder ); 4600 } 4601 4602 var formSend = document.getElementById("importFileMessages"); 4603 4604 importEmails.dialog("destroy"); 4605 4606 write_msg(get_lang('You must wait while the messages will be imported...')); 4607 4608 cExecuteForm('$this.imap_functions.import_msgs', formSend , handler_return ); 4609 } 4610 } 4611 } 4612 } 4613 ], 4614 open: function(event, ui) 4615 { 4616 if(typeof(shortcut) != 'undefined') shortcut.disabled = true; 4617 }, 4618 close: function(event, ui) 4619 { 4620 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 4621 } 4622 }); 4623 4624 importEmails.css("overflow","hidden"); 4625 4626 importEmails.find("input[type=file]").change(function() 4627 { 4628 var deniedExtension = true; 4629 var fileExtension = ["eml","zip"]; 4630 var fileName = importEmails.find("input[type=file]").attr('value'); 4631 fileName = fileName.split("."); 4632 4633 if( fileName[1] ) 4634 { 4635 for( var i in fileExtension ) 4636 { 4637 if( fileExtension[i].toUpperCase() === fileName[1].toUpperCase() ) 4638 { 4639 deniedExtension = false; 4640 break; 4641 } 4642 } 4643 } 4644 4645 if( deniedExtension ) 4646 { 4647 $.Zebra_Dialog( get_lang('File extension forbidden or invalid file') , { 4648 'type' : 'warning', 4649 'overlay_opacity' : '0.5' 4650 }); 4651 } 4652 4653 $("#lblFileName").html( ( !deniedExtension ) ? importEmails.find("input[type=file]").attr('value') : "" ); 4654 4655 }); 4656 4657 $("#importMessageAccordion").accordion(); 4658 4659 var foldersTree = jQuery("#foldertree-container-importMessage") 4660 .removeClass('empty-container') 4661 .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', {folders: [cp_tree1, cp_tree2, [] ]})) 4662 .find("#foldertree").treeview() 4663 .click(function(event) 4664 { 4665 //request new selected folder messages 4666 var target = $(event.target); 4667 4668 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable, .lastExpandable, .treeview') ) 4669 return; 4670 4671 if( !target.attr('id') ) 4672 target = target.parent(); 4673 4674 if (target.attr('id') == "foldertree") return; 4675 4676 folder.id = target.attr('id'); 4677 folder.child = target.find('.folder'); 4678 folder.caption = target.find('span').attr('title'); 4679 4680 $('#foldertree-container-importMessage .filetree span.folder.selected').removeClass('selected'); 4681 if(!target.is('#foldertree > .expandable, #foldertree > .collapsable')) 4682 $(target).children('.folder').addClass('selected'); 4683 4684 selectedFolder = { 4685 id: folder.id, 4686 name: folder.child.attr('title'), 4687 'class': folder.child.attr('class') 4688 }; 4689 4690 importEmails.find("input[name=folder]").attr("value", folder.id); 4691 }); 4692 4693 $("#lblFileName").prev().css("margin-left", "10px"); 4694 $("#lblFileName").prev().css("font-weight", "bold"); 4695 } 4696 4697 function return_import_msgs(data, folder) 4698 { 4699 if(data && data.error){ 4700 write_msg(data.error); 4701 } 4702 else 4703 { 4704 if(data == 'Post-Content-Length') 4705 write_msg(get_lang('The size of this message has exceeded the limit (%1B).', preferences.max_attachment_size ? preferences.max_attachment_size : Element('upload_max_filesize').value)); 4706 else 4707 { /* 4708 * @author Rommel Cysne (rommel.cysne@serpro.gov.br) 4709 * @date 2009/05/15 4710 * Foi colocado um teste para verificar se a pasta selecionada, passada como parametro, 4711 * eh uma pasta local (qualquer uma) 4712 */ 4713 var er = /^local_/; 4714 if ( er.test(folder.id) ) 4715 { 4716 alert( "Mensagens não podem ser importadas em pastas locais" ); 4717 //archive_msgs('INBOX/Lixeira/tmpMoveToLocal',wfolders_tree._selected.id,data); 4718 //cExecute('$this.imap_functions.delete_mailbox',function(){},'del_past=INBOX/Lixeira/tmpMoveToLocal'); 4719 } 4720 else 4721 { 4722 if( openTab.imapBox[0] == folder.id ) 4723 { 4724 openTab.imapBox[0] = ''; 4725 change_folder(folder.id, folder.caption); 4726 } 4727 4728 refresh(); 4729 } 4730 } 4731 } 4732 4733 } 4734 4735 //Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar 4736 function decodeCreateSchedulable(type, ID){ 4737 var startEvent = new Date(); 4738 if(startEvent.toString('mm') < 30) 4739 startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))}); 4740 else 4741 startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')}); 4742 var endEvent = function(date){ 4743 if(!!User.preferences.defaultCalendar){ 4744 return new Date(parseInt(date.getTime()) + 4745 (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ? 4746 (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 4747 (User.preferences.defaultDuration * 60000) 4748 )); 4749 }else 4750 return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000)); 4751 }; 4752 4753 var emails = $("#to_values_"+ID).val().split(','); 4754 4755 var schedulable = {}; 4756 4757 schedulable = { 4758 acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 4759 alarms: [], 4760 allDay: false, 4761 attachments: [], 4762 isAttendee: true, 4763 attendee: '',//TODOOOOOO, 4764 category: '', 4765 'class': '1', 4766 delegatedFrom: {}, 4767 endDate: startEvent.toString(User.preferences.dateFormat), 4768 startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 4769 startHour: startEvent.toString(User.preferences.hourFormat), 4770 endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 4771 timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 4772 summary : $("#subject_"+ID).text(), 4773 description : $("#body_" + ID).text(), 4774 startTime: startEvent.getTime(), 4775 endTime: endEvent(startEvent), 4776 timezones: Timezone.timezones, 4777 me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 4778 organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 4779 statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 4780 location: '', 4781 attendee: $.map(emails, function( mail ){ 4782 var contact = false; 4783 var decoded = Encoder.htmlDecode(mail); 4784 var newAttendeeName = ""; 4785 4786 var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 4787 var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded; 4788 4789 4790 var user = DataLayer.get('user', ["=", "mail", mail], true); 4791 4792 if( $.type(user) == "array" ) 4793 user = user[0]; 4794 4795 if(user != ''){ 4796 //user = {name : name , mail : mail}; 4797 if(User.me.mail == user.mail) 4798 return(null); 4799 user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 4800 4801 return DataLayer.merge({ 4802 name: user.name, 4803 mail: user.mail, 4804 acl: 'r', 4805 delegatedFrom: '0', 4806 status: '4', 4807 isExternal: user.isExternal 4808 }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})}); 4809 }else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){ 4810 4811 var userId = DataLayer.put('user', { 4812 name: name, 4813 mail: mail, 4814 isExternal: '1' 4815 }); 4816 var newAttendeeId = DataLayer.put('participant', { 4817 user: userId, 4818 isExternal: '1' 4819 }); 4820 4821 return { 4822 id: newAttendeeId, 4823 name: name, 4824 mail: mail, 4825 acl: 'r', 4826 delegatedFrom: '0', 4827 status: '4', 4828 isExternal: '1' 4829 }; 4830 4831 }else 4832 return (null); 4833 }) 4834 }; 4835 4836 schedulable = DataLayer.merge(schedulable, 4837 type == 'event' ? 4838 {calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], calendars: Calendar.calendars} 4839 : {group: Calendar.groups[0].id, groups: Calendar.groups, percentage: 0, isOrganizer: true} 4840 ); 4841 4842 return schedulable; 4843 4844 4845 } 4846 4847 function import_implements_calendar(){ 4848 4849 if(typeof(Encoder) == "undefined"){ 4850 /* 4851 * Deve-se centralizar as informações do usuário logado afim de não incluir 4852 * arquivos de modulos distintos para este fim. 4853 */ 4854 4855 //$.ajax({ url: "../expressoCalendar/index.php", async: false}); 4856 //$.ajax({url: "../prototype/modules/calendar/js/calendar.date.js", async: false, beforeSend: function( xhr ) { xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4857 $.ajax({url: "../prototype/modules/calendar/js/load.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4858 $.ajax({url: "../prototype/modules/calendar/js/map.disponibility.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4859 $.ajax({url: "../prototype/modules/calendar/js/helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4860 $.ajax({url: "../prototype/modules/calendar/js/task.helpers.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4861 //$.ajax({ url: "../prototype/modules/calendar/js/timezone.js", async: false}); 4862 //$.ajax({ url: "../prototype/modules/calendar/js/calendar.codecs.js", async: false}); 4863 $.ajax({url: "../prototype/plugins/encoder/encoder.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4864 $.ajax({url: "../prototype/plugins/jquery.spinner/jquery.spinner.min.js", async: false, beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4865 //$.ajax({url: "../prototype/plugins/dateFormat/dateFormat.js", async: false, beforeSend: function( xhr ) { xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4866 4867 $.ajax({url: "../prototype/plugins/fullcalendar/fullcalendar.js", async: false , beforeSend: function( xhr ) {xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}}); 4868 4869 4870 DataLayer.dispatchPath = "../prototype/"; 4871 } 4872 } 4873 4874 4875 function select_import_folder(){ 4876 //Begin: Verify if the file extension is allowed. 4877 var imgExtensions = new Array("eml","zip"); 4878 var inputFile = document.form_import.file_1; 4879 if(!inputFile.value){ 4880 alert(get_lang('File extension forbidden or invalid file') + '.'); 4881 return false; 4882 } 4883 var fileExtension = inputFile.value.split("."); 4884 fileExtension = fileExtension[(fileExtension.length-1)]; 4885 var deniedExtension = true; 4886 for(var i=0; i<imgExtensions.length; i++) { 4887 if(imgExtensions[i].toUpperCase() == fileExtension.toUpperCase()) { 4888 deniedExtension = false; 4889 break; 4890 } 4891 } 4892 if(deniedExtension) { 4893 alert(get_lang('File extension forbidden or invalid file') + '.'); 4894 return false; 4895 } 4896 arrayJSWin['import_window'].close(); 4897 connector.loadScript('wfolders'); 4898 4899 if ( typeof(wfolders) == "undefined" ) 4900 setTimeout( 'select_import_folder()', 500 ); 4901 else 4902 wfolders.makeWindow('null','import'); 4903 } 4904 //Verifica o contexto de importação 4905 function decodeOwner(){ 4906 owner = User.me.id; 4907 var imapBox = openTab.imapBox[currentTab].split(cyrus_delimiter); 4908 if(imapBox.length > 1){ 4909 var user = DataLayer.get('user', {filter: ['=','uid',imapBox[1]]}); 4910 owner = $.isArray(user) ? user[0].id : user.id; 4911 } 4912 return owner; 4913 } 4914 4915 function import_calendar(data){ 4916 var import_url = '$this.db_functions.import_vcard&msg_folder='+data; 4917 var logUser; 4918 var up; 4919 var owner; 4920 4921 function handler_import_calendar(data){ 4922 if(data === true){ 4923 write_msg(get_lang("The event was imported successfully.")); 4924 } 4925 else if( data['url'] ) 4926 { 4927 var form = document.createElement( "form" ); 4928 4929 form.setAttribute( "action", DEFAULT_URL + data['url'] + '&isPost=true' ); 4930 form.setAttribute( "method", "POST" ); 4931 4932 document.body.appendChild( form ); 4933 4934 form.submit(); 4935 } 4936 else 4937 write_msg(get_lang(data)); 4938 } 4939 if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ 4940 import_implements_calendar(); 4941 $( "#import-dialog" ).dialog({ 4942 autoOpen: false, 4943 height: 220, 4944 modal: true, 4945 resizable : false, 4946 open: function(event, ui) { 4947 if(typeof(shortcut) != 'undefined') shortcut.disabled = true; 4948 }, 4949 close: function(event, ui){ 4950 event.stopPropagation(); 4951 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 4952 }, 4953 closeOnEscape: true 4954 }); 4955 4956 $.ajax({ 4957 url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&readable=true&cirus_delimiter='+cyrus_delimiter+'&analize=true&uidAccount='+decodeOwner(), 4958 async: false, 4959 success: function(data){ 4960 data = connector.unserialize(data); 4961 var createDialog = function(typeImport, propaget){ 4962 4963 if(typeof(typeImport) == "object"){ 4964 var calendarIds = !!typeImport.calendar ? typeImport.calendar : Calendar[typeImport.type]; 4965 typeImport = typeImport.action; 4966 } 4967 4968 switch(parseInt(typeImport)){ 4969 case 1: 4970 case 7: 4971 case 10: 4972 $("#select-agenda").html(''); 4973 4974 var options = ''; 4975 4976 if(calendarIds){ 4977 for(var i = 0; i < calendarIds.length; i++) 4978 options += '<option value="'+calendarIds[i]+'">'+Calendar.signatureOf[calendarIds[i]].calendar.name+'</option>' 4979 } 4980 4981 $("#select-agenda").append(options); 4982 $("#select-agenda").css("display", "block"); 4983 4984 $("#import-dialog" ).dialog({ 4985 buttons: { 4986 Cancel: function() { 4987 $( this ).dialog( "close" ); 4988 }, 4989 "Importar" : function(){ 4990 $.ajax({ 4991 url: "controller.php?action="+import_url+'&from_ajax=true&selected='+$("#select-agenda option:selected").val()+'&status='+$("#select-status option:selected").val()+'&uidAccount='+decodeOwner()+'&cirus_delimiter='+cyrus_delimiter, 4992 success: function(msg){ 4993 var alt = ( (msg = connector.unserialize(msg)) == "ok") ? "Importado com sucesso para " : "Ocorreu um erro ao importar o evento/tarefa para a agenda "; 4994 alert( alt + $("#select-agenda option:selected").text() ); 4995 } 4996 }); 4997 $( this ).dialog( "close" ); 4998 } 4999 } 5000 }); 5001 5002 if(typeImport == 7){ 5003 $("#import-dialog").find('#select-status option[value=1]').attr('selected','selected').trigger('change'); 5004 $("#import-dialog").find('#select-status').attr('disabled','disabled'); 5005 } 5006 break; 5007 case 3: 5008 $.ajax({ 5009 url: "controller.php?action="+import_url+'&from_ajax=true&selected=true', 5010 success: function(msg){ 5011 alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento/tarefa foi removido " : "Ocorreu um erro ao remover o evento/tarefa" ); 5012 } 5013 }); 5014 return; 5015 break; 5016 case 5: 5017 $.ajax({ 5018 url: 'controller.php?action='+import_url+'&from_ajax=true&selected=true&cirus_delimiter='+cyrus_delimiter, 5019 success: function(msg){ 5020 alert( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento/tarefa foi Atualizado com sucesso" : "Ocorreu um erro ao atualizar evento/tarefa" ); 5021 } 5022 }); 5023 return; 5024 break; 5025 case 6: 5026 var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?"); 5027 $.ajax({ 5028 url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&selected=true&cirus_delimiter='+cyrus_delimiter+'&acceptedSuggestion='+acceptedSuggestion+"&from="+document.getElementById('from_values_'+currentTab).value+'&uidAccount='+decodeOwner(), 5029 success: function(msg){ 5030 if(acceptedSuggestion) 5031 alert( ( ( connector.unserialize(msg)) == "ok") ? "Evento/tarefa atualizado com sucesso " : "Ocorreu um erro ao atualizar o evento" ); 5032 } 5033 }); 5034 return; 5035 break; 5036 case 9: 5037 alert('Seu evento/tarefa não possui alterações!'); 5038 return; 5039 break; 5040 case 11: 5041 alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!'); 5042 return; 5043 break; 5044 default: 5045 up = true; 5046 $("#select-agenda").css("display", "none"); 5047 $("#import-dialog" ).children("p:first-child").css("display", "none"); 5048 $("#import-dialog" ).dialog({ 5049 height: 160, 5050 title: 'Atualizar Evento/Tarefa', 5051 buttons: { 5052 Cancel: function() { 5053 $( this ).dialog( "close" ); 5054 }, 5055 "Atualizar": function() { 5056 $.ajax({ 5057 url: "controller.php?action="+import_url+'&from_ajax=true&cirus_delimiter='+cyrus_delimiter+'&selected='+ (parseInt(typeImport) == 2 || parseInt(typeImport) == 4 ? 'true' : $("#select-agenda option:selected").val()) +'&status='+$("#select-status option:selected").val()+'&uidAccount='+decodeOwner(), 5058 success: function(msg){ 5059 alert( ( (msg = connector.unserialize(msg)) == "ok") ? "Atualizado com sucesso" : "Ocorreu um erro ao atualizar o evento" ); 5060 } 5061 }); 5062 $( this ).dialog( "close" ); 5063 } 5064 }, 5065 close:function(event, ui) 5066 { 5067 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 5068 }, 5069 open: function(event, ui) 5070 { 5071 if(typeof(shortcut) != 'undefined') shortcut.disabled = true; 5072 } 5073 }); 5074 $(".ui-dialog-buttonpane").find(".ui-button:last").children().html("Atualizar"); 5075 } 5076 $( "#import-dialog" ).dialog( "open" ); 5077 5078 }; 5079 createDialog(data, true); 5080 5081 }, 5082 beforeSend: function( jqXHR, settings ){ 5083 connector.showProgressBar(); 5084 }, 5085 complete: function( jqXHR, settings ){ 5086 connector.hideProgressBar(); 5087 } 5088 }); 5089 } 5090 else 5091 { 5092 if(confirm(get_lang("Do you confirm this import to your Calendar?"))){ 5093 cExecute( import_url + "&from_ajax=true", handler_import_calendar); 5094 } 5095 } 5096 } 5097 5098 function open_msg_part(data){ 5099 var handler_open_msg_part = function (data) 5100 { 5101 if(data.append == 1) 5102 { 5103 proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,show_msg); 5104 partMsgs.push(data.msg_number); 5105 } 5106 else 5107 write_msg(data.append); 5108 } 5109 cExecute('$this.imap_functions.ope_msg_part&msg_folder='+data+'&save_folder=INBOX'+cyrus_delimiter+special_folders['Trash'] , handler_open_msg_part); 5110 } 5111 function hack_sent_queue(data,rowid_message) { 5112 5113 if (data.success != true) { 5114 queue_send_errors = true; 5115 expresso_local_messages.set_problem_on_sent(rowid_message,data); 5116 } 5117 else { 5118 expresso_local_messages.set_as_sent(rowid_message); 5119 if(document.getElementById('_action')) { //Não posso manter esse elemento, pois o connector irá criar outro com o mesmo id para a próxima mensagem. 5120 el =document.getElementById('_action'); 5121 father = el.parentNode; 5122 father.removeChild(el); 5123 } 5124 send_mail_from_queue(false); 5125 } 5126 } 5127 5128 function send_mail_from_queue(first_pass) { 5129 if(first_pass) 5130 modal('send_queue'); 5131 var num_msgs = expresso_local_messages.get_num_msgs_to_send(); 5132 if (num_msgs <= 0) { 5133 close_lightbox(); 5134 return; 5135 } 5136 document.getElementById('text_send_queue').innerHTML = get_lang('Number of messages to send:')+' '+num_msgs; 5137 var handler_send_queue_message = function(data,rowid_message) { 5138 hack_sent_queue(data,this.ID_tmp); 5139 } 5140 var msg_to_send = expresso_local_messages.get_form_msg_to_send(); 5141 if(!is_ie) 5142 ID_tmp = msg_to_send.rowid.value; 5143 else {//I.E kills me of shame... 5144 for (var i=0;i<msg_to_send.length;i++) { 5145 if(msg_to_send.elements[i].name=='rowid') { 5146 ID_tmp = msg_to_send.elements[i].value; 5147 break; 5148 } 5149 } 5150 } 5151 expresso_local_messages.set_as_sent(ID_tmp); 5152 cExecuteForm("$this.imap_functions.send_mail", msg_to_send, handler_send_queue_message,"queue_"+ID_tmp); 5153 send_mail_from_queue(false); 5154 } 5155 5156 function check_mail_in_queue() { 5157 var num_msgs = expresso_local_messages.get_num_msgs_to_send(); 5158 if(num_msgs>0) { 5159 control = confirm(get_lang('You have messages to send. Want you to send them now?')); 5160 if(control) { 5161 send_mail_from_queue(true); 5162 } 5163 return true; 5164 } 5165 else { 5166 return false; 5167 } 5168 } 5169 5170 function force_check_queue() { 5171 if(!check_mail_in_queue()) { 5172 write_msg(get_lang("No messages to send")); 5173 } 5174 } 5175 5176 function create_new_local_folder(parentFolderId, name){ 5177 5178 parentFolderId = parentFolderId.split("_"); 5179 var parentName = parentFolderId[2]; 5180 5181 expresso_mail_archive.createFolder(parentName, name); 5182 5183 } 5184 5185 function create_new_folder(name_folder, base_path){ 5186 //Limit reached folders 5187 if(preferences.imap_max_folders){ 5188 if(cp_tree1.length == parseInt(preferences.imap_max_folders)){ 5189 $(".folders-loading").removeClass("folders-loading"); 5190 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 5191 return write_msg(get_lang("Limit reached folders")); 5192 } 5193 } 5194 5195 $.ajax({ 5196 url : "controller.php?action=$this.imap_functions.create_mailbox", 5197 type : "POST", 5198 async : false, 5199 data : "newp="+name_folder+"&base_path="+base_path, 5200 success : function(data){ 5201 data = connector.unserialize(data); 5202 if(data == "Mailbox already exists"){ 5203 write_msg(get_lang("Mailbox already exists")); 5204 }else if(data.substring(data.indexOf("Permission"), data.length) == "Permission denied"){ 5205 $(".folders-loading").removeClass("folders-loading"); 5206 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 5207 return write_msg(get_lang("Permission denied")); 5208 } 5209 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 5210 }, 5211 beforeSend: function( jqXHR, settings ){ 5212 connector.showProgressBar(); 5213 }, 5214 complete: function( jqXHR, settings ){ 5215 connector.hideProgressBar(); 5216 } 5217 }); 5218 } 5219 5220 function searchEmail(emailString){ 5221 var arrayInvalidEmails = new Array(); 5222 arrayInvalidEmails[1] = ''; 5223 var email; 5224 var arrayEmailsFull = new Array(); 5225 arrayEmailsFull = emailString.split(','); 5226 var er_Email = new RegExp("<(.*?)>"); 5227 // TODO Use validateEmail of common functions ! 5228 var er_ValidaEmail = new RegExp("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,3})$"); 5229 5230 for (i=0; i < arrayEmailsFull.length; i++){ 5231 email = er_Email.exec(arrayEmailsFull[i]); 5232 tempEmail = email == null ? arrayEmailsFull[i]:email[1]; 5233 tempEmail = tempEmail.replace(/^\s+|\s+$/g,""); 5234 5235 if (tempEmail != '') { 5236 singleEmail = er_ValidaEmail.exec(tempEmail); 5237 if (singleEmail == null) { 5238 arrayInvalidEmails[0] = true; 5239 arrayInvalidEmails[1] += (email == null ? arrayEmailsFull[i] : email[1]) + ""; 5240 } 5241 } 5242 } 5243 5244 return arrayInvalidEmails; 5245 } 5246 5247 /* Função que chama a tela para o usuário reportar um erro no email. */ 5248 function reports_window(currentTab){ 5249 ID_msg = currentTab.substr(0,currentTab.indexOf("_")); 5250 report_wind.make_report_window(ID_msg); 5251 } 5252 5253 5254 DataLayer.codec( "message", "detail", { 5255 5256 decoder:function( form ){ 5257 var border_id = form.abaID; 5258 //Defininindo pasta a ser salva mensagem 5259 var user_selected = $('#content_id_'+border_id).find('.from-select option:selected').text(); 5260 var str_begin_name = user_selected.indexOf('<') + 1; 5261 var str_end_name = user_selected.indexOf('@'); 5262 var user_selected_name = user_selected.substring(str_begin_name, str_end_name); 5263 5264 if(user_selected.length > 0) 5265 var user_selected_email = user_selected.match(/<([^<]*)>[\s]*$/)[1]; 5266 else 5267 var user_selected_email = User.me.mail; 5268 5269 if(user_selected_email == User.me.mail){ 5270 var prefix = 'INBOX'; 5271 }else{ 5272 var prefix = 'user' + cyrus_delimiter+user_selected_name; 5273 5274 /** TODO Mudar quando melhorias forem implementadas na API de atualização do cache */ 5275 DataLayer.remove('folder', false); 5276 DataLayer.get('folder'); 5277 5278 var has_folder = DataLayer.get('folder', prefix + cyrus_delimiter + draftsfolder); 5279 if(!has_folder){ 5280 create_new_folder(draftsfolder, prefix); 5281 } 5282 } 5283 5284 var folder_id = (openTab.imapBox[border_id] && openTab.type[border_id] < 6) ? openTab.imapBox[border_id]: prefix + cyrus_delimiter + draftsfolder; 5285 form.folder = folder_id; 5286 form.body = RichTextEditor.getData("body_"+border_id); 5287 form.type = RichTextEditor.plain[border_id] ? 'plain' : 'html'; 5288 form.attachments = listAttachment(border_id); 5289 form.uidsSave = uidsSave[border_id].toString(); 5290 return( form ); 5291 5292 }, 5293 5294 encoder:function( pref ){ 5295 5296 return( pref ); 5297 } 5298 5299 }); 5300 5301 DataLayer.codec( "mailAttachment", "detail", { 5302 5303 decoder: function(evtObj){ 5304 5305 if( notArray = $.type(evtObj) !== "array" ) 5306 evtObj = [ evtObj ]; 5307 5308 var res = $.map(evtObj, function( form){ 5309 return [$.map(form.files , function( files){ 5310 return {source: files , disposition : form['attDisposition'+form.abaID]}; 5311 })]; 5312 }); 5313 return notArray ? res[0] : res; 5314 }, 5315 5316 encoder: function(){} 5317 5318 5319 }); 5320 5321 function formatBytes(bytes) { 5322 if (bytes >= 1000000000) { 5323 return (bytes / 1000000000).toFixed(2) + ' GB'; 5324 } 5325 if (bytes >= 1000000) { 5326 return (bytes / 1000000).toFixed(2) + ' MB'; 5327 } 5328 if (bytes >= 1000) { 5329 return (bytes / 1000).toFixed(2) + ' KB'; 5330 } 5331 return bytes + ' B'; 5332 }; 5333 5334 function truncate(text, size){ 5335 var result = text; 5336 if(text.length > size){ 5337 result = text.substring(0,size) + '...'; 5338 } 5339 return result; 5340 } 5341 5342 /* 5343 * @author Marcos Luiz Wilhelm (marcoswilhelm@gmail.com) 5344 * @date 2012/07/17 5345 * @brief Break out emails only with comma out of quote marks 5346 */ 5347 function break_comma (originalText){ 5348 var quotesMarks = false; 5349 var completeString = ""; 5350 var brokenEmails = new Array(); 5351 originalText+=","; 5352 for(i=0; i<originalText.length; i++){ 5353 var character = originalText.substr(i,1); 5354 if(character == "\""){ 5355 quotesMarks = !quotesMarks; 5356 } 5357 if(!quotesMarks){ 5358 if(character == ","){ 5359 brokenEmails.push(completeString); 5360 completeString = ""; 5361 } 5362 else 5363 completeString+=character; 5364 } 5365 else 5366 completeString+=character; 5367 } 5368 return brokenEmails; 5369 } 5370 5371 DataLayer.links('message'); 5372 DataLayer.poll('message',30); 5373 5374 //MAILARCHIVER-04 5375 function services_retry(){ 5376 try{ 5377 connector.purgeCache(); 5378 //window.alert('expresso var dump:\nenabled = ' + expresso_mail_archive.enabled + '\ntimer = ' + expresso_mail_archive.timer +'\ncounter = ' + expresso_mail_archive.counter); 5379 5380 if ((expresso_mail_archive.enabled == null) && (expresso_mail_archive.timer == null) && (expresso_mail_archive.counter > 0)){ 5381 connector.hideProgressBar(); 5382 //connector.resetProgressBarText(); 5383 write_msg(get_lang('Sorry, but you need to reload this web page. Click at reload page at web browsing top navigation.')); 5384 return; 5385 } 5386 5387 if (arguments.length == 0){ 5388 write_msg(get_lang('Trying to communicate with Mail Archiver...')); 5389 } 5390 5391 connector.showProgressBar(); 5392 var head = document.getElementById('send_queue'); 5393 5394 var script_xdr= document.createElement('script'); 5395 var script_xdr_tag_id = 'mail_archiver_retry_xdr'; 5396 5397 var script_request= document.createElement('script'); 5398 var script_request_tag_id = 'mail_archiver_retry_request'; 5399 5400 var script_cors= document.createElement('script'); 5401 var script_cors_tag_id = 'mail_archiver_retry_cors'; 5402 5403 var script_utils= document.createElement('script'); 5404 var script_utils_tag_id = 'mail_archiver_retry_utils'; 5405 5406 if(document.getElementById(script_xdr_tag_id)){ 5407 document.getElementById(script_xdr_tag_id).parentNode.removeChild(document.getElementById(script_xdr_tag_id)); 5408 } 5409 5410 if(document.getElementById(script_request_tag_id)){ 5411 document.getElementById(script_request_tag_id).parentNode.removeChild(document.getElementById(script_request_tag_id)); 5412 } 5413 5414 if(document.getElementById(script_cors_tag_id)){ 5415 document.getElementById(script_cors_tag_id).parentNode.removeChild(document.getElementById(script_cors_tag_id)); 5416 } 5417 5418 if(document.getElementById(script_utils_tag_id)){ 5419 document.getElementById(script_utils_tag_id).parentNode.removeChild(document.getElementById(script_utils_tag_id)); 5420 } 5421 5422 //IE XDR ADAPTER 5423 script_xdr.type= 'text/javascript'; 5424 script_xdr.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcservutil/cxf-addon-xdr-adapter.js'; 5425 script_xdr.id= script_xdr_tag_id; 5426 head.appendChild(script_xdr); 5427 5428 //CXF TRANSPORT OBJECT 5429 script_request.type= 'text/javascript'; 5430 script_request.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcservutil/cxf-addon-cors-request-object.js'; 5431 script_request.id= script_request_tag_id; 5432 head.appendChild(script_request); 5433 5434 //CXF CORS OBJECT 5435 script_cors.type= 'text/javascript'; 5436 script_cors.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcservutil/cxf-addon-cors-utils.js'; 5437 script_cors.id= script_cors_tag_id; 5438 head.appendChild(script_cors); 5439 5440 //CXF CORE 5441 script_utils.type= 'text/javascript'; 5442 script_utils.src= mail_archive_protocol + '://' + mail_archive_host + ':' + mail_archive_port + '/arcserv/ArchiveServices?js&nojsutils'; 5443 script_utils.id= script_utils_tag_id; 5444 head.appendChild(script_utils); 5445 5446 ttintval = window.setTimeout('check_services_restart()', 1000); 5447 } 5448 catch (e){ 5449 write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 5450 connector.hideProgressBar(); 5451 //connector.resetProgressBarText(); 5452 check_services_tryouts = 1; 5453 } 5454 } 5455 5456 //MAILARCHIVER-05 5457 function check_services_restart(){ 5458 try{ 5459 write_msg(get_lang('Wait: attempt %1 from %2...', check_services_tryouts, check_services_tryouts_limit)); 5460 if(check_services_tryouts <= 5){ 5461 try{ 5462 ArchiveServices = new web_service_mailarchiver_serpro__ArchiveServices(); 5463 ArchiveServices.url = mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + "/arcserv/ArchiveServices"; 5464 window.clearInterval(ttintval); 5465 expresso_mail_archive.Restart(expresso_mail_archive); 5466 } 5467 catch (e){ 5468 check_services_tryouts++; 5469 window.clearInterval(ttintval); 5470 ttintval = window.setTimeout('services_retry(true)',1); 5471 } 5472 } 5473 else{ 5474 write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 5475 connector.hideProgressBar(); 5476 //connector.resetProgressBarText(); 5477 check_services_tryouts = 1; 5478 } 5479 } 5480 catch (e){ 5481 write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!')); 5482 connector.hideProgressBar(); 5483 //connector.resetProgressBarText(); 5484 check_services_tryouts = 1; 5485 } 5486 } 5487 703 {if(typeof(currentTab)=="string"&¤tTab.indexOf("local")!=-1){alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");return true;} 704 var folder={};var importEmails=$("#importEmails");importEmails.html(DataLayer.render(BASE_PATH+"modules/mail/templates/importEmails.ejs",{}));importEmails.dialog({height:280,width:500,resizable:false,title:get_lang('zip mails to import'),modal:true,buttons:[{text:get_lang("Close"),click:function() 705 {importEmails.dialog("close").dialog("destroy");}},{text:get_lang("Import"),click:function() 706 {var input_file=importEmails.find("input[type=file]");var input_hidden=importEmails.find("input[name=folder]");if(input_file.attr("value")=="") 707 {$.Zebra_Dialog(get_lang("You must choose a file")+" !",{'type':'warning','overlay_opacity':'0.5','onClose':function(){$("#importMessageAccordion").accordion('activate',0);}});} 708 else 709 {if(input_hidden.attr("value")=="") 710 $.Zebra_Dialog(get_lang("You must choose a folder")+" !",{'type':'warning','overlay_opacity':'0.5','onClose':function(){$("#importMessageAccordion").accordion('activate',1);}});else 711 {var handler_return=function(data) 712 {write_msg(get_lang('The import was executed successfully.'));return_import_msgs(data,folder);if(typeof(shortcut)!='undefined')shortcut.disabled=false;} 713 var formSend=document.getElementById("importFileMessages");importEmails.dialog("destroy");write_msg(get_lang('You must wait while the messages will be imported...'));cExecuteForm('$this.imap_functions.import_msgs',formSend,handler_return);}}}}],open:function(event,ui) 714 {if(typeof(shortcut)!='undefined')shortcut.disabled=true;},close:function(event,ui) 715 {if(typeof(shortcut)!='undefined')shortcut.disabled=false;},destroy:function(event,ui) 716 {if(typeof(shortcut)!='undefined')shortcut.disabled=false;}});importEmails.css("overflow","hidden");importEmails.find("input[type=file]").change(function() 717 {var deniedExtension=true;var fileExtension=["eml","zip"];var fileName=importEmails.find("input[type=file]").attr('value');fileName=fileName.split(".");if(fileName[1]) 718 {for(var i in fileExtension) 719 {if(fileExtension[i].toUpperCase()===fileName[1].toUpperCase()) 720 {deniedExtension=false;break;}}} 721 if(deniedExtension) 722 {$.Zebra_Dialog(get_lang('File extension forbidden or invalid file'),{'type':'warning','overlay_opacity':'0.5'});} 723 $("#lblFileName").html((!deniedExtension)?importEmails.find("input[type=file]").attr('value'):"");});$("#importMessageAccordion").accordion();var foldersTree=jQuery("#foldertree-container-importMessage").removeClass('empty-container').html(DataLayer.render(BASE_PATH+'api/templates/foldertree.ejs',{folders:[cp_tree1,cp_tree2,[]]})).find("#foldertree").treeview().click(function(event) 724 {var target=$(event.target);if(target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable, .lastExpandable, .treeview')) 725 return;if(!target.attr('id')) 726 target=target.parent();if(target.attr('id')=="foldertree")return;folder.id=target.attr('id');folder.child=target.find('.folder');folder.caption=target.find('span').attr('title');$('#foldertree-container-importMessage .filetree span.folder.selected').removeClass('selected');if(!target.is('#foldertree > .expandable, #foldertree > .collapsable')) 727 $(target).children('.folder').addClass('selected');selectedFolder={id:folder.id,name:folder.child.attr('title'),'class':folder.child.attr('class')};importEmails.find("input[name=folder]").attr("value",folder.id);});$("#lblFileName").prev().css("margin-left","10px");$("#lblFileName").prev().css("font-weight","bold");} 728 function return_import_msgs(data,folder) 729 {if(data&&data.error){write_msg(data.error);} 730 else 731 {if(data=='Post-Content-Length') 732 write_msg(get_lang('The size of this message has exceeded the limit (%1B).',preferences.max_attachment_size?preferences.max_attachment_size:Element('upload_max_filesize').value));else 733 {var er=/^local_/;if(er.test(folder.id)) 734 {alert("Mensagens não podem ser importadas em pastas locais");} 735 else 736 {if(openTab.imapBox[0]==folder.id) 737 {openTab.imapBox[0]='';change_folder(folder.id,folder.caption);} 738 refresh();}}}} 739 function decodeCreateSchedulable(type,ID){var startEvent=new Date();if(startEvent.toString('mm')<30) 740 startEvent.add({minutes:(30-parseInt(startEvent.toString('mm')))});else 741 startEvent.add({hours:1,minutes:'-'+startEvent.toString('mm')});var endEvent=function(date){if(!!User.preferences.defaultCalendar){return new Date(parseInt(date.getTime())+ 742 (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration?(Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration*60000):(User.preferences.defaultDuration*60000)));}else 743 return new Date(parseInt(date.getTime())+(User.preferences.defaultDuration*60000));};var emails=$("#to_values_"+ID).val().split(',');var schedulable={};schedulable={acl:{inviteGuests:true,organization:true,participationRequired:false,read:true,write:true},alarms:[],allDay:false,attachments:[],isAttendee:true,attendee:'',category:'','class':'1',delegatedFrom:{},endDate:startEvent.toString(User.preferences.dateFormat),startDate:endEvent(startEvent).toString(User.preferences.dateFormat),startHour:startEvent.toString(User.preferences.hourFormat),endHour:endEvent(startEvent).toString(User.preferences.hourFormat),timezone:User.preferences.defaultCalendar?Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone:User.preferences.timezone,summary:$("#subject_"+ID).text(),description:$("#body_"+ID).text(),startTime:startEvent.getTime(),endTime:endEvent(startEvent),timezones:Timezone.timezones,me:{name:User.me.name,mail:User.me.mail,acl:'rowi',status:'1',delegatedFrom:'0',id:User.me.id},organizer:{name:User.me.name,mail:User.me.mail,acl:'rowi',status:'1',delegatedFrom:'0',id:User.me.id},statusParticipants:{accepted:0,cancelled:0,tentative:0,unanswered:emails.length},location:'',attendee:$.map(emails,function(mail){var contact=false;var decoded=Encoder.htmlDecode(mail);var newAttendeeName="";var name=decoded.match(/"([^"]*)"/)?decoded.match(/"([^"]*)"/)[1]:'';var mail=decoded.match(/<([^<]*)>[\s]*$/)?decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase():decoded;var user=DataLayer.get('user',["=","mail",mail],true);if($.type(user)=="array") 744 user=user[0];if(user!=''){if(User.me.mail==user.mail) 745 return(null);user.isExternal=(!!user&&!(!!user.isExternal))?0:1;return DataLayer.merge({name:user.name,mail:user.mail,acl:'r',delegatedFrom:'0',status:'4',isExternal:user.isExternal},!!user.id?{id:DataLayer.put('participant',{user:user.id,isExternal:user.isExternal})}:{id:DataLayer.put('participant',{user:user})});}else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){var userId=DataLayer.put('user',{name:name,mail:mail,isExternal:'1'});var newAttendeeId=DataLayer.put('participant',{user:userId,isExternal:'1'});return{id:newAttendeeId,name:name,mail:mail,acl:'r',delegatedFrom:'0',status:'4',isExternal:'1'};}else 746 return(null);})};schedulable=DataLayer.merge(schedulable,type=='event'?{calendar:User.preferences.defaultCalendar?User.preferences.defaultCalendar:Calendar.calendars[0],calendars:Calendar.calendars}:{group:Calendar.groups[0].id,groups:Calendar.groups,percentage:0,isOrganizer:true});return schedulable;} 747 function import_implements_calendar(){if(typeof(Encoder)=="undefined"){$.ajax({url:"../prototype/modules/calendar/js/load.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/modules/calendar/js/map.disponibility.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/modules/calendar/js/helpers.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/modules/calendar/js/task.helpers.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/plugins/encoder/encoder.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/plugins/jquery.spinner/jquery.spinner.min.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});$.ajax({url:"../prototype/plugins/fullcalendar/fullcalendar.js",async:false,beforeSend:function(xhr){xhr.overrideMimeType('text/javascript; charset=ISO-8859-1')}});DataLayer.dispatchPath="../prototype/";}} 748 function select_import_folder(){var imgExtensions=new Array("eml","zip");var inputFile=document.form_import.file_1;if(!inputFile.value){alert(get_lang('File extension forbidden or invalid file')+'.');return false;} 749 var fileExtension=inputFile.value.split(".");fileExtension=fileExtension[(fileExtension.length-1)];var deniedExtension=true;for(var i=0;i<imgExtensions.length;i++){if(imgExtensions[i].toUpperCase()==fileExtension.toUpperCase()){deniedExtension=false;break;}} 750 if(deniedExtension){alert(get_lang('File extension forbidden or invalid file')+'.');return false;} 751 arrayJSWin['import_window'].close();connector.loadScript('wfolders');if(typeof(wfolders)=="undefined") 752 setTimeout('select_import_folder()',500);else 753 wfolders.makeWindow('null','import');} 754 function decodeOwner(){owner=User.me.id;var imapBox=openTab.imapBox[currentTab].split(cyrus_delimiter);if(imapBox.length>1){var user=DataLayer.get('user',{filter:['=','uid',imapBox[1]]});owner=$.isArray(user)?user[0].id:user.id;} 755 return owner;} 756 function import_calendar(data){var import_url='$this.db_functions.import_vcard&msg_folder='+data;var logUser;var up;var owner;function handler_import_calendar(data){if(data===true){write_msg(get_lang("The event was imported successfully."));} 757 else if(data['url']) 758 {var form=document.createElement("form");form.setAttribute("action",DEFAULT_URL+data['url']+'&isPost=true');form.setAttribute("method","POST");document.body.appendChild(form);form.submit();} 759 else 760 write_msg(get_lang(data));} 761 if(defaultCalendar=="expressoCalendar"&&$("#expressoCalendarid")[0]){import_implements_calendar();$("#import-dialog").dialog({autoOpen:false,height:220,modal:true,resizable:false,open:function(event,ui){if(typeof(shortcut)!='undefined')shortcut.disabled=true;},close:function(event,ui){event.stopPropagation();if(typeof(shortcut)!='undefined')shortcut.disabled=false;},closeOnEscape:true});$.ajax({url:"controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&readable=true&cirus_delimiter='+cyrus_delimiter+'&analize=true&uidAccount='+decodeOwner(),async:false,success:function(data){data=connector.unserialize(data);var createDialog=function(typeImport,propaget){if(typeof(typeImport)=="object"){var calendarIds=!!typeImport.calendar?typeImport.calendar:Calendar[typeImport.type];typeImport=typeImport.action;} 762 switch(parseInt(typeImport)){case 1:case 7:case 10:$("#select-agenda").html('');var options='';if(calendarIds){for(var i=0;i<calendarIds.length;i++) 763 options+='<option value="'+calendarIds[i]+'">'+Calendar.signatureOf[calendarIds[i]].calendar.name+'</option>'} 764 $("#select-agenda").append(options);$("#select-agenda").css("display","block");$("#import-dialog").dialog({buttons:{Cancel:function(){$(this).dialog("close");},"Importar":function(){$.ajax({url:"controller.php?action="+import_url+'&from_ajax=true&selected='+$("#select-agenda option:selected").val()+'&status='+$("#select-status option:selected").val()+'&uidAccount='+decodeOwner()+'&cirus_delimiter='+cyrus_delimiter,success:function(msg){var alt=((msg=connector.unserialize(msg))=="ok")?"Importado com sucesso para ":"Ocorreu um erro ao importar o evento/tarefa para a agenda ";alert(alt+$("#select-agenda option:selected").text());}});$(this).dialog("close");}}});if(typeImport==7){$("#import-dialog").find('#select-status option[value=1]').attr('selected','selected').trigger('change');$("#import-dialog").find('#select-status').attr('disabled','disabled');} 765 break;case 3:$.ajax({url:"controller.php?action="+import_url+'&from_ajax=true&selected=true',success:function(msg){alert(((connector.unserialize(msg))=="ok")?"Seu evento/tarefa foi removido ":"Ocorreu um erro ao remover o evento/tarefa");}});return;break;case 5:$.ajax({url:'controller.php?action='+import_url+'&from_ajax=true&selected=true&cirus_delimiter='+cyrus_delimiter,success:function(msg){alert(((connector.unserialize(msg))=="ok")?"Seu evento/tarefa foi Atualizado com sucesso":"Ocorreu um erro ao atualizar evento/tarefa");}});return;break;case 6:var acceptedSuggestion=confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?");$.ajax({url:"controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&selected=true&cirus_delimiter='+cyrus_delimiter+'&acceptedSuggestion='+acceptedSuggestion+"&from="+document.getElementById('from_values_'+currentTab).value+'&uidAccount='+decodeOwner(),success:function(msg){if(acceptedSuggestion) 766 alert(((connector.unserialize(msg))=="ok")?"Evento/tarefa atualizado com sucesso ":"Ocorreu um erro ao atualizar o evento");}});return;break;case 9:alert('Seu evento/tarefa não possui alterações!');return;break;case 11:alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!');return;break;default:up=true;$("#select-agenda").css("display","none");$("#import-dialog").children("p:first-child").css("display","none");$("#import-dialog").dialog({height:160,title:'Atualizar Evento/Tarefa',buttons:{Cancel:function(){$(this).dialog("close");},"Atualizar":function(){$.ajax({url:"controller.php?action="+import_url+'&from_ajax=true&cirus_delimiter='+cyrus_delimiter+'&selected='+(parseInt(typeImport)==2||parseInt(typeImport)==4?'true':$("#select-agenda option:selected").val())+'&status='+$("#select-status option:selected").val()+'&uidAccount='+decodeOwner(),success:function(msg){alert(((msg=connector.unserialize(msg))=="ok")?"Atualizado com sucesso":"Ocorreu um erro ao atualizar o evento");}});$(this).dialog("close");}},close:function(event,ui) 767 {if(typeof(shortcut)!='undefined')shortcut.disabled=false;},open:function(event,ui) 768 {if(typeof(shortcut)!='undefined')shortcut.disabled=true;}});$(".ui-dialog-buttonpane").find(".ui-button:last").children().html("Atualizar");} 769 $("#import-dialog").dialog("open");};createDialog(data,true);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 770 else 771 {if(confirm(get_lang("Do you confirm this import to your Calendar?"))){cExecute(import_url+"&from_ajax=true",handler_import_calendar);}}} 772 function open_msg_part(data){var handler_open_msg_part=function(data) 773 {if(data.append==1) 774 {proxy_mensagens.get_msg(data.msg_number,data.msg_folder,false,show_msg);partMsgs.push(data.msg_number);} 775 else 776 write_msg(data.append);} 777 cExecute('$this.imap_functions.ope_msg_part&msg_folder='+data+'&save_folder=INBOX'+cyrus_delimiter+special_folders['Trash'],handler_open_msg_part);} 778 function hack_sent_queue(data,rowid_message){if(data.success!=true){queue_send_errors=true;expresso_local_messages.set_problem_on_sent(rowid_message,data);} 779 else{expresso_local_messages.set_as_sent(rowid_message);if(document.getElementById('_action')){el=document.getElementById('_action');father=el.parentNode;father.removeChild(el);} 780 send_mail_from_queue(false);}} 781 function send_mail_from_queue(first_pass){if(first_pass) 782 modal('send_queue');var num_msgs=expresso_local_messages.get_num_msgs_to_send();if(num_msgs<=0){close_lightbox();return;} 783 document.getElementById('text_send_queue').innerHTML=get_lang('Number of messages to send:')+' '+num_msgs;var handler_send_queue_message=function(data,rowid_message){hack_sent_queue(data,this.ID_tmp);} 784 var msg_to_send=expresso_local_messages.get_form_msg_to_send();if(!is_ie) 785 ID_tmp=msg_to_send.rowid.value;else{for(var i=0;i<msg_to_send.length;i++){if(msg_to_send.elements[i].name=='rowid'){ID_tmp=msg_to_send.elements[i].value;break;}}} 786 expresso_local_messages.set_as_sent(ID_tmp);cExecuteForm("$this.imap_functions.send_mail",msg_to_send,handler_send_queue_message,"queue_"+ID_tmp);send_mail_from_queue(false);} 787 function check_mail_in_queue(){var num_msgs=expresso_local_messages.get_num_msgs_to_send();if(num_msgs>0){control=confirm(get_lang('You have messages to send. Want you to send them now?'));if(control){send_mail_from_queue(true);} 788 return true;} 789 else{return false;}} 790 function force_check_queue(){if(!check_mail_in_queue()){write_msg(get_lang("No messages to send"));}} 791 function create_new_local_folder(parentFolderId,name){parentFolderId=parentFolderId.split("_");var parentName=parentFolderId[2];expresso_mail_archive.createFolder(parentName,name);} 792 function create_new_folder(name_folder,base_path){if(preferences.imap_max_folders){if(cp_tree1.length==parseInt(preferences.imap_max_folders)){$(".folders-loading").removeClass("folders-loading");cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);return write_msg(get_lang("Limit reached folders"));}} 793 $.ajax({url:"controller.php?action=$this.imap_functions.create_mailbox",type:"POST",async:false,data:"newp="+name_folder+"&base_path="+base_path,success:function(data){data=connector.unserialize(data);if(data=="Mailbox already exists"){write_msg(get_lang("Mailbox already exists"));}else if(data.substring(data.indexOf("Permission"),data.length)=="Permission denied"){$(".folders-loading").removeClass("folders-loading");cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);return write_msg(get_lang("Permission denied"));} 794 cExecute("$this.imap_functions.get_folders_list&onload=true",update_menu);},beforeSend:function(jqXHR,settings){connector.showProgressBar();},complete:function(jqXHR,settings){connector.hideProgressBar();}});} 795 function searchEmail(emailString){var arrayInvalidEmails=new Array();arrayInvalidEmails[1]='';var email;var arrayEmailsFull=new Array();arrayEmailsFull=emailString.split(',');var er_Email=new RegExp("<(.*?)>");var er_ValidaEmail=new RegExp("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,3})$");for(i=0;i<arrayEmailsFull.length;i++){email=er_Email.exec(arrayEmailsFull[i]);tempEmail=email==null?arrayEmailsFull[i]:email[1];tempEmail=tempEmail.replace(/^\s+|\s+$/g,"");if(tempEmail!=''){singleEmail=er_ValidaEmail.exec(tempEmail);if(singleEmail==null){arrayInvalidEmails[0]=true;arrayInvalidEmails[1]+=(email==null?arrayEmailsFull[i]:email[1])+"";}}} 796 return arrayInvalidEmails;} 797 function reports_window(currentTab){ID_msg=currentTab.substr(0,currentTab.indexOf("_"));report_wind.make_report_window(ID_msg);} 798 DataLayer.codec("message","detail",{decoder:function(form){var border_id=form.abaID;var user_selected=$('#content_id_'+border_id).find('.from-select option:selected').text();var str_begin_name=user_selected.indexOf('<')+1;var str_end_name=user_selected.indexOf('@');var user_selected_name=user_selected.substring(str_begin_name,str_end_name);if(user_selected.length>0) 799 var user_selected_email=user_selected.match(/<([^<]*)>[\s]*$/)[1];else 800 var user_selected_email=User.me.mail;if(user_selected_email==User.me.mail){var prefix='INBOX';}else{var prefix='user'+cyrus_delimiter+user_selected_name;DataLayer.remove('folder',false);DataLayer.get('folder');var has_folder=DataLayer.get('folder',prefix+cyrus_delimiter+draftsfolder);if(!has_folder){create_new_folder(draftsfolder,prefix);}} 801 var folder_id=(openTab.imapBox[border_id]&&openTab.type[border_id]<6)?openTab.imapBox[border_id]:prefix+cyrus_delimiter+draftsfolder;form.folder=folder_id;form.body=RichTextEditor.getData("body_"+border_id);form.type=RichTextEditor.plain[border_id]?'plain':'html';form.attachments=listAttachment(border_id);form.uidsSave=uidsSave[border_id].toString();return(form);},encoder:function(pref){return(pref);}});DataLayer.codec("mailAttachment","detail",{decoder:function(evtObj){if(notArray=$.type(evtObj)!=="array") 802 evtObj=[evtObj];var res=$.map(evtObj,function(form){return[$.map(form.files,function(files){return{source:files,disposition:form['attDisposition'+form.abaID]};})];});return notArray?res[0]:res;},encoder:function(){}});function formatBytes(bytes){if(bytes>=1000000000){return(bytes/1000000000).toFixed(2)+' GB';} 803 if(bytes>=1000000){return(bytes/1000000).toFixed(2)+' MB';} 804 if(bytes>=1000){return(bytes/1000).toFixed(2)+' KB';} 805 return bytes+' B';};function truncate(text,size){var result=text;if(text.length>size){result=text.substring(0,size)+'...';} 806 return result;} 807 function break_comma(originalText){var quotesMarks=false;var completeString="";var brokenEmails=new Array();originalText+=",";for(i=0;i<originalText.length;i++){var character=originalText.substr(i,1);if(character=="\""){quotesMarks=!quotesMarks;} 808 if(!quotesMarks){if(character==","){brokenEmails.push(completeString);completeString="";} 809 else 810 completeString+=character;} 811 else 812 completeString+=character;} 813 return brokenEmails;} 814 DataLayer.links('message');DataLayer.poll('message',30);function services_retry(){try{connector.purgeCache();if((expresso_mail_archive.enabled==null)&&(expresso_mail_archive.timer==null)&&(expresso_mail_archive.counter>0)){connector.hideProgressBar();write_msg(get_lang('Sorry, but you need to reload this web page. Click at reload page at web browsing top navigation.'));return;} 815 if(arguments.length==0){write_msg(get_lang('Trying to communicate with Mail Archiver...'));} 816 connector.showProgressBar();var head=document.getElementById('send_queue');var script_xdr=document.createElement('script');var script_xdr_tag_id='mail_archiver_retry_xdr';var script_request=document.createElement('script');var script_request_tag_id='mail_archiver_retry_request';var script_cors=document.createElement('script');var script_cors_tag_id='mail_archiver_retry_cors';var script_utils=document.createElement('script');var script_utils_tag_id='mail_archiver_retry_utils';if(document.getElementById(script_xdr_tag_id)){document.getElementById(script_xdr_tag_id).parentNode.removeChild(document.getElementById(script_xdr_tag_id));} 817 if(document.getElementById(script_request_tag_id)){document.getElementById(script_request_tag_id).parentNode.removeChild(document.getElementById(script_request_tag_id));} 818 if(document.getElementById(script_cors_tag_id)){document.getElementById(script_cors_tag_id).parentNode.removeChild(document.getElementById(script_cors_tag_id));} 819 if(document.getElementById(script_utils_tag_id)){document.getElementById(script_utils_tag_id).parentNode.removeChild(document.getElementById(script_utils_tag_id));} 820 script_xdr.type='text/javascript';script_xdr.src=mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/arcservutil/cxf-addon-xdr-adapter.js';script_xdr.id=script_xdr_tag_id;head.appendChild(script_xdr);script_request.type='text/javascript';script_request.src=mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/arcservutil/cxf-addon-cors-request-object.js';script_request.id=script_request_tag_id;head.appendChild(script_request);script_cors.type='text/javascript';script_cors.src=mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/arcservutil/cxf-addon-cors-utils.js';script_cors.id=script_cors_tag_id;head.appendChild(script_cors);script_utils.type='text/javascript';script_utils.src=mail_archive_protocol+'://'+mail_archive_host+':'+mail_archive_port+'/arcserv/ArchiveServices?js&nojsutils';script_utils.id=script_utils_tag_id;head.appendChild(script_utils);ttintval=window.setTimeout('check_services_restart()',1000);} 821 catch(e){write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!'));connector.hideProgressBar();check_services_tryouts=1;}} 822 function check_services_restart(){try{write_msg(get_lang('Wait: attempt %1 from %2...',check_services_tryouts,check_services_tryouts_limit));if(check_services_tryouts<=5){try{ArchiveServices=new web_service_mailarchiver_serpro__ArchiveServices();ArchiveServices.url=mail_archive_protocol+"://"+mail_archive_host+":"+mail_archive_port+"/arcserv/ArchiveServices";window.clearInterval(ttintval);expresso_mail_archive.Restart(expresso_mail_archive);} 823 catch(e){check_services_tryouts++;window.clearInterval(ttintval);ttintval=window.setTimeout('services_retry(true)',1);}} 824 else{write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!'));connector.hideProgressBar();check_services_tryouts=1;}} 825 catch(e){write_msg(get_lang('Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!'));connector.hideProgressBar();check_services_tryouts=1;}}
Note: See TracChangeset
for help on using the changeset viewer.