Changeset 7936


Ignore:
Timestamp:
03/01/13 16:50:07 (7 years ago)
Author:
antonio
Message:

Ticket #3366 - Formatação de código para melhor legibilidade.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/mail/js/foldertree.js

    r7887 r7936  
    108108} 
    109109 
    110 function draw_new_tree_folder(callback, force){ 
    111  
    112     var folders =  normalizeFolder( Folder.get( false, force ) ); 
    113  
    114 if(preferences.use_local_messages == 1){ 
    115  
    116     if(expresso_mail_archive.folders && !expresso_offline && expresso_mail_archive.enabled == true) { //MailArchive 
    117         //pega pastas locais do mailarchiver e insere no array de pastas 
     110function draw_new_tree_folder(callback, force) 
     111{ 
     112 
     113    var folders = normalizeFolder(Folder.get(false, force)); 
     114 
     115    if(preferences.use_local_messages == 1) 
     116    { 
     117 
     118        if(expresso_mail_archive.folders && !expresso_offline && expresso_mail_archive.enabled == true) 
     119        { //MailArchive 
     120            //pega pastas locais do mailarchiver e insere no array de pastas 
    118121            expresso_mail_archive.getFoldersList("home"); 
    119122            treeFolders = expresso_mail_archive.folders; 
    120123 
    121             for(var i=0; i<treeFolders.length; i++ ){ 
     124            for(var i = 0; i < treeFolders.length; i++) 
     125            { 
    122126                mount_children_localfolders_list(treeFolders[i]); 
    123127            } 
    124              
    125             for(var i = 0; i < treeFolders.length; i++){ 
     128 
     129            for(var i = 0; i < treeFolders.length; i++) 
     130            { 
    126131                folders.push(treeFolders[i]); 
    127132            } 
    128   
    129     } 
    130 } 
    131  
    132     if(!selected){ 
     133 
     134        } 
     135    } 
     136 
     137    if(!selected) 
     138    { 
    133139        selected = "INBOX"; 
    134140    } 
     
    137143    var tree2 = new Array(); 
    138144    var tree3 = new Array(); 
    139     for (var i=0; i<folders.length; i++) { 
    140         if (/^INBOX/.test(folders[i].id)) { 
    141             if (!unorphanize(tree1, folders[i])) { 
     145    for(var i = 0; i < folders.length; i++) 
     146    { 
     147        if(/^INBOX/.test(folders[i].id)) 
     148        { 
     149            if(!unorphanize(tree1, folders[i])) 
     150            { 
    142151                folders[i].children = new Array(); 
    143152 
     
    145154            } 
    146155        } 
    147         else if (/^user/.test(folders[i].id)) { 
    148             if (!unorphanize(tree2, folders[i])) { 
     156        else if(/^user/.test(folders[i].id)) 
     157        { 
     158            if(!unorphanize(tree2, folders[i])) 
     159            { 
    149160                folders[i].children = new Array(); 
    150161                tree2.push(folders[i]); 
    151162            } 
    152163        } 
    153         else if (/^local_messages/.test(folders[i].id)) { 
    154             
    155                 tree3.push(folders[i]); 
    156              
    157         } 
    158     } 
    159      
    160     for(var i =0; i<tree1.length; i++){ 
     164        else if(/^local_messages/.test(folders[i].id)) 
     165        { 
     166 
     167            tree3.push(folders[i]); 
     168 
     169        } 
     170    } 
     171 
     172    for(var i = 0; i < tree1.length; i++) 
     173    { 
    161174        count_unseen_children(tree1[i]); 
    162175    } 
    163     for(var i =0; i<tree2.length; i++){ 
     176    for(var i = 0; i < tree2.length; i++) 
     177    { 
    164178        count_unseen_children(tree2[i]); 
    165179    } 
    166     for(var i =0; i<tree3.length; i++){ 
     180    for(var i = 0; i < tree3.length; i++) 
     181    { 
    167182        count_unseen_children(tree3[i]); 
    168183    } 
     
    172187    var shared_acls = {}; 
    173188 
    174     $.each(cp_tree2, function(index, value){ 
     189    $.each(cp_tree2, function(index, value) 
     190    { 
    175191        shared_acls[value.id] = value.acl_share; 
    176192    }); 
    177      
    178     if(preferences.use_local_messages == 1){ 
    179       $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 
    180       mail_archive_url = mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + "/admin"; 
    181     } 
    182      
    183     var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 
    184     var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({ 
    185             persist: "cookie", 
    186             animated: "fast" 
    187     }).find(".folder").unbind("click").click(function(event){ 
    188  
    189         if ($(this).next().hasClass("local-connect")) { 
     193 
     194    if(preferences.use_local_messages == 1) 
     195    { 
     196        $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 
     197        mail_archive_url = mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + "/admin"; 
     198    } 
     199 
     200    var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', { 
     201        folders: [tree1, tree2, tree3] 
     202    }); 
     203    var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview( 
     204    { 
     205        persist: "cookie", 
     206        animated: "fast" 
     207    }).find(".folder").unbind("click").click(function(event) 
     208    { 
     209 
     210        if($(this).next().hasClass("local-connect")) 
     211        { 
    190212            return; 
    191213        } 
    192214 
    193         if ($(this).hasClass("local-folder")) { 
     215        if($(this).hasClass("local-folder")) 
     216        { 
    194217            return; 
    195218        } 
    196          
     219 
    197220        // MUDANÇA DE PASTAS! 
    198         var target = $(this);    
    199          
     221        var target = $(this); 
     222 
    200223        if($(".folders-loading").length) 
     224        { 
    201225            return; 
    202          
     226        } 
     227 
    203228        if($(event.target).parent().is(".float-menu")) 
     229        { 
    204230            return; 
    205              
    206         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') ) 
     231        } 
     232 
     233        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')) 
     234        { 
    207235            return; 
    208          
    209         if( target.parent().find(".new_folder").length) 
     236        } 
     237 
     238        if(target.parent().find(".new_folder").length) 
     239        { 
    210240            return; 
    211              
    212         if( !target.attr('id') ) 
     241        } 
     242 
     243        if(!target.attr('id')) 
     244        { 
    213245            target = target.parent(); 
    214         if (target[0] == $(".mainfoldertree")[0]) return; 
     246        } 
     247        if(target[0] == $(".mainfoldertree")[0]) 
     248        { 
     249            return; 
     250        } 
     251 
    215252        var uiId = target.attr('id'); 
    216253        var child = target.find('.folder'); 
    217            
    218         if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 
     254 
     255        if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')) 
     256        { 
    219257            $('.filetree span.folder.selected').removeClass('selected'); 
    220258            $(target).children('.folder').addClass('selected'); 
     
    222260        $(this).addClass("folders-loading"); 
    223261        selected = target.attr('id'); 
    224         change_folder(target.attr('id'), child.attr('title'));   
    225  
    226         $.ajax({ 
    227               url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ), 
    228               success : function(data){ 
    229                   data = connector.unserialize(data); 
    230  
    231                   if(data) 
     262        change_folder(target.attr('id'), child.attr('title')); 
     263 
     264        $.ajax( 
     265        { 
     266            url: "controller.php?" + $.param( 
     267            { 
     268                action: "$this.imap_functions.get_folders_list", 
     269                folder: target.attr('id') 
     270            }), 
     271            success: function(data) 
     272            { 
     273                data = connector.unserialize(data); 
     274 
     275                if(data) 
     276                { 
    232277                    build_quota(data); 
    233               } 
     278                } 
     279            } 
    234280        }); 
    235281 
    236     }).filter('.followup-messages').click(function(event, ui){ 
     282    }).filter('.followup-messages').click(function(event, ui) 
     283    { 
    237284        search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 
    238285    }).end().end(); 
    239286 
    240     $('.upper').droppable({ 
    241         over: function(event, ui){ 
    242             $('#content_folders').autoscroll({ 
     287    $('.upper').droppable( 
     288    { 
     289        over: function(event, ui) 
     290        { 
     291            $('#content_folders').autoscroll( 
     292            { 
    243293                direction: 'up', 
    244294                step: 150, 
     
    246296            }); 
    247297        }, 
    248         out: function(event, ui){ 
     298        out: function(event, ui) 
     299        { 
    249300            $('#content_folders').autoscroll('destroy'); 
    250301        } 
    251302    }); 
    252303 
    253     $('.lower').droppable({ 
    254         over: function(event, ui){ 
    255             $('#content_folders').autoscroll({ 
     304    $('.lower').droppable( 
     305    { 
     306        over: function(event, ui) 
     307        { 
     308            $('#content_folders').autoscroll( 
     309            { 
    256310                direction: 'down', 
    257311                step: 150, 
     
    259313            }); 
    260314        }, 
    261         out: function(event, ui){ 
     315        out: function(event, ui) 
     316        { 
    262317            $('#content_folders').autoscroll('destroy'); 
    263318        } 
     
    266321 
    267322 
    268     folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 
    269     $(".folder").not(".head_folder").not(".shared-folders").not(".shared-folders + ul .folder").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
     323    folders_html.find('[id="' + selected + '"]').children().addClass("selected"); 
     324    $(".folder") 
     325    .not(".head_folder") 
     326    .not(".shared-folders") 
     327    .not(".shared-folders + ul .folder") 
     328    .parent() 
     329    .find(".folder") 
     330    .not(".head_folder,.inbox,.drafts,.sent,.spam,.trash") 
     331    .draggable( 
     332    { 
    270333        // DRAG DE PASTAS 
    271         start : function(){ 
     334        start: function() 
     335        { 
    272336            $(this).css("color", "gray"); 
    273337            $('.upper, .lower').show(); 
    274             $(".lower").css("top", ($("#content_folders").height()-18) + $("#content_folders").offset().top); 
     338            $(".lower").css("top", ($("#content_folders").height() - 18) + $("#content_folders").offset().top); 
    275339        }, 
    276         stop : function(){ 
     340        stop: function() 
     341        { 
    277342            $(this).css("color", ""); 
    278343            $('.upper, .lower').hide(); 
    279344        }, 
    280345        revert: "invalid", 
    281         helper: function(event){ 
    282             if($.trim(($(this).text().split("["))[0]).length > 18) 
    283                 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 
    284             return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 
     346        helper: function(event) 
     347        { 
     348            if($.trim(($(this).text().split("["))[0]).length > 18) return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', { 
     349                texto: (($(this).text().split("["))[0]).substring(0, 18) + "...", 
     350                type: "folder" 
     351            })); 
     352            return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', { 
     353                texto: (($(this).text().split("["))[0]), 
     354                type: "folder" 
     355            })); 
    285356        }, 
    286357        delay: 150, 
    287358        refreshPositions: true, 
    288         zIndex : 2700, 
     359        zIndex: 2700, 
    289360        //scroll: true, 
    290361        //scrollSensitivity: 100, 
     
    292363        containment: $("#divAppbox") 
    293364    }); 
    294     $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").end().droppable({ 
     365    $(".folder") 
     366    .not(".head_folder") 
     367    .not(".shared-folders") 
     368    .parent() 
     369    .find(".folder") 
     370    .not(".head_folder,.inbox,.drafts,.sent,.spam,.trash") 
     371    .end() 
     372    .droppable( 
     373    { 
    295374        //DROP DE PASTAS 
    296         over : function(a, b){ 
     375        over: function(a, b) 
     376        { 
    297377            //INICIO : SE A PASTA CONTER FILHAS EXPANDE  
    298378            $(b.helper).find(".draggin-folder,.draggin-mail").css("color", "green"); 
    299379            over = $(this); 
    300380            $(this).addClass("folder-over"); 
    301             if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 
    302                 if($(this).prev()[0]) 
    303                     if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 
    304                         setTimeout(function(){ 
    305                             if(over.hasClass("folder-over")){ 
    306                                 over.prev().trigger("click"); 
    307                             } 
    308                         }, 500); 
    309                          
     381            if(($(this)[0] != $(this).parent().find(".head_folder")[0])) if($(this).prev()[0]) if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]) 
     382            { 
     383                setTimeout(function() 
     384                { 
     385                    if(over.hasClass("folder-over")) 
     386                    { 
     387                        over.prev().trigger("click"); 
    310388                    } 
     389                }, 500); 
     390 
     391            } 
    311392            //FIM : SE A PASTA CONTER FILHAS EXPANDE            
    312             //$("#content_folders").stop().scrollTo($(this), {axis:'y', margin:true, offset:-50, duration:400});       
    313393            //SETA BORDA EM VOLTA DA PASTA 
    314394            // 
    315395        }, 
    316         out : function(a, b){ 
     396        out: function(a, b) 
     397        { 
    317398            //RETIRA BORDA EM VOLTA DA PASTA 
    318399            $(b.helper).find(".draggin-folder,.draggin-mail").css("color", ""); 
    319400            $(this).removeClass("folder-over"); 
    320401        }, 
    321         drop : function(event, ui){ 
     402        drop: function(event, ui) 
     403        { 
    322404            $(this).removeClass("folder-over"); 
    323405 
    324             if ($(ui.draggable[0]).parent().find("input").val() == "localFolder" && $(this).parents("li").find("input").first().val() != "localFolder"){ 
     406            if($(ui.draggable[0]).parent().find("input").val() == "localFolder" && $(this).parents("li").find("input").first().val() != "localFolder") 
     407            { 
    325408                return write_msg(get_lang("Ohh no, it isn't possible to send a folder by Archiver to My folders")); 
    326             } else if ( !$(ui.draggable[0]).parent().find("input").val() &&  $(this).parents("li").find("input").first().val() == "localFolder") { 
     409            } 
     410            else if(!$(ui.draggable[0]).parent().find("input").val() && $(this).parents("li").find("input").first().val() == "localFolder") 
     411            { 
    327412                return write_msg(get_lang("Ohh no, it isn't possible to send a folder by My folders to Archiver")); 
    328413            } 
    329              
    330             if($(this).parent().attr('id') == undefined){ 
     414 
     415            if($(this).parent().attr('id') == undefined) 
     416            { 
    331417 
    332418                var folder_to = 'INBOX'; 
    333419                var to_folder_title = get_lang("Inbox"); 
    334             }else{ 
     420            } 
     421            else 
     422            { 
    335423                var folder_to = $(this).parent().attr('id'); 
    336424                var to_folder_title = $(this).attr('title'); 
    337             }        
     425            } 
    338426            var folder_to_move = ui.draggable.parent().attr('id'); 
    339427            var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 
    340428            // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 
    341             if(folder_to_move == "tbody_box"){ 
    342                 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 
     429            if(folder_to_move == "tbody_box") 
     430            { 
     431                move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title, true); 
    343432                //Correção para realinhamento da grid de mensagens no navegador Chrome. 
    344                 if(is_webkit){ 
     433                if(is_webkit) 
     434                { 
    345435                    var table = $('#table_box'); 
    346436                    $('#divScrollMain_0').html(''); 
     
    351441            } 
    352442            //SE FOR DE UMA PESQUISA RAPIDA 
    353             else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 
    354                 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 
     443            else if(ui.draggable.parents('[id^="content_id_"]')[0]) 
     444            { 
     445                move_search_msgs("content_id_" + border_id, folder_to, to_folder_title); 
    355446                return; 
    356447            } 
    357448            // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 
    358             else if(folder_to_move == "border_tr"){ 
     449            else if(folder_to_move == "border_tr") 
     450            { 
    359451                var id_msg = border_id.split("_")[0]; 
    360                 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 
     452                folder = $("#input_folder_" + border_id + "_r")[0] ? $("#input_folder_" + border_id + "_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id] : get_current_folder()); 
    361453                alternate_border(border_id); 
    362                 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 
     454                move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title, true); 
    363455                return; 
    364456            } 
    365457            // SE O DROP VIER DA LISTA DE PASTAS 
    366             else{ 
    367                 var folder_to_exist = folder_to_move.split(cyrus_delimiter);     
    368                 folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1]; 
    369                  
     458            else 
     459            { 
     460                var folder_to_exist = folder_to_move.split(cyrus_delimiter); 
     461                folder_to_exist = folder_to + cyrus_delimiter + folder_to_exist[folder_to_exist.length - 1]; 
     462 
    370463                //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 
    371  
    372                 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 
     464                if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)) 
     465                { 
    373466                    return; 
    374467                } 
    375468                //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 
    376                  
    377469                // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 
    378                 if(folder_to_exist == folder_to_move){ 
     470                if(folder_to_exist == folder_to_move) 
     471                { 
    379472                    return write_msg(get_lang("Thie folder is already in this place")); 
    380473                } 
    381                  
     474 
    382475                // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 
    383                 if(folder_to_move == get_current_folder()){ 
     476                if(folder_to_move == get_current_folder()) 
     477                { 
    384478                    return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 
    385479                } 
    386                  
     480 
    387481                // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 
    388                 if(ui.draggable.parent().find(".selected")[0]){ 
     482                if(ui.draggable.parent().find(".selected")[0]) 
     483                { 
    389484                    return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 
    390485                } 
    391                  
     486 
    392487                // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 
    393                 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 
     488                if(ui.draggable.parent().find('[id="' + folder_to + '"]')[0]) 
     489                { 
    394490                    return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 
    395                 }                    
    396                  
    397                 if($('[id="'+folder_to_exist+'"]').length){ 
     491                } 
     492 
     493                if($('[id="' + folder_to_exist + '"]').length) 
     494                { 
    398495                    return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 
    399496                } 
    400                  
     497 
    401498                $(this).addClass("folders-loading"); 
    402499 
    403500 
    404                 if($(this).parents("li").find("input").first().val() == "localFolder"){ 
     501                if($(this).parents("li").find("input").first().val() == "localFolder") 
     502                { 
    405503                    var idFolder = $(this).parent().attr("id").split("_")[2]; 
    406504 
    407505                    expresso_mail_archive.moveFolder(idFolder, folder_to_move.split("_")[2]); 
    408                      cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    409                 } else { 
    410                     $.ajax({ 
    411                         url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 
    412                         success : function(data){ 
     506                    cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     507                } 
     508                else 
     509                { 
     510                    $.ajax( 
     511                    { 
     512                        url: "controller.php?" + $.param( 
     513                        { 
     514                            action: "$this.imap_functions.move_folder", 
     515                            folder_to_move: folder_to_move, 
     516                            folder_to: folder_to 
     517                        }), 
     518                        success: function(data) 
     519                        { 
    413520                            cExecute("$this.imap_functions.get_folders_list&onload=true", force_update_menu); 
    414521                            data = connector.unserialize(data); 
    415                             if(data == "Permission denied"){ 
     522                            if(data == "Permission denied") 
     523                            { 
    416524                                write_msg(get_lang("Permission denied")); 
    417                             }else if(data){ 
     525                            } 
     526                            else if(data) 
     527                            { 
    418528                                write_msg(get_lang("The folder was successfully moved")); 
    419                             } else { 
     529                            } 
     530                            else 
     531                            { 
    420532                                write_msg(get_lang("ERROR moving your folder.")); 
    421533                            } 
     
    426538        } 
    427539    }); 
    428     $(".folder").not(".shared-folders, .followup-messages").parent().find(".folder").hover( 
    429         function(){ 
    430             //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
    431             if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder") && !($(this).next().hasClass("local-connect"))){ /*se houver a classe local-connect, não adiciona o botão de conectar*/ 
    432                 var folder_ = $(this); 
    433                 var folder_name; 
    434                 var shared = { 
    435                     head : false, 
    436                     valid : false 
    437                 }; 
    438                 if(folder_.parent().attr('id')){ 
    439                     folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 
    440                     folder_name = folder_name[folder_name.length -1]; 
    441                     shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
    442                 }else 
    443                     folder_name = "Root"; 
    444                  
    445                 if(shared.valid){ 
    446                     shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ?  true : false; 
    447                     var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 
    448                     var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 
    449                 } 
    450  
    451                 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls});                    
    452                     //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
    453                 var esc = false; 
    454                 $(folder_).append(html).find(".float-menu-edit").click(function(){ 
    455                     var folder_id = $(this).parents(".closed:first").attr('id'); 
    456                     var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 
    457                     if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 
    458                         return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
    459                     if($(this).parents(".closed:first").find("span.selected").length) 
    460                         return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!"));  
    461                     if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
    462                         return; 
    463                     $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 
    464                     $(".new_folder").focus().keydown(function(event){ 
    465                         event.stopPropagation(); 
    466                         if(event.keyCode == 13){ 
    467                             if($(this).val() != ""){ 
    468                                 /* Verifica se existe caracteres especiais no nome da pasta ou se existe "local_" 
    469                                  * em parte do nome (palavra reservada para pastas locais) */ 
    470                                 if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi) || $(this).val().indexOf("local_") != -1){ 
    471                                     return write_msg(get_lang("cannot create folder. try other folder name")); 
    472                                 } 
    473                                 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú,=^\s_-]+$/, $(this).val()); 
    474                                 if($('[id="'+new_name+'"]').length){ 
    475                                     $(".folders-loading").removeClass("folders-loading"); 
    476                                     write_msg(get_lang("Mailbox already exists")); 
    477                                     return draw_new_tree_folder(); 
    478                                 } 
    479                                 $(".new_folder").parent().addClass("folders-loading"); 
    480                                  
    481                                 if($(this).parents("li").find("input").first().val() == "localFolder"){ 
    482                                     var idFolder = $(this).parents("li").first().attr("id").split("_")[2]; 
    483                                     expresso_mail_archive.renameFolder(idFolder, new_name); 
    484                                      cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    485                                 } else { 
    486  
    487                                 $.ajax({ 
    488                                     url : "controller.php?action=$this.imap_functions.ren_mailbox", 
    489                                     type : "POST", 
    490                                     data : "current="+folder_id+"&rename="+new_name, 
    491                                     success : function(data){ 
     540    $(".folder") 
     541    .not(".shared-folders, .followup-messages") 
     542    .parent() 
     543    .find(".folder") 
     544    .hover( 
     545    function() 
     546    { 
     547        //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
     548        if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder") && !($(this).next().hasClass("local-connect"))) 
     549        { /*se houver a classe local-connect, não adiciona o botão de conectar*/ 
     550            var folder_ = $(this); 
     551            var folder_name; 
     552            var shared = { 
     553                head: false, 
     554                valid: false 
     555            }; 
     556            if(folder_.parent().attr('id')) 
     557            { 
     558                folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 
     559                folder_name = folder_name[folder_name.length - 1]; 
     560                shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
     561            } 
     562            else folder_name = "Root"; 
     563 
     564            if(shared.valid) 
     565            { 
     566                shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ? true : false; 
     567                var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 
     568                var acls = shared_acls[folder_name_parts[0] + cyrus_delimiter + folder_name_parts[1]]; 
     569            } 
     570 
     571            html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", { 
     572                name_folder: folder_name, 
     573                flag: shared, 
     574                acl: acls 
     575            }); 
     576            //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
     577            var esc = false; 
     578            $(folder_).append(html).find(".float-menu-edit").click(function() 
     579            { 
     580                var folder_id = $(this).parents(".closed:first").attr('id'); 
     581                var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 
     582                if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 
     583                { 
     584                    return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
     585                } 
     586                if($(this).parents(".closed:first").find("span.selected").length) 
     587                { 
     588                    return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 
     589                } 
     590                if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
     591                { 
     592                    return; 
     593                } 
     594                $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 
     595                $(".new_folder").focus().keydown(function(event) 
     596                { 
     597                    event.stopPropagation(); 
     598                    if(event.keyCode == 13) 
     599                    { 
     600                        if($(this).val() != "") 
     601                        { 
     602                            /* Verifica se existe caracteres especiais no nome da pasta ou se existe "local_" 
     603                             * em parte do nome (palavra reservada para pastas locais) */ 
     604                            if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi) || $(this).val().indexOf("local_") != -1) 
     605                            { 
     606                                return write_msg(get_lang("cannot create folder. try other folder name")); 
     607                            } 
     608                            var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú,=^\s_-]+$/, $(this).val()); 
     609                            if($('[id="' + new_name + '"]').length) 
     610                            { 
     611                                $(".folders-loading").removeClass("folders-loading"); 
     612                                write_msg(get_lang("Mailbox already exists")); 
     613                                return draw_new_tree_folder(); 
     614                            } 
     615                            $(".new_folder").parent().addClass("folders-loading"); 
     616 
     617                            if($(this).parents("li").find("input").first().val() == "localFolder") 
     618                            { 
     619                                var idFolder = $(this).parents("li").first().attr("id").split("_")[2]; 
     620                                expresso_mail_archive.renameFolder(idFolder, new_name); 
     621                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     622                            } 
     623                            else 
     624                            { 
     625                                $.ajax( 
     626                                { 
     627                                    url: "controller.php?action=$this.imap_functions.ren_mailbox", 
     628                                    type: "POST", 
     629                                    data: "current=" + folder_id + "&rename=" + new_name, 
     630                                    success: function(data) 
     631                                    { 
    492632                                        data = connector.unserialize(data); 
    493                                         if(data == "Permission denied"){ 
     633                                        if(data == "Permission denied") 
     634                                        { 
    494635                                            $(".folders-loading").removeClass("folders-loading"); 
    495636                                            cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     
    501642                                }); 
    502643 
    503                                 } 
    504                             }else{ 
    505                                 $(".new_folder").focusout(); 
    506                             } 
    507                         }else if( event.keyCode == 27){ 
    508                             draw_new_tree_folder(); 
    509                         } 
    510                     }).focusout(function(){ 
     644                            } 
     645                        } 
     646                        else 
     647                        { 
     648                            $(".new_folder").focusout(); 
     649                        } 
     650                    } 
     651                    else if(event.keyCode == 27) 
     652                    { 
    511653                        draw_new_tree_folder(); 
    512                     }).val(name); 
    513                 }) 
    514                 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 
    515                 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 
    516                 .end().find(".float-menu-remove").click(function(){ 
    517                      
    518                     var folder_id = $(this).parents(".closed:first").attr('id'); 
    519                     var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 
    520                      
    521                     if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
    522                         return; 
    523                     $(this).parents(".closed:first").find(".folder").addClass("folders-loading");  
    524                      
    525                     if($(this).parents(".closed:first").find("ul").length){ 
    526                         $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    527                         return write_msg(get_lang("Delete/move subfolders first")); 
    528654                    } 
    529                     if($(this).parents(".closed:first").find("span.selected").length){ 
    530                         $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    531                         return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!"));  
    532                     } 
    533                     var folder_span = $(this); 
    534                     var confirm_text = get_lang("Do you wish to exclude the folder "); 
    535  
    536                     $.Zebra_Dialog(confirm_text+folder_name, { 
    537                         'type': 'question', 
    538                         'overlay_opacity': '0.5', 
    539                                                 'custom_class': 'custom-zebra-filter', 
    540                         'buttons':  [get_lang('Yes'), get_lang('No')], 
    541                         'onClose':  function(caption) { 
    542  
    543                             if(caption == get_lang('Yes')){ 
    544                                 if(folder_span.parents("li").find("input").first().val() == "localFolder"){ 
    545                                     var idFolder = folder_span.parents("li").first().attr("id").split("_")[2]; 
    546                                     expresso_mail_archive.deleteFolder(idFolder, folder_name); 
    547                                      cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    548                                 } else { 
    549                                 $.ajax({ 
    550                                     url : "controller.php?action=$this.imap_functions.delete_mailbox", 
     655                }).focusout(function() 
     656                { 
     657                    draw_new_tree_folder(); 
     658                }).val(name); 
     659            }) 
     660            //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 
     661            //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 
     662            .end().find(".float-menu-remove").click(function() 
     663            { 
     664 
     665                var folder_id = $(this).parents(".closed:first").attr('id'); 
     666                var folder_name = "<strong>" + $.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0]) + "</strong>"; 
     667 
     668                if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
     669                { 
     670                    return; 
     671                } 
     672                $(this).parents(".closed:first").find(".folder").addClass("folders-loading"); 
     673 
     674                if($(this).parents(".closed:first").find("ul").length) 
     675                { 
     676                    $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     677                    return write_msg(get_lang("Delete/move subfolders first")); 
     678                } 
     679                if($(this).parents(".closed:first").find("span.selected").length) 
     680                { 
     681                    $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     682                    return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 
     683                } 
     684                var folder_span = $(this); 
     685                var confirm_text = get_lang("Do you wish to exclude the folder "); 
     686 
     687                $.Zebra_Dialog(confirm_text + folder_name, { 
     688                    'type': 'question', 
     689                    'overlay_opacity': '0.5', 
     690                    'custom_class': 'custom-zebra-filter', 
     691                    'buttons': [get_lang('Yes'), get_lang('No')], 
     692                    'onClose': function(caption) 
     693                    { 
     694 
     695                        if(caption == get_lang('Yes')) 
     696                        { 
     697                            if(folder_span.parents("li").find("input").first().val() == "localFolder") 
     698                            { 
     699                                var idFolder = folder_span.parents("li").first().attr("id").split("_")[2]; 
     700                                expresso_mail_archive.deleteFolder(idFolder, folder_name); 
     701                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     702                            } 
     703                            else 
     704                            { 
     705                                $.ajax( 
     706                                { 
     707                                    url: "controller.php?action=$this.imap_functions.delete_mailbox", 
    551708                                    type: "POST", 
    552                                     data : "del_past="+folder_id, 
    553                                     success : function(data){ 
     709                                    data: "del_past=" + folder_id, 
     710                                    success: function(data) 
     711                                    { 
    554712                                        data = connector.unserialize(data); 
    555                                         if(data == "Mailbox does not exist"){ 
     713                                        if(data == "Mailbox does not exist") 
     714                                        { 
    556715                                            $(".folders-loading").removeClass("folders-loading"); 
    557716                                            return write_msg(get_lang("Mailbox does not exist")); 
    558                                         }else if(data == "Permission denied"){ 
     717                                        } 
     718                                        else if(data == "Permission denied") 
     719                                        { 
    559720                                            $(".folders-loading").removeClass("folders-loading"); 
    560721                                            cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     
    565726                                    } 
    566727                                }); 
     728                            } 
     729                        } 
     730                        else 
     731                        { 
     732                            folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     733                            return; 
     734                        } 
     735                    } 
     736                }); 
     737            }) 
     738            //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 
     739            //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 
     740            .end().find(".float-menu-new").click(function() 
     741            { 
     742                $(this).parents(".float-menu").hide(); 
     743                var selected_li = $(this).parents(".closed:first"); 
     744                if(selected_li.find("ul:first").length) 
     745                { 
     746                    var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 
     747                    if(selected_li.find(".expandable-hitarea").length) 
     748                    { 
     749                        selected_li.find(".expandable-hitarea").trigger('click'); 
     750                    } 
     751                    selected_li.find("ul:first").treeview( 
     752                    { 
     753                        add: new_folder 
     754                    }); 
     755                } 
     756                else if(selected_li.length) 
     757                { 
     758                    var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 
     759                    selected_li.treeview( 
     760                    { 
     761                        add: new_folder 
     762                    }); 
     763                } 
     764                else 
     765                { 
     766                    selected_li = $(this).parents(".head_folder").parent(); 
     767                    if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length) 
     768                    { 
     769                        $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 
     770                    } 
     771                    var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 
     772                    selected_li.treeview( 
     773                    { 
     774                        add: new_folder 
     775                    }); 
     776                } 
     777                var existsIdenticalFolder = false; 
     778                selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event) 
     779                { 
     780                    event.stopPropagation(); 
     781 
     782                    existsIdenticalFolder = false; 
     783 
     784                    var ok = false; 
     785                    var makeChildren = function(auxNameFolder, father) 
     786                        { 
     787                            if(auxNameFolder.length == 0) return true; 
     788 
     789 
     790                            if(auxNameFolder[0] == "") 
     791                            { 
     792                                auxNameFolder.shift(); 
     793                                makeChildren(auxNameFolder, father); 
     794                                return true; 
     795                            } 
     796                            if(ok == false) 
     797                            { 
     798                                expresso_mail_archive.createFolder((father ? father : "inbox"), auxNameFolder[0]); 
     799                            } 
     800 
     801                            expresso_mail_archive.getFoldersList(father); 
     802 
     803                            for(var ii = 0; ii < expresso_mail_archive.folders.length; ii++) 
     804                            { 
     805                                if(auxNameFolder[0] == expresso_mail_archive.folders[ii].name) 
     806                                { 
     807                                    auxNameFolder.shift(); 
     808                                    save = expresso_mail_archive.folders; 
     809                                    expresso_mail_archive.createFolder(expresso_mail_archive.folders[ii].id, auxNameFolder[0]); 
     810                                    expresso_mail_archive.folders = save; 
     811                                    ok = true; 
     812                                    makeChildren(auxNameFolder, expresso_mail_archive.folders[ii].id); 
     813                                    return true; 
    567814                                } 
    568                             }else{ 
    569                                 folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    570                                 return; 
    571                             } 
    572                         } 
    573                     }); 
    574                     /* if(!confirm(confirm_text + folder_name)){ 
    575                         $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    576                         return; 
    577                     } */ 
    578                 }) 
    579                 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 
    580                 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 
    581                 .end().find(".float-menu-new").click(function(){ 
    582                     $(this).parents(".float-menu").hide(); 
    583                     var selected_li = $(this).parents(".closed:first"); 
    584                     if(selected_li.find("ul:first").length){ 
    585                         var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first"));                                 
    586                         if(selected_li.find(".expandable-hitarea").length){ 
    587                             selected_li.find(".expandable-hitarea").trigger('click'); 
    588                         } 
    589                         selected_li.find("ul:first").treeview({ 
    590                             add: new_folder 
    591                         }); 
    592                     }else if(selected_li.length){ 
    593                         var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                 
    594                         selected_li.treeview({ 
    595                             add: new_folder 
    596                         }); 
    597                     }else{ 
    598                         selected_li = $(this).parents(".head_folder").parent(); 
    599                         if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 
    600                             $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 
    601                         } 
    602                         var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                 
    603                         selected_li.treeview({ 
    604                             add: new_folder 
    605                         }); 
     815                            } 
     816                        } 
     817 
     818 
     819                    if(event.keyCode == 13) 
     820                    { 
     821                        /* Verifica se existe caracteres especiais no nome da pasta ou se existe "local_" 
     822                         * em parte do nome (palavra reservada para pastas locais) */ 
     823                        if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi) || $(this).val().indexOf("local_") != -1) 
     824                        { 
     825                            return write_msg(get_lang("cannot create folder. try other folder name")); 
     826                        } 
     827                        if($(this).parents("li").find("input[type=hidden]").val() == "localFolder") 
     828                        { 
     829 
     830                            $(".new_folder").parent().addClass("folders-loading"); 
     831 
     832                            var folderName = $(this).val(); 
     833                            var folder = (folderName != "" ? folderName : get_lang("New Folder")); 
     834                            var father = typeof(selected_li.attr('id')) != "undefined" ? selected_li.attr('id').split("_")[2] : "home"; 
     835 
     836                            $(this).parents(".treeview:first").find("li").each(function() 
     837                            { 
     838                                var eachFolder = $(this).find("span:first").text().trim(); 
     839                                if(folder == eachFolder) 
     840                                { 
     841                                    existsIdenticalFolder = true; 
     842                                    return false; 
     843                                } 
     844                            }); 
     845 
     846                            if(existsIdenticalFolder) 
     847                            { 
     848                                event.stopPropagation(); 
     849                                write_msg(get_lang("Mailbox already exists")); 
     850                                draw_new_tree_folder(); 
     851                                return false; 
     852                            } 
     853 
     854                            if(folderName.indexOf("/") != -1) 
     855                            { 
     856                                auxNameFolder = folderName.split("/"); 
     857 
     858                                makeChildren(auxNameFolder, father); 
     859                            } 
     860                            else 
     861                            { 
     862                                var folder = (folderName != "" ? folderName : get_lang("New Folder")); 
     863                                create_new_local_folder((selected_li.attr('id') ? selected_li.attr('id') : "inbox"), folder); 
     864                            } 
     865 
     866                            cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     867                        } 
     868                        else 
     869                        { 
     870                            if($('[id="' + (selected_li.attr('id') ? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val() + '"]').length) 
     871                            { 
     872                                $(".folders-loading").removeClass("folders-loading"); 
     873                                write_msg(get_lang("Mailbox already exists")); 
     874                                return draw_new_tree_folder(); 
     875                            } 
     876                            $(".new_folder").parent().addClass("folders-loading"); 
     877                            create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id') ? selected_li.attr('id') : "INBOX")); 
     878                        } 
     879 
    606880                    } 
    607                     var existsIdenticalFolder = false; 
    608                     selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 
    609                         event.stopPropagation(); 
    610  
    611                         existsIdenticalFolder = false; 
    612  
    613                     var ok = false; 
    614                     var makeChildren = function(auxNameFolder, father){ 
    615                         if(auxNameFolder.length == 0) return true; 
    616  
    617  
    618                         if(auxNameFolder[0] == ""){ 
    619                             auxNameFolder.shift(); 
    620                             makeChildren(auxNameFolder, father); 
    621                             return true; 
    622                         } 
    623                         if(ok == false) 
    624                             expresso_mail_archive.createFolder((father ? father : "inbox"), auxNameFolder[0]); 
    625                          
    626                         expresso_mail_archive.getFoldersList(father); 
    627  
    628                         for(var ii =0; ii<expresso_mail_archive.folders.length; ii++){ 
    629                             if(auxNameFolder[0] == expresso_mail_archive.folders[ii].name){ 
    630                                  auxNameFolder.shift(); 
    631                                  save = expresso_mail_archive.folders; 
    632                                  expresso_mail_archive.createFolder(expresso_mail_archive.folders[ii].id, auxNameFolder[0]); 
    633                                  expresso_mail_archive.folders = save;  
    634                                  ok = true; 
    635                                  makeChildren(auxNameFolder, expresso_mail_archive.folders[ii].id); 
    636                                  return true; 
    637                             } 
    638                         } 
     881                    else if(event.keyCode == 27) 
     882                    { 
     883                        draw_new_tree_folder(); 
    639884                    } 
    640885 
    641  
    642                         if(event.keyCode == 13){ 
    643                             /* Verifica se existe caracteres especiais no nome da pasta ou se existe "local_" 
    644                              * em parte do nome (palavra reservada para pastas locais) */ 
    645                             if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi) || $(this).val().indexOf("local_") != -1){ 
    646                                 return write_msg(get_lang("cannot create folder. try other folder name")); 
    647                             } 
    648                             if($(this).parents("li").find("input[type=hidden]").val() == "localFolder"){ 
    649  
    650                                  $(".new_folder").parent().addClass("folders-loading"); 
    651  
    652                                  var folderName = $(this).val(); 
    653                                  var folder = (folderName != "" ? folderName : get_lang("New Folder")); 
    654                                  var father = typeof(selected_li.attr('id')) != "undefined" ? selected_li.attr('id').split("_")[2] : "home"; 
    655  
    656                                  $(this).parents(".treeview:first").find("li").each(function(){ 
    657                                      var eachFolder = $(this).find("span:first").text().trim(); 
    658                                      if(folder == eachFolder){ 
    659                                         existsIdenticalFolder = true; 
    660                                         return false; 
    661                                      }   
    662                                  }); 
    663  
    664                                  if(existsIdenticalFolder){ 
    665                                     event.stopPropagation(); 
    666                                     write_msg(get_lang("Mailbox already exists")); 
    667                                     draw_new_tree_folder(); 
    668                                     return false; 
    669                                  } 
    670  
    671                                  if(folderName.indexOf("/") != -1){ 
    672                                     auxNameFolder = folderName.split("/"); 
    673  
    674                                     makeChildren(auxNameFolder, father); 
    675                                  } else { 
    676                                      var folder = (folderName != "" ? folderName : get_lang("New Folder")); 
    677                                      create_new_local_folder((selected_li.attr('id') ? selected_li.attr('id') : "inbox") , folder); 
    678                                  } 
    679  
    680                                  cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    681                             } else { 
    682                                 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 
    683                                     $(".folders-loading").removeClass("folders-loading"); 
    684                                     write_msg(get_lang("Mailbox already exists")); 
    685                                     return draw_new_tree_folder(); 
    686                                 } 
    687                                 $(".new_folder").parent().addClass("folders-loading"); 
    688                                 create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id')? selected_li.attr('id') : "INBOX")); 
    689                             } 
    690  
    691                         }else if( event.keyCode == 27){ 
    692                             draw_new_tree_folder(); 
    693                         } 
    694  
    695                     }).focusout(function(){ 
    696                         if(!existsIdenticalFolder){ 
    697                             draw_new_tree_folder(); 
    698                         } 
    699                          
    700                     }); 
    701                 }).end().find(".float-menu-export").click(function(){ 
    702                     //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 
    703  
    704                     var name_box = $(this).parents("li:first").attr("id"); 
    705  
    706                     var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 
    707  
    708  
    709                     var hand_export = function(data){ 
    710                                                 clean_msg(); 
    711                         if(!data){ 
     886                }).focusout(function() 
     887                { 
     888                    if(!existsIdenticalFolder) 
     889                    { 
     890                        draw_new_tree_folder(); 
     891                    } 
     892 
     893                }); 
     894            }).end().find(".float-menu-export").click(function() 
     895            { 
     896                var name_box = $(this).parents("li:first").attr("id"); 
     897 
     898                var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length - 1]; 
     899 
     900 
     901                var hand_export = function(data) 
     902                    { 
     903                        clean_msg(); 
     904                        if(!data) 
     905                        { 
    712906                            write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
    713                         }else if(data["empty_folder"] || data == "empty_folder"){ 
     907                        } 
     908                        else if(data["empty_folder"] || data == "empty_folder") 
     909                        { 
    714910                            write_msg(get_lang("The selected folder is empty.")); 
    715                         }else 
    716                                                         download_attachments(null, null, data, null,null, name_folder +'.zip');                                          
     911                        } 
     912                        else download_attachments(null, null, data, null, null, name_folder + '.zip'); 
    717913                    } 
    718                     if($(this).parents("li:first").find("input[type=hidden]:first").val() == "localFolder"){                         
    719                           expresso_mail_archive.listMessages(name_box.split("_")[2]); 
    720                           var msgsArchive = expresso_mail_archive.messageslisted; 
    721                          
    722                            buildExportArchiver(msgsArchive, name_box); 
    723  
    724                     } else { 
    725                           cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box);   
    726                     } 
    727                     write_msg(get_lang('You must wait while the messages will be exported...'),true);         
    728                 }); 
    729                 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
    730             } 
    731             if(!$(".new_folder").length){ 
    732                 $(this).find(".float-menu:first").css("display", ""); 
    733             } 
    734         }, 
    735         function(){ 
    736             $(this).find(".float-menu:first").hide(); 
    737         } 
    738     ); 
    739     $("#new_m").html($('.selected .message_unseen_count:first .folder_unseen').html() ? $('.selected .message_unseen_count:first .folder_unseen').html() : "0").css("color", "red"); 
     914                if($(this).parents("li:first").find("input[type=hidden]:first").val() == "localFolder") 
     915                { 
     916                    expresso_mail_archive.listMessages(name_box.split("_")[2]); 
     917                    var msgsArchive = expresso_mail_archive.messageslisted; 
     918 
     919                    buildExportArchiver(msgsArchive, name_box); 
     920 
     921                } 
     922                else 
     923                { 
     924                    cExecute("$this.exporteml.export_all", hand_export, "folder=" + name_box); 
     925                } 
     926                write_msg(get_lang('You must wait while the messages will be exported...'), true); 
     927            }); 
     928            //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
     929        } 
     930        if(!$(".new_folder").length) 
     931        { 
     932            $(this).find(".float-menu:first").css("display", ""); 
     933        } 
     934    }, function() 
     935    { 
     936        $(this).find(".float-menu:first").hide(); 
     937    }); 
     938    $("#new_m") 
     939    .html($('.selected .message_unseen_count:first .folder_unseen').html() ? $('.selected .message_unseen_count:first .folder_unseen').html() : "0") 
     940    .css("color", "red"); 
    740941} 
Note: See TracChangeset for help on using the changeset viewer.