- Timestamp:
- 09/13/12 16:28:32 (12 years ago)
- Location:
- sandbox/2.5.0-expresso1
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.5.0-expresso1/expressoMail1_2/js/mail_archiver.js
r7195 r7202 549 549 550 550 /** 551 *move Folder 552 * 553 *@author Thiago Rossetto Afonso [thiago@prognus.com.br] 554 * 555 *@param folder_to_move Current folder that will be moved to another folder 556 *@param folder_to Folter that will receive the new folder 557 */ 558 MailArchiver.prototype.moveFolder = function(folter_to_move, folter_to){ 559 try{ 560 connector.showProgressBar(); 561 ArchiveServices.moveFolder(expresso_mail_archive.getFoldersListOperationOK, expresso_mail_archive.getFoldersListOperationFailure, expresso_mail_archive.session.id, folter_to, folter_to_move); 562 }catch(e){ 563 expresso_mail_archive.getFaultInfo(); 564 } 565 566 } 567 MailArchiver.prototype.getArchiveOperationOK = function(message){ 568 document.write("Sucesso, sucesso, sucesso!!!"); 569 } 570 MailArchiver.prototype.getArchiveOperationFailure = function(error_message){ 571 alert("Error: " + error_message.getReturn()); 572 } 573 574 575 576 577 /** 551 578 *Unarchieve Message 552 579 * … … 1015 1042 //Internal variable used to map all XML data return from WS invokated 1016 1043 var lfolders = new Array(); 1044 1017 1045 1018 1046 //Mapping XML data to a handler data structure … … 1060 1088 expresso_mail_archive.drawFolderTree(); 1061 1089 } 1090 } else { 1091 expresso_mail_archive.folders = 0; 1062 1092 } 1063 1093 connector.hideProgressBar(); … … 1204 1234 draw_tree_local_folders(); 1205 1235 expresso_mail_archive.drawdata.treeObject._drawn = true; 1206 ttreeBox.update_folder();1236 //ttreeBox.update_folder(); 1207 1237 } 1208 1238 -
sandbox/2.5.0-expresso1/expressoMail1_2/js/main.js
r7185 r7202 1 1 // Tempo do auto refresh (em milisegundos) 2 2 var time_refresh = 300000; 3 //local_messages_inbox 4 expresso_mail_archive.createFolder(expresso_mail_archive.sessionid, "Inbox", "testando"); 3 5 4 6 //MAILARCHIVER-01 … … 15 17 var autosave_time = 40000; 16 18 var results_search_messages = ""; 17 var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>'; 18 19 var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>'; 19 20 var auxNotificationCriteriaVetor = []; 20 21 var auxNotification; … … 4673 4674 } 4674 4675 4676 function create_new_local_folder(parentFolderId, name){ 4677 4678 if(typeof(parentFolderId) == "string"){ 4679 parentFolderId = parentFolderId.split("_"); 4680 var parentName = parentFolderId[2]; 4681 } 4682 4683 4684 expresso_mail_archive.createFolder(parentName, name); 4685 4686 } 4687 4675 4688 function create_new_folder(name_folder, base_path){ 4676 4689 //Limit reached folders -
sandbox/2.5.0-expresso1/prototype/modules/mail/js/foldertree.js
r7154 r7202 4 4 var cp_tree1; 5 5 var cp_tree2; 6 //Marcosw in ício6 //Marcosw inÃcio 7 7 var cp_tree3; 8 8 //Marcosw fim 9 9 function unorphanize(root, element) { 10 11 12 13 14 15 16 17 18 19 20 21 10 var ok = false; 11 var f = 0; 12 for (var i=0; i<root.length; i++) { 13 if (root[i].id == element.parentFolder) { 14 element.children = new Array(); 15 root[i].children.push(element); 16 return true; 17 } else if (ok = unorphanize(root[i].children, element)) { 18 break; 19 } 20 } 21 return ok; 22 22 } 23 23 24 function mount_children_localfolders_list(folder){ 25 folder.children = new Array(); 26 folder.id_search = folder.id; 27 folder.id = 'local_messages_'+folder.id, 28 folder.commonName = folder.name, 29 folder.parentId = folder.parentid, 30 folder.type = 'localFolder', 31 folder.name = folder.id, 32 folder.messageCount = { 33 total: folder.messages, 34 unseen: folder.unseen 35 } 36 37 if(folder.haschild){ 38 expresso_mail_archive.getFoldersList(folder.id_search); 39 folder.children = expresso_mail_archive.folders; 40 41 for(var i = 0; i < folder.children.length; i++){ 42 mount_children_localfolders_list(folder.children[i]); 43 } 44 45 } 46 } 47 24 48 function count_unseen_children(folder){ 25 if(folder.children.length){ 26 for(var i=0; i< folder.children.length; i++){ 27 if(folder.children[i].children.length) 28 folder.children[i]['children_unseen'] = (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + count_unseen_children(folder.children[i]); 29 30 folder['children_unseen'] = (folder['children_unseen'] ? folder['children_unseen'] : 0)+ (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + parseInt(folder.children[i].messageCount.unseen); 31 } 32 return folder['children_unseen']; 33 }else{ 34 return parseInt(folder.messageCount.unseen); 35 } 49 50 if(folder.children.length){ 51 for(var i=0; i< folder.children.length; i++){ 52 53 if(folder.children[i].children.length) 54 folder.children[i]['children_unseen'] = (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + count_unseen_children(folder.children[i]); 55 56 folder['children_unseen'] = (folder['children_unseen'] ? folder['children_unseen'] : 0)+ (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + parseInt(folder.children[i].messageCount.unseen); 57 } 58 return folder['children_unseen']; 59 } else { 60 return parseInt(folder.messageCount.unseen); 61 } 36 62 } 37 63 38 64 function valid_tabs(children_of_this_folder, folder_to_move){ 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 65 var borders_open = $("#border_tr").children(); 66 67 var error = false; 68 for(var i = 1; i <= borders_open.length -2; i ++){ 69 //VERIFICA A CADA FILHO DA PASTA SE ESTA eventNSAGEM E DESTA PASTA 70 $.each(children_of_this_folder, function(index, value){ 71 if($(children_of_this_folder[index]).attr('id') == openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")]){ 72 error = true; 73 write_msg(get_lang("One or more messages from any sub-folder are open")); 74 return error; 75 76 } 77 }); 78 if(error){ 79 return error; 80 } 81 //VERIFICA SE EXISTE NA PASTA A SER MOVIDA 82 if(openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")] == folder_to_move){ 83 error = true; 84 write_msg(get_lang("One or more messages from this folder are open")); 85 return error; 86 } 87 } 62 88 } 63 89 64 90 function draw_new_tree_folder(callback){ 65 var folders = DataLayer.get("folder", true); 66 67 if(expresso_mail_archive.folders){ //MailArchive 68 //pega pastas locais do mailarchiver e insere no array de pastas 69 var local_folders = new Array(); 70 for (var i=0; i<expresso_mail_archive.folders.length; i++) { 71 var local_folder = { 72 id: 'local_messages_'+expresso_mail_archive.folders[i].id, 73 commonName: expresso_mail_archive.folders[i].name, 74 messageCount: { 75 total: expresso_mail_archive.folders[i].messages, 76 unseen: expresso_mail_archive.folders[i].unseen 77 } 78 }; 79 folders.push(local_folder); 80 } 81 } 82 83 //var local_folders = { id: 'local_messages', commonName: 'Pasta Local', messageCount: {total:200, unseen:20} }; 84 //var local_folders = expresso_mail_archive.folders; 85 86 //folders.push(local_folders); 87 // folders[24] = new Array(); 88 // folders[24].id = 'local_messages'; 89 // folders[24].commonName = 'Pasta Local'; 90 // //folders[20].parentFolder = 'root'; 91 // folders[24].messageCount = { total: 200, unseen: 20}; 92 93 // console.log(folders); 94 // console.log(folders.length); 95 96 if(!selected){ 97 selected = "INBOX"; 98 } 99 /* 100 if( folders ) 101 { 102 folders = $.map( folders, function( folder ){ 103 return { 104 id: folder.folder_id, 105 commonName: folder.folder_name, 106 parentFolder: folder.folder_parent === "root" ? "" : folder.folder_parent, 107 messageCount: { total : '', unseen : '0' } 108 }; 109 }); 110 } 111 else 112 folders = DataLayer.get("folder", true); 113 */ 114 var tree1 = new Array(); 115 var tree2 = new Array(); 116 var tree3 = new Array(); 117 for (var i=0; i<folders.length; i++) { 118 if (/^INBOX/.test(folders[i].id)) { 119 if (!unorphanize(tree1, folders[i])) { 120 folders[i].children = new Array(); 121 tree1.push(folders[i]); 122 } 123 } 124 else if (/^user/.test(folders[i].id)) { 125 if (!unorphanize(tree2, folders[i])) { 126 folders[i].children = new Array(); 127 tree2.push(folders[i]); 128 } 129 } 130 else if (/^local_messages/.test(folders[i].id)) { 131 if (!unorphanize(tree3, folders[i])) { 132 folders[i].children = new Array(); 133 tree3.push(folders[i]); 134 } 135 } 136 } 137 138 for(var i =0; i<tree1.length; i++){ 139 count_unseen_children(tree1[i]); 140 } 141 for(var i =0; i<tree2.length; i++){ 142 count_unseen_children(tree2[i]); 143 } 144 for(var i =0; i<tree3.length; i++){ 145 count_unseen_children(tree3[i]); 146 } 147 cp_tree1 = tree1; 148 cp_tree2 = tree2; 149 //Marcosw inicio 150 cp_tree3 = tree3; 151 //Marcosw fim 152 var shared_acls = {}; 153 154 $.each(cp_tree2, function(index, value){ 155 shared_acls[value.id] = value.acl_share; 156 }); 157 158 $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 159 var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 160 var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({ 161 persist: "cookie", 162 animated: "fast" 163 }).find(".folder").unbind("click").click(function(event){ 164 165 // MUDANÇA DE PASTAS! 166 var target = $(this); 167 168 if($(".folders-loading").length) 169 return; 170 171 if($(event.target).parent().is(".float-menu")) 172 return; 173 174 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders-loading, .head_folder, .shared-folders') ) 175 return; 176 177 if( target.parent().find(".new_folder").length) 178 return; 179 180 if( !target.attr('id') ) 181 target = target.parent(); 182 if (target[0] == $(".mainfoldertree")[0]) return; 183 var uiId = target.attr('id'); 184 var child = target.find('.folder'); 185 186 if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 187 $('.filetree span.folder.selected').removeClass('selected'); 188 $(target).children('.folder').addClass('selected'); 189 } 190 $(this).addClass("folders-loading"); 191 selected = target.attr('id'); 192 change_folder(target.attr('id'), child.attr('title')); 193 194 $.ajax({ 195 url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ), 196 success : function(data){ 197 data = connector.unserialize(data); 198 199 if(data) 200 build_quota(data); 201 } 202 }); 203 204 }).filter('.followup-messages').click(function(event, ui){ 205 search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 206 }).end().end(); 207 208 folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 209 $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 210 // DRAG DE PASTAS 211 start : function(){ 212 $(this).css("color", "gray"); 213 }, 214 stop : function(){ 215 $(this).css("color", ""); 216 }, 217 revert: "invalid", 218 helper: function(event){ 219 if($.trim(($(this).text().split("["))[0]).length > 18) 220 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 221 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 222 }, 223 delay: 150, 224 refreshPositions: true, 225 zIndex : 2700, 226 //scroll: true, 227 //scrollSensitivity: 100, 228 //scrollSpeed: 100, 229 containment: "#divAppbox" 230 }).end().droppable({ 231 //DROP DE PASTAS 232 over : function(a, b){ 233 //INICIO : SE A PASTA CONTER FILHAS EXPANDE 234 over = $(this); 235 $(this).addClass("folder-over"); 236 if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 237 if($(this).prev()[0]) 238 if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 239 setTimeout(function(){ 240 if(over.hasClass("folder-over")) 241 over.prev().trigger("click"); 242 }, 500); 243 244 } 245 //FIM : SE A PASTA CONTER FILHAS EXPANDE 246 247 //SETA BORDA EM VOLTA DA PASTA 248 }, 249 out : function(){ 250 //RETIRA BORDA EM VOLTA DA PASTA 251 $(this).removeClass("folder-over"); 252 }, 253 drop : function(event, ui){ 254 $(this).removeClass("folder-over"); 255 if($(this).parent().attr('id') == undefined){ 256 var folder_to = 'INBOX'; 257 var to_folder_title = get_lang("Inbox"); 258 }else{ 259 var folder_to = $(this).parent().attr('id'); 260 var to_folder_title = $(this).attr('title'); 261 } 262 var folder_to_move = ui.draggable.parent().attr('id'); 263 var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 264 // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 265 if(folder_to_move == "tbody_box"){ 266 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 267 return refresh(); 268 } 269 //SE FOR DE UMA PESQUISA RAPIDA 270 else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 271 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 272 return refresh(); 273 } 274 // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 275 else if(folder_to_move == "border_tr"){ 276 var id_msg = border_id.split("_")[0]; 277 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 278 alternate_border(border_id); 279 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 280 return refresh(); 281 } 282 // SE O DROP VIER DA LISTA DE PASTAS 283 else{ 284 var folder_to_exist = folder_to_move.split(cyrus_delimiter); 285 folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1]; 286 287 //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 288 289 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 290 return; 291 } 292 //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 293 294 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 295 if(folder_to_exist == folder_to_move){ 296 return write_msg(get_lang("Thie folder is already in this place")); 297 } 298 299 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 300 if(folder_to_move == get_current_folder()){ 301 return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 302 } 303 304 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 305 if(ui.draggable.parent().find(".selected")[0]){ 306 return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 307 } 308 309 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 310 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 311 return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 312 } 313 314 if($('[id="'+folder_to_exist+'"]').length){ 315 return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 316 } 317 318 $(this).addClass("folders-loading"); 319 320 $.ajax({ 321 url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 322 success : function(data){ 323 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 324 data = connector.unserialize(data); 325 if(data == "Permission denied"){ 326 write_msg(get_lang("Permission denied")); 327 }else if(data){ 328 write_msg(get_lang("The folder was successfully moved")); 329 } 330 else{ 331 write_msg(get_lang("ERROR moving your folder.")); 332 } 333 } 334 }); 335 } 336 } 337 }); 338 $(".folder").not(".shared-folders").parent().find(".folder").hover( 339 function(){ 340 //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 341 if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 342 var folder_ = $(this); 343 var folder_name; 344 var shared = { 345 head : false, 346 valid : false 347 }; 348 if(folder_.parent().attr('id')){ 349 folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 350 folder_name = folder_name[folder_name.length -1]; 351 shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 352 }else 353 folder_name = "Root"; 354 355 if(shared.valid){ 356 shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ? true : false; 357 var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 358 var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 359 360 } 361 362 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls}); 363 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 364 var esc = false; 365 $(folder_).append(html).find(".float-menu-edit").click(function(){ 366 var folder_id = $(this).parents(".closed:first").attr('id'); 367 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 368 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 369 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 370 if($(this).parents(".closed:first").find(".selected").length) 371 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 372 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 373 return; 374 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 375 $(".new_folder").focus().keydown(function(event){ 376 event.stopPropagation(); 377 if(event.keyCode == 13){ 378 if($(this).val() != ""){ 379 if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 380 return write_msg(get_lang("cannot create folder. try other folder name")); 381 } 382 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú^\s_-]+$/, $(this).val()); 383 if($('[id="'+new_name+'"]').length){ 384 $(".folders-loading").removeClass("folders-loading"); 385 write_msg(get_lang("Mailbox already exists")); 386 return draw_new_tree_folder(); 387 } 388 $(".new_folder").parent().addClass("folders-loading"); 389 $.ajax({ 390 url : "controller.php?action=$this.imap_functions.ren_mailbox", 391 type : "POST", 392 data : "current="+folder_id+"&rename="+new_name, 393 success : function(data){ 394 data = connector.unserialize(data); 395 if(data == "Permission denied"){ 396 $(".folders-loading").removeClass("folders-loading"); 397 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 398 return write_msg(get_lang("Permission denied")); 399 } 400 write_msg(get_lang("The folder was successfully rename")); 401 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 402 } 403 }); 404 }else{ 405 $(".new_folder").focusout(); 406 } 407 }else if( event.keyCode == 27){ 408 draw_new_tree_folder(); 409 } 410 }).focusout(function(){ 411 draw_new_tree_folder(); 412 }).val(name); 413 }) 414 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 415 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 416 .end().find(".float-menu-remove").click(function(){ 417 418 var folder_id = $(this).parents(".closed:first").attr('id'); 419 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 420 421 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 422 return; 423 $(this).parents(".closed:first").find(".folder").addClass("folders-loading"); 424 425 if($(this).parents(".closed:first").find("ul").length){ 426 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 427 return write_msg(get_lang("Delete/move subfolders first")); 428 } 429 if($(this).parents(".closed:first").find(".selected").length){ 430 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 431 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 432 } 433 var folder_span = $(this); 434 var confirm_text = get_lang("Do you wish to exclude the folder "); 435 $.Zebra_Dialog(confirm_text+folder_name, { 436 'type': 'question', 437 'overlay_opacity': '0.5', 438 'buttons': [get_lang('Yes'), get_lang('No')], 439 'onClose': function(caption) { 440 if(caption == get_lang('Yes')){ 441 $.ajax({ 442 url : "controller.php?action=$this.imap_functions.delete_mailbox", 443 type: "POST", 444 data : "del_past="+folder_id, 445 success : function(data){ 446 data = connector.unserialize(data); 447 if(data == "Mailbox does not exist"){ 448 $(".folders-loading").removeClass("folders-loading"); 449 return write_msg(get_lang("Mailbox does not exist")); 450 }else if(data == "Permission denied"){ 451 $(".folders-loading").removeClass("folders-loading"); 452 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 453 return write_msg(get_lang("Permission denied")); 454 } 455 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 456 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 457 } 458 }); 459 }else{ 460 folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 461 return; 462 } 463 } 464 }); 465 /* if(!confirm(confirm_text + folder_name)){ 466 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 467 return; 468 } */ 469 }) 470 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 471 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 472 .end().find(".float-menu-new").click(function(){ 473 $(this).parents(".float-menu").hide(); 474 var selected_li = $(this).parents(".closed:first"); 475 if(selected_li.find("ul:first").length){ 476 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 477 if(selected_li.find(".expandable-hitarea").length){ 478 selected_li.find(".expandable-hitarea").trigger('click'); 479 } 480 selected_li.find("ul:first").treeview({ 481 add: new_folder 482 }); 483 }else if(selected_li.length){ 484 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 485 selected_li.treeview({ 486 add: new_folder 487 }); 488 }else{ 489 selected_li = $(this).parents(".head_folder").parent(); 490 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 491 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 492 } 493 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 494 selected_li.treeview({ 495 add: new_folder 496 }); 497 } 498 499 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 500 event.stopPropagation(); 501 if(event.keyCode == 13){ 502 if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 503 return write_msg(get_lang("cannot create folder. try other folder name")); 504 } 505 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 506 $(".folders-loading").removeClass("folders-loading"); 507 write_msg(get_lang("Mailbox already exists")); 508 return draw_new_tree_folder(); 509 } 510 $(".new_folder").parent().addClass("folders-loading"); 511 create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id')? selected_li.attr('id') : "INBOX")); 512 }else if( event.keyCode == 27){ 513 draw_new_tree_folder(); 514 } 515 }).focusout(function(){ 516 draw_new_tree_folder(); 517 }); 518 }).end().find(".float-menu-export").click(function(){ 519 //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 520 521 var name_box = $(this).parents("li:first").attr("id"); 522 var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 523 524 var hand_export = function(data){ 525 if(!data){ 526 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 527 }else if(data["empty_folder"]){ 528 write_msg(get_lang("The selected folder is empty.")); 529 }else 530 download_attachments(null, null, data, null,null, name_folder +'.zip'); 531 } 532 cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 533 write_msg(get_lang('You must wait while the messages will be exported...')); 534 }); 535 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 536 } 537 if(!$(".new_folder").length){ 538 $(this).find(".float-menu:first").css("display", ""); 539 } 540 }, 541 function(){ 542 $(this).find(".float-menu:first").hide(); 543 } 544 ); 545 $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red"); 91 var folders = DataLayer.get("folder", true); 92 93 94 if(expresso_mail_archive.folders){ //MailArchive 95 //pega pastas locais do mailarchiver e insere no array de pastas 96 expresso_mail_archive.getFoldersList("home"); 97 treeFolders = expresso_mail_archive.folders; 98 99 for(var i=0; i<treeFolders.length; i++ ){ 100 mount_children_localfolders_list(treeFolders[i]); 101 } 102 103 for(var i = 0; i < treeFolders.length; i++){ 104 folders.push(treeFolders[i]); 105 } 106 107 } 108 109 if(!selected){ 110 selected = "INBOX"; 111 } 112 113 var tree1 = new Array(); 114 var tree2 = new Array(); 115 var tree3 = new Array(); 116 for (var i=0; i<folders.length; i++) { 117 if (/^INBOX/.test(folders[i].id)) { 118 if (!unorphanize(tree1, folders[i])) { 119 folders[i].children = new Array(); 120 121 tree1.push(folders[i]); 122 } 123 } 124 else if (/^user/.test(folders[i].id)) { 125 if (!unorphanize(tree2, folders[i])) { 126 folders[i].children = new Array(); 127 tree2.push(folders[i]); 128 } 129 } 130 else if (/^local_messages/.test(folders[i].id)) { 131 132 tree3.push(folders[i]); 133 134 } 135 } 136 137 for(var i =0; i<tree1.length; i++){ 138 count_unseen_children(tree1[i]); 139 } 140 for(var i =0; i<tree2.length; i++){ 141 count_unseen_children(tree2[i]); 142 } 143 for(var i =0; i<tree3.length; i++){ 144 count_unseen_children(tree3[i]); 145 } 146 cp_tree1 = tree1; 147 cp_tree2 = tree2; 148 //Marcosw inicio 149 cp_tree3 = tree3; 150 //Marcosw fim 151 var shared_acls = {}; 152 153 $.each(cp_tree2, function(index, value){ 154 shared_acls[value.id] = value.acl_share; 155 }); 156 157 $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 158 var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 159 var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({ 160 persist: "cookie", 161 animated: "fast" 162 }).find(".folder").unbind("click").click(function(event){ 163 164 // MUDANÃA DE PASTAS! 165 var target = $(this); 166 167 if($(".folders-loading").length) 168 return; 169 170 if($(event.target).parent().is(".float-menu")) 171 return; 172 173 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders-loading, .head_folder, .shared-folders') ) 174 return; 175 176 if( target.parent().find(".new_folder").length) 177 return; 178 179 if( !target.attr('id') ) 180 target = target.parent(); 181 if (target[0] == $(".mainfoldertree")[0]) return; 182 var uiId = target.attr('id'); 183 var child = target.find('.folder'); 184 185 if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 186 $('.filetree span.folder.selected').removeClass('selected'); 187 $(target).children('.folder').addClass('selected'); 188 } 189 $(this).addClass("folders-loading"); 190 selected = target.attr('id'); 191 change_folder(target.attr('id'), child.attr('title')); 192 193 $.ajax({ 194 url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ), 195 success : function(data){ 196 data = connector.unserialize(data); 197 198 if(data) 199 build_quota(data); 200 } 201 }); 202 203 }).filter('.followup-messages').click(function(event, ui){ 204 search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 205 }).end().end(); 206 207 folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 208 $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 209 // DRAG DE PASTAS 210 start : function(){ 211 $(this).css("color", "gray"); 212 }, 213 stop : function(){ 214 $(this).css("color", ""); 215 }, 216 revert: "invalid", 217 helper: function(event){ 218 if($.trim(($(this).text().split("["))[0]).length > 18) 219 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 220 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 221 }, 222 delay: 150, 223 refreshPositions: true, 224 zIndex : 2700, 225 //scroll: true, 226 //scrollSensitivity: 100, 227 //scrollSpeed: 100, 228 containment: "#divAppbox" 229 }).end().droppable({ 230 //DROP DE PASTAS 231 over : function(a, b){ 232 //INICIO : SE A PASTA CONTER FILHAS EXPANDE 233 over = $(this); 234 $(this).addClass("folder-over"); 235 if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 236 if($(this).prev()[0]) 237 if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 238 setTimeout(function(){ 239 if(over.hasClass("folder-over")) 240 over.prev().trigger("click"); 241 }, 500); 242 243 } 244 //FIM : SE A PASTA CONTER FILHAS EXPANDE 245 246 //SETA BORDA EM VOLTA DA PASTA 247 }, 248 out : function(){ 249 //RETIRA BORDA EM VOLTA DA PASTA 250 $(this).removeClass("folder-over"); 251 }, 252 drop : function(event, ui){ 253 $(this).removeClass("folder-over"); 254 if($(this).parent().attr('id') == undefined){ 255 var folder_to = 'INBOX'; 256 var to_folder_title = get_lang("Inbox"); 257 }else{ 258 var folder_to = $(this).parent().attr('id'); 259 var to_folder_title = $(this).attr('title'); 260 } 261 var folder_to_move = ui.draggable.parent().attr('id'); 262 var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 263 // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 264 if(folder_to_move == "tbody_box"){ 265 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 266 return refresh(); 267 } 268 //SE FOR DE UMA PESQUISA RAPIDA 269 else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 270 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 271 return refresh(); 272 } 273 // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 274 else if(folder_to_move == "border_tr"){ 275 var id_msg = border_id.split("_")[0]; 276 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 277 alternate_border(border_id); 278 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 279 return refresh(); 280 } 281 // SE O DROP VIER DA LISTA DE PASTAS 282 else{ 283 var folder_to_exist = folder_to_move.split(cyrus_delimiter); 284 folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1]; 285 286 //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 287 288 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 289 return; 290 } 291 //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 292 293 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 294 if(folder_to_exist == folder_to_move){ 295 return write_msg(get_lang("Thie folder is already in this place")); 296 } 297 298 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 299 if(folder_to_move == get_current_folder()){ 300 return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 301 } 302 303 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 304 if(ui.draggable.parent().find(".selected")[0]){ 305 return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 306 } 307 308 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 309 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 310 return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 311 } 312 313 if($('[id="'+folder_to_exist+'"]').length){ 314 return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 315 } 316 317 $(this).addClass("folders-loading"); 318 319 $.ajax({ 320 url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 321 success : function(data){ 322 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 323 data = connector.unserialize(data); 324 if(data == "Permission denied"){ 325 write_msg(get_lang("Permission denied")); 326 }else if(data){ 327 write_msg(get_lang("The folder was successfully moved")); 328 } else { 329 write_msg(get_lang("ERROR moving your folder.")); 330 } 331 } 332 }); 333 } 334 } 335 }); 336 $(".folder").not(".shared-folders").parent().find(".folder").hover( 337 function(){ 338 //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU à ADICIONADO! 339 if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 340 var folder_ = $(this); 341 var folder_name; 342 var shared = { 343 head : false, 344 valid : false 345 }; 346 if(folder_.parent().attr('id')){ 347 folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 348 folder_name = folder_name[folder_name.length -1]; 349 shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 350 }else 351 folder_name = "Root"; 352 353 if(shared.valid){ 354 shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ? true : false; 355 var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 356 var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 357 358 } 359 360 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls}); 361 //FUNÃÃO DO eventNU FLUTUANTE EDITAR < BEGIN 362 var esc = false; 363 $(folder_).append(html).find(".float-menu-edit").click(function(){ 364 var folder_id = $(this).parents(".closed:first").attr('id'); 365 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 366 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 367 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 368 if($(this).parents(".closed:first").find(".selected").length) 369 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 370 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 371 return; 372 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 373 $(".new_folder").focus().keydown(function(event){ 374 event.stopPropagation(); 375 376 if(event.keyCode == 13){ 377 if($(this).val() != ""){ 378 379 if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 380 return write_msg(get_lang("cannot create folder. try other folder name")); 381 } 382 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÃ-Ã^\s_-]+$/, $(this).val()); 383 if($('[id="'+new_name+'"]').length){ 384 $(".folders-loading").removeClass("folders-loading"); 385 write_msg(get_lang("Mailbox already exists")); 386 return draw_new_tree_folder(); 387 } 388 $(".new_folder").parent().addClass("folders-loading"); 389 390 if($(this).parent().parent().parent().find("input").val() == "localFolder"){ 391 var idFolder = $(this).parent().parent().attr("id").split("_")[2]; 392 expresso_mail_archive.renameFolder(idFolder, new_name); 393 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 394 } else { 395 396 $.ajax({ 397 url : "controller.php?action=$this.imap_functions.ren_mailbox", 398 type : "POST", 399 data : "current="+folder_id+"&rename="+new_name, 400 success : function(data){ 401 data = connector.unserialize(data); 402 if(data == "Permission denied"){ 403 $(".folders-loading").removeClass("folders-loading"); 404 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 405 return write_msg(get_lang("Permission denied")); 406 } 407 write_msg(get_lang("The folder was successfully rename")); 408 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 409 } 410 }); 411 412 } 413 }else{ 414 $(".new_folder").focusout(); 415 } 416 }else if( event.keyCode == 27){ 417 draw_new_tree_folder(); 418 } 419 }).focusout(function(){ 420 draw_new_tree_folder(); 421 }).val(name); 422 }) 423 //FUNÃÃO DO eventNU FLUTUANTE EDITAR < END 424 //FUNÃÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 425 .end().find(".float-menu-remove").click(function(){ 426 427 var folder_id = $(this).parents(".closed:first").attr('id'); 428 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 429 430 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 431 return; 432 $(this).parents(".closed:first").find(".folder").addClass("folders-loading"); 433 434 if($(this).parents(".closed:first").find("ul").length){ 435 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 436 return write_msg(get_lang("Delete/move subfolders first")); 437 } 438 if($(this).parents(".closed:first").find(".selected").length){ 439 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 440 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 441 } 442 var folder_span = $(this); 443 var confirm_text = get_lang("Do you wish to exclude the folder "); 444 445 $.Zebra_Dialog(confirm_text+folder_name, { 446 'type': 'question', 447 'overlay_opacity': '0.5', 448 'buttons': [get_lang('Yes'), get_lang('No')], 449 'onClose': function(caption) { 450 451 if(caption == get_lang('Yes')){ 452 if(folder_span.parent().parent().parent().find("input").val() == "localFolder"){ 453 var idFolder = folder_span.parent().parent().parent("li").attr("id").split("_")[2]; 454 expresso_mail_archive.deleteFolder(idFolder); 455 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 456 } else { 457 $.ajax({ 458 url : "controller.php?action=$this.imap_functions.delete_mailbox", 459 type: "POST", 460 data : "del_past="+folder_id, 461 success : function(data){ 462 data = connector.unserialize(data); 463 if(data == "Mailbox does not exist"){ 464 $(".folders-loading").removeClass("folders-loading"); 465 return write_msg(get_lang("Mailbox does not exist")); 466 }else if(data == "Permission denied"){ 467 $(".folders-loading").removeClass("folders-loading"); 468 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 469 return write_msg(get_lang("Permission denied")); 470 } 471 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 472 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 473 } 474 }); 475 } 476 }else{ 477 folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 478 return; 479 } 480 } 481 }); 482 /* if(!confirm(confirm_text + folder_name)){ 483 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 484 return; 485 } */ 486 }) 487 //FUNÃÃO DO eventNU FLUTUANTE EXCLUIR < END 488 //FUNÃÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 489 .end().find(".float-menu-new").click(function(){ 490 $(this).parents(".float-menu").hide(); 491 var selected_li = $(this).parents(".closed:first"); 492 if(selected_li.find("ul:first").length){ 493 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 494 if(selected_li.find(".expandable-hitarea").length){ 495 selected_li.find(".expandable-hitarea").trigger('click'); 496 } 497 selected_li.find("ul:first").treeview({ 498 add: new_folder 499 }); 500 }else if(selected_li.length){ 501 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 502 selected_li.treeview({ 503 add: new_folder 504 }); 505 }else{ 506 selected_li = $(this).parents(".head_folder").parent(); 507 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 508 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 509 } 510 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 511 selected_li.treeview({ 512 add: new_folder 513 }); 514 } 515 516 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 517 event.stopPropagation(); 518 519 520 if(event.keyCode == 13){ 521 522 if($(this).parent().parent().parent().find("input[type=hidden]").val() == "localFolder"){ 523 524 $(".new_folder").parent().addClass("folders-loading"); 525 526 var folderName = $(this).val(); 527 var folder = (folderName != "" ? folderName : get_lang("New Folder")); 528 529 create_new_local_folder((selected_li.attr('id') ? selected_li.attr('id') : "inbox") , folder); 530 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 531 } else { 532 533 if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 534 return write_msg(get_lang("cannot create folder. try other folder name")); 535 } 536 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 537 $(".folders-loading").removeClass("folders-loading"); 538 write_msg(get_lang("Mailbox already exists")); 539 return draw_new_tree_folder(); 540 } 541 $(".new_folder").parent().addClass("folders-loading"); 542 create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id')? selected_li.attr('id') : "INBOX")); 543 } 544 545 }else if( event.keyCode == 27){ 546 draw_new_tree_folder(); 547 } 548 549 550 551 }).focusout(function(){ 552 draw_new_tree_folder(); 553 }); 554 }).end().find(".float-menu-export").click(function(){ 555 //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 556 557 var name_box = $(this).parents("li:first").attr("id"); 558 var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 559 560 var hand_export = function(data){ 561 if(!data){ 562 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 563 }else if(data["empty_folder"]){ 564 write_msg(get_lang("The selected folder is empty.")); 565 }else 566 download_attachments(null, null, data, null,null, name_folder +'.zip'); 567 } 568 cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 569 write_msg(get_lang('You must wait while the messages will be exported...')); 570 }); 571 //FUNÃÃO DO eventNU FLUTUANTE NOVA PASTA < END 572 } 573 if(!$(".new_folder").length){ 574 $(this).find(".float-menu:first").css("display", ""); 575 } 576 }, 577 function(){ 578 $(this).find(".float-menu:first").hide(); 579 } 580 ); 581 $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red"); 546 582 } -
sandbox/2.5.0-expresso1/prototype/modules/mail/templates/detailedfoldertree.ejs
r6773 r7202 30 30 <% } %> 31 31 </span> 32 <input type="hidden" value="<%= array_trees[i].type %>"> 32 33 <% 33 34 if (array_trees[i].children.length>0) -
sandbox/2.5.0-expresso1/prototype/modules/mail/templates/float_folder_menu.ejs
r7092 r7202 1 <% 1 <% 2 2 var specialFolders = { 3 3 INBOX: {name:'Caixa de Entrada'}, … … 5 5 Root : {name:'root'} 6 6 }; 7 specialFolders["local_messages_trash"] = {name:'Lixeira', classe:'trash'}; 8 specialFolders["local_messages_drafts"] = {name:'Rascunhos', classe:'drafts'}; 9 specialFolders["local_messages_spam"] = {name:'Spam', classe:'spam'}; 10 specialFolders["local_messages_sent"] = {name:'Enviados', classe:'sent'}; 11 specialFolders["local_messages_outbox"] = {name:'Enviados', classe:'sent'}; 12 7 13 specialFolders[trashfolder] = {name:'Lixeira', classe:'trash'}; 8 14 specialFolders[draftsfolder] = {name:'Rascunhos', classe:'drafts'}; … … 12 18 13 19 <span class="float-menu"> 20 <% if(data.name_folder != "local_messages_inbox"){ %> 14 21 <%if(!data.flag.valid){ %> 22 15 23 <%if(data.name_folder != 'INBOX'){%> 16 24 <span class="ui-icon ui-icon-document float-menu-new floating-default" title="<%=get_lang("New Folder")%>"></span> 17 25 <%}%> 18 <%if(!specialFolders[data.name_folder] ){ %>26 <%if(!specialFolders[data.name_folder] ){ %> 19 27 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="<%=get_lang("Edit folder")%>"></span> 20 28 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="<%=get_lang("Delete folder")%>"></span> 21 29 <%} 22 else if(data.name_folder == trashfolder ){%>30 else if(data.name_folder == trashfolder || data.name_folder == "local_messages_trash"){%> 23 31 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="<%=get_lang("Empty Trash")%>"></span> 24 32 <%} 25 else if(data.name_folder == spamfolder){%> 33 else if(data.name_folder == spamfolder || data.name_folder == "local_messages_spam"){%> 34 26 35 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="<%=get_lang("Empty Spam")%>"></span> 27 36 … … 45 54 <%}%> 46 55 <%}%> 56 <% } %> 47 57 <span class="ui-icon ui-icon-arrowthickstop-1-n float-menu-export floating-default" title="<%=get_lang("Export folder messages")%>"></span> 48 58 </span>
Note: See TracChangeset
for help on using the changeset viewer.