- Timestamp:
- 03/12/12 14:24:59 (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/index.php
r5690 r5703 314 314 var locale = "'.$GLOBALS['phpgw']->common->getPreferredLanguage().'"; 315 315 var new_agenda = "'.$current_config['new_agenda'].'"; 316 $("#sideboxdragarea"). addClass("hidden");317 $("#menu2Container"). addClass("hidden");316 $("#sideboxdragarea").hide(); 317 $("#menu2Container").hide(); 318 318 </script>'; 319 319 -
trunk/expressoMail1_2/js/main.js
r5702 r5703 85 85 86 86 if($.cookie('collapse_folders') == "true"){ 87 $("#folderscol").addClass( "hidden"); 87 if(!is_ie) 88 $("#folderscol").addClass( "hidden"); 89 else 90 $("#folderscol").hide(); 88 91 $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 89 92 refresh(); … … 99 102 $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 100 103 if($("#folderscol").css("display") != "none"){ 101 $("#folderscol").addClass( "hidden"); 104 if(!is_ie) 105 $("#folderscol").addClass( "hidden"); 106 else 107 $("#folderscol").hide(); 108 102 109 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 103 110 $(".collapse_folders").addClass("ui-icon-triangle-1-e").attr('title', "Expandir"); … … 106 113 resizeWindow(); 107 114 }else{ 108 $("#folderscol").removeClass( "hidden"); 115 if(!is_ie) 116 $("#folderscol").removeClass( "hidden"); 117 else 118 $("#folderscol").show(); 109 119 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 110 120 $(".collapse_folders").addClass("ui-icon-triangle-1-w").attr('title', "Ocultar"); … … 123 133 } 124 134 ); 135 DataLayer.get("folder", true); 125 136 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 126 137 } … … 1074 1085 }else 1075 1086 write_msg(get_lang('No selected message.')); 1076 1077 1087 } 1078 1088 … … 2849 2859 update_quota(get_current_folder()); 2850 2860 draw_new_tree_folder(); 2861 draw_tree_labels(); 2851 2862 if (data){ 2852 2863 write_msg(get_lang('Your Trash folder was empty.')); … … 2912 2923 //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 2913 2924 draw_new_tree_folder(); 2925 draw_tree_labels(); 2914 2926 update_quota(get_current_folder()); 2915 2927 if (data) -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r5587 r5703 803 803 Color expressoMail1_2 pt-br Cor 804 804 Done expressoMail1_2 pt-br Concluido 805 805 This event does not exist on its agenda expressoMail1_2 pt-br Este evento não existe em sua agenda. -
trunk/prototype/modules/mail/css/foldertree.css
r5525 r5703 1 #content_folders .foldertree-skin-prognus span.selected {font-weight:bold;}2 #content_folders .foldertree-skin-prognus span.inbox {}3 #content_folders .foldertree-skin-prognus span.trash {background-image: url(../img/bin.png);}4 #content_folders .foldertree-skin-prognus span.drafts {background-image: url(../img/folder_page_white.png);}5 #content_folders .foldertree-skin-prognus span.spam {background-image: url(../img/folder_delete.png);}6 #content_folders .foldertree-skin-prognus span.sent {background-image: url(../img/folder_go.png);}7 #content_folders .foldertree-skin-prognus span.folder {display: block;padding-bottom: 1px;padding-left: 18px;padding-right: 0;padding-top: 1px; font-family : Lucida Grande, Lucida Sans, Arial, sans-serif;}8 #content_folders .treeview .closed {display:block;}1 #content_folders .foldertree-skin-prognus span.selected {font-weight:bold !important; } 2 #content_folders .foldertree-skin-prognus span.inbox {} 3 #content_folders .foldertree-skin-prognus span.trash {background-image: url(../img/bin.png);} 4 #content_folders .foldertree-skin-prognus span.drafts {background-image: url(../img/folder_page_white.png);} 5 #content_folders .foldertree-skin-prognus span.spam {background-image: url(../img/folder_delete.png);} 6 #content_folders .foldertree-skin-prognus span.sent {background-image: url(../img/folder_go.png);} 7 #content_folders .foldertree-skin-prognus span.folder {display: block;padding-bottom: 1px;padding-left: 18px;padding-right: 0;padding-top: 1px; font-family : Lucida Grande, Lucida Sans, Arial, sans-serif;} 8 #content_folders .treeview .closed {display:block;} 9 9 10 10 .folders_loading { -
trunk/prototype/modules/mail/js/foldertree.js
r5697 r5703 72 72 } 73 73 $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 74 DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}, function(html){ 75 var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({ 76 persist: "cookie", 77 animated: "fast" 78 }).find(".folder").click(function(event){ 74 var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 75 var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({ 76 persist: "cookie", 77 animated: "fast" 78 }).find(".folder").click(function(event){ 79 80 // MUDANÇA DE PASTAS! 81 var target = $(this); 82 83 if($(".folders_loading").length) 84 return; 85 86 if($(event.target).parent().is(".float-menu")) 87 return; 79 88 80 // MUDANÇA DE PASTAS! 81 var target = $(this); 89 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') ) 90 return; 91 92 if( target.parent().find(".new_folder").length) 93 return; 82 94 83 if($(".folders_loading").length) 84 return; 95 if( !target.attr('id') ) 96 target = target.parent(); 97 if (target[0] == $(".mainfoldertree")[0]) return; 98 var uiId = target.attr('id'); 99 var child = target.find('.folder'); 100 101 if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 102 $('.filetree span.folder.selected').removeClass('selected'); 103 $(target).children('.folder').addClass('selected'); 104 } 105 $(this).addClass("folders_loading"); 106 selected = target.attr('id'); 107 change_folder(target.attr('id'), child.attr('title')); 108 }).filter('.followup-messages').click(function(event, ui){ 109 search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 110 }).end().end(); 111 112 folders_html.find('[id="'+selected+'"]').children().addClass("selected").end().end().find("li:first").find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 113 // DRAG DE PASTAS 114 start : function(){ 115 $(this).css("color", "gray"); 116 }, 117 stop : function(){ 118 $(this).css("color", ""); 119 }, 120 revert: "invalid", 121 helper: function(event){ 122 if($.trim(($(this).text().split("["))[0]).length > 18) 123 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 124 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 125 }, 126 refreshPositions: true, 127 scroll: true, 128 scrollSensitivity: 100, 129 scrollSpeed: 100, 130 containment: "#divAppbox" 131 }).end().droppable({ 132 //DROP DE PASTAS 133 over : function(a, b){ 134 //INICIO : SE A PASTA CONTER FILHAS EXPANDE 135 over = $(this); 136 $(this).addClass("folder-over"); 137 if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 138 if($(this).prev()[0]) 139 if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 140 setTimeout(function(){ 141 if(over.hasClass("folder-over")) 142 over.prev().trigger("click"); 143 }, 500); 144 145 } 146 //FIM : SE A PASTA CONTER FILHAS EXPANDE 85 147 86 if($(event.target).parent().is(".float-menu")) 87 return; 88 89 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') ) 90 return; 91 92 if( target.parent().find(".new_folder").length) 93 return; 94 95 if( !target.attr('id') ) 96 target = target.parent(); 97 if (target[0] == $(".mainfoldertree")[0]) return; 98 var uiId = target.attr('id'); 99 var child = target.find('.folder'); 100 101 if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 102 $('.filetree span.folder.selected').removeClass('selected'); 103 $(target).children('.folder').addClass('selected'); 104 } 105 $(this).addClass("folders_loading"); 106 selected = target.attr('id'); 107 change_folder(target.attr('id'), child.attr('title')); 108 109 }).filter('.followup-messages').click(function(event, ui){ 110 search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 111 }).end(); 112 113 folders_html.find('[id="'+selected+'"]').children().addClass("selected").end().end().find("li:first").find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 114 // DRAG DE PASTAS 115 start : function(){ 116 $(this).css("color", "gray"); 117 }, 118 stop : function(){ 119 $(this).css("color", ""); 120 }, 121 revert: "invalid", 122 helper: function(event){ 123 if($.trim(($(this).text().split("["))[0]).length > 18) 124 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 125 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 126 }, 127 refreshPositions: true, 128 scroll: true, 129 scrollSensitivity: 100, 130 scrollSpeed: 100, 131 containment: "#divAppbox" 132 }).end().droppable({ 133 //DROP DE PASTAS 134 over : function(a, b){ 135 //INICIO : SE A PASTA CONTER FILHAS EXPANDE 136 over = $(this); 137 $(this).addClass("folder-over"); 138 if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 139 if($(this).prev()[0]) 140 if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 141 setTimeout(function(){ 142 if(over.hasClass("folder-over")) 143 over.prev().trigger("click"); 144 }, 500); 145 148 //SETA BORDA EM VOLTA DA PASTA 149 }, 150 out : function(){ 151 //RETIRA BORDA EM VOLTA DA PASTA 152 $(this).removeClass("folder-over"); 153 }, 154 drop : function(event, ui){ 155 $(this).removeClass("folder-over"); 156 if($(this).parent().attr('id') == undefined){ 157 var folder_to = 'INBOX'; 158 var to_folder_title = get_lang("Inbox"); 159 }else{ 160 var folder_to = $(this).parent().attr('id'); 161 var to_folder_title = $(this).attr('title'); 162 } 163 var folder_to_move = ui.draggable.parent().attr('id'); 164 var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 165 // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 166 if(folder_to_move == "tbody_box"){ 167 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 168 return refresh(); 169 } 170 //SE FOR DE UMA PESQUISA RAPIDA 171 else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 172 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 173 return refresh(); 174 } 175 // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 176 else if(folder_to_move == "border_tr"){ 177 var id_msg = border_id.substring("_"); 178 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 179 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 180 return refresh(); 181 } 182 // SE O DROP VIER DA LISTA DE PASTAS 183 else{ 184 var folder_to_exist = folder_to_move.split(cyrus_delimiter); 185 folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1]; 186 187 //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 188 189 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 190 return; 191 } 192 //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 193 194 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 195 if(folder_to_exist == folder_to_move){ 196 return write_msg(get_lang("Thie folder is already in this place")); 197 } 198 199 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 200 if(folder_to_move == get_current_folder()){ 201 return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 202 } 203 204 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 205 if(ui.draggable.parent().find(".selected")[0]){ 206 return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 207 } 208 209 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 210 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 211 return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 212 } 213 214 if($('[id="'+folder_to_exist+'"]').length){ 215 return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 216 } 217 218 $(this).addClass("folders_loading"); 219 220 $.ajax({ 221 url : "controller.php?action=$this.imap_functions.move_folder&folder_to_move="+folder_to_move+"&folder_to="+folder_to, 222 success : function(data){ 223 data = connector.unserialize(data); 224 if(data){ 225 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 226 write_msg(get_lang("The folder was successfully moved")); 146 227 } 147 //FIM : SE A PASTA CONTER FILHAS EXPANDE 148 149 //SETA BORDA EM VOLTA DA PASTA 150 }, 151 out : function(){ 152 //RETIRA BORDA EM VOLTA DA PASTA 153 $(this).removeClass("folder-over"); 154 }, 155 drop : function(event, ui){ 156 $(this).removeClass("folder-over"); 157 if($(this).parent().attr('id') == undefined){ 158 var folder_to = 'INBOX'; 159 var to_folder_title = get_lang("Inbox"); 160 }else{ 161 var folder_to = $(this).parent().attr('id'); 162 var to_folder_title = $(this).attr('title'); 163 } 164 var folder_to_move = ui.draggable.parent().attr('id'); 165 var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 166 // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 167 if(folder_to_move == "tbody_box"){ 168 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 169 return refresh(); 170 } 171 //SE FOR DE UMA PESQUISA RAPIDA 172 else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 173 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 174 return refresh(); 175 } 176 // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 177 else if(folder_to_move == "border_tr"){ 178 var id_msg = border_id.substring("_"); 179 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 180 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 181 return refresh(); 182 } 183 // SE O DROP VIER DA LISTA DE PASTAS 184 else{ 185 var folder_to_exist = folder_to_move.split(cyrus_delimiter); 186 folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1]; 187 188 //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 189 190 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 191 return; 228 else{ 229 write_msg(get_lang("ERROR moving your folder.")); 230 } 192 231 } 193 //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 194 195 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 196 if(folder_to_exist == folder_to_move){ 197 return write_msg(get_lang("Thie folder is already in this place")); 198 } 199 200 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 201 if(folder_to_move == get_current_folder()){ 202 return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 203 } 204 205 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 206 if(ui.draggable.parent().find(".selected")[0]){ 207 return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 208 } 209 210 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 211 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 212 return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 213 } 214 215 if($('[id="'+folder_to_exist+'"]').length){ 216 return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 217 } 218 219 $(this).addClass("folders_loading"); 220 221 $.ajax({ 222 url : "controller.php?action=$this.imap_functions.move_folder&folder_to_move="+folder_to_move+"&folder_to="+folder_to, 223 success : function(data){ 224 data = connector.unserialize(data); 225 if(data){ 226 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 227 write_msg(get_lang("The folder was successfully moved")); 228 } 229 else{ 230 write_msg(get_lang("ERROR moving your folder.")); 231 } 232 } 233 }); 234 } 235 } 236 }).hover( 237 function(){ 238 //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 239 if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 240 var folder_ = $(this); 241 var folder_name; 242 if(folder_.parent().attr('id')){ 243 folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 244 folder_name = folder_name[folder_name.length -1]; 245 }else 246 folder_name = "Root"; 247 DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name}, function(html){ 248 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 249 var esc = false; 250 $(folder_).append(html).find(".float-menu-edit").click(function(){ 251 var folder_id = $(this).parents(".closed:first").attr('id'); 252 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 253 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 254 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 255 if($(this).parents(".closed:first").find(".selected").length) 256 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 257 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 258 return; 259 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 260 $(".new_folder").focus().keydown(function(event){ 261 event.stopPropagation(); 262 if(event.keyCode == 13){ 263 if($(this).val() != ""){ 264 if($(this).val().match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 265 return write_msg(get_lang("cannot create folder. try other folder name")); 266 } 267 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú]+$/gi, $(this).val()); 268 if($('[id="'+new_name+'"]').length){ 269 $(".folders_loading").removeClass("folders_loading"); 270 write_msg(get_lang("Mailbox already exists")); 271 return draw_new_tree_folder(); 272 } 273 $(".new_folder").parent().addClass("folders_loading"); 274 $.ajax({ 275 url : "controller.php?action=$this.imap_functions.ren_mailbox", 276 type : "POST", 277 data : "current="+folder_id+"&rename="+new_name, 278 success : function(){ 279 write_msg(get_lang("The folder was successfully rename")); 280 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 281 } 282 }); 283 } 284 }else if( event.keyCode == 27){ 285 draw_new_tree_folder(); 286 } 287 }).focusout(function(){ 288 draw_new_tree_folder(); 289 }).val(name); 290 }) 291 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 292 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 293 .end().find(".float-menu-remove").click(function(){ 294 295 var folder_id = $(this).parents(".closed:first").attr('id'); 296 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 297 298 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 299 return; 300 $(this).parents(".closed:first").find(".folder").addClass("folders_loading"); 301 302 if($(this).parents(".closed:first").find("ul").length){ 303 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 304 return write_msg(get_lang("Delete/move subfolders first")); 305 } 306 if($(this).parents(".closed:first").find(".selected").length){ 307 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 308 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 309 } 310 var folder_span = $(this); 311 var confirm_text = get_lang("Do you wish to exclude the folder "); 312 $.Zebra_Dialog(confirm_text+folder_name, { 313 'type': 'question', 314 'title': 'Confirmação de Exclusão', 315 'buttons': [get_lang('Yes'), get_lang('No')], 316 'onClose': function(caption) { 317 if(caption == get_lang('Yes')){ 318 $.ajax({ 319 url : "controller.php?action=$this.imap_functions.delete_mailbox", 320 type: "POST", 321 data : "del_past="+folder_id, 322 success : function(data){ 323 data = connector.unserialize(data); 324 if(data == "Mailbox does not exist"){ 325 $(".folders_loading").removeClass("folders_loading"); 326 return write_msg(get_lang("Mailbox does not exist")); 327 } 328 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 329 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 330 } 331 }); 332 }else{ 333 folder_span.parents(".closed:first").find(".folder").removeClass("folders_loading"); 334 return; 335 } 336 } 337 }); 338 /* if(!confirm(confirm_text + folder_name)){ 339 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 340 return; 341 } */ 342 }) 343 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 344 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 345 .end().find(".float-menu-new").click(function(){ 346 $(this).parents(".float-menu").addClass("hidden"); 347 var selected_li = $(this).parents(".closed:first"); 348 if(selected_li.find("ul:first").length){ 349 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 350 if(selected_li.find(".expandable-hitarea").length){ 351 selected_li.find(".expandable-hitarea").trigger('click'); 352 } 353 selected_li.find("ul:first").treeview({ 354 add: new_folder 355 }); 356 }else if(selected_li.length){ 357 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 358 selected_li.treeview({ 359 add: new_folder 360 }); 361 }else{ 362 selected_li = $(this).parents(".head_folder").parent(); 363 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 364 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 365 } 366 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 367 selected_li.treeview({ 368 add: new_folder 369 }); 370 } 371 372 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 373 event.stopPropagation(); 374 if(event.keyCode == 13){ 375 if($(this).val().match(/[\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 232 }); 233 } 234 } 235 }).hover( 236 function(){ 237 //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 238 if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 239 var folder_ = $(this); 240 var folder_name; 241 if(folder_.parent().attr('id')){ 242 folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 243 folder_name = folder_name[folder_name.length -1]; 244 }else 245 folder_name = "Root"; 246 DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name}, function(html){ 247 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 248 var esc = false; 249 $(folder_).append(html).find(".float-menu-edit").click(function(){ 250 var folder_id = $(this).parents(".closed:first").attr('id'); 251 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 252 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 253 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 254 if($(this).parents(".closed:first").find(".selected").length) 255 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 256 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 257 return; 258 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 259 $(".new_folder").focus().keydown(function(event){ 260 event.stopPropagation(); 261 if(event.keyCode == 13){ 262 if($(this).val() != ""){ 263 if($(this).val().match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 376 264 return write_msg(get_lang("cannot create folder. try other folder name")); 377 265 } 378 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 266 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú]+$/gi, $(this).val()); 267 if($('[id="'+new_name+'"]').length){ 379 268 $(".folders_loading").removeClass("folders_loading"); 380 269 write_msg(get_lang("Mailbox already exists")); … … 383 272 $(".new_folder").parent().addClass("folders_loading"); 384 273 $.ajax({ 385 url : "controller.php?action=$this.imap_functions. create_mailbox",274 url : "controller.php?action=$this.imap_functions.ren_mailbox", 386 275 type : "POST", 387 data : "newp="+($(this).val() != "" ? $(this).val() : get_lang("New Folder"))+"&base_path="+(selected_li.attr('id')? selected_li.attr('id') : "INBOX"), 388 success : function(data){ 389 data = connector.unserialize(data); 390 if(data == "Mailbox already exists"){ 391 write_msg(get_lang("Mailbox already exists")); 392 } 276 data : "current="+folder_id+"&rename="+new_name, 277 success : function(){ 278 write_msg(get_lang("The folder was successfully rename")); 393 279 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 394 280 } 395 281 }); 396 }else if( event.keyCode == 27){397 draw_new_tree_folder();398 282 } 399 } ).focusout(function(){283 }else if( event.keyCode == 27){ 400 284 draw_new_tree_folder(); 285 } 286 }).focusout(function(){ 287 draw_new_tree_folder(); 288 }).val(name); 289 }) 290 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 291 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 292 .end().find(".float-menu-remove").click(function(){ 293 294 var folder_id = $(this).parents(".closed:first").attr('id'); 295 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 296 297 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 298 return; 299 $(this).parents(".closed:first").find(".folder").addClass("folders_loading"); 300 301 if($(this).parents(".closed:first").find("ul").length){ 302 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 303 return write_msg(get_lang("Delete/move subfolders first")); 304 } 305 if($(this).parents(".closed:first").find(".selected").length){ 306 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 307 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 308 } 309 var folder_span = $(this); 310 var confirm_text = get_lang("Do you wish to exclude the folder "); 311 $.Zebra_Dialog(confirm_text+folder_name, { 312 'type': 'question', 313 'title': 'Confirmação de Exclusão', 314 'buttons': [get_lang('Yes'), get_lang('No')], 315 'onClose': function(caption) { 316 if(caption == get_lang('Yes')){ 317 $.ajax({ 318 url : "controller.php?action=$this.imap_functions.delete_mailbox", 319 type: "POST", 320 data : "del_past="+folder_id, 321 success : function(data){ 322 data = connector.unserialize(data); 323 if(data == "Mailbox does not exist"){ 324 $(".folders_loading").removeClass("folders_loading"); 325 return write_msg(get_lang("Mailbox does not exist")); 326 } 327 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 328 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 329 } 330 }); 331 }else{ 332 folder_span.parents(".closed:first").find(".folder").removeClass("folders_loading"); 333 return; 334 } 335 } 336 }); 337 /* if(!confirm(confirm_text + folder_name)){ 338 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 339 return; 340 } */ 341 }) 342 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 343 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 344 .end().find(".float-menu-new").click(function(){ 345 $(this).parents(".float-menu").addClass("hidden"); 346 var selected_li = $(this).parents(".closed:first"); 347 if(selected_li.find("ul:first").length){ 348 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 349 if(selected_li.find(".expandable-hitarea").length){ 350 selected_li.find(".expandable-hitarea").trigger('click'); 351 } 352 selected_li.find("ul:first").treeview({ 353 add: new_folder 401 354 }); 355 }else if(selected_li.length){ 356 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 357 selected_li.treeview({ 358 add: new_folder 359 }); 360 }else{ 361 selected_li = $(this).parents(".head_folder").parent(); 362 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 363 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 364 } 365 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 366 selected_li.treeview({ 367 add: new_folder 368 }); 369 } 370 371 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 372 event.stopPropagation(); 373 if(event.keyCode == 13){ 374 if($(this).val().match(/[\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 375 return write_msg(get_lang("cannot create folder. try other folder name")); 376 } 377 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 378 $(".folders_loading").removeClass("folders_loading"); 379 write_msg(get_lang("Mailbox already exists")); 380 return draw_new_tree_folder(); 381 } 382 $(".new_folder").parent().addClass("folders_loading"); 383 $.ajax({ 384 url : "controller.php?action=$this.imap_functions.create_mailbox", 385 type : "POST", 386 data : "newp="+($(this).val() != "" ? $(this).val() : get_lang("New Folder"))+"&base_path="+(selected_li.attr('id')? selected_li.attr('id') : "INBOX"), 387 success : function(data){ 388 data = connector.unserialize(data); 389 if(data == "Mailbox already exists"){ 390 write_msg(get_lang("Mailbox already exists")); 391 } 392 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 393 } 394 }); 395 }else if( event.keyCode == 27){ 396 draw_new_tree_folder(); 397 } 398 }).focusout(function(){ 399 draw_new_tree_folder(); 402 400 }); 403 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END404 401 }); 405 } 406 if(!$(".new_folder").length) 402 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 403 }); 404 } 405 if(!$(".new_folder").length){ 406 if(!is_ie) 407 407 $(this).find(".float-menu:first").removeClass("hidden"); 408 }, 409 function(){ 408 else 409 $(this).find(".float-menu:first").show(); 410 } 411 }, 412 function(){ 413 if(!is_ie) 410 414 $(this).find(".float-menu:first").addClass("hidden"); 411 } 412 ); 413 $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red"); 414 if(init_tree < 2){ 415 init_tree++; 416 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 417 } 418 }); 415 else 416 $(this).find(".float-menu:first").hide(); 417 } 418 ); 419 $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red"); 419 420 }
Note: See TracChangeset
for help on using the changeset viewer.