Changeset 5302


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

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

Location:
trunk/expressoMail1_2
Files:
3 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();  
  • trunk/expressoMail1_2/js/draw_api.js

    r5301 r5302  
    1818        'edit':5 
    1919        } 
     20 
    2021var currentTab,numBox = 0; // Open Tab and num of mailboxes opened at context 
    2122// Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo 
     
    2324 
    2425function draw_tree_folders(folders){ 
     26         
    2527        // Check if the tree folders alredy exist. 
    2628        if (Element('dftree_tree_folders')){ 
     
    209211                } 
    210212 
    211                 var trash_span = document.getElementById('lINBOX'+cyrus_delimiter+special_folders['Trash']  + 'tree_folders');  
    212                 var draft_span = document.getElementById('lINBOX'+cyrus_delimiter+special_folders['Drafts'] + 'tree_folders');  
    213                 var sent_span  = document.getElementById('lINBOX'+cyrus_delimiter+special_folders['Sent'] + 'tree_folders');  
    214                 var spam_span  = document.getElementById('lINBOX'+cyrus_delimiter+special_folders['Spam'] + 'tree_folders'); 
     213                var trash_span = document.getElementById(mount_url_folder(["lINBOX","Trash"])  + 'tree_folders');  
     214                var draft_span = document.getElementById(mount_url_folder(["lINBOX","Drafts"]) + 'tree_folders');  
     215                var sent_span  = document.getElementById(mount_url_folder(["lINBOX","Sent"]) + 'tree_folders');  
     216                var spam_span  = document.getElementById(mount_url_folder(["lINBOX","Spam"]) + 'tree_folders'); 
    215217                //local folders 
    216218                var sent_local_conf = this.preferences.save_in_folder.replace("INBOX"+cyrus_delimiter,"local_"); 
     
    247249 
    248250                draw_paging(Element('tot_m').innerHTML); 
    249                 if(document.getElementById("nINBOX"+cyrus_delimiter+special_folders['Trash']+"tree_folders")) 
     251                if(document.getElementById(mount_url_folder(["nINBOX","Trash"])+"tree_folders")) 
    250252                { 
    251253                        var trash = document.createElement("SPAN"); 
     
    258260                        trash.onmouseover = function() {trash.style.color="red";}; 
    259261                        trash.onmouseout= function() {trash.style.color="#666666";}; 
    260                         document.getElementById("nINBOX"+cyrus_delimiter+special_folders['Trash']+"tree_folders").appendChild(trash); 
    261                 } 
    262                 if(document.getElementById("nINBOX"+cyrus_delimiter+special_folders['Spam']+"tree_folders")) 
     262                        document.getElementById(mount_url_folder(["nINBOX","Trash"])+"tree_folders").appendChild(trash); 
     263                } 
     264                if(document.getElementById(mount_url_folder(["nINBOX","Spam"])+"tree_folders")) 
    263265                { 
    264266                                                var spam = document.createElement("SPAN"); 
     
    272274                                                spam.onmouseover = function() {spam.style.color="red";}; 
    273275                                                spam.onmouseout= function() {spam.style.color="#666666";}; 
    274                                                 document.getElementById("nINBOX"+cyrus_delimiter+special_folders['Spam']+"tree_folders").appendChild(spam); 
     276                                                document.getElementById(mount_url_folder(["nINBOX","Spam"])+"tree_folders").appendChild(spam); 
    275277                           } 
    276  
    277278 
    278279                if(!expresso_offline) 
     
    11741175        if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) 
    11751176                select_msg(headers_msgs[0].msg_number, 'null', true); 
     1177                 
    11761178 
    11771179        var tdFolders  =  Element("folderscol"); 
  • trunk/expressoMail1_2/js/main.js

    r5292 r5302  
    77var results_search_messages = "";  
    88var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
    9  
     9         
     10function mount_url_folder(folders){ 
     11         
     12        if(folders.length == 1){ 
     13                 
     14                var url = cyrus_delimiter+folders[0]; 
     15                return url; 
     16                 
     17        } else { 
     18         
     19        var url = ""; 
     20        for(var i = 0; i < (folders.length -1); i++){ 
     21                url += folders[i]+cyrus_delimiter; 
     22        } 
     23        url += folders[folders.length - 1]; 
     24        return url; 
     25        } 
     26} 
    1027function init(){ 
    1128        if (!is_ie) 
     
    546563                          userTrashFolder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash'];   
    547564                        }  
    548                                 else userTrashFolder = 'INBOX'+cyrus_delimiter+special_folders['Trash'];  
     565                                else userTrashFolder = mount_url_folder(["INBOX","Trash"]);  
    549566          
    550567                        if(openTab.type[currentTab] == 1)  
     
    719736                                if(tr.getAttribute('name') == current_folder) 
    720737                                        remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 
    721                                 if ((action == 'delete' && tr.getAttribute('name') == 'INBOX'+cyrus_delimiter+special_folders['Trash']) || !(parseInt(preferences.save_deleted_msg))) 
     738                                if ((action == 'delete' && tr.getAttribute('name') == mount_url_folder(["INBOX","Trash"])) || !(parseInt(preferences.save_deleted_msg))) 
    722739                                { 
    723740                                        msg_to_delete +=   ','+special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 
     
    738755                        if(tr.getAttribute('name') == current_folder) 
    739756                                        remove_currente_folder += tr.id.replace(/_[a-zA-Z0-9]+/,"")+','; 
    740                         if((action == 'delete' && tr.getAttribute('name') == 'INBOX'+cyrus_delimiter+special_folders['Trash']) || !(parseInt(preferences.save_deleted_msg))){ 
     757                        if((action == 'delete' && tr.getAttribute('name') == mount_url_folder(["INBOX","Trash"])) || !(parseInt(preferences.save_deleted_msg))){ 
    741758                                msg_to_delete = special_folders['Trash']+';'+tr.id.replace(/_[a-zA-Z0-9]+/,""); 
    742759                        }else if (!(tr.getAttribute('name') == new_folder && action != 'delete')){ 
     
    754771                        params += "&new_folder_name_move="+url_encode(new_folder_name); 
    755772                 
    756                         new_folder = 'INBOX'+cyrus_delimiter+special_folders['Trash']; 
     773                        new_folder = mount_url_folder(["INBOX","Trash"]); 
    757774                        new_folder_name = special_folders['Trash']; 
    758775                        params += "&selected_messages_delete="+url_encode(msg_to_delete); 
     
    760777                        cExecute ("$this.imap_functions.move_delete_search_messages", handler_move_search_msgs, params); 
    761778                }else if(msg_to_delete != ""){ 
    762                         new_folder = 'INBOX'+cyrus_delimiter+special_folders['Trash']; 
     779                        new_folder = mount_url_folder(["INBOX","Trash"]); 
    763780                        new_folder_name = special_folders['Trash']; 
    764781                        params += "&delete=true"; 
     
    10871104{ 
    10881105    var msgs_to_remove = {}; 
    1089     var target = 'INBOX' + cyrus_delimiter + special_folders['Trash'] + cyrus_delimiter + 'tmpMoveToLocal'; 
     1106    var target = mount_url_folder(["INBOX","Trash"]) + cyrus_delimiter + 'tmpMoveToLocal'; 
    10901107     
    10911108    success = expresso_local_messages.select_mail( [ 'original_id', 'original_folder' ], success ); 
     
    25632580                        } 
    25642581                } 
    2565  
    25662582                 
    25672583                draw_tree_folders(); 
     
    29622978                if(!verify_session(data)) 
    29632979                        return; 
    2964                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+special_folders['Trash']).alter({caption: get_lang("Trash")}); 
    2965                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+special_folders['Trash'])._refresh(); 
     2980                tree_folders.getNodeById(mount_url_folder(["INBOX","Trash"])).alter({caption: get_lang("Trash")}); 
     2981                tree_folders.getNodeById(mount_url_folder(["INBOX","Trash"]))._refresh(); 
    29662982                update_quota(get_current_folder()); 
    29672983                if (data){ 
    29682984                        write_msg(get_lang('Your Trash folder was empty.')); 
    2969                         if (get_current_folder() == 'INBOX'+cyrus_delimiter+special_folders['Trash']){ 
     2985                        if (get_current_folder() == mount_url_folder(["INBOX","Trash"])){ 
    29702986                                draw_paging(0); 
    29712987                                remove_rows(document.getElementById("table_box"));                               
     
    29873003                if(!verify_session(data)) 
    29883004                        return; 
    2989                 if (get_current_folder() == 'INBOX'+cyrus_delimiter+special_folders['Spam']){ 
     3005                if (get_current_folder() == mount_url_folder(["INBOX","Spam"])){ 
    29903006                        draw_paging(0); 
    29913007                        remove_rows(document.getElementById("table_box")); 
    29923008                } 
    2993                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+special_folders['Spam']).alter({caption: get_lang("Spam")}); 
    2994                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+special_folders['Spam'])._refresh(); 
     3009                tree_folders.getNodeById(mount_url_folder(["INBOX","Spam"])).alter({caption: get_lang("Spam")}); 
     3010                tree_folders.getNodeById(mount_url_folder(["INBOX","Spam"]))._refresh(); 
    29953011                update_quota(get_current_folder()); 
    29963012                if (data) 
     
    31553171        else 
    31563172        { 
    3157                 new_folder = 'INBOX' + cyrus_delimiter + special_folders['Spam']; 
     3173                new_folder = mount_url_folder(["INBOX","Spam"]); 
    31583174        } 
    31593175        var new_folder_name = 'Spam'; 
     
    31713187        else if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    31723188                var content_search = document.getElementById('content_id_'+currentTab);'INBOX/Trash', 'Trash', 
    3173                 move_search_msgs('content_id_'+currentTab,  'INBOX'+cyrus_delimiter+special_folders['Spam'], special_folders['Spam']); 
     3189                move_search_msgs('content_id_'+currentTab,  mount_url_folder(["INBOX","Spam"]), special_folders['Spam']); 
    31743190                refresh(); 
    31753191                return; 
Note: See TracChangeset for help on using the changeset viewer.