Ignore:
Timestamp:
01/03/12 16:20:05 (12 years ago)
Author:
thiago
Message:

Ticket #2350 - Deixar dinamico o nome das pastas no codigo

File:
1 edited

Legend:

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

    r5300 r5302  
    2828        var $imap_sentfolder; 
    2929        var $rawMessage; 
    30  
     30        var $folders; 
     31 
     32         
    3133        function imap_functions (){ 
    3234                $this->init(); 
    33         } 
     35        }  
    3436         
    3537        function init(){ 
    36                 $this->foldersLimit = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['imap_max_folders'] ?  $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['imap_max_folders'] : 20000; //Limit of folders (mailboxes) user can see 
    37                 $this->username           = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
    38                 $this->password           = $_SESSION['phpgw_info']['expressomail']['user']['passwd']; 
    39                 $this->imap_server        = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
    40                 $this->imap_port          = $_SESSION['phpgw_info']['expressomail']['email_server']['imapPort']; 
    41                 $this->imap_delimiter = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter']; 
    42                 $this->functions          = new functions(); 
     38                $this->foldersLimit    = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['imap_max_folders'] ?  $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['imap_max_folders'] : 20000; //Limit of folders (mailboxes) user can see 
     39                $this->username            = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
     40                $this->password            = $_SESSION['phpgw_info']['expressomail']['user']['passwd']; 
     41                $this->imap_server         = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
     42                $this->imap_port           = $_SESSION['phpgw_info']['expressomail']['email_server']['imapPort']; 
     43                $this->imap_delimiter  = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter']; 
     44                $this->functions           = new functions(); 
    4345                $this->imap_sentfolder = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']   ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']   : str_replace("*","", $this->functions->getLang("Sent")); 
    4446                $this->has_cid = false; 
    45                 $this->prefs = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']; 
    46  
    47  
     47                $this->prefs               = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']; 
     48                 
     49                //armazena os caminhos das pastas ( sent, spam, drafts, trash ) 
     50                //$this->folders['sent']    = $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']; //Variavel folders armazena o caminho /sent 
     51                $this->folders['sent']    =  $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']; //Variavel folders armazena o caminho /sent 
     52                $this->folders['spam']    =  $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']; 
     53                $this->folders['drafts']  =  $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']; 
     54                $this->folders['trash']   =  $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']; 
     55                 
     56                if( empty ( $this->folders['sent'] ) ){ 
     57                  //$this->folders['sent'] = $this->imap_delimiter . 'Sent';     
     58                  $this->folders['sent'] = 'Sent'; 
     59                } 
     60                if( empty ( $this->folders['spam'] ) ){ 
     61                  $this->folders['spam'] = 'Spam';       
     62                } 
     63                if( empty ( $this->folders['drafts'] ) ){ 
     64                  $this->folders['drafts'] = 'Drafts';   
     65                } 
     66                if( empty ( $this->folders['trash'] ) ){ 
     67                  $this->folders['trash'] = 'Trash';     
     68                } 
     69                 
    4870                if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 
    4971                { 
     
    5577                } 
    5678        } 
     79         
     80        function mount_url_folder($folders){ 
     81                 
     82                if(strlen($folders) == 1){ 
     83                         
     84                        $var = $this->imap_delimiter.$folders[0]; 
     85                        return $var; 
     86                         
     87                } else { 
     88                 
     89                $var = ""; 
     90                for($i = 0; $i<strlen($folders)-1; $i++){ 
     91                        $var += $folders[$i].$this->imap_delimiter; 
     92                } 
     93                        $var += $folders[strlen($folders) - 1]; 
     94                        return $var; 
     95                } 
     96        } 
     97         
    5798        // BEGIN of functions. 
    5899        function open_mbox($folder = False,$force_die=true) 
     
    384425                         
    385426                        // PLEASE, BE CAREFULL!!! YOU SHOULD USE EMAIL CONFIGURATION VALUES (EMAILADMIN MODULE) 
    386                         $tmp_box = mb_convert_encoding('INBOX'.$this->imap_delimiter.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'].$this->imap_delimiter.'tmpMoveToLocal', "UTF7-IMAP", "UTF-8"); 
     427                        //$tmp_box = mb_convert_encoding('INBOX'.$this->folders['trash'].$this->imap_delimiter.'tmpMoveToLocal', "UTF7-IMAP", "UTF-8"); 
     428                        $tmp_box = mb_convert_encoding($this->mount_url_folder(array("INBOX",$this->folders['trash'],"tmpMoveToLocal")), "UTF7-IMAP", "UTF-8"); 
     429                         
    387430                        if ( ! imap_createmailbox( $this->mbox,"{".$this -> imap_server."}$tmp_box" ) ) 
    388431                                return $this->functions->getLang( 'Import to Local : fail...' ); 
     
    23572400                                        break; 
    23582401                                case 1: 
    2359                                         if( ($p = $this->getFolderPos($folders , $user . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder'] )) || $p === 0 ) 
     2402                                        if( ($p = $this->getFolderPos($folders , $user . $this->mount_url_folder(array($this->folders['drafts'])) )) || $p === 0 ) 
    23602403                                                $principals[] = $folders[$p]; 
    23612404                                        break; 
    23622405                                case 2: 
    2363                                         if( ($p = $this->getFolderPos($folders , $user . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder'] )) || $p === 0 ) 
     2406                                        if( ($p = $this->getFolderPos($folders , $user . $this->mount_url_folder(array($this->folders['sent'])) )) || $p === 0 ) 
    23642407                                                $principals[] = $folders[$p]; 
    23652408                                        break; 
    23662409                                case 3: 
    2367                                         if( ($p = $this->getFolderPos($folders , $user . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder'] )) || $p === 0 ) 
     2410                                        if( ($p = $this->getFolderPos($folders , $user . $this->mount_url_folder(array($this->folders['spam'])) )) || $p === 0 ) 
    23682411                                                $principals[] = $folders[$p]; 
    23692412                                        break; 
    23702413                                case 4: 
    2371                                         if( ($p = $this->getFolderPos($folders , $user . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'] )) || $p === 0  ) 
     2414                                        if( ($p = $this->getFolderPos($folders , $user . $this->mount_url_folder(array($this->folders['trash'])) )) || $p === 0  ) 
    23722415                                                $principals[] = $folders[$p];                                            
    23732416                                        break; 
     
    43754418                $before_date = date("m/d/Y", strtotime("-".$params['before_date']." day")); 
    43764419                $criteria =  'BEFORE "'.$before_date.'"'; 
    4377                 $mbox_stream = $this->open_mbox('INBOX'.$this->imap_delimiter.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']); 
     4420                //$mbox_stream = $this->open_mbox('INBOX'.$this->folders['trash']); 
     4421                $mbox_stream = $this->open_mbox($this->mount_url_folder(array("INBOX",$this->folders['trash']))); 
     4422                 
    43784423                // Free others requests  
    43794424                session_write_close();  
Note: See TracChangeset for help on using the changeset viewer.