Changeset 6930


Ignore:
Timestamp:
08/03/12 15:32:43 (12 years ago)
Author:
gustavo
Message:

Ticket #2954 - Merge de algumas novas funcionalidades da nova versão, #2953, #2971

Location:
trunk
Files:
3 deleted
21 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r6922 r6930  
    128128                $result = true; 
    129129                if(!imap_renamemailbox($mbox, '{'.$this->imap_server.":".$this->imap_port.$this->imap_options.'}'.$old_folder, '{'.$this->imap_server.":".$this->imap_port.$this->imap_options.'}'.$to_folder.$this->imap_delimiter.$new_folder[count($new_folder)-1])){ 
    130                         $result = false; 
    131                 } 
     130                        $result = imap_last_error(); 
     131                } 
     132 
    132133                imap_close($mbox);  
    133134                return $result; 
     
    23952396                        $decifrada = mb_convert_encoding('INBOX'.$this->imap_delimiter.'decifradas','UTF7-IMAP','ISO-8859-1'); //Ignorar esta pasta decifrada 
    23962397                        $parent = ($nameCount > 1 && $nameArray[($nameCount - 2)] !== 'INBOX') ? implode($this->imap_delimiter, array_slice($nameArray, 0, ($nameCount - 1))): ''; //Pega folder pai 
    2397                         if($nameArray[0] === 'user') 
    2398                                 $folders[$prefixShared.$this->imap_delimiter.$nameArray[1]][] = array('id' => $folderId , 'stream' => $v->name , 'attributes' => $v->attributes , 'name' => $nameArray[($nameCount-1)] , 'user' => $nameArray[1] ,'parent' => $parent); 
    2399                         else if( $folderId !== $decifrada) //Escapa pasta decifrada 
    2400                                 $folders['INBOX'][strtolower($folderId)] =  array('id' => $folderId , 'stream' => $v->name , 'attributes' => $v->attributes ,'name' => $nameArray[($nameCount-1)] , 'parent' => $parent); 
    2401                 } 
     2398 
     2399                        if($nameArray[0] === 'user'){ 
     2400 
     2401                                //variaveis utilizadas para definição das permissões das pastas compartilhadas 
     2402                                $acl_share_create = 0; 
     2403                                $acl_share_rename = 0; 
     2404                                $acl_share_delete = 0; 
     2405 
     2406                                //recuperando as permissões (ACLs) aplicadas na pasta 
     2407                                $imap_getacl = imap_getacl($mboxStream, $folderId); 
     2408 
     2409                                //Se existe ACLs aplicadas a respectiva pasta (para o usuario corrente) 
     2410                                if(isset($imap_getacl[ $this->username ])){ 
     2411                                        $aclImap = $imap_getacl[ $this->username ]; 
     2412 
     2413                                        //A partir dos atributos da ACL definir permissões para cada ação (create, delete e rename): 
     2414                                        //http://www.ietf.org/rfc/rfc4314.txt 
     2415                                        $acl_share_create = (stripos($aclImap,'w') !== false && stripos($aclImap,'i') !== false && stripos($aclImap,'k') !== false) ? 1 : 0; 
     2416                                        $acl_share_delete = (stripos($aclImap,'x') !== false && stripos($aclImap,'t') !== false && stripos($aclImap,'e') !== false) ? 1 : 0; 
     2417 
     2418                                        $acl_share_rename = ($acl_share_create && $acl_share_delete) ? 1 : 0; 
     2419                                } 
     2420 
     2421                                $folders[$prefixShared.$this->imap_delimiter.$nameArray[1]][] = array( 
     2422                                        'id' => $folderId ,  
     2423                                        'stream' => $v->name ,  
     2424                                        'attributes' => $v->attributes ,  
     2425                                        'name' => $nameArray[($nameCount-1)] ,  
     2426                                        'user' => $nameArray[1] , 
     2427                                        'parent' => $parent , 
     2428 
     2429                                        //Acrescentando ACLs configuradas a cada pasta compartilhada 
     2430                                        'acl_share' => array( 
     2431                                                'create' => $acl_share_create, 
     2432                                                'rename' => $acl_share_rename, 
     2433                                                'delete' => $acl_share_delete 
     2434                                        ) 
     2435                                ); 
     2436 
     2437                        }        
     2438                        else if( $folderId !== $decifrada){ //Escapa pasta decifrada 
     2439                                $folders['INBOX'][strtolower($folderId)] = array( 
     2440                                        'id' => $folderId ,  
     2441                                        'stream' => $v->name ,  
     2442                                        'attributes' => $v->attributes , 
     2443                                        'name' => $nameArray[($nameCount-1)] ,  
     2444                                        'parent' => $parent  
     2445                                ); 
     2446                        } 
     2447                } 
     2448 
    24022449                unset($folders_list); //destroy array de objetos desnecessarios 
    24032450                 
     
    24172464                                $append['folder_hasChildren'] = (($vv['attributes'] == 32) && ($vv['name'] != 'INBOX')) ? 1 : 0; 
    24182465                                $append['folder_parent'] = $vv['parent']; 
     2466 
     2467                                //Preparando o array de retorno para conter as ACLs configuradas para cada pasta 
     2468                                if(isset($vv['acl_share'])){ 
     2469                                        $append['acl_share'] = $vv['acl_share']; 
     2470                                } 
    24192471                                $return[] = $append; 
    24202472                        } 
     
    24232475                $quotaInfo =  (!isset($params['noQuotaInfo'])) ? $this->get_quota( array('folder_id' => $currentFolder)) : false; //VERIFICA SE O USUARIO TEM COTA 
    24242476 
    2425                 return ( ( is_array($quotaInfo) ) ?  array_merge($return, $quotaInfo) : $return );         
     2477                return ( ( is_array($quotaInfo) ) ?  array_merge($return, $quotaInfo) : $return ); 
    24262478        } 
    24272479     
     
    24432495                        if(!imap_createmailbox($mbox_stream,"{".$imap_server."}".$namebox)) 
    24442496                        { 
    2445                                 $result = implode("<br />\n", imap_errors()); 
     2497                                $result = imap_last_error(); 
    24462498                        } 
    24472499                }else{ 
     
    24542506                                if(!imap_createmailbox($mbox_stream,"{".$imap_server."}$namebox")) 
    24552507                                { 
    2456                                         $result = implode("<br />\n", imap_errors());                                            
     2508                                        $result = imap_last_error();                                             
    24572509                                } 
    24582510                                $child .=$this->imap_delimiter; 
     
    24962548                if(!imap_deletemailbox($mbox_stream,"{".$imap_server."}$namebox")) 
    24972549                { 
    2498                         $result = implode("<br />\n", imap_errors()); 
     2550                        $result = imap_last_error(); 
    24992551                } 
    25002552                /* 
     
    25192571                if(!imap_renamemailbox($mbox_stream,"{".$imap_server."}$namebox","{".$imap_server."}$new_box")) 
    25202572                { 
    2521                         $result = imap_errors(); 
     2573                        $result = imap_last_error(); 
    25222574                } 
    25232575                if($mbox_stream) 
     
    37063758                        $this->mbox = $this->open_mbox($folder); 
    37073759 
     3760                if($offsetEnd == 0 && $offsetBegin == 0){ 
     3761                        $offsetEnd = imap_num_msg($this->mbox); 
     3762                        $offsetBegin = 1; 
     3763                } 
    37083764                return $this->messages_sort($sort_box_type,$sort_box_reverse, $search_box_type,$offsetBegin,$offsetEnd,$folder); 
    37093765        } 
     
    38533909        function empty_folder($params) 
    38543910        { 
    3855                 $folder = 'INBOX' . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server'][$params['clean_folder']]; 
     3911                $folder = (isset($params['shared']) ? $params['shared'] : 'INBOX') . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server'][$params['clean_folder']]; 
    38563912                $mbox_stream = $this->open_mbox($folder); 
    38573913                $return = imap_delete($mbox_stream,'1:*'); 
     3914                $return = imap_errors(); 
    38583915                if($mbox_stream) 
    38593916                        imap_close($mbox_stream, CL_EXPUNGE); 
  • trunk/expressoMail1_2/js/TreeS.js

    r6910 r6930  
    44         
    55        function foldersExpresso(){ } 
    6          
    7         function load() 
    8         { 
    9                 var div = document.createElement("div"); 
    10                  
    11                 var args =  
    12                 { 
    13                         "delete_folder"         : get_lang('Delete folder'), 
    14                         "export_messages"       : get_lang('Export messages'), 
    15                         "new_folder"            : get_lang('New folder'), 
    16                         "rename_folder"         : get_lang('Rename folder') 
    17                 }; 
    18                  
    19                 $(div).html(DataLayer.render("./templates/default/folderExpresso.ejs", args )); 
    20                  
    21                 $(div).dialog( 
    22                 { 
    23                         resizable       : false, 
    24                         title           : get_lang("Manager your folders and export messages"), 
    25                         position        : 'center', 
    26                         width           : 600, 
    27                         height          : 300, 
    28                         modal           : false, 
    29                         buttons         : [ 
    30                                                         { 
    31                                                                 text: get_lang("Close"), 
    32                                                                 click: function() 
    33                                                                 { 
    34                                                                         $(this).dialog("close").dialog("destroy"); 
    35                                                                         div.removeChild( div.firstChild ); 
    36                                                                 }, 
    37                                                                 style: "margin-top: -2.1em"  
    38                                                         } 
    39                         ], 
    40                         beforeClose     : function() 
    41                         {  
    42                 if(typeof(shortcut) != 'undefined') shortcut.disabled = false;  
    43                                 $(this).dialog("destroy"); 
    44                                 div.removeChild( div.firstChild ); 
    45                         }, 
    46                         open : function() 
    47                         { 
    48                                 if( folders.length == 0 ) 
    49                                 { 
    50                                         write_msg( "ERRO : Sem dados" ); 
    51                                         $(div).dialog("destroy"); 
    52                                         div.removeChild(div.firstChild); 
    53                                         return false; 
    54                                 } 
    55                                 else 
    56                                 { 
    57                                         if( Element('dftree_treeFolders') != null ) 
    58                                         { 
    59                                                 $(div).dialog("destroy"); 
    60                                                 div.removeChild( div.firstChild ); 
    61                                                 return; 
    62                                         } 
    63                                         else 
    64                                         { 
    65                                                 make_tree(div.firstChild); 
    66                                         } 
    67                                 } 
    68                  if(typeof(shortcut) != 'undefined') shortcut.disabled = true; 
    69                         } 
    70                 }); 
    71         } 
    72          
    736         
    747        function make_tree() 
     
    187120                FOLDER = arguments[0]; 
    188121        } 
    189          
    190         foldersExpresso.prototype.load          = load; 
     122 
    191123        foldersExpresso.prototype.getFolder     = getFolder; 
    192124        foldersExpresso.prototype.setFolder     = setFolder; 
  • trunk/expressoMail1_2/js/abas.js

    r6892 r6930  
    146146            document.getElementById('to_'+ID).focus();  
    147147        } 
     148        if (ID == 0){  
     149                updateSelectedMsgs(); 
     150        } 
    148151        RichTextEditor.setEditable(ID); 
    149152        resizeWindow(); 
     
    153156function create_border(borderTitle, id_value, search) 
    154157{ 
    155                          
    156158        borderTitle = ( ( borderTitle && borderTitle.constructor == String && borderTitle.length > 0 ) ? borderTitle : ' ' ); 
    157159    borderTitle = html_entities(borderTitle);     
  • trunk/expressoMail1_2/js/common_functions.js

    r6910 r6930  
    628628} 
    629629 
    630 function folderbox() 
    631 { 
    632         connector.loadScript("TreeS"); 
    633  
    634         if( typeof(window.ttree) == 'undefined') 
    635                 setTimeout(function(){ folderbox(); }, 200 ); 
    636         else 
    637                 ttree.load(); 
    638 } 
    639  
    640630function filterbox(){ 
    641631        connector.loadScript("filter"); 
     
    685675                closeOnEscape:true, 
    686676                close:function(event, ui) { 
    687                         select_all_search_messages(false, 'content_id_'+currentTab); 
     677                        //select_all_search_messages(false, 'content_id_'+currentTab); 
    688678                        event.stopPropagation(); 
    689679            if(typeof(shortcut) != 'undefined') shortcut.disabled = false; 
     
    743733                closeOnEscape:true, 
    744734                close:function(event, ui) { 
    745                         select_all_search_messages(false, 'content_id_'+currentTab); 
     735                        //select_all_search_messages(false, 'content_id_'+currentTab); 
    746736                        event.stopPropagation(); 
    747737            if(typeof(shortcut) != 'undefined') shortcut.disabled = false;  
     
    11301120        var main_list = main.childNodes; 
    11311121        var len_main_list = main_list.length; 
    1132  
     1122        var folder = $('#content_folders .folder.selected').attr('title'); 
     1123        folder = folder ? folder : get_lang('INBOX'); 
     1124        folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 
     1125        var filterFlag = search_box_type != "ALL" ? '"'+get_lang(search_box_type) + "s" +'"': ""; 
     1126        var div = $('.select-all-messages');     
    11331127        if (select) 
    11341128        { 
     
    11391133                        if(!$("#"+main_list[i].id).hasClass("selected_shortcut_msg")){ 
    11401134                                //add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg current_selected'); 
    1141                                 add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg'); 
     1135                                add_className(Element(main_list[i].id), 'selected_msg'); 
    11421136                        } else { 
    11431137                                $("#"+main_list[i].id).addClass("selected_msg"); 
    1144                                 $("#"+main_list[i].id).addClass("selected_shortcut_msg"); 
    1145                                 $("#"+main_list[i].id).addClass("current_selected");             
    1146                         } 
     1138                                //$("#"+main_list[i].id).addClass("selected_shortcut_msg"); 
     1139                                //$("#"+main_list[i].id).addClass("current_selected");           
     1140                        }                        
     1141                        selectedPagingMsgs[main_list[i].id] = true; 
     1142                }                
     1143                if (totalSelected() == totalFolderMsgs && totalSelected() > 0){ 
     1144                        allMsgsSelected = true; 
     1145                                if (total_pages > 1){ 
     1146                                        var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1147                                        var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1148                                        div.html("<span>"+info+"<span>"); 
     1149                                        div.show(); 
     1150                                        $('.select-link').bind('click',function(){ 
     1151                                                selectAllFolderMsgs(); 
     1152                                                //$('.select-link').unbind('click'); 
     1153                                        }); 
     1154                                }                        
     1155                } 
     1156                else if (!allMsgsSelected && total_pages > 1){ 
     1157                        var link = "<a class='select-link' href='#'>Selecionar todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+"?</a>"; 
     1158                        var info = "Todas as <b>"+$('#table_box tr').length+"</b> mensagens desta página foram selecionadas. "+link; 
     1159                        div.html("<span>"+info+"<span>"); 
     1160                        div.show(); 
     1161                        $('.select-link').bind('click',function(){ 
     1162                                selectAllFolderMsgs(true); 
     1163                                //$('.select-link').unbind('click'); 
     1164                        });                                      
    11471165                } 
    11481166        } 
     
    11551173                        $("#"+main_list[i].id).removeClass("selected_msg"); 
    11561174                        $("#"+main_list[i].id).removeClass("current_selected"); 
    1157                 } 
    1158         } 
    1159          
     1175                        selectedPagingMsgs[main_list[i].id] = false; 
     1176                } 
     1177                if (allMsgsSelected){ 
     1178                        allMsgsSelected = false; 
     1179                        updateSelectedMsgs(); 
     1180                } 
     1181                else if (totalSelected() > 0 && total_pages > 1){ 
     1182                        var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1183                        var info = "Foram selecionadas <b>"+totalSelected()+"</b> mensagens "+filterFlag+" em "+folder+". "+link; 
     1184                        div.html("<span>"+info+"<span>"); 
     1185                        div.show(); 
     1186                        $('.select-link').bind('click',function(){ 
     1187                                selectAllFolderMsgs(false); 
     1188                                //$('.select-link').unbind('click'); 
     1189                        });                      
     1190                } 
     1191                else div.hide(); 
     1192                 
     1193        } 
     1194        resizeWindow(); 
    11601195} 
    11611196 
  • trunk/expressoMail1_2/js/doiMenuData.js

    r6541 r6930  
    9797 
    9898/** 
    99  *      Carrega o menu de opção de uma mensagem 
     99 *      Carrega o menu de opção de uma mensagem 
    100100 */ 
    101101function loadMenu(){ 
     
    140140                "i02": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }}, 
    141141                "103": {"name": get_lang("Edit filters"), "icon": "filter", callback: filterbox2 }, 
    142                 "i04": {"name": get_lang("Edit folders"), "icon": "edit-folder", callback: folderbox }, 
    143142                "i05": {"name": get_lang("Share mailbox"), "icon": "share-mailbox", callback: sharebox }, 
    144143                "i06": {"name": get_lang("Labels"), "icon": "tag", callback: configureLabels },  
     
    153152} else { 
    154153        var menuToolsItems = { 
    155                 "i01": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }}, 
    156                 "i02": {"name": get_lang("Edit folders"), "icon": "edit-folder", callback: folderbox } 
     154                "i01": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }} 
    157155        } 
    158156} 
     
    210208function updateLabelsColumn(messageInfo) { 
    211209        var msg_number = messageInfo.msg_number; 
    212         //uid é o numero da mensagem quando os dados são carregados na busca rapida. 
     210        //uid é o numero da mensagem quando os dados são carregados na busca rapida. 
    213211        if(messageInfo.uid != '' && messageInfo.uid != 'undefined' && messageInfo.uid != null){ 
    214212                msg_number = messageInfo.uid; 
     
    268266            .appendTo(this); 
    269267                $(this).find('span.removeLabeled').click(function(){ 
    270                         //TODO Mudar quando API abstrair atualizações no cache 
     268                        //TODO Mudar quando API abstrair atualizações no cache 
    271269                        DataLayer.remove('labeled', false); 
    272270                        DataLayer.get('labeled'); 
  • trunk/expressoMail1_2/js/draw_api.js

    r6927 r6930  
    1212canMakeBox = true; 
    1313fastSearch = false; 
     14selectedPagingMsgs = {}; 
     15allMsgsSelected = false; 
     16totalFolderMsgs = 0; 
     17var jqXHR = new Array(); 
     18var idattachbycontent = 0; 
    1419 
    1520onceOpenedHeadersMessages = {}; 
     
    514519        if (openTab.imapBox[0] != folder) 
    515520        { 
     521                selectAllFolderMsgs(false); 
    516522                current_folder = folder; 
    517523                var handler_draw_box = function(data) 
    518524                { 
     525 
    519526                        if(!verify_session(data)) 
    520527                                return; 
     
    531538                        return true; 
    532539                } 
     540                $.ajax({                         
     541                        url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",  
     542                                folder: folder, 
     543                                 msg_range_begin: "0", 
     544                                 msg_range_end: "0",                                     
     545                                sort_box_type: "SORTARRIVAL",  
     546                                search_box_type: search_box_type, 
     547                                sort_box_reverse: "1" 
     548                                }), 
     549                        success: function(data){ 
     550                                data = connector.unserialize(data); 
     551                                if(data){ 
     552                                        var _data = {}; 
     553                                        $.each(data,function(index,value){ 
     554                                                if (data[index] && data[index].msg_number){ 
     555                                                        _data[data[index].msg_number] = data[index].msg_number; 
     556                                                } 
     557                                        }); 
     558                                        populateSelectedMsgs(_data); 
     559                                        _data = {}; 
     560                                 
     561                                } 
     562                        }, 
     563                        beforeSend: function( jqXHR, settings ){ 
     564                                connector.showProgressBar(); 
     565                        }, 
     566                        complete: function( jqXHR, settings ){ 
     567                                connector.hideProgressBar(); 
     568                        } 
     569                }); 
    533570                proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    534571        } 
     
    896933        var _mouse_out; 
    897934        var _cell; 
    898         var colGroupMain = document.getElementById("colgroup_main_"+numBox); 
    899         var colGroupHead = document.getElementById("colgroup_head_"+numBox); 
    900935        for (var r=0;r<trM.length;r++) { 
    901936                for (var c=0;c<trM[r].cells.length;c++) { 
     
    904939                        if (is_mozilla && !is_webkit) { 
    905940                                if (!emptyBody) { 
    906                                         colGroupMain.childNodes[c].setAttribute("width",colSizes[tbl][c]); 
     941                                        document.getElementById("colgroup_main_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
    907942                                } 
    908                                 colGroupHead.childNodes[c].setAttribute("width",colSizes[tbl][c]); 
     943                                document.getElementById("colgroup_head_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
    909944                                if (tbH.rows[0].cells[c].className=="th_resizable") { 
    910945                                        // lots of stupid fixes for FF to redraw cell content 
     
    921956                                } 
    922957                        } 
    923                         /* 
    924958                        else { 
    925959                                tbH.rows[0].cells[c].setAttribute("width",_cell.offsetWidth); 
    926                         }*/ 
     960                        } 
    927961                } 
    928962        } 
     
    10431077} 
    10441078 
     1079 
     1080/*Cria a div que permite a seleção de todas as mensagens*/ 
     1081function drawSelectMsgsTable(){ 
     1082        var div = $('<div>');    
     1083        div.attr('class','select-all-messages');  
     1084        $('#content_id_'+currentTab).first().prepend(div); 
     1085        div.css('display','none'); 
     1086} 
     1087 
     1088function totalSelected(){ 
     1089        var total = 0; 
     1090        for(var obj in selectedPagingMsgs) 
     1091                if (selectedPagingMsgs[obj] == true) 
     1092                        total++; 
     1093        return total; 
     1094}; 
     1095 
     1096/*Atualiza o array de mensagens selecionadas*/ 
     1097function updateSelectedMsgs(selected,msg_number){        
     1098        var folder = $('#content_folders .folder.selected').attr('title'); 
     1099        folder = folder ? folder : get_lang('INBOX'); 
     1100        folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 
     1101        var div = $('.select-all-messages'); 
     1102        var filterFlag = search_box_type != "ALL" ? '"' + get_lang(search_box_type) + "s" + '"': ""; 
     1103        /*Seleciona as mensagens ao navegar pelas páginas*/ 
     1104        if (allMsgsSelected && msg_number == undefined){ 
     1105                $('.checkbox').each(function(){ 
     1106                        $(this).attr('checked', true); 
     1107                        $(this).parent().parent().addClass('selected_msg'); 
     1108                }); 
     1109        } 
     1110        else if (msg_number == undefined){       
     1111                for(var obj in selectedPagingMsgs){ 
     1112                        if (selectedPagingMsgs[obj] == true){ 
     1113                                $('#check_box_message_'+obj).attr('checked', true); 
     1114                                $('#check_box_message_'+obj).parent().parent().addClass('selected_msg'); 
     1115                        } 
     1116                } 
     1117        } 
     1118        if (selected && msg_number != undefined){ 
     1119                selectedPagingMsgs[msg_number] = true; 
     1120                $(this).parent().parent().addClass('selected_msg');              
     1121        } 
     1122        else if(!selected && msg_number != undefined){ 
     1123                selectedPagingMsgs[msg_number] = false; 
     1124                $(this).parent().parent().removeClass('selected_msg'); 
     1125                allMsgsSelected = false; 
     1126                $('#chk_box_select_all_messages').attr('checked',false); 
     1127        } 
     1128        var tSelected = totalSelected(); 
     1129        /*Todas as mensagens selecionadas uma a uma*/ 
     1130        if (tSelected > 0 && tSelected == totalFolderMsgs){ 
     1131                allMsgsSelected = true; 
     1132                $('#chk_box_select_all_messages').attr('checked',true); 
     1133                if (total_pages > 1){ 
     1134                        var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1135                        var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1136                        div.html("<span>"+info+"<span>"); 
     1137                        div.show(); 
     1138                        $('.select-link').bind('click',function(){selectAllFolderMsgs();$('.select-link').unbind('click');}); 
     1139                } 
     1140        } 
     1141        /*Se foram selecionadas algumas mensagens*/ 
     1142        else if (tSelected > 0 && !allMsgsSelected && total_pages > 1){ 
     1143                $('#chk_box_select_all_messages').attr('checked',false); 
     1144                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1145                if (tSelected == 1){ 
     1146                        var info = "Foi selecionada <b>"+tSelected+"</b> mensagem "+filterFlag+" em "+folder+". "+link; 
     1147                } 
     1148                else{ 
     1149                        var info = "Foram selecionadas <b>"+tSelected+"</b> mensagens "+filterFlag+" em "+folder+". "+link; 
     1150                } 
     1151                div.html("<span>"+info+"<span>"); 
     1152                div.show(); 
     1153                $('.select-link').bind('click',function(){ 
     1154            selectAllFolderMsgs(); 
     1155            $('.select-link').unbind('click'); 
     1156        });              
     1157        } 
     1158        else if (allMsgsSelected && total_pages > 1){ 
     1159                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1160                var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1161                div.html("<span>"+info+"<span>"); 
     1162                div.show(); 
     1163                $('.select-link').bind('click',function(){ 
     1164            selectAllFolderMsgs(); 
     1165            $('.select-link').unbind('click'); 
     1166        }); 
     1167        } 
     1168        else{ 
     1169                div.hide(); 
     1170        }  
     1171    resizeWindow(); 
     1172} 
     1173 
     1174/*Seleciona ou desseleciona todas as mensagens da pasta*/ 
     1175function selectAllFolderMsgs(select){ 
     1176        var folder = $('#content_folders .folder.selected').attr('title'); 
     1177        folder = folder ? folder : get_lang('INBOX'); 
     1178        folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 
     1179        var filterFlag = search_box_type != "ALL" ? get_lang(search_box_type) + "s": ""; 
     1180        var div = $('.select-all-messages'); 
     1181        if (select){ 
     1182                allMsgsSelected = true; 
     1183                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1184                var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1185                div.html("<span>"+info+"<span>"); 
     1186                div.show(); 
     1187                $('.select-link').bind('click',function(){ 
     1188            selectAllFolderMsgs(); 
     1189            $('.select-link').unbind('click'); 
     1190        }); 
     1191                for(var obj in selectedPagingMsgs){ 
     1192                        selectedPagingMsgs[obj] = true; 
     1193                } 
     1194         
     1195        }else{ 
     1196                allMsgsSelected = false; 
     1197                for(var obj in selectedPagingMsgs){ 
     1198            $("#content_id_0").find('input[type="checkbox"]').removeAttr("checked"); 
     1199                        selectedPagingMsgs[obj] = false; 
     1200                        $('#check_box_message_'+obj).parent().parent().removeClass('selected_msg selected_shortcut_msg');                
     1201                } 
     1202                div.hide(); 
     1203        } 
     1204    resizeWindow(); 
     1205} 
     1206 
     1207/*Carrega o array de mensagens da pasta*/ 
     1208function populateSelectedMsgs(data){ 
     1209        this.selectedPagingMsgs = {}; 
     1210        this.totalFolderMsgs = 0; 
     1211        var total = 0; 
     1212        $.each(data, function(index, value){ 
     1213                if(value != undefined){ 
     1214                        selectedPagingMsgs[value] = false; 
     1215                        total++; 
     1216                } 
     1217        }); 
     1218        delete selectedPagingMsgs[undefined]; 
     1219        allMsgsSelected = false; 
     1220        this.totalFolderMsgs = total; 
     1221} 
     1222 
    10451223// Draw the inbox and another folders 
    10461224function draw_box(headers_msgs, msg_folder, alternate){ 
     
    11241302                chk_box_element.className = "checkbox"; 
    11251303                chk_box_element.onclick = function(){select_all_messages(this.checked);}; 
    1126                 chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.')}; 
     1304                chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.'); }; 
    11271305                chk_box_element.onkeydown = function (e){ 
    11281306                        if (is_ie) 
     
    12791457        _divScroll.appendChild(table_element); 
    12801458        openTab.content_id[numBox].appendChild(_divScroll); 
    1281  
     1459         
    12821460        var f_unseen = 0; 
    12831461 
    12841462        document.getElementById("table_message_header_box_"+numBox).emptyBody = false; 
    1285  
     1463         
    12861464        if (headers_msgs.num_msgs == 0) 
    12871465                showEmptyBoxMsg(tbody_element); 
     
    13441522                                //helper: 'clone', 
    13451523                                helper: function(event){ 
    1346                                         $(this).find("input:checkbox").attr("checked", true); 
     1524                                        $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 
     1525                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
    13471526                                        if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 
    1348                                                 $("#tbody_box .selected_shortcut_msg").find('.checkbox').attr('checked',true); 
     1527                                                $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 
     1528                                                $.each( $(".selected_shortcut_msg"), function(index, value){ 
     1529                                        updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 
     1530                                        }); 
    13491531                                        } 
    1350                                         if($("#table_box").find("tr input:checked").length > 1 ) 
    1351                                                 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+"</td></tr>");                            
     1532                                         
     1533                                        if(totalSelected() > 1 ) 
     1534                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>");                              
    13521535                                        if(     $(this).find(".td_msg_subject").text().length > 18 ) 
    13531536                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 
     
    13611544                                containment: "#divAppbox" 
    13621545                        }).bind('contextmenu',function(event){ 
    1363                                         if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 
    1364                                                 if($(this).find("input:checkbox").attr("checked") != "checked"){ 
    1365                                                         $(this).find("input:checkbox").trigger('click'); 
    1366                                                         $(this).addClass("selected_msg"); 
    1367                                                 } 
     1546                                if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 
     1547                                        if($(this).find("input:checkbox").attr("checked") != "checked"){ 
     1548                                                $(this).find("input:checkbox").trigger('click'); 
     1549                                                $(this).addClass("selected_msg"); 
    13681550                                        } 
     1551                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
     1552                                } 
    13691553                        }); 
    13701554        } 
     
    13731557                select_msg(headers_msgs[0].msg_number, 'null', true); 
    13741558                 
    1375  
     1559         
    13761560        var tdFolders  =  Element("folderscol"); 
    13771561        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
     
    14181602                Element('msg_number').value = ''; 
    14191603        } 
    1420         var scripts = new Array("InfoContact", 
    1421                                                         "TreeShow"); 
    1422         connector.loadAllScripts(scripts); 
     1604        connector.loadScript("InfoContact"); 
    14231605        // Loading Quota View Folder Component (if exists...) 
    14241606        if(Element("table_quota")) 
     
    14341616                document.getElementById("exmail_main_body").appendChild(ruler_element); 
    14351617    } 
    1436                                  
     1618                drawSelectMsgsTable(); 
     1619                updateSelectedMsgs(); 
     1620        resizeWindow(); 
    14371621} 
    14381622 
     
    15101694                 
    15111695                $(chk_box_element).click(function(e){ 
    1512                                 changeBgColor(e,headers_msgs.msg_number); 
     1696                        updateSelectedMsgs($(this).is(':checked'),headers_msgs.msg_number); 
     1697                        $(".selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1698                        $(".current_selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1699                        if(preferences.use_shortcuts == '1') 
     1700                                $(this).parents("tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1701                        changeBgColor(e,headers_msgs.msg_number); 
     1702                        $(this).blur(); 
    15131703                }); 
    15141704 
     
    18962086 
    18972087function sort_box(search, sort){ 
     2088        selectAllFolderMsgs(false); 
    18982089        if (cellResized) 
    18992090                return; 
     
    19212112        sort_box_type = sort; 
    19222113        search_box_type = search; 
    1923  
     2114                $.ajax({                         
     2115                        url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",  
     2116                                folder: get_current_folder(), 
     2117                                 msg_range_begin: "0", 
     2118                                 msg_range_end: "0",                                     
     2119                                sort_box_type: "SORTARRIVAL",  
     2120                                search_box_type: search_box_type, 
     2121                                sort_box_reverse: "1" 
     2122                                }), 
     2123                        success: function(data){ 
     2124                                data = connector.unserialize(data); 
     2125                                if(data){ 
     2126                                        var _data = {}; 
     2127                                        $.each(data,function(index,value){ 
     2128                                                if (data[index] && data[index].msg_number){ 
     2129                                                        _data[data[index].msg_number] = data[index].msg_number; 
     2130                                                } 
     2131                                        }); 
     2132                                        populateSelectedMsgs(_data); 
     2133                                        _data = {}; 
     2134                                 
     2135                                } 
     2136                        }, 
     2137                        beforeSend: function( jqXHR, settings ){ 
     2138                                connector.showProgressBar(); 
     2139                        }, 
     2140                        complete: function( jqXHR, settings ){ 
     2141                                connector.hideProgressBar(); 
     2142                        } 
     2143                }); 
    19242144        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    19252145        current_page = 1; 
     
    44034623        var maxAttachmentSize = (preferences.max_attachment_size !== "" && preferences.max_attachment_size != 0) ? (parseInt(preferences.max_attachment_size.replace('M', '')) * 1048576 ) : false; 
    44044624         
     4625        content.find(".new-msg-head-data").scroll(function(){ 
     4626                $.each(fileUploadMSG.find(".attachments-list .att-box"), function(index, value){ 
     4627                        $(this).qtip("api").updatePosition(); 
     4628                        $(this).qtip("api").updateWidth(); 
     4629                }); 
     4630        }); 
     4631        $("#fileupload_msg"+ID+"_droopzone").click(function(){ 
     4632                $(this).removeClass('in hover'); 
     4633        $(this).hide(); 
     4634        $(this).prev().show(); 
     4635        }); 
    44054636        fileUploadMSG.find(".button").button().filter(".fileinput-button").find(".ui-button-text").css("margin-top", "2px").find("input:file").fileupload({ 
    4406                 //singleFileUploads : true, 
     4637                //singleFileUploads : true,fileUploadMSG 
    44074638                sequentialUploads: true,  
    44084639                type: 'post', 
     
    44104641                url: "../prototype/post.php", 
    44114642                forceIframeTransport: false, 
    4412                 dropZone : fileUploadMSG, 
     4643                dropZone : $("#fileupload_msg"+ID+"_droopzone"), 
    44134644                formData: function(form) { 
    44144645                        return [ 
     
    44284659                },       
    44294660                add: function (e, data) { 
     4661            var iterator = idattachbycontent; 
    44304662                        if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { 
    44314663                                setTimeout(function() { 
    44324664                    $('#attDisposition'+ID).val('attachment'); 
    4433                                         data.submit(); 
    4434                                 }, 3000); 
    4435                         } 
     4665                                        jqXHR[iterator] = data.submit(); 
     4666                                }, 100); 
     4667                        } 
     4668                        fileUploadMSG.find(' .attachments-list').show(); 
    44364669                        $.each(data.files, function (index, file) { 
    44374670                                var attach = {}; 
    44384671                                attach.fullFileName = file.name; 
    44394672                                attach.fileName = file.name; 
    4440                                 if(file.name.length > 50) 
    4441                                         attach.fileName = file.name.substr(0, 32) + " ... " + file.name.substr(file.name.length-9, file.name.length); 
     4673                                if(file.name.length > 20) 
     4674                                        attach.fileName = file.name.substr(0, 17) + " ... " + file.name.substr(file.name.length-6, file.name.length); 
    44424675                                attach.fileSize = formatBytes(file.size); 
    44434676                                if(maxAttachmentSize && file.size > maxAttachmentSize) 
    4444                                         attach.error = 'Tamanho de arquivo nao permitido!!' 
    4445                                  
    4446                                 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach}));                            
    4447                                 upload.find('.button.close').button({ 
    4448                                         icons: { 
    4449                                                 primary: "ui-icon-close" 
    4450                                         }, 
    4451                                         text: false 
    4452                                 }).click(function(){ 
     4677                                        attach.error = 'Tamanho de arquivo nao permitido' 
     4678                                else 
     4679                                        attach.error = true; 
     4680                                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach}));                            
     4681                                upload.find('.att-box-delete').click(function(){ 
    44534682                                        var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    44544683                                        fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 
    4455                                         delAttachment(ID, idAttach) 
     4684                    delAttachment(ID, idAttach); 
     4685                    $(this).parent().qtip("destroy"); 
    44564686                                        $(this).parent().remove(); 
     4687                                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     4688                                                fileUploadMSG.find(' .attachments-list').hide(); 
     4689                                        } 
     4690                    if(jqXHR){ 
     4691                        jqXHR[iterator].abort(); 
     4692                    } 
    44574693                                }); 
    4458                                  
    4459                                 fileUploadMSG.find('.attachments-list').append(upload); 
     4694                    
     4695                fileUploadMSG.find('.attachments-list').append(upload); 
     4696 
     4697                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     4698                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4699                                        position: { 
     4700                                                corner: { 
     4701                                                        tooltip: 'bottomMiddle', 
     4702                                                        target: 'topMiddle' 
     4703                                                }, 
     4704                                                adjust: { 
     4705                                       resize: true, 
     4706                                       scroll: true, 
     4707                                       screen: true 
     4708                                    } 
     4709                                        }, 
     4710                                        show: { 
     4711                                                when: 'mouseover', // Don't specify a show event 
     4712                                                ready: false // Show the tooltip when ready 
     4713                                        }, 
     4714                                        hide: 'mouseout', // Don't specify a hide event 
     4715                                        style: { 
     4716                                                border: { 
     4717                                                        width: 1, 
     4718                                                        radius: 5 
     4719                                                }, 
     4720                                                width: { 
     4721                                                         min: 75, 
     4722                                                         max : 1000 
     4723                                                }, 
     4724                                                padding: 3,  
     4725                                                textAlign: 'left', 
     4726                                                tip: true, // Give it a speech bubble tip with automatic corner detection 
     4727                                                name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style 
     4728                                        } 
     4729                })/*.progressbar({ 
     4730                    value : 1 
     4731                })*/; 
     4732 
     4733                fileUploadMSG.find('.attachments-list .att-box:last').css('width', fileUploadMSG.find('.attachments-list .att-box:last div:first').css('width')); 
    44604734 
    44614735                                if(!maxAttachmentSize || file.size < maxAttachmentSize){ 
     
    44664740                                }else 
    44674741                                        fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 
     4742 
     4743                                idattachbycontent++ 
    44684744                        }); 
     4745                         
    44694746                }, 
    44704747                done: function(e, data){ 
     4748            var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); 
     4749            var attach = { 
     4750                fullFileName : attach_box.find(".att-box-fullfilename").text(), 
     4751                fileSize : attach_box.find(".att-box-filesize").text(), 
     4752                error : false 
     4753            }; 
    44714754                        if(!!data.result && data.result != "[]" ){ 
    44724755                                var newAttach = data.result;                              
    4473                                 if(!newAttach.mailAttachment.error){ 
    4474                                         if(newAttach.rollback !== false) 
    4475                                         { 
    4476                                                 fileUploadMSG.find('.in-progress:first').parents('p').append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>').find('.status-upload').addClass('ui-icon ui-icon-check'); 
    4477                                                 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
    4478                                         } 
    4479                                         else                              
    4480                                                 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error');    
    4481                                 }else{ 
    4482                                         fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error');    
    4483                                 } 
    4484                                  
     4756                                if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ 
     4757                                        attach_box.append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>'); 
     4758                                        addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
     4759                }else { 
     4760                                    attach_box.addClass('invalid-email-box'); 
     4761                    attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...';//.append(newAttach.mailAttachment.error).addClass('message-attach-error');    
     4762                } 
    44854763                        }else { 
    4486                                 fileUploadMSG.find(' .progress.on-complete:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 
    4487                         } 
    4488             fileUploadMSG.find(' .in-progress:first').remove(); 
    4489                 } 
     4764                                attach_box.addClass('invalid-email-box');//.qtip("api").updateContent("oi", true); 
     4765                attach.error = 'Erro ao anexar...'; 
     4766                        } 
     4767            attach_box.qtip("destroy").qtip({ 
     4768                content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4769                position: { 
     4770                    corner: { 
     4771                        tooltip: 'bottomMiddle', 
     4772                        target: 'topMiddle' 
     4773                    }, 
     4774                    adjust: { 
     4775                       resize: true, 
     4776                       scroll: true, 
     4777                       screen: true 
     4778                    } 
     4779                }, 
     4780                show: { 
     4781                    when: 'mouseover', // Don't specify a show event 
     4782                    ready: false // Show the tooltip when ready 
     4783                }, 
     4784                hide: 'mouseout', // Don't specify a hide event 
     4785                style: { 
     4786                    border: { 
     4787                        width: 1, 
     4788                        radius: 5 
     4789                    }, 
     4790                    width: { 
     4791                                                 min: 75, 
     4792                                                 max : 1000 
     4793                                        }, 
     4794                    padding: 3,  
     4795                    textAlign: 'left', 
     4796                    tip: true, // Give it a speech bubble tip with automatic corner detection 
     4797                    name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style 
     4798                } 
     4799            });/* 
     4800            fileUploadMSG.find(".att-box-loading:first").parents(".att-box").removeAttr("style").progressbar("destroy").find("div:first").removeAttr("style"); 
     4801            */ 
     4802            fileUploadMSG.find('.att-box-loading:first').remove(); 
     4803                }/*, 
     4804        progress : function(e, data){ 
     4805            var progress = parseInt(data.loaded / data.total * 100, 10); 
     4806            fileUploadMSG.find('.att-box-loading:first').parents(".att-box:first").progressbar({ 
     4807                value : progress 
     4808            }); 
     4809        }*/ 
    44904810        }).css({ 
    44914811                "height" : "20px",  
     
    45134833            }, 
    45144834                        autoOpen:false 
     4835        }); 
     4836        jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 
     4837                jQuery('#message-attach-dialog').dialog('open'); 
     4838                jQuery('#message-attach-attach-btn').unbind('click'); 
     4839                jQuery('#message-attach-attach-btn').click(function(event){ 
     4840                        jQuery.each(selectedMessages, function(folder_name, messages) { 
     4841                                jQuery.each(selectedMessages[folder_name], function(message_number, message) {  
     4842                                        if (message) { 
     4843                                                fileUploadMSG.find(' .attachments-list').show();         
     4844                                                var att = new Object(); 
     4845                                                att.folder = folder_name; 
     4846                                                att.uid = message_number; 
     4847                                                att.type = 'imapMSG'; 
     4848                                                att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 
     4849                                                var idATT = JSON.stringify(att); 
     4850                                                addAttachment( ID , idATT);                         
     4851                                                var attach = {}; 
     4852                                                attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
     4853                                                attach.fullFileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
     4854                                                if(attach.fileName.length > 20) 
     4855                                                        attach.fileName = attach.fileName.substr(0, 17) + "... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
     4856 
     4857                                                attach.error = false; 
     4858                        attach.OK = true; 
     4859                                                attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 
     4860                                                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
     4861                                                upload.find('.att-box-loading').remove(); 
     4862                                                upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
     4863                                                 
     4864                                                upload.find('.att-box-delete').click(function(){ 
     4865                                                        var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
     4866                                                        fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 
     4867                                                        delAttachment(ID,idAttach);  
     4868                                                        $(this).parent().qtip("destroy"); 
     4869                                                        $(this).parent().remove(); 
     4870                                                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     4871                                                                fileUploadMSG.find(' .attachments-list').hide(); 
     4872                                                        } 
     4873                                                });      
     4874                                                         
     4875                                                fileUploadMSG.find('.attachments-list').append(upload); 
     4876 
     4877                                                upload.find('.att-box-loading').remove(); 
     4878 
     4879                                                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     4880                                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4881                                                        position: { 
     4882                                                                corner: { 
     4883                                                                        tooltip: 'bottomMiddle', 
     4884                                                                        target: 'topMiddle' 
     4885                                                                }, 
     4886                                                                adjust: { 
     4887                                                       resize: true, 
     4888                                                       scroll: true 
     4889                                                    } 
     4890                                                        }, 
     4891                                                        show: { 
     4892                                                                when: 'mouseover', // Don't specify a show event 
     4893                                                                ready: false // Show the tooltip when ready 
     4894                                                        }, 
     4895                                                        hide: 'mouseout', // Don't specify a hide event 
     4896                                                        style: { 
     4897                                                                border: { 
     4898                                                                        width: 1, 
     4899                                                                        radius: 5 
     4900                                                                }, 
     4901                                                                width: { 
     4902                                                                         min: 75, 
     4903                                                                         max : 1000 
     4904                                                                }, 
     4905                                                                padding: 5,  
     4906                                                                textAlign: 'center', 
     4907                                                                tip: true, // Give it a speech bubble tip with automatic corner detection 
     4908                                                                name: 'blue' // Style it according to the preset 'cream' style 
     4909                                                        } 
     4910                                }); 
     4911                                        } 
     4912                                }); 
     4913                        }); 
     4914                        jQuery('#message-attach-dialog').dialog('close'); 
    45154915                }); 
    4516                  
    4517                  
    4518                 jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 
    4519                         jQuery('#message-attach-dialog').dialog('open'); 
    4520                         jQuery('#message-attach-attach-btn').unbind('click'); 
    4521                         jQuery('#message-attach-attach-btn').click(function(event){ 
    4522                                 jQuery.each(selectedMessages, function(folder_name, messages) { 
    4523                                         jQuery.each(selectedMessages[folder_name], function(message_number, message) {  
    4524                                                 if (message) { 
    4525                                                         var att = new Object(); 
    4526                                                         att.folder = folder_name; 
    4527                                                         att.uid = message_number; 
    4528                                                         att.type = 'imapMSG'; 
    4529                                                         att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 
    4530                                                         var idATT = JSON.stringify(att); 
    4531                                                         addAttachment( ID , idATT);                         
    4532                                                         var attach = {}; 
    4533                                                         attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
    4534                                                         if(attach.fileName.length > 45) 
    4535                                                                         attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
    4536  
    4537                                                         attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 
    4538                                                         var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
    4539                                                         upload.find('.status-upload').addClass('ui-icon ui-icon-check'); 
    4540                                                         upload.find('.in-progress').remove();  
    4541                                                         upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
    4542                                                          
    4543                                                         upload.find('.button.close').button({ 
    4544                                                                 icons: { 
    4545                                                                                                 primary: "ui-icon-close" 
    4546                                                                                 }, 
    4547                                                                                 text: false 
    4548                                                                 }).click(function(){ 
    4549                                                                                 var idAttach = $(this).parents("li:first").find('input[name="fileId[]"]').val(); 
    4550                                                                                 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 
    4551                                                                                 delAttachment(ID,idAttach);  
    4552                                                                                 $(this).parent().remove(); 
    4553                                                         });      
    4554                                                          
    4555                                                         fileUploadMSG.find('.attachments-list').append(upload);    
    4556                                                 } 
    4557                                         }); 
     4916                jQuery('#message-attach-cancel-btn').click(function(event){ 
     4917                        jQuery('#message-attach-dialog').dialog('close'); 
     4918                });                      
     4919        }); 
     4920        }); 
     4921        $(document).bind('drop dragover', function (e) { 
     4922            e.preventDefault(); 
     4923        }); 
     4924        //DRAG and DROP DE ARQUIVOS NÃO FUNCIONA NO IE 
     4925        if(!is_ie){ 
     4926                $("body").bind('dragenter', function (e) { 
     4927                    var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4928                var timeout = window.dropZoneTimeout; 
     4929                        dropZone.show(); 
     4930                        dropZone.prev().hide(); 
     4931                    if (!timeout) { 
     4932                        dropZone.addClass('in'); 
     4933                    } else { 
     4934                        clearTimeout(timeout); 
     4935                    } 
     4936                    if (e.target === dropZone[0]) { 
     4937                        dropZone.addClass('hover'); 
     4938                    } else { 
     4939                        dropZone.removeClass('hover'); 
     4940                    } 
     4941                    $(window).unbind('dragleave'); 
     4942                    window.dropZoneTimeout = setTimeout(function () { 
     4943                        $(window).bind('dragleave', function (e) { 
     4944                                        window.dropZoneTimeout = null; 
     4945                                dropZone.removeClass('in hover'); 
     4946                                dropZone.hide(); 
     4947                                dropZone.prev().show(); 
    45584948                                }); 
    4559                                  
    4560                                 jQuery('#message-attach-dialog').dialog('close'); 
    4561                                  
    4562                         }); 
    4563                         jQuery('#message-attach-cancel-btn').click(function(event){ 
    4564                                 jQuery('#message-attach-dialog').dialog('close'); 
    4565                         });                      
     4949                    }, 1); 
     4950                }).bind('dragleave', function (e) { 
     4951                        var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4952                        window.dropZoneTimeout = setTimeout(function () { 
     4953                        $(window).bind('dragleave', function (e) { 
     4954                                        window.dropZoneTimeout = null; 
     4955                                dropZone.removeClass('in hover'); 
     4956                                dropZone.hide(); 
     4957                                dropZone.prev().show(); 
     4958                                }); 
     4959                    }, 1); 
     4960                }).bind('drop', function(e){ 
     4961                        var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4962                        window.dropZoneTimeout = null; 
     4963                dropZone.removeClass('in hover'); 
     4964                dropZone.hide(); 
     4965                dropZone.prev().show(); 
    45664966                }); 
    4567         }); 
     4967        }        
    45684968        return ID; 
    45694969} 
     
    46725072                add_className(all_messages[begin], 'selected_msg'); 
    46735073                Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; 
     5074                updateSelectedMsgs(true,_msg_id); 
    46745075        } 
    46755076} 
  • trunk/expressoMail1_2/js/mail_sync.js

    r5134 r6930  
    4949         
    5050        mail_sync.prototype.start_sync = function() { 
    51                 if (is_ie) 
    52                                 connector.loadScript('TreeShow'); 
    5351                if(this.working) { 
    5452                        //Já está sincronizando... 
     
    145143                        if((!preferences.hide_folders) || (preferences.hide_folders=="0")) { 
    146144                                if (expresso_mail_sync.update_folder) { 
    147                                         ttreeBox.update_folder(); 
     145                                        //ttreeBox.update_folder(); 
    148146                                        expresso_mail_sync.update_folder = false; 
    149147                                } 
  • trunk/expressoMail1_2/js/main.js

    r6910 r6930  
    2020        }  
    2121} 
    22          
    23  
    2422         
    2523function mount_url_folder(folders){ 
     
    102100                if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas... 
    103101                        connector.loadScript('mail_sync'); 
    104                         if (is_ie) 
    105                                 connector.loadScript('TreeShow'); 
    106102                        setTimeout('auto_archiving()', 30000); 
    107103                         
    108104                } 
     105                /*Carrega a lista de mensagens*/ 
     106                var  handler_populateSelectedMsgs = function(data){ 
     107                        populateSelectedMsgs(data); 
     108                } 
     109                cExecute ("$this.imap_functions.get_msgs&folder=INBOX&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1&msg_range_begin=1", handler_populateSelectedMsgs); 
    109110                //Substituido por padrão Jquery 
    110111                cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 
     
    639640                                if (!existent) 
    640641                                { 
     642                                        selectedPagingMsgs[data[i].msg_number] = false; 
     643                                        totalFolderMsgs++; 
     644                                        updateSelectedMsgs(false,data[i].msg_number); 
    641645                                        var new_msg = this.make_tr_message(data[i], current_folder, data.offsetToGMT); 
    642646                                        $(new_msg).draggable({ 
     
    687691                                                }, 
    688692                                                helper: function(event){ 
    689                                                                 if($(this).find("input:checkbox").attr("checked") != "checked"){ 
    690                                                                         $(this).find("input:checkbox").trigger('click'); 
    691                                                                         $(this).addClass("selected_msg"); 
    692                                                                 } 
    693                                                                 if($("#table_box").find("tr input:checked").length > 1) 
    694                                                                         return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 
    695                                                                 if(     $(this).find(".td_msg_subject").text().length > 18 ) 
    696                                                                         return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 
    697                                                                 else 
    698                                                                         return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+"</td></tr>"); 
     693                                                        $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 
     694                                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
     695                                                        if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 
     696                                                                $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 
     697                                                                $.each( $(".selected_shortcut_msg"), function(index, value){ 
     698                                                        updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 
     699                                                        }); 
     700                                                        } 
     701                                                        if(totalSelected() > 1) 
     702                                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 
     703                                                        if(     $(this).find(".td_msg_subject").text().length > 18 ) 
     704                                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 
     705                                                        else 
     706                                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+"</td></tr>"); 
    699707                                                }, 
    700708                                                iframeFix: true, 
     
    704712                                                containment: "#divAppbox" 
    705713                                        }).bind("contextmenu", function(){ 
    706                                                 if($(this).find("input:checkbox").attr("checked") != "checked"){ 
    707                                                         $(this).find("input:checkbox").trigger('click'); 
    708                                                         $(this).addClass("selected_msg"); 
     714                                                if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 
     715                                                        if($(this).find("input:checkbox").attr("checked") != "checked"){ 
     716                                                                $(this).find("input:checkbox").trigger('click'); 
     717                                                                $(this).addClass("selected_msg"); 
     718                                                        } 
     719                                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
    709720                                                } 
    710721                                        }); 
     
    829840                          
    830841                        if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){  
    831                                 move_msgs2(folder, msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg );  
     842                    if(currentTab == 0) 
     843                                                msgs_number = get_selected_messages(); 
     844                            move_msgs2(folder, ""+msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg );  
    832845                                return; 
    833846        } 
     
    899912                refresh(); 
    900913        } 
    901  
    902         if (msgs_number == 'selected') 
     914        if(currentTab == 0 ) 
    903915                msgs_number = get_selected_messages(); 
     916 
    904917        if (msgs_number.length > 0 || parseInt(msgs_number) > 0) 
    905918                cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_delete_msgs); 
     
    10641077                        params += "&new_folder="+url_encode(new_folder); 
    10651078                        params += "&new_folder_name="+url_encode(new_folder_name); 
    1066                 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 
    1067         } 
     1079                        cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 
     1080                } 
    10681081        } 
    10691082        else 
     
    10901103                                var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : special_folders['Trash']; 
    10911104                                alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', folder_error)); 
    1092                                 connector.loadScript('TreeShow'); 
    10931105                                ttree.FOLDER = 'root'; 
    1094                                 ttreeBox.new_past(move_to_folder); 
     1106                                create_new_folder(move_to_folder,"INBOX"); 
    10951107                                return false; 
    10961108                        }else{ 
     
    12361248        } catch (e) {}  
    12371249 
    1238         if (msgs_number == 'selected'){ 
     1250        if(currentTab == 0) 
    12391251                msgs_number = get_selected_messages(); 
    1240                 } 
    12411252 
    12421253        if(openTab.type[currentTab] == 1){ 
     
    12601271                                url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
    12611272                                                                    folder: folder, 
    1262                                                                     msgs_number: msgs_number, 
     1273                                                                    msgs_number: ""+msgs_number, 
    12631274                                                                    border_ID: border_ID, 
    12641275                                                                    sort_box_type: sort_box_type, 
     
    12731284                                success: function( data ){ 
    12741285                                    data = connector.unserialize( data ); 
    1275                                      
     1286                                    $.each(msgs_number, function(index, value){ 
     1287                                        delete selectedPagingMsgs[value]; 
     1288                                    }); 
     1289                                    totalFolderMsgs -= totalSelected(); 
     1290 
     1291                                    //TESTE 
     1292                                    selectAllFolderMsgs(); 
     1293                                $('.select-link').unbind('click'); 
     1294 
    12761295                                    if( data ) 
    12771296                                        handler_move_msgs( data ); 
     
    16211640} 
    16221641 
    1623 function get_selected_messages(){ 
     1642/*function get_selected_messages(){ 
    16241643        var main; 
    16251644        try{ 
     
    16651684 
    16661685                          
    1667                         /* Verifica se está na tela de pesquisa. */  
     1686                        /* Verifica se está na tela de pesquisa. */ /* 
    16681687                        if(selected_messages.indexOf("_") != -1)  
    16691688                        {  
    16701689                                results_search_messages = selected_messages;  
    1671                                 /* Retira a informação da aba */  
     1690                                /* Retira a informação da aba */ /* 
    16721691                                selected_messages = selected_messages.substring(0,selected_messages.indexOf("_")); 
    16731692        } 
     
    16851704                        return selected_messages_by_shortcuts; 
    16861705                }*/ 
    1687                 /*Se houver mais de uma mensagem selecionada por atalho*/ 
     1706                /*Se houver mais de uma mensagem selecionada por atalho*//* 
    16881707                if (array_selected_messages_by_shortcuts.length > 1){ 
    16891708                        if (selected_messages == "") 
     
    16971716        else 
    16981717                return selected_messages; 
     1718}*/ 
     1719function get_selected_messages(){ 
     1720        var selected = new Array(); 
     1721        $.each(selectedPagingMsgs, function(index, value){ 
     1722                if(value) 
     1723                        selected.push(index); 
     1724        }); 
     1725        return ""+selected; 
    16991726} 
    17001727 
     
    21762203                                    var attach = {}; 
    21772204                                    attach.fileName =  attachments[i].text.substring(0, attachments[i].text.lastIndexOf('(')); 
    2178  
    2179                                     if(attach.fileName.length > 45) 
    2180                                         attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
     2205                    attach.fullFileName = attach.fileName; 
     2206                                    if(attach.fileName.length > 20) 
     2207                                        attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
    21812208 
    21822209                                    attach.fileSize =  attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 
    21832210 
     2211                    attach.error = false; 
     2212                    fileUploadMSG.find(' .attachments-list').show(); 
    21842213                                    var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
    2185                                     upload.find('.status-upload').remove(); 
    2186                                     upload.find('.in-progress').remove();  
    21872214                                    upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
    2188                                     upload.find('.button.close').button({ 
    2189                                             icons: { 
    2190                                                     primary: "ui-icon-close" 
    2191                                             }, 
    2192                                             text: false 
    2193  
    2194                                     }).click(function(){ 
     2215                    upload.find(".att-box-loading").remove(); 
     2216                                    upload.find('.att-box-delete').click(function(){ 
    21952217                                            var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    21962218                                            var content_body = RichTextEditor.getData('body_'+new_border_ID); 
     
    22082230                                            fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 
    22092231                                            delAttachment(new_border_ID,idAttach);  
    2210                                             $(this).parent().remove(); 
     2232                                            $(this).parent().qtip("destroy"); 
     2233                        $(this).parent().remove(); 
     2234                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     2235                            fileUploadMSG.find(' .attachments-list').hide(); 
     2236                        } 
    22112237                                    }); 
    22122238 
    22132239                                    fileUploadMSG.find('.attachments-list').append(upload); 
     2240                    fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     2241                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     2242                        position: { 
     2243                            corner: { 
     2244                                tooltip: 'bottomMiddle', 
     2245                                target: 'topMiddle' 
     2246                            }, 
     2247                            adjust: { 
     2248                               resize: true, 
     2249                               scroll: true, 
     2250                               screen: show 
     2251                            } 
     2252                        }, 
     2253                        show: { 
     2254                            when: 'mouseover', // Don't specify a show event 
     2255                            ready: false // Show the tooltip when ready 
     2256                        }, 
     2257                        hide: 'mouseout', // Don't specify a hide event 
     2258                        style: { 
     2259                            border: { 
     2260                                width: 1, 
     2261                                radius: 5 
     2262                            }, 
     2263                            width: { 
     2264                                                                 min: 75, 
     2265                                                                 max : 1000 
     2266                                                        }, 
     2267                            padding: 3,  
     2268                            textAlign: 'left', 
     2269                            tip: true, // Give it a speech bubble tip with automatic corner detection 
     2270                            name: 'blue' // Style it according to the preset 'cream' style 
     2271                        } 
     2272                    }); 
    22142273                                } 
    22152274                                else 
     
    22342293                                    var attach = {}; 
    22352294                                    attach.fileName =  arrayAttachmentsA[i].text.substring(0, arrayAttachmentsA[i].text.lastIndexOf('(')); 
    2236  
    2237                                     if(attach.fileName.length > 45) 
    2238                                         attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
     2295                    attach.fullFileName = attach.fileName; 
     2296                                    if(attach.fileName.length > 20) 
     2297                                        attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
    22392298 
    22402299                                    attach.fileSize =  arrayAttachmentsA[i].text.substring(( arrayAttachmentsA[i].text.lastIndexOf('(')+1), arrayAttachmentsA[i].text.lastIndexOf(')')); 
    2241  
     2300                    attach.error = false; 
     2301                    fileUploadMSG.find(' .attachments-list').show(); 
    22422302                                    var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
    2243                                     upload.find('.status-upload').remove(); 
    2244                                     upload.find('.in-progress').remove();  
     2303                                    upload.find('.att-box-loading').remove();  
    22452304                                    upload.append('<input type="hidden" name="fileId[]" value=\''+arrayAttachments[i]+'\'/>'); 
    2246                                     upload.find('.button.close').button({ 
    2247                                             icons: { 
    2248                                                     primary: "ui-icon-close" 
    2249                                             }, 
    2250                                             text: false 
    2251  
    2252                                     }).click(function(){ 
    2253                                             var idAttach = $(this).parent().parent().find('input[name="fileId[]"]').val(); 
     2305                                    upload.find('.att-box-delete').click(function(){ 
     2306                                            var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    22542307                                            var content_body = RichTextEditor.getData('body_'+new_border_ID); 
    22552308                                            var imagens = content_body.match(/<img[^>]*>/g); 
     
    22662319                                            fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 
    22672320                                            delAttachment(new_border_ID,idAttach);  
    2268                                             $(this).parent().remove(); 
     2321                                            $(this).parent().qtip("destroy"); 
     2322                        $(this).parent().remove(); 
     2323                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     2324                            fileUploadMSG.find(' .attachments-list').hide(); 
     2325                        } 
    22692326                                    }); 
    22702327 
    22712328                                    fileUploadMSG.find('.attachments-list').append(upload); 
    2272  
     2329                    fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     2330                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     2331                        position: { 
     2332                            corner: { 
     2333                                tooltip: 'bottomMiddle', 
     2334                                target: 'topMiddle' 
     2335                            }, 
     2336                            adjust: { 
     2337                               resize: true, 
     2338                               scroll: true, 
     2339                               screen: show 
     2340                            } 
     2341                        }, 
     2342                        show: { 
     2343                            when: 'mouseover', // Don't specify a show event 
     2344                            ready: false // Show the tooltip when ready 
     2345                        }, 
     2346                        hide: 'mouseout', // Don't specify a hide event 
     2347                        style: { 
     2348                            border: { 
     2349                                width: 1, 
     2350                                radius: 5 
     2351                            }, 
     2352                            width: { 
     2353                                                                 min: 75, 
     2354                                                                 max : 1000 
     2355                                                        }, 
     2356                            padding: 3,  
     2357                            textAlign: 'left', 
     2358                            tip: true, // Give it a speech bubble tip with automatic corner detection 
     2359                            name: 'blue' // Style it according to the preset 'cream' style 
     2360                        } 
     2361                    }); 
    22732362                        } 
    22742363 
     
    22882377            if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
    22892378                    continue; 
    2290  
     2379                fileUploadMSG.find(' .attachments-list').show(); 
    22912380                var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(',');                                  
    22922381                var att = new Object(); 
     
    23002389 
    23012390                var attach = {}; 
     2391 
    23022392                attach.fileName =  attachments[i].text.substring(0, attachments[i].text.lastIndexOf('(')); 
    2303  
    2304                 if(attach.fileName.length > 45) 
    2305                     attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
     2393                attach.fullFileName = attach.fileName; 
     2394 
     2395                if(attach.fileName.length > 20) 
     2396                    attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
    23062397 
    23072398                attach.fileSize =  attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 
     2399                attach.error = false; 
    23082400 
    23092401                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
    2310                 upload.find('.status-upload').remove(); 
    2311                 upload.find('.in-progress').remove();  
    2312                 upload.find('.button.close').button({ 
    2313                         icons: { 
    2314                                 primary: "ui-icon-close" 
     2402                upload.find('.att-box-loading').remove();  
     2403                upload.find('.att-box-delete').click(function(){ 
     2404                    var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
     2405                    var content_body = RichTextEditor.getData('body_'+new_border_ID); 
     2406                    var imagens = content_body.match(/<img[^>]*>/g); 
     2407                    var att = JSON.parse(idAttach); 
     2408                    if(imagens != null) 
     2409                    {    
     2410                        for (var x = 0; x < imagens.length; x++) 
     2411                            if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&amp;msgNumber='+att.uid+'&amp;indexPart='+att.part) !== -1) 
     2412                                content_body = content_body.replace(imagens[x],''); 
     2413 
     2414                         RichTextEditor.setData('body_'+new_border_ID,content_body);     
     2415                    }        
     2416 
     2417                    fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 
     2418                    delAttachment(new_border_ID,idAttach);  
     2419                    $(this).parent().qtip("destroy"); 
     2420                    $(this).parent().remove(); 
     2421                    if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     2422                        fileUploadMSG.find(' .attachments-list').hide(); 
     2423                    } 
     2424                });      
     2425 
     2426 
     2427                upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
     2428                fileUploadMSG.find('.attachments-list').append(upload); 
     2429                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     2430                    content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     2431                    position: { 
     2432                        corner: { 
     2433                            tooltip: 'bottomMiddle', 
     2434                            target: 'topMiddle' 
    23152435                        }, 
    2316                         text: false 
    2317                 }).click(function(){ 
    2318                         var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    2319                         var content_body = RichTextEditor.getData('body_'+new_border_ID); 
    2320                         var imagens = content_body.match(/<img[^>]*>/g); 
    2321                         var att = JSON.parse(idAttach); 
    2322                         if(imagens != null) 
    2323                         {    
    2324                             for (var x = 0; x < imagens.length; x++) 
    2325                                 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&amp;msgNumber='+att.uid+'&amp;indexPart='+att.part) !== -1) 
    2326                                     content_body = content_body.replace(imagens[x],''); 
    2327  
    2328                              RichTextEditor.setData('body_'+new_border_ID,content_body);     
    2329                         }        
    2330  
    2331                         fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 
    2332                         delAttachment(new_border_ID,idAttach);  
    2333                         $(this).parent().remove(); 
    2334                 });      
    2335  
    2336  
    2337                 upload.find("p").append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
    2338                 fileUploadMSG.find('.attachments-list').append(upload); 
     2436                        adjust: { 
     2437                           resize: true, 
     2438                           scroll: true, 
     2439                           screen: show 
     2440                        } 
     2441                    }, 
     2442                    show: { 
     2443                        when: 'mouseover', // Don't specify a show event 
     2444                        ready: false // Show the tooltip when ready 
     2445                    }, 
     2446                    hide: 'mouseout', // Don't specify a hide event 
     2447                    style: { 
     2448                        border: { 
     2449                            width: 1, 
     2450                            radius: 5 
     2451                        }, 
     2452                        width: { 
     2453                                                         min: 75, 
     2454                                                         max : 1000 
     2455                                                }, 
     2456                        padding: 3,  
     2457                        textAlign: 'left', 
     2458                        tip: true, // Give it a speech bubble tip with automatic corner detection 
     2459                        name: 'blue' // Style it according to the preset 'cream' style 
     2460                    } 
     2461                }); 
    23392462 
    23402463    }                    
     
    25822705 
    25832706function send_message(ID, folder, folder_name){ 
    2584      if(!zebraDiscardEventDialog && $('#fileupload_msg'+ID).find('.in-progress').length ) 
    2585      { 
    2586          zebraDiscardEventDialog = true; 
    2587          window.setTimeout(function() { 
    2588          $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 
    2589                     'type':     'question', 
    2590                     'overlay_opacity': '0.5', 
    2591                     'buttons':  ['Descartar anexos e enviar', 'Continuar editando e esperar anexos'], 
    2592                     'width' : 500, 
    2593                     'onClose':  function(clicked) { 
    2594                             if(clicked == 'Descartar anexos e enviar' )  
    2595                               send_valided_message(ID, folder, folder_name); 
    2596  
    2597                             window.setTimeout(function() { 
    2598                                     zebraDiscardEventDialog = false; 
    2599                             }, 500); 
     2707    if(!zebraDiscardEventDialog && $('#fileupload_msg'+ID).find('.att-box-loading').length ) 
     2708    { 
     2709        zebraDiscardEventDialog = true; 
     2710        window.setTimeout(function() { 
     2711            $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 
     2712                'type':     'question', 
     2713                'overlay_opacity': '0.5', 
     2714                'buttons':  ['Descartar anexos e enviar', 'Continuar editando e esperar anexos'], 
     2715                'width' : 500, 
     2716                'onClose':  function(clicked) { 
     2717                    if(clicked == 'Descartar anexos e enviar' ){  
     2718                        $.each($('#fileupload_msg'+ID).find('.att-box'), function(index, value){ 
     2719                            if($(value).find(".att-box-loading").length) 
     2720                                $(value).find('.att-box-delete').trigger("click"); 
     2721                        }); 
     2722                        send_valided_message(ID, folder, folder_name); 
    26002723                    } 
    2601              }) 
    2602           }, 300);  
    2603  
    2604      } 
    2605      else 
    2606        send_valided_message(ID, folder, folder_name);      
     2724                    window.setTimeout(function() { 
     2725                        zebraDiscardEventDialog = false; 
     2726                    }, 500); 
     2727                } 
     2728            }) 
     2729        }, 300);  
     2730    }else 
     2731        send_valided_message(ID, folder, folder_name);      
    26072732} 
    26082733 
     
    31063231                          success: function( data ){ 
    31073232                              data = connector.unserialize( data ); 
    3108                                
     3233 
     3234                              selectAllFolderMsgs(); 
     3235                              $('.select-link').unbind('click'); 
     3236 
    31093237                              if( data ) 
    31103238                                  handler_set_messages_flag( data ); 
     
    34213549} 
    34223550 
    3423 function empty_trash_imap(){ 
     3551function empty_trash_imap(shared, button){ 
     3552        if(shared){ 
     3553                var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 
     3554                var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 
     3555        } 
     3556 
    34243557        var handler_empty_trash = function(data){ 
    34253558                Element('chk_box_select_all_messages').checked = false; 
     
    34323565                draw_tree_labels(); 
    34333566                if (data){ 
     3567                        if(typeof(data) == "object"){ 
     3568                                if(data[1] == "Permission denied"){ 
     3569                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     3570                                        return write_msg(get_lang("Permission denied")); 
     3571                                } 
     3572                        } 
    34343573                        write_msg(get_lang('Your Trash folder was empty.')); 
    34353574                        if (get_current_folder() == mount_url_folder(["INBOX",special_folders["Trash"]])){ 
     
    34513590                'onClose':  function(caption) { 
    34523591                        if(caption == get_lang("Yes")){ 
    3453                                 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder", handler_empty_trash); 
     3592                                cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared ? "&shared="+folder : ""), handler_empty_trash); 
    34543593                        } 
    34553594                } 
     
    34573596} 
    34583597 
    3459 function empty_spam_imap(){ 
     3598function empty_spam_imap(shared, button){ 
     3599        if(shared){ 
     3600                var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 
     3601                var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 
     3602        } 
    34603603        var handler_empty_spam = function(data){ 
    34613604                Element('chk_box_select_all_messages').checked = false; 
     
    34713614                draw_tree_labels(); 
    34723615                update_quota(get_current_folder()); 
    3473                 if (data) 
    3474                         write_msg(get_lang('Your Spam folder was empty.')); 
     3616                if (data){ 
     3617                        if(typeof(data) == "object"){ 
     3618                                if(data[1] == "Permission denied"){ 
     3619                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     3620                                        return write_msg(get_lang("Permission denied")); 
     3621                                }else{ 
     3622                                        write_msg(get_lang('Your Spam folder was empty.'));              
     3623                                } 
     3624                        }else{ 
     3625                                write_msg(get_lang('Your Spam folder was empty.'));      
     3626                        } 
     3627                } 
    34753628                else 
    34763629                        write_msg(get_lang('ERROR emptying your Spam folder.')); 
     
    34843637                'onClose':  function(caption) { 
    34853638                        if(caption == get_lang("Yes")){ 
    3486                                 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder", handler_empty_spam); 
     3639                                cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared ? "&shared="+folder : ""), handler_empty_spam); 
    34873640                        } 
    34883641                } 
     
    36203773                msgs_number = get_selected_messages(); 
    36213774 
     3775        //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
     3776        if(currentTab == 0) 
     3777                msgs_number = get_selected_messages(); 
     3778 
    36223779        if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 
    36233780                cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=false"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 
     
    36573814                return; 
    36583815        }else if(msgs_number == 'selected') 
     3816                msgs_number = get_selected_messages(); 
     3817 
     3818        //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 
     3819        if(currentTab == 0) 
    36593820                msgs_number = get_selected_messages(); 
    36603821 
     
    41884349 
    41894350function create_new_folder(name_folder, base_path){ 
     4351        //Limit reached folders 
     4352        if(preferences.imap_max_folders){ 
     4353                if(cp_tree1.length == parseInt(preferences.imap_max_folders)){ 
     4354                        $(".folders-loading").removeClass("folders-loading"); 
     4355                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     4356                        return write_msg(get_lang("Limit reached folders")); 
     4357                } 
     4358        } 
     4359         
    41904360        $.ajax({ 
    41914361                url : "controller.php?action=$this.imap_functions.create_mailbox", 
     
    41974367                        if(data == "Mailbox already exists"){ 
    41984368                                write_msg(get_lang("Mailbox already exists")); 
     4369                        }else if(data.substring(data.indexOf("Permission"), data.length) == "Permission denied"){ 
     4370                                $(".folders-loading").removeClass("folders-loading"); 
     4371                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     4372                                return write_msg(get_lang("Permission denied")); 
    41994373                        } 
    42004374                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
  • trunk/expressoMail1_2/js/manifest

    r4342 r6930  
    4444          { "url": "sniff_browser.js?1.222" }, 
    4545          { "url": "TreeS.js?1.222" }, 
    46           { "url": "TreeShow.js?1.222" }, 
    4746          { "url": "offline_access.js?1.222" }, 
    4847          { "url": "lert/lert.js" }, 
  • trunk/expressoMail1_2/js/messages_controller.js

    r6487 r6930  
    3838                                     
    3939                                    if( data ) 
    40                                         call_back( data ); 
     40                                                call_back( data ); 
    4141                              }, 
    4242                                  beforeSend: function( jqXHR, settings ){ 
     
    170170        } 
    171171         
    172  
     172        /* 
    173173        messages_proxy.prototype.proxy_rename_folder = function(){ 
    174174                var specialFolders = special_folders[ttree.getFolder().split(cyrus_delimiter)[ttree.getFolder().split(cyrus_delimiter).length-1]];  
     
    206206                 
    207207        } 
    208  
     208        */ 
     209        /* 
    209210        messages_proxy.prototype.proxy_create_folder = function() { 
    210211                if (folders.length == preferences.imap_max_folders){  
     
    244245                                alert(get_lang("It's not possible create inside: ") + lang_folder(ttree.FOLDER.substr(6))+"."); 
    245246        } 
    246          
     247        */ 
     248        /* 
    247249        messages_proxy.prototype.proxy_remove_folder = function() { 
    248250                if (this.is_local_folder(ttree.FOLDER)) { 
     
    283285                else 
    284286                        ttreeBox.del(); 
    285         } 
     287        }*/ 
    286288 
    287289        messages_proxy.prototype.proxy_move_messages = function (folder, msgs_number, border_ID, new_folder, new_folder_name) { 
     
    475477                } 
    476478        } 
    477  
     479        /* 
    478480        messages_proxy.prototype.proxy_export_all_msg=function(){ 
    479481 
     
    493495                } 
    494496        } 
    495  
     497        */ 
    496498        var proxy_mensagens; 
    497499        proxy_mensagens = new messages_proxy(); 
  • trunk/expressoMail1_2/js/preferences.js

    r1308 r6930  
    2020                cExecute(args,handler_preferences,params); 
    2121        } 
    22  
    23         Preferences.prototype.delete_dynamic_contacts = function(){ 
    24                 var handler = function(data){} 
    25                 var args   = "$this.dynamic_contacts.delete_dynamic_contacts"; 
    26                 var params = ""; 
    27                 cExecute(args,handler,params); 
    28         } 
    2922// Cria o objeto         
    3023        var prefe; 
  • trunk/expressoMail1_2/js/shortcut.js

    r6910 r6930  
    331331//********************** 
    332332shortcut.add('up', function(e) 
     333{ 
     334    if(currentTab == 0){ 
     335        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     336        if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 
     337            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     338        $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus(); 
     339    } 
     340},{'disable_in_input':true}); 
     341 
     342 
     343shortcut.add('down', function(e) 
     344{ 
     345    if(currentTab == 0){ 
     346        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     347        if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 
     348            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     349        $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus(); 
     350    } 
     351},{'disable_in_input':true}); 
     352 
     353shortcut.add('space', function(e) 
     354{ 
     355    if(currentTab == 0){ 
     356        var allchecked = true; 
     357        $.each( $(".selected_shortcut_msg"), function(index, value){ 
     358            if($(value).find(":checkbox").attr("checked") == undefined){ 
     359                allchecked = false; 
     360            } 
     361        }); 
     362        if(allchecked){ 
     363            $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked"); 
     364        }else{ 
     365            //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 
     366            $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 
     367        } 
     368        $.each( $(".selected_shortcut_msg"), function(index, value){ 
     369            updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 
     370        }); 
     371        $(".current_selected_shortcut_msg").focus(); 
     372    } 
     373},{'disable_in_input':true}); 
     374 
     375//**************** 
     376 
     377shortcut.add("Shift+down",function() 
     378{     
     379    if(currentTab == 0){             
     380        //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     381        if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 
     382            if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg")) 
     383                $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     384            else 
     385                $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     386        $(".current_selected_shortcut_msg").focus(); 
     387    } 
     388},{'disable_in_input':true, 'propagate':false}); 
     389 
     390shortcut.add("Shift+up",function(){ 
     391    if(currentTab == 0){             
     392        //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     393        if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 
     394            if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg")) 
     395                $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     396            else 
     397                $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     398        $(".current_selected_shortcut_msg").focus(); 
     399    } 
     400},{'disable_in_input':true, 'propagate':false}); 
     401} 
     402else 
     403{ 
     404    shortcut.add("Up",function(){ 
     405        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     406        if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 
     407            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     408        $(".current_selected_shortcut_msg").focus(); 
     409    },{'disable_in_input':true}); 
     410 
     411    shortcut.add("Down",function(){ 
     412        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 
     413        if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 
     414            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     415        $(".current_selected_shortcut_msg").focus(); 
     416    },{'disable_in_input':true}); 
     417 
     418    shortcut.add("Shift+down",function(){ 
     419        if(currentTab == 0){             
     420            if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 
     421                if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg")) 
     422                    $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     423                else 
     424                    $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     425            $(".current_selected_shortcut_msg").focus(); 
     426        } 
     427    },{'type':'keypress','disable_in_input':true, 'propagate':false}); 
     428 
     429    shortcut.add("Shift+up",function(){ 
     430        if(currentTab == 0){             
     431            if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 
     432                if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg")) 
     433                    $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     434                else 
     435                    $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     436            $(".current_selected_shortcut_msg").focus(); 
     437        } 
     438    },{'type':'keypress', 'disable_in_input':true, 'propagate':false}); 
     439    shortcut.add('Space', function(e) 
     440    { 
     441        if(currentTab == 0){ 
     442            var allchecked = true; 
     443            $.each( $(".selected_shortcut_msg"), function(index, value){ 
     444                if($(value).find(":checkbox").attr("checked") == undefined){ 
     445                    allchecked = false; 
     446                } 
     447            }); 
     448            if(allchecked){ 
     449                 
     450                $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked"); 
     451            }else{ 
     452                //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 
     453                $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 
     454            } 
     455 
     456            $.each( $(".selected_shortcut_msg"), function(index, value){ 
     457                updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 
     458            }); 
     459        } 
     460    },{'disable_in_input':true}); 
     461} 
     462 
     463shortcut.add("return",function(){ 
     464    if ( Element('border_id_0').className==='menu-sel' ) 
     465    { 
     466        all_messages = Element('tbody_box').childNodes; 
     467        for (var i=0; i < all_messages.length; i++) 
    333468        { 
    334                  
    335                 var search_in_focus = false; 
    336                 var search_win = document.getElementById( 'window_QuickCatalogSearch' ); 
    337                 if ( search_win && search_win.style.visibility == 'visible' ) 
    338                         search_in_focus = true; 
    339  
    340                 if ( !search_in_focus && currentTab == 0 ) 
    341                     select_msg('null', 'up'); 
    342                 // Ao usuario pressionar o 'up' em uma outra aba, não pode ser removido o 'up'. 
    343                                 else{} 
    344                    // shortcut.remove('up'); 
    345                                 e.stopPropagation(); 
    346                                 e.preventDefault(); 
    347         },{'disable_in_input':false}); 
    348  
    349  
    350         shortcut.add('down', function(e) 
     469            if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
     470            { 
     471                Element("td_from_" + all_messages[i].id).onclick(); 
     472                return; 
     473            } 
     474        } 
     475    } 
     476},{'disable_in_input':true}); 
     477 
     478shortcut.add("f9",function(){ 
     479    Element("em_refresh_button").onclick(); 
     480    return; 
     481},{'disable_in_input':false}); 
     482 
     483function exec_msg_action(action) 
     484{ 
     485    var msg_id = get_msg_id(); 
     486    if (msg_id) 
     487    { 
     488        var msg_id = 'msg_opt_' + action + '_' + msg_id; 
     489        try {Element(msg_id).onclick();} 
     490    catch(e){/*alert(e);*/} 
     491} 
     492return; 
     493} 
     494 
     495function show_head_option() 
     496{ 
     497    var msg_id = get_msg_id(); 
     498    if (msg_id) { 
     499        var msg_id = 'option_hide_more_' + msg_id; 
     500        try {Element(msg_id).onclick();} 
     501    catch(e){/*alert(e);*/} 
     502} 
     503return; 
     504} 
     505 
     506function show_address_full() 
     507{ 
     508    var toaddress = Element('div_toaddress_' + get_msg_id());    
     509    var ccaddress = Element('div_ccaddress_' + get_msg_id()); 
     510 
     511    if(toaddress &&  '' == toaddress.style.display) { 
     512        show_div_address_full(get_msg_id(),'to'); 
     513    } 
     514    else { 
     515        if(toaddress) 
     516            toaddress.style.display = ''; 
     517        var toaddress_full = Element('div_toaddress_full_' + get_msg_id()); 
     518        if(toaddress_full) 
     519            toaddress_full.style.display = 'none'; 
     520    }            
     521    if(ccaddress &&  '' == ccaddress.style.display) { 
     522        show_div_address_full(get_msg_id(),'cc'); 
     523    } 
     524    else { 
     525        if(ccaddress) 
     526            ccaddress.style.display = ''; 
     527        var ccaddress_full = Element('div_ccaddress_full_' + get_msg_id()); 
     528        if(ccaddress_full) 
     529            ccaddress_full.style.display = 'none'; 
     530    } 
     531    return; 
     532} 
     533 
     534function get_msg_id() 
     535{ 
     536    children = Element('border_tr').childNodes; 
     537 
     538    for (var i=0; i<children.length; i++) 
     539    { 
     540        if ( (children[i].nodeName==='TD') && (children[i].className==='menu-sel') && children[i].id != 'border_id_0') 
    351541        { 
    352                 var search_in_focus = false; 
    353                 var search_win = document.getElementById( 'window_QuickCatalogSearch' ); 
    354                 if ( search_win && search_win.style.visibility == 'visible' ) 
    355                         search_in_focus = true; 
    356  
    357                 if ( !search_in_focus && currentTab == 0 ) 
    358                     select_msg('null', 'down'); 
    359                                 // Ao usuario pressionar o 'down' em uma outra aba, não pode ser removido o 'down'.  
    360                 else{} 
    361                    // shortcut.remove('down'); 
    362                                 e.stopPropagation(); 
    363                                 e.preventDefault(); 
    364         },{'disable_in_input':false}); 
    365  
    366 //**************** 
    367  
    368         shortcut.add("Shift+down",function(){ 
    369                 if ( Element('border_id_0').className==='menu-sel' ) 
    370                 { 
    371                         if (shift_up_count > 0) 
    372                                 unselect_top_msg(); 
    373                         else 
    374                                 select_bottom_msg(); 
    375                 } 
    376         },{'disable_in_input':true, 'propagate':false}); 
    377          
    378         shortcut.add("Shift+up",function(){ 
    379                 if ( Element('border_id_0').className==='menu-sel' ) 
    380                 { 
    381                         if (shift_down_count > 0) 
    382                                 unselect_bottom_msg(); 
    383                         else 
    384                                 select_top_msg(); 
    385                 } 
    386         },{'disable_in_input':true, 'propagate':false}); 
    387 } 
    388 else 
    389 { 
    390         shortcut.add("Up",function(){ 
    391                 if (currentTab == 0) 
    392                   select_msg('null', 'up'); 
    393         },{'disable_in_input':false}); 
    394          
    395         shortcut.add("Down",function(){ 
    396  
    397                 if (currentTab == 0) 
    398                   select_msg('null', 'down'); 
    399                  
    400         },{'disable_in_input':false}); 
    401          
    402         shortcut.add("Shift+down",function(){ 
    403                 if ( Element('border_id_0').className==='menu-sel' ) 
    404                 { 
    405                         if (shift_up_count > 0) 
    406                                 unselect_top_msg(); 
    407                         else 
    408                                 select_bottom_msg(); 
    409                 } 
    410         },{'type':'keypress','disable_in_input':true, 'propagate':false}); 
    411          
    412         shortcut.add("Shift+up",function(){ 
    413                 if ( Element('border_id_0').className==='menu-sel' ) 
    414                 { 
    415                         if (shift_down_count > 0) 
    416                                 unselect_bottom_msg(); 
    417                         else 
    418                                 select_top_msg(); 
    419                 } 
    420         },{'type':'keypress', 'disable_in_input':true, 'propagate':false}); 
    421 } 
    422  
    423 shortcut.add("return",function(){ 
    424         if ( Element('border_id_0').className==='menu-sel' ) 
    425         { 
    426                 all_messages = Element('tbody_box').childNodes; 
    427                 for (var i=0; i < all_messages.length; i++) 
    428                 { 
    429                         if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    430                         { 
    431                                 Element("td_from_" + all_messages[i].id).onclick(); 
    432                                 return; 
    433                         } 
    434                 } 
    435         } 
    436 },{'disable_in_input':true}); 
    437  
    438 shortcut.add("f9",function(){ 
    439         Element("em_refresh_button").onclick(); 
    440         return; 
    441 },{'disable_in_input':true}); 
    442  
    443 function exec_msg_action(action) 
    444 { 
    445         var msg_id = get_msg_id(); 
    446         if (msg_id) 
    447         { 
    448                 var msg_id = 'msg_opt_' + action + '_' + msg_id; 
    449                 try {Element(msg_id).onclick();} 
    450                 catch(e){/*alert(e);*/} 
    451         } 
    452         return; 
    453 } 
    454  
    455 function show_head_option() 
    456 { 
    457         var msg_id = get_msg_id(); 
    458     if (msg_id) { 
    459                 var msg_id = 'option_hide_more_' + msg_id; 
    460                 try {Element(msg_id).onclick();} 
    461                 catch(e){/*alert(e);*/} 
    462     } 
    463         return; 
    464 } 
    465  
    466 function show_address_full() 
    467 { 
    468         var toaddress = Element('div_toaddress_' + get_msg_id());        
    469         var ccaddress = Element('div_ccaddress_' + get_msg_id()); 
    470          
    471         if(toaddress &&  '' == toaddress.style.display) { 
    472                 show_div_address_full(get_msg_id(),'to'); 
    473         } 
    474         else { 
    475                 if(toaddress) 
    476                         toaddress.style.display = ''; 
    477                 var toaddress_full = Element('div_toaddress_full_' + get_msg_id()); 
    478                 if(toaddress_full) 
    479                         toaddress_full.style.display = 'none'; 
    480         }                
    481         if(ccaddress &&  '' == ccaddress.style.display) { 
    482                 show_div_address_full(get_msg_id(),'cc'); 
    483         } 
    484         else { 
    485                 if(ccaddress) 
    486                         ccaddress.style.display = ''; 
    487                 var ccaddress_full = Element('div_ccaddress_full_' + get_msg_id()); 
    488                 if(ccaddress_full) 
    489                         ccaddress_full.style.display = 'none'; 
    490         } 
    491         return; 
    492 } 
    493  
    494 function get_msg_id() 
    495 { 
    496         children = Element('border_tr').childNodes; 
    497          
    498         for (var i=0; i<children.length; i++) 
    499         { 
    500                 if ( (children[i].nodeName==='TD') && (children[i].className==='menu-sel') && children[i].id != 'border_id_0') 
    501                 { 
    502                         var border_selected = children[i]; 
    503                         var msg_id = border_selected.id.replace("border_id_",""); 
    504                         return msg_id; 
    505                 } 
    506         } 
    507         return false; 
     542            var border_selected = children[i]; 
     543            var msg_id = border_selected.id.replace("border_id_",""); 
     544            return msg_id; 
     545        } 
     546    } 
     547    return false; 
    508548} 
    509549 
    510550function select_msg(msg_number, keyboard_action, force_msg_selection) 
    511551{ 
    512     /* 
    513           ** Se caso for limpado toda a caixa de email, 
    514           ** é adicionado um novo atalho de seleção. 
    515           ** main.js on function refrash and line 629. 
    516         */ 
    517          
    518         if(keyboard_action == "reload_msg"){ 
    519            if( $("#tbody_box .selected_shortcut_msg").length == 0 ) 
    520                 $("#tbody_box tr:first").addClass("selected_shortcut_msg");      
    521         } 
    522          
    523         shift_up_count = 0; 
    524         shift_down_count = 0; 
    525  
    526         if (msg_number != 'null') { 
    527          
    528                 if(Element(msg_number)){ 
    529                         unselect_all_msgs(); 
    530                         add_className(Element(msg_number), 'selected_shortcut_msg'); 
    531                 } 
    532                  
    533         } else { 
    534                 var scrollMain = Element('divScrollMain_0'); 
    535                 var selection_size = parseInt(preferences.line_height) + 10;  
    536                  
    537                         if( keyboard_action == 'down') { 
    538                          
    539                                 if(!Element("chk_box_select_all_messages").checked){ 
    540                                          
    541                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    542                                          
    543                                                 if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){ 
    544                                                         $(this).next().addClass("selected_shortcut_msg"); 
    545                                                         $(this).removeClass("selected_shortcut_msg"); 
    546                                                         return false; 
    547                                                 } 
    548                                                  
    549                                         }); 
    550                                          
    551                                 } else { 
    552                                  
    553                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    554                                                  
    555                                                 if($(this).hasClass("current_selected") && $(this).next().length){ 
    556                                                         $(this).removeClass("current_selected"); 
    557                                                         $(this).removeClass("selected_shortcut_msg"); 
    558                                                         $(this).next().addClass("current_selected"); 
    559                                                         $(this).next().addClass("selected_shortcut_msg"); 
    560                                                         return false; 
    561                                                 } 
    562                                          
    563                                         }); 
    564                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    565                                                                 if(!$(this).hasClass("current_selected")) 
    566                                                                         $(this).removeClass("selected_shortcut_msg"); 
    567                                         }); 
    568                                 } 
    569                          
    570                         } else if( keyboard_action == 'up') { 
    571                          
    572                                 if(!Element("chk_box_select_all_messages").checked){ 
    573                                  
    574                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    575                                          
    576                                                 if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){ 
    577                                                                 $(this).prev().addClass("selected_shortcut_msg"); 
    578                                                                 $(this).removeClass("selected_shortcut_msg"); 
    579                                                                 return false; 
    580                                                 } 
    581                                                  
    582                                         }); 
    583                                          
    584                                 } else { 
    585                                          
    586                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    587                                                  
    588                                                 if($(this).hasClass("current_selected") && $(this).prev().length){ 
    589                                                         $(this).removeClass("current_selected"); 
    590                                                         $(this).removeClass("selected_shortcut_msg"); 
    591                                                         $(this).prev().addClass("current_selected"); 
    592                                                         $(this).prev().addClass("selected_shortcut_msg"); 
    593                                                         return false; 
    594                                                 } 
    595                                          
    596                                         }); 
    597                                         $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
    598                                                                 if(!$(this).hasClass("current_selected")) 
    599                                                                         $(this).removeClass("selected_shortcut_msg"); 
    600                                         }); 
    601                                  
    602                                 } 
    603                    
    604                         } 
    605                 return true; 
    606         } 
     552/* 
     553** Se caso for limpado toda a caixa de email, 
     554** e adicionado um novo atalho de selecao. 
     555** main.js on function refrash and line 629. 
     556*/ 
     557$("#table_box").find("tr").attr("tabindex", -1); 
     558 
     559if(keyboard_action == "reload_msg"){ 
     560    if( $("#tbody_box .current_selected_shortcut_msg").length == 0 ){ 
     561        $("#tbody_box tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg");        
     562    } 
     563} 
     564 
     565shift_up_count = 0; 
     566shift_down_count = 0; 
     567 
     568if (msg_number != 'null') { 
     569 
     570    if(Element(msg_number)){ 
     571        unselect_all_msgs(); 
     572        $("#tbody_box tr").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     573        $("#"+msg_number).addClass('current_selected_shortcut_msg selected_shortcut_msg'); 
     574    } 
     575 
     576} else { 
     577    var scrollMain = Element('divScrollMain_0'); 
     578    var selection_size = parseInt(preferences.line_height) + 10;  
     579 
     580    if( keyboard_action == 'down') { 
     581 
     582        if(!Element("chk_box_select_all_messages").checked){ 
     583 
     584            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     585 
     586                if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){ 
     587                    $(this).next().addClass("selected_shortcut_msg"); 
     588                    $(this).removeClass("selected_shortcut_msg"); 
     589                    return false; 
     590                } 
     591 
     592            }); 
     593 
     594        } else { 
     595 
     596            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     597 
     598                if($(this).hasClass("current_selected") && $(this).next().length){ 
     599                    $(this).removeClass("current_selected"); 
     600                    $(this).removeClass("selected_shortcut_msg"); 
     601                    $(this).next().addClass("current_selected"); 
     602                    $(this).next().addClass("selected_shortcut_msg"); 
     603                    return false; 
     604                } 
     605 
     606            }); 
     607            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     608                if(!$(this).hasClass("current_selected")) 
     609                    $(this).removeClass("selected_shortcut_msg"); 
     610            }); 
     611        } 
     612 
     613    } else if( keyboard_action == 'up') { 
     614 
     615        if(!Element("chk_box_select_all_messages").checked){ 
     616 
     617            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     618 
     619                if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){ 
     620                    $(this).prev().addClass("selected_shortcut_msg"); 
     621                    $(this).removeClass("selected_shortcut_msg"); 
     622                    return false; 
     623                } 
     624 
     625            }); 
     626 
     627        } else { 
     628 
     629            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     630 
     631                if($(this).hasClass("current_selected") && $(this).prev().length){ 
     632                    $(this).removeClass("current_selected"); 
     633                    $(this).removeClass("selected_shortcut_msg"); 
     634                    $(this).prev().addClass("current_selected"); 
     635                    $(this).prev().addClass("selected_shortcut_msg"); 
     636                    return false; 
     637                } 
     638 
     639            }); 
     640            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 
     641                if(!$(this).hasClass("current_selected")) 
     642                    $(this).removeClass("selected_shortcut_msg"); 
     643            }); 
     644 
     645        } 
     646 
     647    } 
     648    return true; 
     649} 
    607650} 
    608651 
    609652function select_bottom_msg() 
    610653{ 
    611         all_messages = Element('tbody_box').childNodes; 
    612          
    613         if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) 
    614                 return; 
    615          
    616         for (var i=all_messages.length-1; i >=0; i--) 
    617         { 
    618                 if ( (exist_className(all_messages[i], 'selected_shortcut_msg')) && (i+1 <= all_messages.length-1) ) 
    619                 { 
    620                         shift_down_count++; 
    621                         add_className(all_messages[i+1], 'selected_shortcut_msg'); 
    622                         break; 
    623                 } 
    624         } 
     654    all_messages = Element('tbody_box').childNodes; 
     655 
     656    if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) 
     657        return; 
     658 
     659    for (var i=all_messages.length-1; i >=0; i--) 
     660    { 
     661        if ( (exist_className(all_messages[i], 'selected_shortcut_msg')) && (i+1 <= all_messages.length-1) ) 
     662        { 
     663            shift_down_count++; 
     664            add_className(all_messages[i+1], 'selected_msg'); 
     665            break; 
     666        } 
     667    } 
    625668} 
    626669 
    627670function select_top_msg() 
    628671{ 
    629         all_messages = Element('tbody_box').childNodes; 
    630                  
    631         if ( exist_className(all_messages[0], 'selected_shortcut_msg') ) 
    632                 return; 
    633          
    634         for (var i=0; i <=all_messages.length-1; i++) 
    635         { 
    636                 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    637                 { 
    638                         shift_up_count++; 
    639                         add_className(all_messages[i-1], 'selected_shortcut_msg'); 
    640                         break; 
    641                 } 
    642         } 
     672    all_messages = Element('tbody_box').childNodes; 
     673 
     674    if ( exist_className(all_messages[0], 'selected_shortcut_msg') ) 
     675        return; 
     676 
     677    for (var i=0; i <=all_messages.length-1; i++) 
     678    { 
     679        if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
     680        { 
     681            shift_up_count++; 
     682            add_className(all_messages[i-1], 'selected_msg'); 
     683            break; 
     684        } 
     685    } 
    643686} 
    644687 
    645688function unselect_bottom_msg() 
    646689{ 
    647         all_messages = Element('tbody_box').childNodes; 
    648         for (var i=all_messages.length-1; i >=0; i--) 
    649         { 
    650                 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    651                 { 
    652                         shift_down_count--; 
    653                         remove_className(all_messages[i], 'selected_shortcut_msg'); 
    654                         break; 
    655                 } 
    656         } 
     690    all_messages = Element('tbody_box').childNodes; 
     691    for (var i=all_messages.length-1; i >=0; i--) 
     692    { 
     693        if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
     694        { 
     695            shift_down_count--; 
     696            remove_className(all_messages[i], 'selected_msg'); 
     697            break; 
     698        } 
     699    } 
    657700} 
    658701 
    659702function unselect_top_msg() 
    660703{ 
    661         all_messages = Element('tbody_box').childNodes; 
    662         for (var i=0; i <=all_messages.length-1; i++) 
    663         { 
    664                 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    665                 { 
    666                         shift_up_count--; 
    667                         remove_className(all_messages[i], 'selected_shortcut_msg'); 
    668                         break; 
    669                 } 
    670         } 
     704    all_messages = Element('tbody_box').childNodes; 
     705    for (var i=0; i <=all_messages.length-1; i++) 
     706    { 
     707        if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
     708        { 
     709            shift_up_count--; 
     710            remove_className(all_messages[i], 'selected_msg'); 
     711            break; 
     712        } 
     713    } 
    671714} 
    672715 
    673716function unselect_all_msgs() 
    674717{ 
    675         all_messages = Element('tbody_box').childNodes; 
    676         for (var i=0; i <=all_messages.length-1; i++) 
    677         { 
    678                 remove_className(all_messages[i], 'selected_shortcut_msg'); 
    679         } 
    680 } 
     718    all_messages = Element('tbody_box').childNodes; 
     719    for (var i=0; i <=all_messages.length-1; i++) 
     720    { 
     721        remove_className(all_messages[i], 'selected_msg'); 
     722    } 
     723} 
  • trunk/expressoMail1_2/setup/phpgw_pt-br.lang

    r6858 r6930  
    924924Impossible editing this contact, but it's possible to remove it expressoMail1_2 pt-br   Impossível editar este contato, mas é possível removê-lo 
    925925The contact was moved from recent contacts to personal contacts successful.     expressoMail1_2 pt-br   O Contato foi movido dos contatos recentes para os contatos pessoais com sucesso. 
     926Permission denied       expressoMail1_2 pt-br   Permissão negada 
     927Success expressoMail1_2 pt-br   Concluído 
  • trunk/expressoMail1_2/templates/default/main.css

    r6926 r6930  
    144144form.fileupload .files-list { margin-left: 5px; margin-top: -14px; padding: 0.2em 0.7em; } 
    145145form.fileupload .files-list .delete-upload { top: 7px} 
    146 ul.attachments-list { padding: 0; } 
     146 
     147div.attachments-list { 
     148        max-height: 130px; 
     149        overflow-y: auto; 
     150        padding-top: 5px; 
     151} 
    147152 
    148153.button-files-upload { float:left; } 
     
    230235.expressomail-qs-container .menu-control { float:right; margin-left:400px; position: absolute; z-index: 100; padding-top:5px;} 
    231236.expressomail-qs-container .acc-list { width:444px;height:250px;float:left;border:1px solid #DDD;background-color:#EEE;border-radius:3px;margin-left:1px; margin: 10px 5px 5px 1px;} 
    232 .expressomail-qs-container .details-container { width:295px;height:246px; float:right; margin: 5px 5px;} 
     237.expressomail-qs-container .details-container { width:300px;height:246px; float:right; margin: 5px 0;} 
    233238 
    234239.expressomail-qs-container .acc-list .demo {width:100%;margin-top:20px;} 
     
    236241.dialog-modal.expressomail-qs-container  { height: 416px; padding:5px; } 
    237242 
    238 .ui-dialog .ui-dialog-buttonpane { padding: 0; border:none; margin: 0; padding-right: 0.3px !important;} 
     243.ui-dialog .ui-dialog-buttonpane { padding: 0; border:none; margin: 0;} 
    239244.expressomail-qs-container .menu-control .ui-button-text-only .ui-button-text { padding: 0.1em 0.6em; } 
    240245 
     
    404409        color: red; 
    405410} 
    406 .selected_shortcut_msg{ 
    407         color: white; 
    408         background-color: #5194d2; 
    409 } 
     411 
    410412.show_img_link{ 
    411413        width : 100%; 
     
    10121014} 
    10131015 
    1014 .qtip.qtip-blue.qtip-active ul { 
    1015         padding: 0; 
    1016 } 
    1017  
    1018 .qtip.qtip-blue.qtip-active li { 
    1019         width: 160px; 
    1020         list-style: none; 
    1021 } 
    1022  
    10231016.new-event-win.active .fc-event-skin { 
    10241017        border-color: #36C !important; 
     
    13551348} 
    13561349 
    1357  
    1358 .box-selected{ 
    1359         background-color : #BBBBBB; 
    1360 } 
    1361  
    13621350.hidden { 
    13631351        display : none; 
     
    13921380} 
    13931381 
     1382div.conteudo div.new-msg-head-data div.att-box{ 
     1383        background-color: #DFEFFC; 
     1384        border-radius: 5px; 
     1385        -moz-border-radius: 5px; 
     1386        border: 1px solid #ADD9ED;  
     1387        display: inline-block; 
     1388        cursor : pointer; 
     1389        margin-top : 3px; 
     1390        margin-right: 3px; 
     1391        outline : none; 
     1392        padding : 1px; 
     1393} 
     1394 
     1395 
     1396div.conteudo div.new-msg-head-data  div.att-box span.att-box-value{ 
     1397        font-family: Verdana, Arial, Helvetica, sans-serif; 
     1398        font-size: 11px; 
     1399        color : #201b41; 
     1400        outline : none; 
     1401} 
     1402 
     1403div.conteudo div.new-msg-head-data div.att-box span.att-box-loading{ 
     1404        background : url("../../../prototype/modules/mail/img/loading.gif") no-repeat !important; 
     1405        display: inline-block; 
     1406        background-size: 15px auto !important; 
     1407} 
     1408 
     1409div.conteudo div.new-msg-head-data div.att-box.invalid-email-box{ 
     1410        background-color: #ea9aa0; 
     1411        border : 1px solid #540303 !important; 
     1412} 
     1413 
    13941414div.new-msg-head-data div.email-area .invalid-email-box{ 
    13951415        color: #540303; 
     
    14011421        background-color : #BBBBBB; 
    14021422} 
     1423 
     1424.fileupload_msg_tooltip{ 
     1425        width: 99.7%; 
     1426        text-align: center; 
     1427        background: #DFEFFC; 
     1428        font-weight: bold; 
     1429        border-radius: 5px; 
     1430    height: 115px; 
     1431    line-height: 115px; 
     1432    font-size: larger; 
     1433} 
     1434 
     1435.fileupload_msg_tooltip.hover { 
     1436    background: #ADD9ED; 
     1437} 
     1438 
     1439.select-all-messages{ 
     1440        min-height: 20px; 
     1441        font-size: 13px; 
     1442        font-family: Arial; 
     1443        white-space: nowrap; 
     1444        text-align: center; 
     1445} 
     1446.select-all-messages .select-link{ 
     1447        text-decoration: underline !important; 
     1448} 
     1449 
     1450.selected_shortcut_msg{ 
     1451    color: white; 
     1452    background-color: #95A7FC; 
     1453} 
     1454 
     1455.current_selected_shortcut_msg{ 
     1456    color: white; 
     1457    background-color: #5194d2; 
     1458} 
  • trunk/library/ckeditor/plugins/expresso/plugin.js

    r6410 r6930  
    125125                }, 
    126126                add: function (e, data) { 
    127       
     127            var iterator = idattachbycontent; 
    128128                        if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { 
    129129                                setTimeout(function() { 
    130130                                        $('#attDisposition'+ID).val('embedded'); 
    131                                         data.submit(); 
    132                                 }, 5000); 
     131                                        jqXHR[iterator] = data.submit(); 
     132                                }, 100); 
    133133                        } 
    134  
     134            fileUploadMSG.find(' .attachments-list').show(); 
    135135                        $.each(data.files, function (index, file) {      
    136136                                var attach = {}; 
    137137                                attach.fullFileName = file.name; 
    138138                                attach.fileName = file.name; 
    139                                 if(file.name.length > 10) 
    140                                         attach.fileName = file.name.substr(0, 18) + "..." + file.name.substr(file.name.length-9, file.name.length); 
     139                                if(file.name.length > 20) 
     140                                        attach.fileName = file.name.substr(0, 17) + "..." + file.name.substr(file.name.length-9, file.name.length); 
    141141                                attach.fileSize = formatBytes(file.size); 
    142142                                if(maxAttachmentSize && file.size > maxAttachmentSize) 
    143143                                        attach.error = 'Tamanho de arquivo nao permitido!!' 
    144                                                                  
     144                                else 
     145                    attach.error = true; 
    145146                                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach}));    
    146147 
    147                                 upload.find('.button.close').button({ 
    148                                         icons: { 
    149                                                 primary: "ui-icon-close" 
    150                                         }, 
    151                                         text: false 
    152                                 }).click(function(){ 
     148                                upload.find('.att-box-delete').click(function(){ 
    153149                                        var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    154150                         
     
    165161                    $('.attachments-list').find('input[value="'+idAttach+'"]').remove(); 
    166162                    delAttachment(ID, idAttach); 
    167                                         $(this).parent().remove(); 
     163                                        $(this).parent().qtip("destroy"); 
     164                    $(this).parent().remove(); 
     165                    if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     166                        fileUploadMSG.find(' .attachments-list').hide(); 
     167                    } 
     168                    if(jqXHR){ 
     169                        jqXHR[iterator].abort(); 
     170                    } 
    168171                                }); 
    169172                                 
    170             fileUploadMSG.find('.attachments-list').append(upload); 
    171  
    172                         if(!maxAttachmentSize || file.size < maxAttachmentSize){ 
    173                                 if(data.fileInput){ 
    174                                         fileUploadMSG.find('.fileinput-button.new').append(data.fileInput[0]).removeClass('new'); 
    175                                         fileUploadMSG.find('.attachments-list').find('[type=file]').addClass('hidden');  
    176                                 } 
    177                         }else 
    178                                 fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 
    179                                                                  
     173                fileUploadMSG.find('.attachments-list').append(upload); 
     174                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     175                    content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     176                    position: { 
     177                        corner: { 
     178                            tooltip: 'bottomMiddle', 
     179                            target: 'topMiddle' 
     180                        }, 
     181                        adjust: { 
     182                           resize: true, 
     183                           scroll: true, 
     184                           screen: show 
     185                        } 
     186                    }, 
     187                    show: { 
     188                        when: 'mouseover', // Don't specify a show event 
     189                        ready: false // Show the tooltip when ready 
     190                    }, 
     191                    hide: 'mouseout', // Don't specify a hide event 
     192                    style: { 
     193                        border: { 
     194                            width: 1, 
     195                            radius: 5 
     196                        }, 
     197                        width: { 
     198                             min: 75, 
     199                             max : 1000 
     200                        }, 
     201                        padding: 3,  
     202                        textAlign: 'left', 
     203                        tip: true, // Give it a speech bubble tip with automatic corner detection 
     204                        name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style 
     205                    } 
     206                }); 
     207                        if(!maxAttachmentSize || file.size < maxAttachmentSize){ 
     208                                if(data.fileInput){ 
     209                                        fileUploadMSG.find('.fileinput-button.new').append(data.fileInput[0]).removeClass('new'); 
     210                                        fileUploadMSG.find('.attachments-list').find('[type=file]').addClass('hidden');  
     211                                } 
     212                        }else{ 
     213                                fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 
     214                        }                                        
    180215                CKEDITOR.instances['body_'+ID].insertHtml('<img src=""/>'); 
    181  
     216                idattachbycontent++;  
    182217                        }); 
    183218                 
    184219            CKEDITOR.dialog.getCurrent().hide();         
    185                          
     220                        
    186221                }, 
    187222                done: function(e, data){ 
    188                         if(!!data.result && data.result != "[]"){ 
    189                                 var newAttach = data.result; 
    190                                 if(!newAttach.mailAttachment.error){ 
    191                                         if(newAttach.rollback !== false) 
    192                                         { 
    193                                                 fileUploadMSG.find('.in-progress:first').parents('p').append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>').find('.status-upload').addClass('ui-icon ui-icon-check'); 
    194                                                 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
    195                                                 var content_body  = RichTextEditor.getData('body_'+ID); 
    196                                                 var rex = new RegExp('<img src="" [^\/>]*\/>', 'i');  
    197                                                 var newImg = '<img src="../prototype/getArchive.php?mailAttachment='+newAttach['mailAttachment'][0][0].id+'" />';  
    198                                                 content_body = content_body.replace(rex,newImg);  
    199                                                 RichTextEditor.setData('body_'+ID,content_body);  
    200                                         } 
    201                                         else 
    202                                                 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error');    
     223            var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); 
     224            var attach = { 
     225                fullFileName : attach_box.find(".att-box-fullfilename").text(), 
     226                fileSize : attach_box.find(".att-box-filesize").text(), 
     227                OK : true, 
     228                error : false 
     229            }; 
     230            if(!!data.result && data.result != "[]" ){ 
     231                var newAttach = data.result;                              
     232                if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ 
     233                                        attach_box.append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>'); 
     234                                        addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
     235                                        var content_body  = RichTextEditor.getData('body_'+ID); 
     236                                        var rex = new RegExp('<img src="" [^\/>]*\/>', 'i');  
     237                                        var newImg = '<img src="../prototype/getArchive.php?mailAttachment='+newAttach['mailAttachment'][0][0].id+'" />';  
     238                                        content_body = content_body.replace(rex,newImg);  
     239                                        RichTextEditor.setData('body_'+ID,content_body);  
    203240                                }else{ 
    204                                         fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error');    
    205                                 } 
    206                         }else  
    207                         { 
    208                 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error');    
    209                         } 
    210                         fileUploadMSG.find('.in-progress:first').remove(); 
    211                      
     241                                        attach_box.addClass('invalid-email-box'); 
     242                    attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...'; 
     243                } 
     244                        }else { 
     245                attach_box.addClass('invalid-email-box'); 
     246                attach.error = 'Erro ao anexar...'; 
     247            } 
     248            attach_box.qtip("destroy").qtip({ 
     249                content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     250                position: { 
     251                    corner: { 
     252                        tooltip: 'bottomMiddle', 
     253                        target: 'topMiddle' 
     254                    }, 
     255                    adjust: { 
     256                       resize: true, 
     257                       scroll: true, 
     258                       screen: show 
     259                    } 
     260                }, 
     261                show: { 
     262                    when: 'mouseover', // Don't specify a show event 
     263                    ready: false // Show the tooltip when ready 
     264                }, 
     265                hide: 'mouseout', // Don't specify a hide event 
     266                style: { 
     267                    border: { 
     268                        width: 1, 
     269                        radius: 5 
     270                    }, 
     271                    width: { 
     272                         min: 75, 
     273                         max : 1000 
     274                    }, 
     275                    padding: 3,  
     276                    textAlign: 'left', 
     277                    tip: true, // Give it a speech bubble tip with automatic corner detection 
     278                    name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style 
     279                } 
     280            }); 
     281            fileUploadMSG.find(' .att-box-loading:first').remove(); 
    212282                } 
    213283        }); 
  • trunk/prototype/modules/mail/js/foldertree.js

    r6574 r6930  
    116116        cp_tree1 = tree1; 
    117117        cp_tree2 = tree2; 
     118        var shared_acls = {}; 
     119 
     120        $.each(cp_tree2, function(index, value){ 
     121                shared_acls[value.id] = value.acl_share; 
     122        }); 
     123 
    118124        $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 
    119125        var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 
     
    166172        }).end().end(); 
    167173         
    168         folders_html.find('[id="'+selected+'"]').children().addClass("selected").end().end().find("li:first").find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
     174        folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 
     175        $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
    169176                // DRAG DE PASTAS 
    170177                start : function(){ 
     
    280287                                        url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 
    281288                                        success : function(data){ 
     289                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    282290                                                data = connector.unserialize(data); 
    283                                                 if(data){ 
    284                                                         cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     291                                                if(data == "Permission denied"){ 
     292                                                        write_msg(get_lang("Permission denied")); 
     293                                                }else if(data){ 
    285294                                                        write_msg(get_lang("The folder was successfully moved")); 
    286295                                                } 
     
    292301                        } 
    293302                } 
    294         }).hover( 
     303        }); 
     304        $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").hover( 
    295305                function(){ 
    296306                        //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
     
    298308                                var folder_ = $(this); 
    299309                                var folder_name; 
     310                                var shared = { 
     311                                        head : false, 
     312                                        valid : false 
     313                                }; 
    300314                                if(folder_.parent().attr('id')){ 
    301315                                        folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 
    302316                                        folder_name = folder_name[folder_name.length -1]; 
     317                                        shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
    303318                                }else 
    304319                                        folder_name = "Root"; 
    305                                 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name});                                       
     320                                 
     321                                if(shared.valid){ 
     322                                        shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ?  true : false; 
     323                                        var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 
     324                                        var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 
     325 
     326                                } 
     327 
     328                                html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls});                                    
    306329                                        //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
    307330                                var esc = false; 
     
    334357                                                                        type : "POST", 
    335358                                                                        data : "current="+folder_id+"&rename="+new_name, 
    336                                                                         success : function(){ 
     359                                                                        success : function(data){ 
     360                                                                                data = connector.unserialize(data); 
     361                                                                                if(data == "Permission denied"){ 
     362                                                                                        $(".folders-loading").removeClass("folders-loading"); 
     363                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     364                                                                                        return write_msg(get_lang("Permission denied")); 
     365                                                                                } 
    337366                                                                                write_msg(get_lang("The folder was successfully rename")); 
    338367                                                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     
    383412                                                                                        $(".folders-loading").removeClass("folders-loading"); 
    384413                                                                                        return write_msg(get_lang("Mailbox does not exist")); 
     414                                                                                }else if(data == "Permission denied"){ 
     415                                                                                        $(".folders-loading").removeClass("folders-loading"); 
     416                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     417                                                                                        return write_msg(get_lang("Permission denied")); 
    385418                                                                                } 
    386419                                                                                write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 
     
    447480                                                draw_new_tree_folder(); 
    448481                                        }); 
     482                                }).end().find(".float-menu-export").click(function(){ 
     483                                        //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 
     484 
     485                                        var name_box = $(this).parents("li:first").attr("id"); 
     486                                        var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 
     487 
     488                                        var hand_export = function(data){ 
     489                                                if(!data){ 
     490                                                        write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
     491                                                }else if(data["empty_folder"]){ 
     492                                                        write_msg(get_lang("The selected folder is empty.")); 
     493                                                }else 
     494                                                  download_attachments(null, null, data, null,null, name_folder +'.zip'); 
     495                                        } 
     496                                        cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box);   
     497                                        write_msg(get_lang('You must wait while the messages will be exported...'));             
    449498                                }); 
    450499                                //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
  • trunk/prototype/modules/mail/templates/attachment.ejs

    r6214 r6930  
    1 <div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px;"> 
     1<div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px; padding-bottom : 5px;"> 
    22        <div class="row fileupload-buttonbar"> 
    33                <div class="button-files-upload"> 
     
    1313        <br /> 
    1414        <div class="files-list" style="margin: 5px; padding: 5px;"> 
    15                 <ul class="attachments-list"></ul> 
     15                <div class="attachments-list ui-corner-all" style="display:none;"></div> 
    1616        </div> 
    1717</div> 
     18<div id="fileupload_msg<%=data.ID%>_droopzone" style="display:none;" class="fileupload_msg_tooltip"> 
     19        Solte aqui seus anexos 
     20</div> 
  • trunk/prototype/modules/mail/templates/attachment_add_itemlist.ejs

    r6124 r6930  
    1 <li style="list-style : none;"> 
    2         <p class="input-group archive-info" style="margin: 0px 0 !important; height: 17px">              
    3                 <span title="<%=data.file.fullFileName%>" class="archive-attach name"><%=data.file.fileName%></span> 
    4                 <span class="archive-attach size"><%=data.file.fileSize%></span> 
    5                 <button type="button" style="margin-bottom: -4px; <%= is_webkit || is_ie ? '' : 'top : 7px;'%>" class="button close tiny upload delete-upload" title="Deletar">Deletar</button> 
    6                 <span class="status-upload"></span> 
    7                 <%if(data.file.error){%> 
    8                         <span class="archive-error error"><%=data.file.error%></span> 
    9                 <%}if(!data.file.error){%> 
    10                         <span style="width: 110px; height: 14px; overflow:hidden"> 
    11                                 <span class="in-progress"> <img src="../prototype/modules/mail/img/loader.gif" /></span> 
    12                         </span> 
    13                 <%}%> 
    14                 <label class="fileinput-button new"></label> 
    15     </p> 
    16 </li> 
     1<div class="att-box ui-corner-all <%= (typeof(data.file.error) != 'boolean' ? 'invalid-email-box' : '') %>"> 
     2    <!--<div style="position:absolute; text-align: center; line-height: 1.9em;">--> 
     3        <span class="att-box-value"><%=data.file.fileName%>&nbsp;<b>(<%=data.file.fileSize%>)</b></span> 
     4        <span class="att-box-fullfilename" style="display:none;"><%=data.file.fullFileName%></span> 
     5        <span class="att-box-filesize" style="display:none;"><%=data.file.fileSize%></span> 
     6        <% if(typeof(data.file.error) == 'boolean'){ %> 
     7        <span class="att-box-loading">&nbsp;&nbsp;&nbsp;&nbsp;</span> 
     8        <% } %> 
     9        <span class="att-box-delete ui-icon-close ui-icon" style="display: inline-block;">&nbsp;</span> 
     10    <!--</div>--> 
     11</div> 
  • trunk/prototype/modules/mail/templates/float_folder_menu.ejs

    r5948 r6930  
    1212 
    1313<span class="float-menu"> 
    14         <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>   
    15         <%if(!specialFolders[data.name_folder]){ %> 
    16                 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
    17                 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span>   
    18         <%}  
    19         else if(data.name_folder == trashfolder){%> 
    20                 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span>   
    21         <%} 
    22         else if(data.name_folder == spamfolder){%> 
    23                 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span>   
     14        <%if(!data.flag.valid){ %> 
     15                <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>   
     16                <%if(!specialFolders[data.name_folder]){ %> 
     17                        <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
     18                        <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span>   
     19                <%}  
     20                else if(data.name_folder == trashfolder){%> 
     21                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span>   
     22                <%} 
     23                else if(data.name_folder == spamfolder){%> 
     24                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span>   
     25                         
     26                <%}%> 
     27 
     28        <%}else{ %> 
     29        <%      if(parseInt(data.acl.create)){%> 
     30                        <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>  
     31        <%              if(parseInt(data.acl.delete) && parseInt(data.acl.rename) && !specialFolders[data.name_folder] && !data.flag.head){ %> 
     32                                <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
     33        <%              } %> 
     34 
     35        <%      } %> 
     36        <%      if(parseInt(data.acl.delete) && !specialFolders[data.name_folder] && !data.flag.head){ %> 
     37                        <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span> 
     38                <%}%> 
     39                <%if(data.name_folder == trashfolder && parseInt(data.acl.delete)){%> 
     40                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap(true, $(this));" title="Limpar Pasta"></span>   
     41                <%}else if(data.name_folder == spamfolder && parseInt(data.acl.delete)){%> 
     42                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap(true, $(this));" title="Limpar Pasta"></span>   
     43                <%}%> 
    2444        <%}%> 
    25          
     45 
     46        <span class="ui-icon ui-icon-arrowthickstop-1-n float-menu-export floating-default" title="Exportar Mensagens da Pasta"></span>   
    2647 </span> 
  • trunk/prototype/modules/mail/templates/new_message.ejs

    r6882 r6930  
    137137                        <tr class="attachment"> 
    138138                                <td class="field"> 
     139                                        <%=get_lang("Attachments: ")%> 
    139140                                        <input style="display:none;" name="attDisposition<%= data.id %>" id="attDisposition<%= data.id%>" value="attachment"/> 
    140141                                </td> 
  • trunk/prototype/services/ImapServiceAdapter.php

    r6882 r6930  
    7878                                foreach ($result as $res) { 
    7979 
    80                                         $response[] = array( 
     80                                        //monta o array padrao 
     81                                        $array = array( 
    8182                                                        'id' => mb_convert_encoding( $res['folder_id'], 'UTF-8', 'UTF7-IMAP' ), 
    8283                                                        'commonName' => mb_convert_encoding( $res['folder_name'], 'UTF-8' , 'UTF7-IMAP' ), 
    8384                                                        'parentFolder' => mb_convert_encoding( $res['folder_parent'], 'UTF-8' , 'UTF7-IMAP' ), 
    8485                                                        'messageCount' => array('unseen' => isset($res['folder_unseen']) ? $res['folder_unseen'] : null, 'total' => null) 
    85                                                 ); 
    86                                 } 
    87  
     86                                        ); 
     87 
     88                                        //se existir compartilhamento para pasta compartilhada 
     89                                        //adicionar array de permissoes 
     90                                        if(isset($res['acl_share'])){ 
     91                                                $array['acl_share'] = $res['acl_share']; 
     92                                        } 
     93                                        $response[] = $array; 
     94                                } 
    8895                                return $response; 
    8996                        } 
Note: See TracChangeset for help on using the changeset viewer.