Changeset 5440


Ignore:
Timestamp:
01/27/12 15:59:35 (12 years ago)
Author:
alexandrecorreia
Message:

Ticket #673 - Novas dialogs com Jquery para o novo visual do expresso.

Location:
trunk/expressoMail1_2
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/TreeS.js

    r5134 r5440  
    1 /**************************************************************************\ 
    2  Início  
    3 \**************************************************************************/ 
     1function treeS() 
     2{ 
     3        this.FOLDER             = ""; 
     4        this.xtools             = new xtools('../expressoMail1_2/templates/'); 
     5        this.parentHtml         = null; 
     6} 
    47 
    5         function treeS() 
     8treeS.prototype.make_Window = function() 
     9{ 
     10        var div         = null; 
     11        var args        = null; 
     12         
     13        args =  
    614        { 
    7                 this.arrayW = new Array(); 
    8                 this.el; 
    9                 this.FOLDER = ""; 
     15                "delete_folder"         : get_lang('Delete folder'), 
     16                "export_messages"       : get_lang('Export messages'), 
     17                "new_folder"            : get_lang('New folder'), 
     18                "rename_folder"         : get_lang('Rename folder') 
     19        }; 
     20 
     21        div                                     = document.createElement("div"); 
     22        div.innerHTML           = this.xtools.parse(this.xtools.xml('treeFolders'), 'treeFolders.xsl', args ); 
     23        this.parentHtml         = div; 
     24         
     25        var openWindow = function() 
     26        { 
     27                if( folders.length == 0 ) 
     28                { 
     29                        write_msg( "ERRO : Sem dados" ); 
     30                        $(div).dialog("destroy"); 
     31                        div.removeChild( div.firstChild ); 
     32                        return false; 
     33                } 
     34                else 
     35                { 
     36                        ttree.make_tree(div.firstChild); 
     37                } 
     38        }; 
     39 
     40        $(div).dialog( 
     41        { 
     42                resizable       : false, 
     43                title           : get_lang("Manager your folders and export messages"), 
     44                position        : 'center', 
     45                width           : 600, 
     46                height          : 300, 
     47                modal           : false, 
     48                buttons         : [ 
     49                                                { 
     50                                                        text: get_lang("Close"), 
     51                                                        click: function() 
     52                                                        { 
     53                                                                $(this).dialog("destroy"); 
     54                                                                div.removeChild(div.firstChild); 
     55                                                        }, 
     56                                                        style: "margin-top: -2.1em"  
     57                                                } 
     58                ], 
     59                beforeClose     : function() 
     60                {  
     61                        $(this).dialog("destroy"); 
     62                        div.removeChild(div.firstChild); 
     63                }, 
     64                open            : function() 
     65                { 
     66                        openWindow(); 
     67                } 
     68        }); 
     69         
     70} 
     71 
     72treeS.prototype.setFolder = function(folderName) 
     73{ 
     74        this.FOLDER = folderName; 
     75} 
     76 
     77treeS.prototype.make_tree = function () 
     78{ 
     79        var elementHtml = null; 
     80         
     81        if( arguments.length > 0 ) 
     82        { 
     83                elementHtml = arguments[0]; 
     84        } 
     85        else 
     86        { 
     87                if( Element('dftree_treeFolders') != null ) 
     88                { 
     89                        elementHtml = Element('dftree_treeFolders').parentNode.parentNode; 
     90                        Element('dftree_treeFolders').innerHTML = ""; 
     91                } 
     92        } 
     93         
     94        var treeFolders = new dFTree({ name : 'treeFolders' }); 
     95         
     96        if( !expresso_offline ) 
     97        { 
     98                var root        = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); 
     99                 
     100                treeFolders.add(root, 'root'); 
     101 
     102                for(var i = 0; i < folders.length ; i++ ) 
     103                { 
     104                        var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); 
     105                         
     106                        if ( folders[i].folder_parent == '' ) 
     107                        { 
     108                                folders[i].folder_parent = 'root'; 
     109                        } 
     110            else if ( folders[i].folder_parent == 'user' ) 
     111            { 
     112                if ( treeFolders.getNodeById('user') ) 
     113                { 
     114                        var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); 
     115                    treeFolders.add( n_root_shared_folders,'root'); 
     116                } 
     117            } 
     118 
     119                        // Ver Ticket #1548 
     120                        if( folders[i].folder_parent != 'root') 
     121                        { 
     122                var node_parent = treeFolders.getNodeById(folders[i].folder_parent); 
     123                 
     124                if( typeof node_parent != 'undefined') 
     125                { 
     126                        node_parent.plusSign = true; 
     127                        treeFolders.alter(node_parent); 
     128                } 
     129            } 
     130                         
     131                        treeFolders.add( nn, folders[i].folder_parent ); 
     132                } 
     133        }        
     134 
     135        //Pastas locais 
     136        if ( preferences.use_local_messages == 1 )  
     137        { 
     138                var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); 
     139                 
     140                treeFolders.add( n_root_local, 'root' ); 
     141                 
     142                var local_folders = expresso_local_messages.list_local_folders(); 
     143                 
     144                //Coloca as pastas locais. 
     145                for (var i in local_folders) 
     146                {  
     147                        var node_parent = "local_root"; 
     148                        var new_caption = local_folders[i][0]; 
     149                         
     150                        if( local_folders[i][0].indexOf("/") != "-1" ) 
     151                        { 
     152                                final_pos       = local_folders[i][0].lastIndexOf("/"); 
     153                                node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 
     154                                new_caption = local_folders[i][0].substr(final_pos+1); 
     155                        } 
     156                                     
     157                        if ( local_folders[i][1] > 0 ) 
     158                        { 
     159                                var nodeLocal = new dNode({ 
     160                                                                                        id: "local_" + local_folders[i][0], 
     161                                                                                        caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
     162                                                                                        plusSign: local_folders[i][2] 
     163                                }); 
     164                        } 
     165                        else 
     166                        { 
     167                                var nodeLocal = new dNode({ 
     168                                                                                        id: "local_" + local_folders[i][0], 
     169                                                                                        caption: lang_folder(new_caption), 
     170                                                                                        plusSign: local_folders[i][2] 
     171                                }); 
     172                        } 
     173                        treeFolders.add(nodeLocal, node_parent); 
     174                } 
    10175        } 
    11176 
    12         treeS.prototype.make_Window = function(){ 
    13                 _this = this; 
    14                 connector.loadScript("TreeShow"); 
    15                 var title = ':: '+get_lang("Manager your folders and export messages")+' ::'; 
    16                 tree                              = document.createElement("DIV"); 
    17                 tree.style.visibility = "hidden"; 
    18                 tree.style.position   = "absolute"; 
    19                 tree.style.left           = "0px"; 
    20                 tree.style.width          = "0px"; 
    21                 tree.style.top            = "0px"; 
    22                 tree.style.height         = "0px"; 
    23                 tree.id                           = "window_tree"; 
    24                 document.body.appendChild(tree); 
    25  
    26                 tree.innerHTML = "&nbsp;&nbsp;&nbsp;<b><font color='BLACK' nowrap>"+title+"</font></b>"+ 
    27                 "&nbsp;&nbsp;<br><u></u>&nbsp;&nbsp;"; 
    28  
    29                 var div_buttons = document.createElement("DIV"); 
    30                 div_buttons.id = "div_buttons"; 
    31                 div_buttons.style.position = "absolute"; 
    32                 div_buttons.style.left = "440px"; 
    33                 div_buttons.style.top = "20px"           
    34                 div_buttons.style.width = "10px"; 
    35                 div_buttons.style.height = "214px"; 
    36                 div_buttons.innerHTML = "<table border='0' cellpading='0' cellspacing='0'>"+ 
    37                                                             "<tr>"+ 
    38                                                             "<td><input type='button' value='"+get_lang('New folder')+"' onclick='proxy_mensagens.proxy_create_folder()' "+ (is_ie ? "style=\"width:85px\"": "") +"></td>"+ 
    39                                                             "</tr>"+ 
    40                                                             "<tr>"+ 
    41                                                             "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='proxy_mensagens.proxy_remove_folder()'></td>"+ 
    42                                                             "</tr>"+ 
    43                                                             "<tr>"+ 
    44                                                             "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()' "+ (is_ie ? "style=\"width:108px\"": "") +"></td>"+ 
    45                                                             "</tr>"+ 
    46                                                             "<tr>"+ 
    47                                                             //Por Bruno Costa(bruno.vieira-costa@serpro.gov.br - Chama o proxy_mensagens para que uma pasta local também possa ser exportada 
    48                                                             "<td><input type='button' value='"+get_lang('Export messages')+"' onclick='proxy_mensagens.proxy_export_all_msg()' "+ (is_ie ? "style=\"width:130px\"": "") +"></td>"+ 
    49                                                             "</tr>"+ 
    50                                                             "<tr><td><br><br><br><br><br></td></tr>"+ 
    51                                                             "<tr><td><input type='button' value='"+get_lang('Close')+"' onclick='ttree.close_win()'></td></tr>"+ 
    52                                                             "</table>"; 
    53                 tree.appendChild(div_buttons);           
    54  
    55                 // Conf tree 
    56                 var jo = document.createElement("DIV"); 
    57                 jo.id = "div_tree"; 
    58                 jo.style.position = "absolute"; 
    59                 jo.style.left = "10px"; 
    60                 jo.style.top = "20px"; 
    61                 jo.style.width = "420px"; 
    62                 jo.style.height = "215px"; 
    63                 jo.style.borderStyle = "outset"; 
    64                 jo.style.borderColor = "black"; 
    65                 jo.style.borderWidth = "2px"; 
    66                 jo.style.background  = "#F7F7F7"; 
    67                 jo.style.overflow    = "auto"; 
    68                 jo.innerHTML = ""; 
    69                 tree.appendChild(jo); 
    70  
    71                 if(!expresso_offline) 
    72                         ttree.make_tree(folders,"div_tree","folders_tree","ttree.get_folder(\"root\")","","root",false); 
    73                 else 
    74                         ttree.make_tree(folders,"div_tree","folders_tree","ttree.get_folder(\"local_root\")","","local_root",false); 
    75                 _this.showWindow(tree); 
    76  
    77         } 
    78          
    79         treeS.prototype.get_folder = function(param){ 
    80                 this.FOLDER = param; 
    81         } 
    82  
    83         treeS.prototype.showWindow = function (div){ 
    84                 if(! div) { 
    85                         return; 
    86                 } 
    87                  
    88                 if(! this.arrayW[div.id]) { 
    89                         div.style.width  = "580px"; 
    90                         div.style.height = "250px"; 
    91                         div.style.zIndex = "10000";                      
    92                         var title = get_lang("Folder Management"); 
    93                         var wHeight = div.offsetHeight + "px"; 
    94                         var wWidth =  div.offsetWidth   + "px"; 
    95                         div.style.width = div.offsetWidth - 5; 
    96  
    97                         win = new dJSWin({ 
    98                                 id: 'win_'+div.id, 
    99                                 content_id: div.id, 
    100                                 width: wWidth, 
    101                                 height: wHeight, 
    102                                 title_color: '#3978d6', 
    103                                 bg_color: '#eee', 
    104                                 title: title, 
    105                                 title_text_color: 'white', 
    106                                 button_x_img: '../phpgwapi/images/winclose.gif', 
    107                                 border: true }); 
    108                          
    109                         this.arrayW[div.id] = win; 
    110                         win.draw(); 
    111                 } 
    112                 else { 
    113                         win = this.arrayW[div.id]; 
    114                 } 
    115                 win.open(); 
    116         } 
    117          
    118         treeS.prototype.close_win = function(){ 
    119          
    120                 this.FOLDER = ""; 
    121                 this.arrayW['window_tree'].close(); 
    122          
    123         } 
    124  
    125         treeS.prototype.make_tree = function (data,destination,name_tree, click_root, opentomb, selected,menu_folder){ 
    126                 //Somente para teste 
    127                 // alert("data: " + data.length + "\n" + "destination : " + destination + "\n" + "name_tree : " + name_tree + "\n" + "click_root : " + click_root + "\n" + "opentomb : " + opentomb + "\n" + "selected : " + selected + "\n" + "menu_folder : " + menu_folder);  
    128                          
    129                 if(Element('dftree_' + name_tree)){ 
    130                         Element('dftree_' + name_tree).innerHTML = ''; 
    131                 } 
    132                  
    133                 folders_tree = new dFTree({name: name_tree}); 
    134                 if (!expresso_offline) {                 
    135                         if(click_root != ""){ 
    136                                 var n_root = new dNode({id:'root', caption:get_lang("My Folders"), onClick:click_root}); 
    137                         }else{ 
    138                                 var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 
    139                         } 
    140                         folders_tree.add(n_root,'root'); //Places the root; second argument can be anything. 
    141          
    142                         if(data.length == 0){ 
    143                                 alert("sem dados"); 
    144                                 return false; 
    145                         } 
    146  
    147                         for (var i=0; i<data.length; i++){ 
    148                                 if(menu_folder){ 
    149                                         if (data[i].folder_unseen > 0) 
    150                                                 var nn = new dNode({id:data[i].folder_id, caption:lang_folder(data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+data[i].folder_id+"','"+data[i].folder_name+"')", plusSign:data[i].folder_hasChildren});  
    151                                         else 
    152                                                 var nn = new dNode({id:data[i].folder_id, caption:lang_folder(data[i].folder_name), onClick:"change_folder('"+data[i].folder_id+"','"+data[i].folder_name+"')", plusSign:data[i].folder_hasChildren});  
    153                                 }else{ 
    154                                         var nn = new dNode({id:data[i].folder_id, caption:lang_folder(data[i].folder_name), plusSign:data[i].folder_hasChildren}); 
    155                                 } 
    156          
    157                                 if (data[i].folder_parent == '') 
    158                                         data[i].folder_parent = 'root'; 
    159                                 else if (data[i].folder_parent == 'user'){ 
    160                                         if (tree_folders.getNodeById('user')){ 
    161                                                 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared Folders"), plusSign:true});  
    162                                                 folders_tree.add(n_root_shared_folders,'root'); 
    163                                         } 
    164                                 } 
    165                                  
    166                                 // Foi preciso fazer esse tratamento porque a api (imap_getmailboxes) do PHP retorna uma informação incorreta em algumas ocasiões 
    167                                 // a função imap_getmailboxes não retorna o atributo 32 (has_children) quando tem pastas seguindo o seguinte padrão: 
    168                                 // prefixo 
    169                                 //    subPasta1 
    170                                 //    subPasta2 
    171                                 // prefixo-pasta2  (tudo devido a este underscore aqui) 
    172                                 // Caso seja criada pastas dessa forma, a pasta "prefixo", fica com a flag folder_hasChildren como false 
    173                                 // sendo assim não aparece o sinal de "mais" na árvore de pastas para poder expandir 
    174                                 // Olhar a chamada para a função imap_getmailboxes() dentro do método expressoMail1_2.imap_functions.get_folders_list() 
    175                                 // Ticket #1548 
    176                                 if(data[i].folder_parent != 'root') { 
    177                                         var node_parent = folders_tree.getNodeById(data[i].folder_parent); 
    178                                         if(typeof node_parent != 'undefined'){ 
    179                                         node_parent.plusSign = true; 
    180                                         folders_tree.alter(node_parent); 
    181                                  
    182                                         } 
    183                                 } 
    184                                 folders_tree.add(nn,data[i].folder_parent); 
    185                                  
    186                         } 
    187                 } 
    188                 //Pastas locais 
    189                 if (preferences.use_local_messages == 1) { 
    190                         var n_root_local = new dNode({ 
    191                                 id: 'local_root', 
    192                                 caption: get_lang("local folders"), 
    193                                 plusSign: true, 
    194                                 onClick:"ttree.get_folder('local_root')" 
    195                         }); 
    196                         folders_tree.add(n_root_local, 'root'); 
    197                          
    198                         var local_folders = expresso_local_messages.list_local_folders(); 
    199                         for (var i in local_folders) { //Coloca as pastas locais. 
    200                          
    201                                 var node_parent = "local_root"; 
    202                                 var new_caption = local_folders[i][0]; 
    203                                 if(local_folders[i][0].indexOf("/")!="-1") { 
    204                                         final_pos = local_folders[i][0].lastIndexOf("/"); 
    205                                         node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 
    206                                         new_caption = local_folders[i][0].substr(final_pos+1); 
    207                                 } 
    208                                  
    209                                 if (local_folders[i][1] > 0)  
    210                                         var nodeLocal = new dNode({ 
    211                                                 id: "local_" + local_folders[i][0], 
    212                                                 caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
    213                                                 plusSign: local_folders[i][2] 
    214                                         }); 
    215                                 else  
    216                                         var nodeLocal = new dNode({ 
    217                                                 id: "local_" + local_folders[i][0], 
    218                                                 caption: lang_folder(new_caption), 
    219                                                 plusSign: local_folders[i][2] 
    220                                         }); 
    221                                 folders_tree.add(nodeLocal, node_parent); 
    222                         } 
    223                 } 
    224                 folders_tree.draw(Element(destination)); 
    225                 if(!expresso_offline) 
    226                         n_root.changeState(); 
    227                 else 
    228                         n_root_local.changeState(); 
    229                 if(opentomb != ""){folders_tree.openTo(opentomb);} 
    230                 if(selected != "" && folders_tree.getNodeById(selected)){folders_tree.getNodeById(selected)._select();} 
    231  
    232         } 
     177        treeFolders.draw(elementHtml); 
     178        treeFolders.getNodeById("root")._select(); 
     179        root.changeState(); 
     180} 
    233181 
    234182/* Build the Object */ 
    235         var ttree; 
    236         ttree = new treeS(); 
     183var ttree = new treeS(); 
  • trunk/expressoMail1_2/js/TreeShow.js

    r5158 r5440  
    1111        Tree_Box.prototype.update_folder = function(expand_local_root){ 
    1212                                 
    13                 var handler_update_folders = function(data){ 
     13                var handler_update_folders = function(data) 
     14                { 
    1415                        folders = data; 
    15                         // update element dftree_folders_tree; 
    16                         ttree.make_tree(data,"div_tree","folders_tree","ttree.get_folder(\"root\")",ttreeBox.name_folder,ttreeBox.name_folder,false); 
    17                          
    18                         // update element dftree_tree_folders; 
    19                         if(Element('content_folders')){Element('content_folders').innerHTML = "";} 
     16                         
     17                        ttree.make_tree(); 
     18                         
     19                        // Update dftree_tree_folders; 
     20                        if(Element('content_folders')) 
     21                        { 
     22                                Element('content_folders').innerHTML = ""; 
     23                        } 
     24                         
    2025                        draw_tree_folders(folders); 
    2126                         
    22                         // update element dftree_wfolders_tree; 
    23                         if (Element('dftree_wfolders_tree')){ 
    24                                 Element('dftree_wfolders_tree').innerHTML = ''; 
    25                                 ttree.make_tree(data,"wfolders_content_tree","wfolders_tree","","","",false);    
    26                         } 
    2727                        ttree.FOLDER = ttreeBox.name_folder; 
     28                         
    2829                        if (tree_folders.getNodeById(ttree.FOLDER)) 
    2930                                tree_folders.getNodeById(ttree.FOLDER)._select(); 
     
    3132                        if(expand_local_root) 
    3233                                tree_folders.getNodeById('local_root').changeState(); 
    33                         /* 
    34                         if (tree_folders.getNodeById(get_current_folder())) 
    35                                 tree_folders.getNodeById(get_current_folder())._select(); 
    36                         */ 
    37                 } 
     34                } 
     35                 
    3836                if(!expresso_offline) 
    3937                        cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, handler_update_folders);               
     
    7068        { 
    7169                // IE does not understand accents in regex! that \xNN are the hex codes for the accented characters!  
    72                 var reTipo = /^[\w\xda\xc1\xc9\xcd\xd3\xdd\xe1\xe9\xed\xfa\xfd\xf3\xc0\xc8\xcc\xd2\xe0\xe8\xec\xf2\xf9\xd9\xc3\xd1\xd5\xe3\xf1\xf5\xc2\xca\xce\xd4\xe2\xea\xee\xf4\xdb\xfb\xc7\xe7\xc4\xd6\xe4\xf6\xfc\xcb\xcf\xeb\xef\xff \-_+=]*$/i;  
    73                 if(exp.search(reTipo) == -1)  
    74                         return false;  
    75                     else  
    76                         return true; 
     70        var reTipo = /^[\w\xda\xc1\xc9\xcd\xd3\xdd\xe1\xe9\xed\xfa\xfd\xf3\xc0\xc8\xcc\xd2\xe0\xe8\xec\xf2\xf9\xd9\xc3\xd1\xd5\xe3\xf1\xf5\xc2\xca\xce\xd4\xe2\xea\xee\xf4\xdb\xfb\xc7\xe7\xc4\xd6\xe4\xf6\xfc\xcb\xcf\xeb\xef\xff \-_+=]*$/i;  
     71         
     72        var _return = (exp.search(reTipo) == -1) ? false : true; 
     73         
     74        return _return; 
    7775        } 
    7876 
    7977        // Função para verificar o nome da caixa; 
    80         Tree_Box.prototype.verify_names = function(name_folder){ 
     78        Tree_Box.prototype.verify_names = function(name_folder) 
     79        { 
    8180            var arr_nm_folder = new Array("INBOX",trashfolder,draftsfolder,sentfolder,spamfolder); 
    82                 for(var i=0 ; i < arr_nm_folder.length; i++){ 
    83                         if(name_folder == arr_nm_folder[i]){ 
     81                for(var i=0 ; i < arr_nm_folder.length; i++) 
     82                { 
     83                        if(name_folder == arr_nm_folder[i]) 
     84                        { 
    8485                                ttree.FOLDER = ""; 
    8586                                return true; 
     
    9091         
    9192        // Valida os nomes das pastas 
    92         Tree_Box.prototype.validate = function(func){ 
     93        Tree_Box.prototype.validate = function(func) 
     94        { 
    9395                var aux = ttree.FOLDER.split(cyrus_delimiter); 
    9496                var aux2; 
    95                 if(ttree.FOLDER != ""){ 
     97 
     98                if( ttree.FOLDER != "" ) 
     99                { 
    96100                        if(aux.length > 1) 
    97101                        { 
     
    102106                                aux2 = aux[0]; 
    103107                        } 
    104                         if(func == "rename" && this.verify_names(aux2)){ 
     108                        if( func == "rename" && this.verify_names(aux2) ) 
     109                        { 
    105110                               alert(get_lang("It's not possible rename the folder: ") + lang_folder(aux2) + '.'); 
    106111                               return false; 
    107                         }else{ 
    108                         if(func == "newpast"){ 
    109                             var button = prompt(get_lang('Enter the name of the new folder:'),""); 
    110                                         if (button.indexOf("local_") != -1  || button.toUpperCase() == "INBOX") { 
    111                                                 alert(get_lang("cannot create folder. try other folder name")); 
    112                                                 return false; //Não posso criar pastas contendo a string local_                                  
     112                        } 
     113                        else 
     114                        { 
     115                                if( func == "newpast" ) 
     116                                { 
     117                                        var newFolder = prompt( get_lang('Enter the name of the new folder:') , ""); 
     118                                         
     119                                        if( newFolder ) 
     120                                        { 
     121                                                if ( newFolder.indexOf("local_") != -1  || newFolder.toUpperCase() == "INBOX" ) { 
     122                                                        alert(get_lang("cannot create folder. try other folder name")); 
     123                                                        return false; //Não posso criar pastas contendo a string local_                                  
     124                                                } 
     125                                                 
     126                                                if( newFolder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi) ) 
     127                                                { 
     128                                                    alert(get_lang("cannot create folder. try other folder name")); 
     129                                                    return false; 
     130                                                } 
     131         
     132                                                if( trim(newFolder) != "" && trim(newFolder) != null ) 
     133                                                { 
     134                                                        ttreeBox.new_past(newFolder); 
     135                                                } 
    113136                                        } 
    114                                         if(button.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 
    115                                             alert(get_lang("cannot create folder. try other folder name")); 
    116                                             return false; 
    117                                         } 
    118  
    119                                         if(trim(button) == "" || trim(button) == null){ 
    120                                                 return false; 
    121                                         }else{ 
    122                                                 ttreeBox.new_past(button); 
    123                                         } 
    124                                 } 
    125                                 if(func == "rename"){ 
     137                                } 
     138                                 
     139                                if( func == "rename" ) 
     140                                { 
    126141                                        if(ttree.FOLDER == "root"){ 
    127142                                alert(get_lang("It's not possible rename this folder!")); 
     
    132147                                                return false; 
    133148                                        } 
    134                     var button1 = prompt(get_lang("Enter a name for the box"), ""); 
    135                                         if (button1.indexOf("local_") != -1 || button1.toUpperCase() == "INBOX") { 
    136                                                 alert(get_lang("cannot create folder. try other folder name")); 
    137                                                 return false; //Não posso criar pastas contendo a string local_                                  
    138                                         } 
    139  
    140                                         if(button1.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 
    141                                             alert(get_lang("It's not possible rename this folder. try other folder name")); 
    142                                             return false; 
    143                                         } 
    144  
    145                                         if(trim(button1) == "" || trim(button1) == null){ 
    146                                                 return false; 
    147                                         }else{ 
    148                                                 ttreeBox.rename(button1); 
    149                                         } 
    150                                 } 
    151                         } 
    152                 }else{ 
     149                    var renameFolder = prompt(get_lang("Enter a name for the box"), ""); 
     150                     
     151                    if( renameFolder ) 
     152                    {    
     153                                                if ( renameFolder.indexOf("local_") != -1 || renameFolder.toUpperCase() == "INBOX") { 
     154                                                        alert(get_lang("cannot create folder. try other folder name")); 
     155                                                        return false; //Não posso criar pastas contendo a string local_                                  
     156                                                } 
     157         
     158                                                if(renameFolder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 
     159                                                    alert(get_lang("It's not possible rename this folder. try other folder name")); 
     160                                                    return false; 
     161                                                } 
     162         
     163                                                if( trim(renameFolder) != "" || trim(renameFolder) != null) 
     164                                                { 
     165                                                        ttreeBox.rename(renameFolder); 
     166                                                } 
     167                    } 
     168                                } 
     169                        } 
     170                } 
     171                else 
     172                { 
    153173            alert(get_lang("Select a folder!")); 
    154174                        return false; 
     
    157177 
    158178// Para criar a nova pasta; 
    159         Tree_Box.prototype.new_past = function(newp){ 
     179        Tree_Box.prototype.new_past = function(newp) 
     180        { 
    160181 
    161182                var aux   = ttree.FOLDER.split(cyrus_delimiter); 
     
    183204                } 
    184205 
    185                 if(newp != ""){ 
    186                         var handler_return = function(data){             
    187                                 if(data != "Ok"){ 
    188                                         alert(get_lang(data)); 
    189                                 }else{ 
     206                if( newp != "" ) 
     207                { 
     208                        var handler_return = function(data) 
     209                        {                
     210                                if(data != "Ok") 
     211                                { 
     212                                        alert( get_lang(data) ); 
     213                                } 
     214                                else 
     215                                { 
    190216                                        ttreeBox.name_folder = "root"; //or use var newpast 
    191217                                        this.name_func = "newpast"; 
     
    194220                                } 
    195221                        } 
     222                         
    196223                        var args = "$this.imap_functions.create_mailbox"; 
    197224                        var params = "newp="+newp; 
  • trunk/expressoMail1_2/js/main.js

    r5428 r5440  
    30513051                        write_msg(get_lang('ERROR emptying your Trash folder.')); 
    30523052        } 
    3053         var realyEmptyTrash=confirm(get_lang('Do you really want to empty your trash folder?')); 
    3054         if (realyEmptyTrash) 
    3055                 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder", handler_empty_trash); 
     3053         
     3054        var _div = document.createElement("div"); 
     3055                _div.innerHTML = '<p style="margin:10px 5px 5px 5px;">' + 
     3056                                                        '<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>'+ 
     3057                                                        get_lang('Do you really want to empty your trash folder?') + 
     3058                                                        '</p>'; 
     3059        $(_div).dialog( 
     3060        { 
     3061                resizable: false, 
     3062                title: get_lang('Empty Trash'), 
     3063                position: 'center', 
     3064                width: 350, 
     3065                height:140, 
     3066                modal: true, 
     3067                buttons: { 
     3068                                "Ok": function() { 
     3069                                        cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder", handler_empty_trash); 
     3070                                        $( this ).dialog( "close" ); 
     3071                                }, 
     3072                                "Cancelar": function() { 
     3073                                        $( this ).dialog( "close" ); 
     3074                                } 
     3075                } 
     3076        }); 
     3077         
     3078        $(_div).dialog('open'); 
     3079 
    30563080} 
    30573081 
Note: See TracChangeset for help on using the changeset viewer.