Changeset 339


Ignore:
Timestamp:
06/26/08 11:45:40 (16 years ago)
Author:
niltonneto
Message:

Melhorias para montar o select box das pastas IMAP.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/preferences.php

    r325 r339  
    204204        $_SESSION['phpgw_info']['expressomail']['email_server'] = $boemailadmin->getProfile($emailadmin_profile[0]['profileID']); 
    205205        $_SESSION['phpgw_info']['expressomail']['user'] = $GLOBALS['phpgw_info']['user']; 
    206         $imap = CreateObject('expressoMail1_2.imap_functions');  
    207         $save_in_folder_selected = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder']; 
     206        $e_server = $_SESSION['phpgw_info']['expressomail']['email_server']; 
     207        $imap = CreateObject('expressoMail1_2.imap_functions');  
     208        $save_in_folder_selected = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'];      
     209        // Load Special Folders (Sent, Trash, Draft, Spam) from EmailAdmin (if exists, else get_lang) 
     210        $specialFolders = array ("Trash" => lang("Trash"), "Drafts" => lang("Drafts"), "Spam" => lang("Spam"), "Sent" => lang("Sent"));  
     211        foreach ($specialFolders as $key => $value){ 
     212                if($e_server['imapDefault'.$key.'Folder']) 
     213                        $specialFolders[$key] = $e_server['imapDefault'.$key.'Folder']; 
     214        }         
    208215        // First access on ExpressoMail, load default preferences... 
    209216        if(!$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']) { 
     
    213220                $GLOBALS['phpgw']->template->set_var('checked_use_signature','checked'); 
    214221                $GLOBALS['phpgw']->template->set_var('checked_mainscreen_showmail','checked'); 
    215                 $save_in_folder_selected = "INBOX".$_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter']."Sent"; 
    216         } 
    217         $o_folders = "<option value='-1' ".(!$save_in_folder_selected ? 'selected' : '' ).">".lang("Select on send")."</option>"; 
     222                $save_in_folder_selected = "INBOX".$e_server['imapDelimiter'].$specialFolders["Sent"]; 
     223        } 
     224        $o_folders = "<option value='-1' ".(!$save_in_folder_selected ? 'selected' : '' ).">".lang("Select on send")."</option>";        
     225         
    218226        foreach($imap -> get_folders_list() as $id => $folder){ 
    219                 $folder['folder_name'] = $folder['folder_name'] == ('Inbox') ? lang($folder['folder_name']) : $folder['folder_name']; 
    220                 $folder['folder_name'] = $folder['folder_name'] == ('Trash') ? lang($folder['folder_name']) : $folder['folder_name']; 
    221                 $folder['folder_name'] = $folder['folder_name'] == ('Drafts') ? lang($folder['folder_name']) : $folder['folder_name']; 
    222                 $folder['folder_name'] = $folder['folder_name'] == ('Sent') ? lang($folder['folder_name']) : $folder['folder_name']; 
    223                 $folder['folder_name'] = $folder['folder_name'] == ('Spam') ? lang($folder['folder_name']) : $folder['folder_name']; 
    224                 $o_folders.= "<option value='".$folder['folder_id']."' ".($save_in_folder_selected == $folder['folder_id'] ? 'selected' : '' ).">".$folder['folder_name']."</option>";           
    225         $GLOBALS['phpgw']->template->set_var('value_save_in_folder',$o_folders);         
    226         } 
    227  
     227                // Ignores numeric indexes and shared folders.... 
     228                if(!is_numeric($id) || (strstr($folder['folder_id'],"user".$e_server['imapDelimiter']))) 
     229                        continue; 
     230                // Translate INBOX (root folder) 
     231                elseif (strtolower($folder['folder_name']) == "inbox")  
     232                        $folder['folder_name'] = lang("Inbox"); 
     233                // Translate Special Folders 
     234                elseif (($keyFolder = array_search($folder['folder_name'], $specialFolders)) !== false) 
     235                        $folder['folder_name'] = lang($keyFolder); 
     236                // Identation for subfolders 
     237                $folder_id = explode($e_server['imapDelimiter'],$folder['folder_id']);           
     238                $level = count($folder_id); 
     239                $ident = ''; 
     240                for($i = 2; $level > 2 && $i < $level;$i++) 
     241                        $ident .= ' - '; 
     242                $o_folders.= "<option value='".$folder['folder_id']."' ".($save_in_folder_selected == $folder['folder_id'] ? 'selected' : '' ).">".$ident.$folder['folder_name']."</option>";                    
     243        } 
     244 
     245        $GLOBALS['phpgw']->template->set_var('value_save_in_folder',$o_folders); 
    228246        $GLOBALS['phpgw']->template->set_var('lang_save',lang('Save')); 
    229247        $GLOBALS['phpgw']->template->set_var('lang_cancel',lang('Cancel')); 
Note: See TracChangeset for help on using the changeset viewer.