Changeset 1816


Ignore:
Timestamp:
12/12/09 20:30:06 (14 years ago)
Author:
wmerlotto
Message:

Ticket #557 - Aplicado (e modificado para suportar internacionalizacao) o patch de ordenacao de pastas

File:
1 edited

Legend:

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

    r1808 r1816  
    15401540 
    15411541                $tmp = array(); 
    1542                 $result = array(); 
     1542                $resultMine = array(); 
     1543                $resultDefault = array(); 
     1544 
     1545                $trash = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']; 
     1546                $drafts = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']; 
     1547                $spam = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']; 
     1548                $sent = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']; 
    15431549 
    15441550                if (is_array($folders_list)) { 
    15451551                        reset($folders_list); 
    1546             $this->ldap = new ldap_functions(); 
     1552                        $this->ldap = new ldap_functions(); 
    15471553 
    15481554                        $i = 0; 
     
    15521558                                //$tmp_folder_id = explode("}", imap_utf7_decode($val->name)); 
    15531559                                $tmp_folder_id = explode("}", mb_convert_encoding($val->name, "ISO_8859-1", "UTF7-IMAP" )); 
    1554                 if($tmp_folder_id[1]=='INBOX'.$this->imap_delimiter.'decifradas'){ 
    1555                     //error_log('passou', 3,'/tmp/imap_get_list.log'); 
    1556                     //imap_deletemailbox($mbox_stream,imap_utf7_encode("{".$this->imap_server."}".'INBOX/decifradas')); 
    1557                     continue; 
    1558                 } 
    1559                 $result[$i]['folder_unseen'] = $status->unseen; 
     1560                                if($tmp_folder_id[1]=='INBOX'.$this->imap_delimiter.'decifradas') { 
     1561                                        //error_log('passou', 3,'/tmp/imap_get_list.log'); 
     1562                                        //imap_deletemailbox($mbox_stream,imap_utf7_encode("{".$this->imap_server."}".'INBOX/decifradas')); 
     1563                                        continue; 
     1564                                } 
     1565                                $result[$i]['folder_unseen'] = $status->unseen; 
    15601566                                $folder_id = $tmp_folder_id[1]; 
    15611567                                $result[$i]['folder_id'] = $folder_id; 
     
    15641570                                $result[$i]['folder_name'] = array_pop($tmp_folder_parent); 
    15651571                                $result[$i]['folder_name'] = $result[$i]['folder_name'] == 'INBOX' ? 'Inbox' : $result[$i]['folder_name']; 
    1566                                 if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['uid2cn'] && substr($folder_id,0,4) == 'user')       { 
     1572                                if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['uid2cn'] && substr($folder_id,0,4) == 'user') { 
    15671573                                        //$this->ldap = new ldap_functions(); 
    1568                                         if ($cn = $this->ldap->uid2cn($result[$i]['folder_name'])){ 
     1574                                        if ($cn = $this->ldap->uid2cn($result[$i]['folder_name'])) { 
    15691575                                                $result[$i]['folder_name'] = $cn; 
    15701576                                        } 
     
    15791585                                        $result[$i]['folder_hasChildren'] = 0; 
    15801586 
     1587                                switch ($tmp_folder_id[1]) { 
     1588                                        case 'INBOX': 
     1589                                        case 'INBOX/'.$trash: 
     1590                                        case 'INBOX/'.$sent: 
     1591                                        case 'INBOX/'.$drafts: 
     1592                                        case 'INBOX/'.$spam: 
     1593                                                $resultDefault[]=$result[$i]; 
     1594                                        default: 
     1595                                                $resultMine[]=$result[$i]; 
     1596                                } 
     1597 
    15811598                                $i++; 
    15821599                        } 
    15831600                } 
    15841601 
    1585                 foreach ($result as $folder_info) 
     1602                // Sorting resultMine 
     1603                foreach ($resultMine as $folder_info) 
    15861604                { 
    15871605                        $array_tmp[] = $folder_info['folder_id']; 
     
    15921610                foreach ($array_tmp as $key => $folder_id) 
    15931611                { 
    1594                         $result2[] = $result[$key]; 
    1595                 } 
    1596  
     1612                        $result2[] = $resultMine[$key]; 
     1613                } 
     1614                 
     1615                $resultDefault2=$resultDefault; 
     1616                // Sorting resultDefault 
     1617                foreach ($resultDefault as $key => $folder_id) 
     1618                { 
     1619 
     1620                        switch ($resultDefault[$key]['folder_id']) { 
     1621                                case 'INBOX':  
     1622                                        $resultDefault2[0] = $resultDefault[$key]; 
     1623                                        break; 
     1624                                case 'INBOX/'.$sent:  
     1625                                        $resultDefault2[1] = $resultDefault[$key]; 
     1626                                        break; 
     1627                                case 'INBOX/'.$drafts:  
     1628                                        $resultDefault2[2] = $resultDefault[$key]; 
     1629                                        break; 
     1630                                case 'INBOX/'.$spam:  
     1631                                        $resultDefault2[3] = $resultDefault[$key]; 
     1632                                        break; 
     1633                                case 'INBOX/'.$trash:  
     1634                                        $resultDefault2[4] = $resultDefault[$key]; 
     1635                                        break; 
     1636                        } 
     1637 
     1638/* 
     1639                        if($resultDefault[$key]['folder_id'] == 'INBOX') { 
     1640                                $resultDefault2[0] = $resultDefault[$key]; 
     1641                        } 
     1642                        else if($resultDefault[$key]['folder_id'] == 'INBOX/'.$sent) { 
     1643                                $resultDefault2[1] = $resultDefault[$key]; 
     1644                        } 
     1645                        else if($resultDefault[$key]['folder_id'] == 'INBOX/'.$drafts) { 
     1646                                $resultDefault2[2] = $resultDefault[$key]; 
     1647                        } 
     1648                        else if($resultDefault[$key]['folder_id'] == 'INBOX/'.$spam) { 
     1649                                $resultDefault2[3] = $resultDefault[$key]; 
     1650                        } 
     1651                        else if($resultDefault[$key]['folder_id'] == 'INBOX/'.$trash) { 
     1652                                $resultDefault2[4] = $resultDefault[$key]; 
     1653                        } 
     1654*/ 
     1655                } 
     1656 
     1657                // Merge default folders and mines 
     1658                $result2 = array_merge($resultDefault2, $result2); 
     1659                 
    15971660                $current_folder = "INBOX"; 
    15981661                if($params && $params['folder']) 
Note: See TracChangeset for help on using the changeset viewer.