source: sandbox/2.5.0-expresso1/prototype/modules/mail/js/foldertree.js @ 7149

Revision 7149, 21.0 KB checked in by marcosw, 12 years ago (diff)

Ticket #3088 - Melhoria para mover e remover mensagens locais

  • Property svn:executable set to *
RevLine 
[5486]1var init_tree = 0;
2var selected;
[5503]3var over;
[5813]4var cp_tree1;
5var cp_tree2;
[7149]6//Marcosw início
7var cp_tree3;
8//Marcosw fim
[5501]9function unorphanize(root, element) {
[5486]10        var ok = false;
[5732]11        var f = 0;
[5486]12        for (var i=0; i<root.length; i++) {
[5501]13                if (root[i].id == element.parentFolder) {
14                        element.children = new Array();
15                        root[i].children.push(element);
[5486]16                        return true;
[5501]17                } else if (ok = unorphanize(root[i].children, element)) {
[5486]18                        break;
19                }
20        }
21        return ok;
22}
23
[5732]24function count_unseen_children(folder){
25        if(folder.children.length){
26                for(var i=0; i< folder.children.length; i++){
27                        if(folder.children[i].children.length)
28                                folder.children[i]['children_unseen'] = (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + count_unseen_children(folder.children[i]);
29                       
30                        folder['children_unseen'] = (folder['children_unseen'] ? folder['children_unseen'] : 0)+ (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + parseInt(folder.children[i].messageCount.unseen);                       
31                }
32                return folder['children_unseen'];
33        }else{
34                return parseInt(folder.messageCount.unseen);
35        }
36}
37
[5486]38function valid_tabs(children_of_this_folder, folder_to_move){
39        var borders_open = $("#border_tr").children();
40
41        var error = false;
42        for(var i = 1; i <= borders_open.length -2; i ++){
[5500]43                //VERIFICA A CADA FILHO DA PASTA SE ESTA eventNSAGEM E DESTA PASTA
[5486]44                $.each(children_of_this_folder, function(index, value){
45                        if($(children_of_this_folder[index]).attr('id') == openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")]){
46                                error = true;
[5516]47                                write_msg(get_lang("One or more messages from any sub-folder are open"));
[5486]48                                return error;
49                               
50                        }
51                });
52                if(error){
53                        return error;
54                }
55                //VERIFICA SE EXISTE NA PASTA A SER MOVIDA
56                if(openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")] == folder_to_move){
57                        error = true;
[5516]58                        write_msg(get_lang("One or more messages from this folder are open"));
[5486]59                        return error;
60                }
61        }
62}
63
64function draw_new_tree_folder(callback){
[6216]65       
[6222]66        var folders = DataLayer.get("folder", true);
[7146]67   
68    if(preferences.use_local_messages==1 && !expresso_offline) { //MailArchive
69            //pega pastas locais do mailarchiver e insere no array de pastas
70            var local_folders = new Array();
71            for (var i=0; i<expresso_mail_archive.folders.length; i++) {
72                var local_folder = {
73                    id: 'local_messages_'+expresso_mail_archive.folders[i].id,
74                    commonName: expresso_mail_archive.folders[i].name,
75                    messageCount: {
76                        total: expresso_mail_archive.folders[i].messages,
77                        unseen: expresso_mail_archive.folders[i].unseen
78                    }
79                };
80                folders.push(local_folder);
81            }
82        }
83
84    //var local_folders = { id: 'local_messages', commonName: 'Pasta Local', messageCount: {total:200, unseen:20} };
85    //var local_folders = expresso_mail_archive.folders;
86
87    //folders.push(local_folders);
88 //    folders[24] = new Array();
89        // folders[24].id = 'local_messages';
90 //    folders[24].commonName = 'Pasta Local';
91 //    //folders[20].parentFolder = 'root';
92 //    folders[24].messageCount = { total: 200, unseen: 20};
93
94 //    console.log(folders);
95 //    console.log(folders.length);
96
[5486]97        if(!selected){
98                selected = "INBOX";
99        }
[6221]100        /*
[6216]101        if( folders )
102        {
103            folders = $.map( folders, function( folder ){
104                  return {
105                    id: folder.folder_id,
106                    commonName: folder.folder_name,
107                    parentFolder: folder.folder_parent === "root" ? "" : folder.folder_parent,
108                    messageCount: { total : '', unseen : '0' }
109                  };
110            });
111        }
112        else
113            folders = DataLayer.get("folder", true);
[6221]114        */
[5486]115        var tree1 = new Array();
116        var tree2 = new Array();
117        var tree3 = new Array();
118        for (var i=0; i<folders.length; i++) {
119                if (/^INBOX/.test(folders[i].id)) {
120                        if (!unorphanize(tree1, folders[i])) {
121                                folders[i].children = new Array();
122                                tree1.push(folders[i]);
123                        }
124                }
125                else if (/^user/.test(folders[i].id)) {
126                        if (!unorphanize(tree2, folders[i])) {
127                                folders[i].children = new Array();
128                                tree2.push(folders[i]);
129                        }
130                }
[5501]131                else if (/^local_messages/.test(folders[i].id)) {
[5486]132                        if (!unorphanize(tree3, folders[i])) {
133                                folders[i].children = new Array();
134                                tree3.push(folders[i]);
135                        }
136                }
137        }
[5732]138       
139        for(var i =0; i<tree1.length; i++){
140                count_unseen_children(tree1[i]);
141        }
142        for(var i =0; i<tree2.length; i++){
143                count_unseen_children(tree2[i]);
144        }
145        for(var i =0; i<tree3.length; i++){
146                count_unseen_children(tree3[i]);
147        }
[5813]148        cp_tree1 = tree1;
149        cp_tree2 = tree2;
[7149]150        //Marcosw inicio
151        cp_tree3 = tree3;
152        //Marcosw fim
[6930]153        var shared_acls = {};
154
155        $.each(cp_tree2, function(index, value){
156                shared_acls[value.id] = value.acl_share;
157        });
158
[5502]159        $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu");
[5703]160        var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]});
161        var folders_html = $("#content_folders").html(html).find(".mainfoldertree").treeview({
162                        persist: "cookie",
163                        animated: "fast"
[5765]164        }).find(".folder").unbind("click").click(function(event){
[5703]165               
166                // MUDANÇA DE PASTAS!
167                var target = $(this);   
168               
[5754]169                if($(".folders-loading").length)
[5703]170                        return;
171               
172                if($(event.target).parent().is(".float-menu"))
173                        return;
[5486]174                       
[5754]175                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') )
[5703]176                        return;
177               
178                if( target.parent().find(".new_folder").length)
179                        return;
[5516]180                       
[5703]181                if( !target.attr('id') )
182                        target = target.parent();
183                if (target[0] == $(".mainfoldertree")[0]) return;
184                var uiId = target.attr('id');
185                var child = target.find('.folder');
186                 
187                if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){
188                        $('.filetree span.folder.selected').removeClass('selected');
189                        $(target).children('.folder').addClass('selected');
190                }
[5754]191                $(this).addClass("folders-loading");
[5703]192                selected = target.attr('id');
193                change_folder(target.attr('id'), child.attr('title')); 
[6254]194
195                $.ajax({
196                          url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ),
197                          success : function(data){
198                                  data = connector.unserialize(data);
199
200                                  if(data)
201                                    build_quota(data);
202                          }
203                });
204
[5703]205        }).filter('.followup-messages').click(function(event, ui){
206                search_emails("UNDELETED KEYWORD \"$Followupflagged\"");
207        }).end().end();
208       
[6930]209        folders_html.find('[id="'+selected+'"]').children().addClass("selected");
210        $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({
[5703]211                // DRAG DE PASTAS
212                start : function(){
213                        $(this).css("color", "gray");
214                },
215                stop : function(){
216                        $(this).css("color", "");
217                },
218                revert: "invalid",
219                helper: function(event){
220                        if($.trim(($(this).text().split("["))[0]).length > 18)
221                                return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"}));
222                        return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"}));
223                },
[5754]224                delay: 150,
[5703]225                refreshPositions: true,
[5754]226                zIndex : 2700,
227                //scroll: true,
228                //scrollSensitivity: 100,
229                //scrollSpeed: 100,
[5703]230                containment: "#divAppbox"
231        }).end().droppable({
232                //DROP DE PASTAS
233                over : function(a, b){
234                        //INICIO : SE A PASTA CONTER FILHAS EXPANDE
235                        over = $(this);
236                        $(this).addClass("folder-over");
237                        if(($(this)[0] != $(this).parent().find(".head_folder")[0]))
238                                if($(this).prev()[0])
239                                        if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){
240                                                setTimeout(function(){
241                                                        if(over.hasClass("folder-over"))
242                                                                over.prev().trigger("click");
243                                                }, 500);
244                                               
245                                        }
246                        //FIM : SE A PASTA CONTER FILHAS EXPANDE
[5546]247                       
[5703]248                        //SETA BORDA EM VOLTA DA PASTA
249                },
250                out : function(){
251                        //RETIRA BORDA EM VOLTA DA PASTA
252                        $(this).removeClass("folder-over");
253                },
254                drop : function(event, ui){
255                        $(this).removeClass("folder-over");
256                        if($(this).parent().attr('id') == undefined){
257                                var folder_to = 'INBOX';
258                                var to_folder_title = get_lang("Inbox");
259                        }else{
260                                var folder_to = $(this).parent().attr('id');
261                                var to_folder_title = $(this).attr('title');
262                        }               
263                        var folder_to_move = ui.draggable.parent().attr('id');
264                        var border_id = ui.draggable.find("input[type=hidden]").attr("name");
265                        // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS :
266                        if(folder_to_move == "tbody_box"){
267                                move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true);
268                                return refresh();
269                        }
270                        //SE FOR DE UMA PESQUISA RAPIDA
271                        else if(ui.draggable.parents('[id^="content_id_"]')[0]){
272                                move_search_msgs("content_id_"+border_id, folder_to, to_folder_title);
273                                return refresh();
274                        }
275                        // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA
276                        else if(folder_to_move == "border_tr"){
[6458]277                                var id_msg = border_id.split("_")[0];
[5703]278                                folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder());
[6458]279                                alternate_border(border_id);
[5703]280                                move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true);
281                                return refresh();
282                        }
283                        // SE O DROP VIER DA LISTA DE PASTAS
284                        else{
285                                var folder_to_exist = folder_to_move.split(cyrus_delimiter);   
286                                folder_to_exist = folder_to+cyrus_delimiter+folder_to_exist[folder_to_exist.length-1];
[5516]287                               
[5703]288                                //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS
289
290                                if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){
291                                        return;
292                                }
293                                //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS;
[5505]294                               
[5703]295                                // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL
296                                if(folder_to_exist == folder_to_move){
297                                        return write_msg(get_lang("Thie folder is already in this place"));
298                                }
[5486]299                               
[5703]300                                // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO
301                                if(folder_to_move == get_current_folder()){
302                                        return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!"));
[5486]303                                }
[5703]304                               
305                                // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO
306                                if(ui.draggable.parent().find(".selected")[0]){
307                                        return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!"));
[5486]308                                }
[5703]309                               
310                                // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA
311                                if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){
312                                        return write_msg(get_lang("It's not possible to move this folder to its subfolders!"));
313                                }                                       
314                               
315                                if($('[id="'+folder_to_exist+'"]').length){
316                                        return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name"));
[5486]317                                }
[5703]318                               
[5754]319                                $(this).addClass("folders-loading");
[5703]320                               
321                                $.ajax({
[6254]322                                        url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ),
[5703]323                                        success : function(data){
[6930]324                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);
[5703]325                                                data = connector.unserialize(data);
[6930]326                                                if(data == "Permission denied"){
327                                                        write_msg(get_lang("Permission denied"));
328                                                }else if(data){
[5703]329                                                        write_msg(get_lang("The folder was successfully moved"));
330                                                }
331                                                else{
332                                                        write_msg(get_lang("ERROR moving your folder."));
333                                                }
[5486]334                                        }
[5703]335                                });
[5486]336                        }
[5703]337                }
[6930]338        });
[7091]339        $(".folder").not(".shared-folders").parent().find(".folder").hover(
[5703]340                function(){
341                        //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO!
342                        if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){
343                                var folder_ = $(this);
344                                var folder_name;
[6930]345                                var shared = {
346                                        head : false,
347                                        valid : false
348                                };
[5703]349                                if(folder_.parent().attr('id')){
350                                        folder_name = folder_.parent().attr('id').split(cyrus_delimiter);
351                                        folder_name = folder_name[folder_name.length -1];
[6930]352                                        shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false;
[5703]353                                }else
354                                        folder_name = "Root";
[6930]355                               
356                                if(shared.valid){
357                                        shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ?  true : false;
358                                        var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter);
359                                        var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]];
360
361                                }
362
363                                html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls});                                   
[5703]364                                        //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN
[5754]365                                var esc = false;
366                                $(folder_).append(html).find(".float-menu-edit").click(function(){
367                                        var folder_id = $(this).parents(".closed:first").attr('id');
368                                        var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]);
369                                        if($(this).parents(".closed:first").find("span:first").hasClass("selected"))
370                                                return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!"));
371                                        if($(this).parents(".closed:first").find(".selected").length)
372                                                return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!"));
373                                        if(valid_tabs($(this).parents("li:first").find("li"), folder_id))
374                                                return;
375                                        $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>");
376                                        $(".new_folder").focus().keydown(function(event){
377                                                event.stopPropagation();
378                                                if(event.keyCode == 13){
379                                                        if($(this).val() != ""){
[6573]380                                                                if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){
[5703]381                                                                        return write_msg(get_lang("cannot create folder. try other folder name"));
382                                                                }
[5772]383                                                                var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú^\s_-]+$/, $(this).val());
[5754]384                                                                if($('[id="'+new_name+'"]').length){
385                                                                        $(".folders-loading").removeClass("folders-loading");
[5703]386                                                                        write_msg(get_lang("Mailbox already exists"));
387                                                                        return draw_new_tree_folder();
388                                                                }
[5754]389                                                                $(".new_folder").parent().addClass("folders-loading");
[5703]390                                                                $.ajax({
[5754]391                                                                        url : "controller.php?action=$this.imap_functions.ren_mailbox",
[5703]392                                                                        type : "POST",
[5754]393                                                                        data : "current="+folder_id+"&rename="+new_name,
[6930]394                                                                        success : function(data){
395                                                                                data = connector.unserialize(data);
396                                                                                if(data == "Permission denied"){
397                                                                                        $(".folders-loading").removeClass("folders-loading");
398                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);
399                                                                                        return write_msg(get_lang("Permission denied"));
400                                                                                }
[5754]401                                                                                write_msg(get_lang("The folder was successfully rename"));
402                                                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);
403                                                                        }
404                                                                });
[7002]405                                                        }else{
406                                                                $(".new_folder").focusout();
[5754]407                                                        }
408                                                }else if( event.keyCode == 27){
409                                                        draw_new_tree_folder();
410                                                }
411                                        }).focusout(function(){
412                                                draw_new_tree_folder();
413                                        }).val(name);
414                                })
415                                //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END
416                                //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN
417                                .end().find(".float-menu-remove").click(function(){
418                                       
419                                        var folder_id = $(this).parents(".closed:first").attr('id');
420                                        var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>";
421                                       
422                                        if(valid_tabs($(this).parents("li:first").find("li"), folder_id))
423                                                return;
424                                        $(this).parents(".closed:first").find(".folder").addClass("folders-loading");
425                                       
426                                        if($(this).parents(".closed:first").find("ul").length){
427                                                $(this).parents(".closed:first").find(".folder").removeClass("folders-loading");
428                                                return write_msg(get_lang("Delete/move subfolders first"));
429                                        }
430                                        if($(this).parents(".closed:first").find(".selected").length){
431                                                $(this).parents(".closed:first").find(".folder").removeClass("folders-loading");
432                                                return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!"));
433                                        }
434                                        var folder_span = $(this);
435                                        var confirm_text = get_lang("Do you wish to exclude the folder ");
436                                        $.Zebra_Dialog(confirm_text+folder_name, {
437                                                'type':     'question',
438                                                'overlay_opacity': '0.5',
439                                                'buttons':  [get_lang('Yes'), get_lang('No')],
440                                                'onClose':  function(caption) {
441                                                        if(caption == get_lang('Yes')){
442                                                                $.ajax({
443                                                                        url : "controller.php?action=$this.imap_functions.delete_mailbox",
444                                                                        type: "POST",
445                                                                        data : "del_past="+folder_id,
[5703]446                                                                        success : function(data){
447                                                                                data = connector.unserialize(data);
[5754]448                                                                                if(data == "Mailbox does not exist"){
449                                                                                        $(".folders-loading").removeClass("folders-loading");
450                                                                                        return write_msg(get_lang("Mailbox does not exist"));
[6930]451                                                                                }else if(data == "Permission denied"){
452                                                                                        $(".folders-loading").removeClass("folders-loading");
453                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);
454                                                                                        return write_msg(get_lang("Permission denied"));
[5703]455                                                                                }
[5754]456                                                                                write_msg(get_lang("The folder %1 was successfully removed", folder_name));
[5703]457                                                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);
458                                                                        }
459                                                                });
[5754]460                                                        }else{
461                                                                folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading");
462                                                                return;
[5703]463                                                        }
[5754]464                                                }
465                                        });
466                                        /* if(!confirm(confirm_text + folder_name)){
467                                                $(this).parents(".closed:first").find(".folder").removeClass("folders-loading");
468                                                return;
469                                        } */
470                                })
471                                //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END
472                                //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN
473                                .end().find(".float-menu-new").click(function(){
474                                        $(this).parents(".float-menu").hide();
475                                        var selected_li = $(this).parents(".closed:first");
476                                        if(selected_li.find("ul:first").length){
477                                                var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first"));                                                           
478                                                if(selected_li.find(".expandable-hitarea").length){
479                                                        selected_li.find(".expandable-hitarea").trigger('click');
480                                                }
481                                                selected_li.find("ul:first").treeview({
482                                                        add: new_folder
[5486]483                                                });
[5754]484                                        }else if(selected_li.length){
485                                                var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                                           
486                                                selected_li.treeview({
487                                                        add: new_folder
488                                                });
489                                        }else{
490                                                selected_li = $(this).parents(".head_folder").parent();
491                                                if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){
492                                                        $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click');
493                                                }
494                                                var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                                           
495                                                selected_li.treeview({
496                                                        add: new_folder
497                                                });
498                                        }
499                                       
500                                        selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){
501                                                event.stopPropagation();
502                                                if(event.keyCode == 13){
[6573]503                                                        if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){
[5754]504                                                                return write_msg(get_lang("cannot create folder. try other folder name"));
505                                                        }
506                                                        if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){
507                                                                $(".folders-loading").removeClass("folders-loading");
508                                                                write_msg(get_lang("Mailbox already exists"));
509                                                                return draw_new_tree_folder();
510                                                        }
511                                                        $(".new_folder").parent().addClass("folders-loading");
[6574]512                                                        create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id')? selected_li.attr('id') : "INBOX"));
[5754]513                                                }else if( event.keyCode == 27){
514                                                        draw_new_tree_folder();
515                                                }
516                                        }).focusout(function(){
517                                                draw_new_tree_folder();
[5486]518                                        });
[6930]519                                }).end().find(".float-menu-export").click(function(){
520                                        //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id"))
521
522                                        var name_box = $(this).parents("li:first").attr("id");
523                                        var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1];
524
525                                        var hand_export = function(data){
526                                                if(!data){
527                                                        write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.'))
528                                                }else if(data["empty_folder"]){
529                                                        write_msg(get_lang("The selected folder is empty."));
530                                                }else
531                                                  download_attachments(null, null, data, null,null, name_folder +'.zip');
532                                        }
533                                        cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 
534                                        write_msg(get_lang('You must wait while the messages will be exported...'));           
[5703]535                                });
[5754]536                                //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END
[5703]537                        }
538                        if(!$(".new_folder").length){
[5754]539                                $(this).find(".float-menu:first").css("display", "");
[5703]540                        }
541                },
542                function(){
[5754]543                        $(this).find(".float-menu:first").hide();
[5486]544                }
[5703]545        );
546        $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red");
[6425]547}
Note: See TracBrowser for help on using the repository browser.