Changeset 5703 for trunk


Ignore:
Timestamp:
03/12/12 14:24:59 (12 years ago)
Author:
gustavo
Message:

Ticket #2529 - Correção de bugs na nova estrutura de diretórios do ExpressoMail?

Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/index.php

    r5690 r5703  
    314314                var locale = "'.$GLOBALS['phpgw']->common->getPreferredLanguage().'"; 
    315315                var new_agenda = "'.$current_config['new_agenda'].'"; 
    316                 $("#sideboxdragarea").addClass("hidden"); 
    317                 $("#menu2Container").addClass("hidden"); 
     316                $("#sideboxdragarea").hide(); 
     317                $("#menu2Container").hide(); 
    318318    </script>'; 
    319319 
  • trunk/expressoMail1_2/js/main.js

    r5702 r5703  
    8585                 
    8686                if($.cookie('collapse_folders') == "true"){ 
    87                         $("#folderscol").addClass( "hidden"); 
     87                        if(!is_ie) 
     88                                $("#folderscol").addClass( "hidden"); 
     89                        else 
     90                                $("#folderscol").hide(); 
    8891                        $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 
    8992                        refresh(); 
     
    99102                $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 
    100103                        if($("#folderscol").css("display") != "none"){ 
    101                                 $("#folderscol").addClass( "hidden"); 
     104                                if(!is_ie) 
     105                                        $("#folderscol").addClass( "hidden"); 
     106                                else 
     107                                        $("#folderscol").hide(); 
     108                                         
    102109                                $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 
    103110                                $(".collapse_folders").addClass("ui-icon-triangle-1-e").attr('title', "Expandir"); 
     
    106113                                resizeWindow(); 
    107114                        }else{ 
    108                                 $("#folderscol").removeClass( "hidden"); 
     115                                if(!is_ie) 
     116                                        $("#folderscol").removeClass( "hidden"); 
     117                                else 
     118                                        $("#folderscol").show(); 
    109119                                $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 
    110120                                $(".collapse_folders").addClass("ui-icon-triangle-1-w").attr('title', "Ocultar"); 
     
    123133                        } 
    124134                ); 
     135                DataLayer.get("folder", true); 
    125136                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
    126137        } 
     
    10741085        }else 
    10751086                write_msg(get_lang('No selected message.')); 
    1076  
    10771087} 
    10781088 
     
    28492859                update_quota(get_current_folder()); 
    28502860                draw_new_tree_folder(); 
     2861                draw_tree_labels(); 
    28512862                if (data){ 
    28522863                        write_msg(get_lang('Your Trash folder was empty.')); 
     
    29122923                //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 
    29132924                draw_new_tree_folder(); 
     2925                draw_tree_labels(); 
    29142926                update_quota(get_current_folder()); 
    29152927                if (data) 
  • trunk/expressoMail1_2/setup/phpgw_pt-br.lang

    r5587 r5703  
    803803Color   expressoMail1_2 pt-br   Cor 
    804804Done    expressoMail1_2 pt-br   Concluido 
    805   
     805This 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;} 
    99 
    1010.folders_loading { 
  • trunk/prototype/modules/mail/js/foldertree.js

    r5697 r5703  
    7272        } 
    7373        $("#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; 
    7988                         
    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; 
    8294                         
    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 
    85147                         
    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")); 
    146227                                                } 
    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                                                } 
    192231                                        } 
    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)){ 
    376264                                                                                return write_msg(get_lang("cannot create folder. try other folder name")); 
    377265                                                                        } 
    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){ 
    379268                                                                                $(".folders_loading").removeClass("folders_loading"); 
    380269                                                                                write_msg(get_lang("Mailbox already exists")); 
     
    383272                                                                        $(".new_folder").parent().addClass("folders_loading"); 
    384273                                                                        $.ajax({ 
    385                                                                                 url : "controller.php?action=$this.imap_functions.create_mailbox", 
     274                                                                                url : "controller.php?action=$this.imap_functions.ren_mailbox", 
    386275                                                                                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")); 
    393279                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    394280                                                                                } 
    395281                                                                        }); 
    396                                                                 }else if( event.keyCode == 27){ 
    397                                                                         draw_new_tree_folder(); 
    398282                                                                } 
    399                                                         }).focusout(function(){ 
     283                                                        }else if( event.keyCode == 27){ 
    400284                                                                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 
    401354                                                        }); 
     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(); 
    402400                                                }); 
    403                                                 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
    404401                                        }); 
    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) 
    407407                                        $(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) 
    410414                                $(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"); 
    419420} 
Note: See TracChangeset for help on using the changeset viewer.