Changeset 3761


Ignore:
Timestamp:
02/15/11 11:24:24 (13 years ago)
Author:
eduardoalex
Message:

Ticket #1548 - Corrigido exibição de subpastas na arvore de editar pastas do expressoMail

Location:
branches/2.2/expressoMail1_2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/inc/class.imap_functions.inc.php

    r3749 r3761  
    17241724                if ( $params && $params['noSharedFolders'] ) 
    17251725                        $folders_list = imap_getmailboxes($mbox_stream, $serverString, 'INBOX' ) + $folders_list; 
    1726                          
     1726 
    17271727                $folders_list = array_slice($folders_list,0,$this->foldersLimit);  
    17281728 
     
    17321732 
    17331733                if (is_array($folders_list)) { 
    1734                         reset($folders_list); 
    1735                         $this->ldap = new ldap_functions(); 
     1734                        reset($folders_list); 
     1735                        $this->ldap = new ldap_functions(); 
    17361736 
    17371737                        $i = 0; 
    1738                         while (list($key, $val) = each($folders_list)) { 
    1739                                 $status = imap_status($mbox_stream, $val->name, SA_UNSEEN); 
    1740  
    1741                                 //$tmp_folder_id = explode("}", imap_utf7_decode($val->name)); 
    1742                                 $tmp_folder_id = explode("}", mb_convert_encoding($val->name, "ISO_8859-1", "UTF7-IMAP" )); 
    1743                 if($tmp_folder_id[1]=='INBOX'.$this->imap_delimiter.'decifradas') { 
    1744                         //error_log('passou', 3,'/tmp/imap_get_list.log'); 
    1745                         //imap_deletemailbox($mbox_stream,imap_utf7_encode("{".$this->imap_server."}".'INBOX/decifradas')); 
    1746                         continue; 
    1747                 } 
    1748                 $result[$i]['folder_unseen'] = $status->unseen; 
    1749                                 $folder_id = $tmp_folder_id[1]; 
     1738                        while (list($key, $val) = each($folders_list)) { 
     1739                                $status = imap_status($mbox_stream, $val->name, SA_UNSEEN); 
     1740 
     1741                                //$tmp_folder_id = explode("}", imap_utf7_decode($val->name)); 
     1742                                $tmp_folder_id = explode("}", mb_convert_encoding($val->name, "ISO_8859-1", "UTF7-IMAP" )); 
     1743 
     1744                                if($tmp_folder_id[1]=='INBOX'.$this->imap_delimiter.'decifradas') { 
     1745                                        //error_log('passou', 3,'/tmp/imap_get_list.log'); 
     1746                                        //imap_deletemailbox($mbox_stream,imap_utf7_encode("{".$this->imap_server."}".'INBOX/decifradas')); 
     1747                                        continue; 
     1748                                } 
     1749                                $result[$i]['folder_unseen'] = $status->unseen; 
     1750                                $folder_id = $tmp_folder_id[1]; 
    17501751                                $result[$i]['folder_id'] = $folder_id; 
    17511752 
     
    17531754                                $result[$i]['folder_name'] = array_pop($tmp_folder_parent); 
    17541755                                $result[$i]['folder_name'] = $result[$i]['folder_name'] == 'INBOX' ? 'Inbox' : $result[$i]['folder_name']; 
     1756                         
    17551757                                if ($uid2cn && substr($folder_id,0,4) == 'user') { 
    17561758                                        //$this->ldap = new ldap_functions(); 
     
    17741776                                        case $spam: 
    17751777                                        case $trash: 
    1776                                                 $resultDefault[]=$result[$i]; 
    1777                                                 break; 
     1778                                                $resultDefault[]=$result[$i]; 
     1779                                                break; 
    17781780                                        default: 
    1779                                                 $resultMine[]=$result[$i]; 
     1781                                                $resultMine[]=$result[$i]; 
    17801782                                } 
    17811783 
    17821784                                $i++; 
    1783                         } 
     1785                        } 
    17841786                } 
    17851787 
  • branches/2.2/expressoMail1_2/js/TreeS.js

    r3361 r3761  
    1010        } 
    1111 
    12         treeS.prototype.make_Window = function(){        
     12        treeS.prototype.make_Window = function(){ 
    1313                _this = this; 
    1414                connector.loadScript("TreeShow"); 
     
    2020                tree.style.top            = "0px"; 
    2121                tree.style.width          = "0px"; 
    22                 tree.style.height         = "0px";                                                                       
     22                tree.style.height         = "0px"; 
    2323                tree.id                           = "window_tree"; 
    2424                document.body.appendChild(tree); 
     
    2929                var div_buttons = document.createElement("DIV"); 
    3030                div_buttons.id = "div_buttons"; 
    31                 div_buttons.style.position = "absolute";                 
     31                div_buttons.style.position = "absolute"; 
    3232                div_buttons.style.left = "440px"; 
    3333                div_buttons.style.top = "20px"           
     
    125125        treeS.prototype.make_tree = function (data,destination,name_tree, click_root, opentomb, selected,menu_folder){ 
    126126                //Somente para teste 
    127                 //alert("data: " + data.length + "\n" + "destination : " + destination + "\n" + "name_tree : " + name_tree + "\n" + "click_root : " + click_root + "\n" + "opentomb : " + opentomb + "\n" + "selected : " + selected + "\n" + "menu_folder : " + menu_folder); 
     127                // alert("data: " + data.length + "\n" + "destination : " + destination + "\n" + "name_tree : " + name_tree + "\n" + "click_root : " + click_root + "\n" + "opentomb : " + opentomb + "\n" + "selected : " + selected + "\n" + "menu_folder : " + menu_folder);  
    128128                         
    129129                if(Element('dftree_' + name_tree)){ 
     
    136136                                var n_root = new dNode({id:'root', caption:get_lang("My Folders"), onClick:click_root}); 
    137137                        }else{ 
    138                                 var n_root = new dNode({id:'root', caption:get_lang("My Folders")});             
     138                                var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 
    139139                        } 
    140140                        folders_tree.add(n_root,'root'); //Places the root; second argument can be anything. 
     
    144144                                return false; 
    145145                        } 
    146                  
     146 
    147147                        for (var i=0; i<data.length; i++){ 
    148148                                if(menu_folder){ 
     
    163163                                        } 
    164164                                } 
     165                                 
     166                                // Foi preciso fazer esse tratamento porque a api (imap_getmailboxes) do PHP retorna uma informação incorreta em algumas ocasiões 
     167                                // a função imap_getmailboxes não retorna o atributo 32 (has_children) quando tem pastas seguindo o seguinte padrão: 
     168                                // prefixo 
     169                                //    subPasta1 
     170                                //    subPasta2 
     171                                // prefixo-pasta2  (tudo devido a este underscore aqui) 
     172                                // Caso seja criada pastas dessa forma, a pasta "prefixo", fica com a flag folder_hasChildren como false 
     173                                // sendo assim não aparece o sinal de "mais" na árvore de pastas para poder expandir 
     174                                // Olhar a chamada para a função imap_getmailboxes() dentro do método expressoMail1_2.imap_functions.get_folders_list() 
     175                                // Ticket #1548 
     176                                if(data[i].folder_parent != 'root') { 
     177                                        var node_parent = folders_tree.getNodeById(data[i].folder_parent); 
     178                                        node_parent.plusSign = true; 
     179                                        folders_tree.alter(node_parent); 
     180                                } 
     181                                 
    165182                                folders_tree.add(nn,data[i].folder_parent); 
    166183                        } 
Note: See TracChangeset for help on using the changeset viewer.