Changeset 2480


Ignore:
Timestamp:
04/12/10 11:11:54 (14 years ago)
Author:
amuller
Message:

Ticket #1026 - Deixando toda a classe imap concorrente

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/controller.php

    r2459 r2480  
    99        *  Free Software Foundation; either version 2 of the License, or (at your  * 
    1010        *  option) any later version.                                              * 
    11         \**************************************************************************/ 
     11        \**************************************************************************/ 
     12sleep(3); 
    1213        if(!isset($GLOBALS['phpgw_info'])){ 
    1314                $GLOBALS['phpgw_info']['flags'] = array( 
     
    104105                echo serialize($result); 
    105106        else 
     107        { 
     108                @session_start(); 
    106109                $_SESSION['response'] = $result; 
     110        } 
    107111?> 
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r2450 r2480  
    2929        var $ldap; 
    3030        var $mbox; 
    31         var $imap_port; 
     31        var $email_server; 
     32        var $cert; 
     33        var $preferences; 
    3234        var $has_cid; 
    3335        var $imap_options = ''; 
     
    3840        function imap_functions (){ 
    3941                $this->foldersLimit = $_SESSION['phpgw_info']['expressomail']['max_folders_to_show']; //Limit of folders (mailboxes) user can see 
    40                 $this->username           = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
    41                 $this->password           = $_SESSION['phpgw_info']['expressomail']['user']['passwd']; 
    42                 $this->imap_server        = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
    43                 $this->imap_port          = $_SESSION['phpgw_info']['expressomail']['email_server']['imapPort']; 
    44                 $this->imap_delimiter = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter']; 
     42                $this->email_server = $_SESSION['phpgw_info']['expressomail']['email_server']; 
     43                $this->cert = $_SESSION['phpgw_info']['expressomail']['server']['certificado']; 
     44                $this->server_files_dir = $_SESSION['phpgw_info']['expressomail']['server']['files_dir']; 
     45 
     46                $this->username  = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
     47                $this->password  = $_SESSION['phpgw_info']['expressomail']['user']['passwd']; 
     48                $this->account_id = $_SESSION['phpgw_info']['expressomail']['user']['account_id']; 
     49                $this->email = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
     50                $this->fullname = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
     51                $this->lang = $_SESSION['phpgw_info']['expressomail']['user']['preferences']['common']['lang']; 
     52                $this->session_ip = $_SESSION['phpgw_info']['expressomail']['user']['session_ip']; 
     53                $this->shared_mailboxes = $_SESSION['phpgw_info']['expressomail']['user']['shared_mailboxes']; 
     54 
     55                $this->command_for_ham = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham']; 
     56                $this->command_for_spam = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam']; 
     57                $this->enable_log_messages = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_enable_log_messages']; 
     58 
     59                $this->preferences = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']; 
     60                $this->session_id = $_SESSION[ 'phpgw_session' ][ 'session_id' ]; 
     61 
     62                session_write_close(); 
     63 
    4564                $this->functions          = new functions(); 
    46                 $this->imap_sentfolder = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']   ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']  : str_replace("*","", $this->functions->getLang("Sent")); 
     65                $this->imap_sentfolder = $this->email_server['imapDefaultSentFolder']  ? $this->email_server['imapDefaultSentFolder'] : str_replace("*","", $this->functions->getLang("Sent")); 
    4766                $this->has_cid = false; 
    4867 
    49                 if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 
     68                if ($this->email_server['imapTLSEncryption'] == 'yes') 
    5069                { 
    5170                        $this->imap_options = '/tls/novalidate-cert'; 
     
    6281                        return $this->mbox; 
    6382                $folder = mb_convert_encoding($folder, "UTF7-IMAP","ISO_8859-1"); 
    64                 $this->mbox = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
     83                $this->mbox = @imap_open("{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
    6584                return $this->mbox; 
    6685         } 
     
    7392                // This error is returned from Postfix. 
    7493                elseif(strstr($error,'message file too big')) { 
    75                         return str_replace("%1",$_SESSION['phpgw_info']['user']['preferences']['expressoMail']['max_attachment_size'],$this->functions->getLang('The size of this message has exceeded  the limit (%1B).')); 
     94                        return str_replace("%1",$this->preferences->max_attachment_size,$this->functions->getLang('The size of this message has exceeded  the limit (%1B).')); 
    7695                } 
    7796                elseif(strstr($error,'virus')) { 
     
    7998                } 
    8099                // This condition verifies if SESSION is expired. 
    81                 elseif(!count($_SESSION)) 
     100                elseif(!count( $this->email_server )) 
    82101                        return "nosession"; 
    83102 
     
    87106        function get_range_msgs2($params) 
    88107        { 
    89                 // Free others requests 
    90                 session_write_close(); 
    91  
    92108                $folder = $params['folder']; 
    93109                $msg_range_begin = $params['msg_range_begin']; 
     
    251267                { 
    252268                        // PLEASE, BE CAREFULL!!! YOU SHOULD USE EMAIL CONFIGURATION VALUES (EMAILADMIN MODULE) 
    253                         $tmp_box = mb_convert_encoding('INBOX'.$this->imap_delimiter.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'].$this->imap_delimiter.'tmpMoveToLocal', "UTF7-IMAP", "UTF-8"); 
     269                        $tmp_box = mb_convert_encoding('INBOX'.$this->email_server['imapDelimiter'].$this->email_server['imapDefaultTrashFolder'].$this->email_server['imapDelimiter'].'tmpMoveToLocal', "UTF7-IMAP", "UTF-8"); 
    254270                        if ( ! imap_createmailbox( $this -> mbox,"{".$this -> imap_server."}$tmp_box" ) ) 
    255271                                return $this->functions->getLang( 'Import to Local : fail...' ); 
    256                         imap_reopen($this->mbox, "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$tmp_box); 
     272                        imap_reopen($this->mbox, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$tmp_box); 
    257273                        $params["folder"] = $tmp_box; 
    258274                } 
     
    275291                                                $email = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); 
    276292                                                $status = @imap_append($this->mbox, 
    277                                                                 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 
     293                                                                "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
    278294                                                                        $email 
    279295                                                                        ); 
     
    303319                        $email = implode("",file($params['FILES'][0]['tmp_name'])); 
    304320                        $status = @imap_append($this->mbox, 
    305                                                                 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 
     321                                                                "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
    306322                                                                        $email 
    307323                                                                        ); 
     
    360376 
    361377                $status = imap_append($this->mbox, 
    362                                 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 
     378                                "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$params["folder"], 
    363379                                        $header. 
    364380                                        "\r\n". 
     
    376392                else 
    377393                { 
    378                         $status = imap_status($this->mbox, "{".$this->imap_server.":".$this->imap_port."}".$params['folder'], SA_UIDNEXT); 
     394                        $status = imap_status($this->mbox, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort']."}".$params['folder'], SA_UIDNEXT); 
    379395                        $return['msg_no'] = $status->uidnext - 1; 
    380396                        imap_delete($this->mbox, imap_msgno($this->mbox, $params["msg_num"])); 
     
    734750                //All this is to help in local messages 
    735751                $return['timestamp'] = $header->udate_original; 
    736                 $return['login'] = $_SESSION['phpgw_info']['expressomail']['user']['account_id'];//$GLOBALS['phpgw_info']['user']['account_id']; 
     752                $return['login'] = $this->account_id; 
    737753                $return['reply_toaddress'] = $header->reply_toaddress; 
    738754                return $return; 
     
    748764                $return = ""; 
    749765 
    750                 if( (isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject'] == "0")) && (isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip'] == "0")) ) 
     766                if( (isset($this->preferences->preview_msg_subject) && ($this->preferences->preview_msg_subject == "0")) && (isset($this->preferences->preview_msg_tip) && ($this->preferences->preview_msg_tip == "0")) ) 
    751767                { 
    752768                        $return['body'] = ""; 
     
    14511467 
    14521468                //$mbox_stream = $this->open_mbox($folder); 
    1453                 $mbox_stream = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
     1469                $mbox_stream = @imap_open("{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$folder, $this->username, $this->password) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
    14541470 
    14551471                foreach ($msgs_number as $msg_number) 
     
    14701486        function refresh($params) 
    14711487        { 
    1472                 session_write_close(); 
    14731488                include_once("class.imap_attachment.inc.php"); 
    14741489                $imap_attachment = new imap_attachment(); 
     
    16341649        { 
    16351650                $inbox = 'INBOX'; 
    1636                 $trash = $inbox . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']; 
    1637                 $drafts = $inbox . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']; 
    1638                 $spam = $inbox . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']; 
    1639                 $sent = $inbox . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']; 
    1640                 $uid2cn = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['uid2cn']; 
    1641                 // Free others requests 
    1642                 session_write_close(); 
     1651                $trash = $inbox . $this->email_server['imapDelimiter ']. $this->email_server['imapDefaultTrashFolder;']; 
     1652                $drafts = $inbox . $this->email_server['imapDelimiter ']. $this->email_server['imapDefaultDraftsFolder']; 
     1653                $spam = $inbox . $this->email_server['imapDelimiter ']. $this->email_server['imapDefaultSpamFolder']; 
     1654                $sent = $inbox . $this->email_server['imapDelimiter ']. $this->email_server['imapDefaultSentFolder']; 
     1655                $uid2cn = $this->preferences->uid2cn; 
    16431656 
    16441657                if(!$this->mbox || !is_resource($this->mbox)) 
    16451658                        $this->mbox = $this->open_mbox(); 
    16461659 
    1647                 if($params && $params['onload'] && $_SESSION['phpgw_info']['expressomail']['server']['certificado']){ 
     1660                if($params && $params['onload'] && $this->cert){ 
    16481661                        $this->delete_mailbox(array("del_past" => "INBOX/decifradas")); 
    16491662                } 
    16501663 
    1651                 $serverString = "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}"; 
     1664                $serverString = "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}"; 
    16521665                $folders_list = imap_getmailboxes($this->mbox, $serverString, ($params && $params['noSharedFolders']) ? "INBOX/*" : "*"); 
    16531666                $folders_list = array_slice($folders_list,0,$this->foldersLimit); 
     
    16671680                                //$tmp_folder_id = explode("}", imap_utf7_decode($val->name)); 
    16681681                                $tmp_folder_id = explode("}", mb_convert_encoding($val->name, "ISO_8859-1", "UTF7-IMAP" )); 
    1669                                 if($tmp_folder_id[1]=='INBOX'.$this->imap_delimiter.'decifradas') { 
     1682                                if($tmp_folder_id[1]=='INBOX'.$this->email_server['imapDelimiter'].'decifradas') { 
    16701683                                        //error_log('passou', 3,'/tmp/imap_get_list.log'); 
    1671                                         //imap_deletemailbox($this->mbox, imap_utf7_encode("{".$this->imap_server."}".'INBOX/decifradas')); 
     1684                                        //imap_deletemailbox($this->mbox, imap_utf7_encode("{".$this->email_server['imapServer']."}".'INBOX/decifradas')); 
    16721685                                        continue; 
    16731686                                } 
     
    16761689                                $result[$i]['folder_id'] = $folder_id; 
    16771690 
    1678                                 $tmp_folder_parent = explode($this->imap_delimiter, $folder_id); 
     1691                                $tmp_folder_parent = explode($this->email_server['imapDelimiter'], $folder_id); 
    16791692                                $result[$i]['folder_name'] = array_pop($tmp_folder_parent); 
    16801693                                $result[$i]['folder_name'] = $result[$i]['folder_name'] == 'INBOX' ? 'Inbox' : $result[$i]['folder_name']; 
     
    16861699                                } 
    16871700 
    1688                                 $tmp_folder_parent = implode($this->imap_delimiter, $tmp_folder_parent); 
     1701                                $tmp_folder_parent = implode($this->email_server['imapDelimiter'], $tmp_folder_parent); 
    16891702                                $result[$i]['folder_parent'] = $tmp_folder_parent == 'INBOX' ? '' : $tmp_folder_parent; 
    16901703 
     
    17591772                $namebox        = $arr['newp']; 
    17601773                $mbox_stream = $this->open_mbox(); 
    1761                 $imap_server = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
     1774                $imap_server = $this->email_server['imapServer']; 
    17621775                $namebox =  mb_convert_encoding($namebox, "UTF7-IMAP", "UTF-8"); 
    17631776 
     
    17801793                $result = ""; 
    17811794                $mbox_stream = $this->open_mbox(); 
    1782                 $imap_server = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
     1795                $imap_server = $this->email_server['imapServer']; 
    17831796                foreach($nameboxs as $key=>$tmp){ 
    17841797                        if($tmp != ""){ 
     
    17991812        { 
    18001813                $namebox = $arr['del_past']; 
    1801                 $imap_server = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
     1814                $imap_server = $this->email_server['imapServer']; 
    18021815                $mbox_stream = $this->mbox ? $this->mbox : $this->open_mbox(); 
    18031816                //$del_folder = imap_deletemailbox($mbox_stream,"{".$imap_server."}INBOX.$namebox"); 
     
    18201833                $namebox = $arr['current']; 
    18211834                $new_box = $arr['rename']; 
    1822                 $imap_server = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
     1835                $imap_server = $this->email_server['imapServer']; 
    18231836                $mbox_stream = $this->open_mbox(); 
    18241837                //$ren_folder = imap_renamemailbox($mbox_stream,"{".$imap_server."}INBOX.$namebox","{".$imap_server."}INBOX.$new_box"); 
     
    18601873        function folder_exists($folder){ 
    18611874                $mbox =  $this->open_mbox(); 
    1862                 $serverString = "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}";             
     1875                $serverString = "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}";               
    18631876                $list = imap_getmailboxes($mbox,$serverString, $folder); 
    18641877                $return = is_array($list);               
     
    18721885                $mail = new PHPMailer(); 
    18731886                // Set lang for PHPMailer using user prefs. 
    1874                 list($prefix,$userlang) = explode('-',$_SESSION['phpgw_info']['expressomail']['user']['preferences']['common']['lang']); 
     1887                list($prefix,$userlang) = explode('-',$this->lang); 
    18751888                $mail->SetLanguage($userlang,dirname( __FILE__ )."/../setup/"); 
    18761889                include_once("class.db_functions.inc.php"); 
     
    18821895                # @BRIEF Checks if the user has permission to send an email with the email address used. 
    18831896                ## 
    1884                 if ( is_array($fromaddress) && ($fromaddress[1] != $_SESSION['phpgw_info']['expressomail']['user']['email']) ) 
     1897                if ( is_array($fromaddress) && ($fromaddress[1] != $this->email) ) 
    18851898                { 
    18861899                        $deny = true; 
    1887                         foreach( $_SESSION['phpgw_info']['expressomail']['user']['shared_mailboxes'] as $key => $val ) 
     1900                        foreach( $this->shared_mailboxes as $key => $val ) 
    18881901                                if ( array_key_exists('mail', $val) && $val['mail'][0] == $fromaddress[1] ) 
    1889                                         $deny = false and end($_SESSION['phpgw_info']['expressomail']['user']['shared_mailboxes']); 
     1902                                        $deny = false and end($this->shared_mailboxes); 
    18901903 
    18911904                        if ( $deny ) 
     
    19511964                if( $fromaddress[2] == 'y' ){ 
    19521965                        //build shared folder path 
    1953                         $newfolder = "user".$this->imap_delimiter.$fromaddress[3].$this->imap_delimiter.$this->imap_sentfolder; 
     1966                        $newfolder = "user".$this->email_server['imapDelimiter'].$fromaddress[3].$this->email_server['imapDelimiter'].$this->imap_sentfolder; 
    19541967                        if( $this->folder_exists($newfolder) ) $folder = $newfolder; 
    19551968                        else $folder =  $params['folder'];                       
     
    19621975                // Fix problem with cyrus delimiter changes. 
    19631976                // Dots in names: enabled/disabled. 
    1964                 $folder = @eregi_replace("INBOX/", "INBOX".$this->imap_delimiter, $folder); 
    1965                 $folder = @eregi_replace("INBOX.", "INBOX".$this->imap_delimiter, $folder); 
     1977                $folder = @eregi_replace("INBOX/", "INBOX".$this->email_server['imapDelimiter'], $folder); 
     1978                $folder = @eregi_replace("INBOX.", "INBOX".$this->email_server['imapDelimiter'], $folder); 
    19661979                // End Fix. 
    19671980                if ($folder != 'null'){ 
     
    19791992            $mail->IsSMTP(); 
    19801993 
    1981                 $mail->Host = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpServer']; 
    1982                 $mail->Port = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpPort']; 
    1983                 $mail->From = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
    1984                 $mail->FromName = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
     1994                $mail->Host = $this->email_server['smtpServer']; 
     1995                $mail->Port = $this->email_server['smtpPort']; 
     1996                $mail->From = $this->email; 
     1997                $mail->FromName = $this->fullname; 
    19851998                if($fromaddress){ 
    19861999                        $mail->Sender = $mail->From; 
     
    20062019            // Se uma das verificacoes falhar, nao enviar o e-mail e avisar o usuario. 
    20072020            // O array $mail->Certs_crypt soh deve ser preenchido se os certificados passarem nas verificacoes. 
    2008             $numero_maximo = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['num_max_certs_to_cipher'];  // Este valor dever ser configurado pelo administrador do site .... 
     2021            $numero_maximo = $this->preferences->num_max_certs_to_cipher;  // Este valor dever ser configurado pelo administrador do site .... 
    20092022            $erros_acumulados = ""; 
    20102023            $aux_mails = array(); 
     
    20162029            } 
    20172030            // adiciona o email do remetente. eh para cifrar a msg para ele tambem. Assim vai poder visualizar a msg na pasta enviados.. 
    2018             $email[] = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
     2031            $email[] = $this->email; 
    20192032            foreach($email as $item) 
    20202033            { 
     
    21262139                                } 
    21272140                                $tempDir = ini_get("session.save_path"); 
    2128                                 $file = "cidimage_".$_SESSION[ 'phpgw_session' ][ 'session_id' ].$cid_imgs[6][$j].".dat"; 
     2141                                $file = "cidimage_".$this->session_id.$cid_imgs[6][$j].".dat"; 
    21292142                                $f = fopen($tempDir.'/'.$file,"w"); 
    21302143                                fputs($f,$fileContent); 
     
    21412154                { 
    21422155                        $total_uploaded_size = 0; 
    2143                         $upload_max_filesize = str_replace("M","",$_SESSION['phpgw_info']['user']['preferences']['expressoMail']['max_attachment_size']) * 1024 * 1024; 
     2156                        $upload_max_filesize = str_replace("M","",$this->preferences->max_attachment_size) * 1024 * 1024; 
    21442157                        foreach ($attachments as $attach) 
    21452158                        { 
     
    22002213                // Disposition-Notification-To 
    22012214                if ($return_receipt) 
    2202                         $mail->ConfirmReadingTo = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
     2215                        $mail->ConfirmReadingTo = $this->email; 
    22032216//////////////////////////////////////////////////////////////////////////////////////////////////// 
    22042217 
     
    22152228                                return $sent; 
    22162229                        } 
    2217                         if($_SESSION['phpgw_info']['server']['expressomail']['expressoMail_enable_log_messages'] == "True") 
     2230                        if($this->enable_log_messages == "True") 
    22182231                        { 
    2219                                 $userid = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
    2220                                 $userip = $_SESSION['phpgw_info']['expressomail']['user']['session_ip']; 
     2232                                $userid = $this->username; 
     2233                                $userip = $this->session_ip; 
    22212234                                $now = date("d/m/y H:i:s"); 
    22222235                                $addrs = $toaddress.$ccaddress.$ccoaddress; 
     
    22242237                                error_log("$now - $userip - $sent [$subject] - $userid => $addrs\r\n", 3, "/home/expressolivre/mail_senders.log"); 
    22252238                        } 
    2226                         if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['number_of_contacts'] && 
    2227                            $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts']) { 
     2239                        if($this->preferences->number_of_contacts && 
     2240                           $this->preferences->use_dynamic_contacts) { 
    22282241                                $contacts = new dynamic_contacts(); 
    22292242                                $new_contacts = $contacts->add_dynamic_contacts($toaddress.",".$ccaddress.",".$ccoaddress); 
     
    23692382 
    23702383                                if($sort_box_type=='SORTFROM') { 
    2371                                         if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email']) 
     2384                                        if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $this->email) 
    23722385                                                $from = $header->to; 
    23732386                                        else 
     
    24572470                                                'status' => true); //Status foi adicionado para validar as permissoes ACL 
    24582471 
    2459                 $error_log_file=$_SESSION['phpgw_info']['expressomail']['server']['files_dir']."/expressoMail.log"; 
    2460                 if($_SESSION['phpgw_info']['server']['expressomail']['expressoMail_enable_log_messages'] == "True" &&  
     2472                $error_log_file=$this->server_files_dir."/expressoMail.log"; 
     2473                if($this->enable_log_messages == "True" &&  
    24612474                strpos($msgs_number,',') != False) 
    24622475                        error_log(date("D M j G:i:s T Y").": expressoMail, move_messages: " 
    2463                                 .$_SESSION['phpgw_info']['expressomail']['user']['userid']." ".$folder."=>".$new_folder_name. 
     2476                                .$this->username." ".$folder."=>".$new_folder_name. 
    24642477                                " ".$msgs_number."\n", 3, $error_log_file); 
    24652478 
     
    24842497        } 
    24852498        //Este bloco tem a finalidade de transformar o CPF das pastas compartilhadas em common name 
    2486         if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['uid2cn']){ 
     2499        if ($this->preferences->uid2cn){ 
    24872500            if (substr($new_folder_name,0,4) == 'user'){ 
    24882501                $this->ldap = new ldap_functions(); 
    2489                 $tmp_folder_name = explode($this->imap_delimiter, $new_folder_name); 
     2502                $tmp_folder_name = explode($this->email_server['imapDelimiter'], $new_folder_name); 
    24902503                $return['new_folder_name'] = array_pop($tmp_folder_name); 
    24912504                if( $cn = $this->ldap->uid2cn($return['new_folder_name'])) 
     
    25122525                }else { 
    25132526                        if(strstr(imap_last_error(),'Over quota')) { 
    2514                                 $accountID      = $_SESSION['phpgw_info']['expressomail']['email_server']['imapAdminUsername']; 
    2515                                 $pass           = $_SESSION['phpgw_info']['expressomail']['email_server']['imapAdminPW']; 
    2516                                 $userID         = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
    2517                                 $server         = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
    2518                                 $mbox           = @imap_open("{".$this->imap_server.":".$this->imap_port.$this->imap_options."}INBOX", $accountID, $pass) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
     2527                                $accountID      = $this->email_server['imapAdminUsername']; 
     2528                                $pass           = $this->email_server['imapAdminPW']; 
     2529                                $userID         = $this->username; 
     2530                                $server         = $this->email_server['imapServer']; 
     2531                                $mbox           = @imap_open("{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}INBOX", $accountID, $pass) or die(serialize(array('imap_error' => $this->parse_error(imap_last_error())))); 
    25192532                                if(!$mbox) 
    25202533                                        return imap_last_error(); 
    25212534                                $quota  = imap_get_quotaroot($mbox_stream, "INBOX"); 
    2522                                 if(! imap_set_quota($mbox, "user".$this->imap_delimiter.$userID, 2.1 * $quota['usage'])) { 
     2535                                if(! imap_set_quota($mbox, "user".$this->email_server['imapDelimiter'].$userID, 2.1 * $quota['usage'])) { 
    25232536                                        if($mbox_stream) 
    25242537                                                imap_close($mbox_stream); 
    25252538                                        if($mbox) 
    25262539                                                imap_close($mbox); 
    2527                                         return "move_messages(): Error setting quota for MOVE or DELETE!! ". "user".$this->imap_delimiter.$userID." line ".__LINE__."\n"; 
     2540                                        return "move_messages(): Error setting quota for MOVE or DELETE!! ". "user".$this->email_server['imapDelimiter'].$userID." line ".__LINE__."\n"; 
    25282541                                } 
    25292542                                if(imap_mail_move($mbox_stream, $msgs_number, $newmailbox, CP_UID)) { 
     
    25322545                                                imap_close($mbox_stream); 
    25332546                                        // return to original quota limit. 
    2534                                         if(!imap_set_quota($mbox, "user".$this->imap_delimiter.$userID, $quota['limit'])) { 
     2547                                        if(!imap_set_quota($mbox, "user".$this->email_server['imapDelimiter'].$userID, $quota['limit'])) { 
    25352548                                                if($mbox) 
    25362549                                                        imap_close($mbox); 
     
    25422555                                        if($mbox_stream) 
    25432556                                                imap_close($mbox_stream); 
    2544                                         if(!imap_set_quota($mbox, "user".$this->imap_delimiter.$userID, $quota['limit'])) { 
     2557                                        if(!imap_set_quota($mbox, "user".$this->email_server['imapDelimiter'].$userID, $quota['limit'])) { 
    25452558                                                if($mbox) 
    25462559                                                        imap_close($mbox); 
     
    25652578                $mail = new PHPMailer(); 
    25662579                // Set lang for PHPMailer using user prefs. 
    2567                 list($prefix,$userlang) = explode('-',$_SESSION['phpgw_info']['expressomail']['user']['preferences']['common']['lang']);                 
     2580                list($prefix,$userlang) = explode('-',$this->lang);              
    25682581                $mail->SetLanguage($userlang,dirname( __FILE__ )."/../setup/");          
    25692582                include_once("class.db_functions.inc.php"); 
     
    25852598                // Fix problem with cyrus delimiter changes. 
    25862599                // Dots in names: enabled/disabled. 
    2587                 $folder = @eregi_replace("INBOX/", "INBOX".$this->imap_delimiter, $folder); 
    2588                 $folder = @eregi_replace("INBOX.", "INBOX".$this->imap_delimiter, $folder); 
     2600                $folder = @eregi_replace("INBOX/", "INBOX".$this->email_server['imapDelimiter'], $folder); 
     2601                $folder = @eregi_replace("INBOX.", "INBOX".$this->email_server['imapDelimiter'], $folder); 
    25892602                // End Fix. 
    25902603                if(strtoupper($folder) == 'INBOX/DRAFTS') 
     
    25962609 
    25972610                $mail->IsSMTP(); 
    2598                 $mail->Host = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpServer']; 
    2599                 $mail->Port = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpPort']; 
    2600                 $mail->From = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
    2601                 $mail->FromName = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
     2611                $mail->Host = $this->email_server['smtpServer']; 
     2612                $mail->Port = $this->email_server['smtpPort']; 
     2613                $mail->From = $this->email; 
     2614                $mail->FromName = $this->fullname; 
    26022615 
    26032616                $mail->Sender = $mail->From; 
    26042617                $mail->SenderName = $mail->FromName; 
    2605                 $mail->FromName = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
    2606                 $mail->From =  $_SESSION['phpgw_info']['expressomail']['user']['email']; 
    2607                 $session_id = $_SESSION[ 'phpgw_session' ][ 'session_id' ]; 
    2608                 $max_resolution = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['image_size']; 
    2609  
    2610                 // Free others requests  
    2611                 session_write_close();  
     2618                $mail->FromName = $this->fullname; 
     2619                $mail->From =  $this->email; 
     2620                $session_id = $this->session_id; 
     2621                $max_resolution = $this->preferences->image_size; 
    26122622 
    26132623                $this->add_recipients("to", $toaddress, &$mail); 
     
    27642774                $new_header = str_replace("\n", "\r\n", $header); 
    27652775                $new_body = str_replace("\n", "\r\n", $body); 
    2766                 $return['append'] = imap_append($mbox_stream, "{".$this->imap_server.":".$this->imap_port."}".$folder, $new_header . $new_body, "\\Seen \\Draft"); 
    2767                 $status = imap_status($mbox_stream, "{".$this->imap_server.":".$this->imap_port."}".$folder, SA_UIDNEXT); 
     2776                $return['append'] = imap_append($mbox_stream, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort']."}".$folder, $new_header . $new_body, "\\Seen \\Draft"); 
     2777                $status = imap_status($mbox_stream, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort']."}".$folder, SA_UIDNEXT); 
    27682778                $return['msg_no'] = $status->uidnext - 1; 
    27692779                $return['folder_id'] = $folder; 
     
    27902800                        $return['append'] = imap_last_error(); 
    27912801         
    2792                 session_start(); 
    27932802                return $return; 
    27942803        } 
     
    28262835                                        imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
    28272836                                        ,$importance); 
    2828                                 if(strtolower($importance[1])=="high" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
     2837                                if(strtolower($importance[1])=="high" && $this->preferences->use_important_flag) { 
    28292838                                        $flag_importance=true; 
    28302839                                } 
     
    28422851                        } 
    28432852 
    2844                         if($flag_importance && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
     2853                        if($flag_importance && $this->preferences->use_important_flag) { 
    28452854                                $return["status"] = false; 
    28462855                                $return["msg"] = $this->functions->getLang("At least one of selected message cant be marked as normal"); 
     
    30343043        function get_quota($params){ 
    30353044                // folder_id = user/{uid} for shared folders 
    3036                 if(substr($params['folder_id'],0,5) != 'INBOX' && preg_match('/user\\'.$this->imap_delimiter.'/i', $params['folder_id'])){ 
    3037                         $array_folder =  explode($this->imap_delimiter,$params['folder_id']); 
    3038                         $folder_id = "user".$this->imap_delimiter.$array_folder[1]; 
     3045                if(substr($params['folder_id'],0,5) != 'INBOX' && preg_match('/user\\'.$this->email_server['imapDelimiter'].'/i', $params['folder_id'])){ 
     3046                        $array_folder =  explode($this->email_server['imapDelimiter'],$params['folder_id']); 
     3047                        $folder_id = "user".$this->email_server['imapDelimiter'].$array_folder[1]; 
    30393048                } 
    30403049                // folder_id = INBOX for inbox folders 
     
    30833092                $mail = new PHPMailer(); 
    30843093                // Set lang for PHPMailer using user prefs. 
    3085                 list($prefix,$userlang) = explode('-',$_SESSION['phpgw_info']['expressomail']['user']['preferences']['common']['lang']);                 
     3094                list($prefix,$userlang) = explode('-',$this->lang);              
    30863095                $mail->SetLanguage($userlang,dirname( __FILE__ )."/../setup/"); 
    30873096 
     
    30903099                $subject = 'Confirmação de leitura: ' . $params['subject']; 
    30913100                $body = 'Sua mensagem: ' . $params['subject'] . '<br>'; 
    3092                 $body .= 'foi lida por: ' . $_SESSION['phpgw_info']['expressomail']['user']['fullname'] . ' &lt;' . $_SESSION['phpgw_info']['expressomail']['user']['email'] . '&gt; em ' . date("d/m/Y H:i"); 
     3101                $body .= 'foi lida por: ' . $this->fullname . ' &lt;' . $this->email . '&gt; em ' . date("d/m/Y H:i"); 
    30933102                $mail->SMTPDebug = false; 
    30943103                $mail->IsSMTP(); 
    3095                 $mail->Host = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpServer']; 
    3096                 $mail->Port = $_SESSION['phpgw_info']['expressomail']['email_server']['smtpPort']; 
    3097                 $mail->From = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
    3098                 $mail->FromName = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
     3104                $mail->Host = $this->email_server['smtpServer']; 
     3105                $mail->Port = $this->email_server['smtpPort']; 
     3106                $mail->From = $this->email; 
     3107                $mail->FromName = $this->fullname; 
    30993108                $mail->AddAddress($toaddress); 
    31003109                $mail->Subject = $this->htmlspecialchars_decode($subject); 
     
    31123121        function empty_folder($params) 
    31133122        { 
    3114                 $folder = 'INBOX' . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server'][$params['clean_folder']]; 
     3123                $folder = 'INBOX' . $this->email_server['imapDelimiter ']. $this->email_server[$params['clean_folder']]; 
    31153124                $mbox_stream = $this->open_mbox($folder); 
    31163125                $return = imap_delete($mbox_stream,'1:*'); 
     
    32673276                $before_date = date("m/d/Y", strtotime("-".$params['before_date']." day")); 
    32683277                $criteria =  'BEFORE "'.$before_date.'"'; 
    3269                 $trash_folder = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']; 
    3270                 // Free others requests 
    3271                 session_write_close(); 
    3272  
    3273                 $mbox_stream = $this->open_mbox('INBOX'.$this->imap_delimiter.$trash_folder); 
    3274                  
    3275                 // Free others requests 
    3276                 session_write_close(); 
     3278                $trash_folder = $this->email_server['imapDefaultTrashFolder']; 
     3279 
     3280                $mbox_stream = $this->open_mbox('INBOX'.$this->email_server['imapDelimiter'].$trash_folder); 
    32773281 
    32783282                $messages = imap_search($mbox_stream, $criteria, SE_UID); 
     
    33303334            if($search){ 
    33313335                $search_criteria = ''; 
    3332                 $search_result_number = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['search_result_number']; 
     3336                $search_result_number = $this->preferences->search_result_number; 
    33333337                foreach($search as $tmp) 
    33343338                { 
     
    33603364                    $filter = $this->remove_accents($filter); 
    33613365                    //Este bloco tem a finalidade de transformar o login (quando numerico) das pastas compartilhadas em common name 
    3362                     if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['uid2cn'] && substr($name_box,0,4) == 'user') 
     3366                    if ($this->preferences->uid2cn && substr($name_box,0,4) == 'user') 
    33633367                    { 
    3364                         $folder_name = explode($this->imap_delimiter,$name_box); 
     3368                        $folder_name = explode($this->email_server['imapDelimiter'],$name_box); 
    33653369                        $this->ldap = new ldap_functions(); 
    33663370                        if ($cn = $this->ldap->uid2cn($folder_name[1])) 
     
    33683372                            $folder_name[1] = $cn; 
    33693373                        } 
    3370                         $folder_name = implode($this->imap_delimiter,$folder_name); 
     3374                        $folder_name = implode($this->email_server['imapDelimiter'],$folder_name); 
    33713375                    } 
    33723376                    else 
     
    33813385                    else 
    33823386                        { 
    3383                             imap_reopen($mbox_stream, "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$name_box); 
     3387                            imap_reopen($mbox_stream, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$name_box); 
    33843388                        } 
    33853389 
     
    35453549                $mbox_stream = $this->open_mbox(); 
    35463550 
    3547                 $serverString = "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}"; 
    3548                 $mailboxes_list = imap_getmailboxes($mbox_stream, $serverString, "user".$this->imap_delimiter.$this->username."*"); 
     3551                $serverString = "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}"; 
     3552                $mailboxes_list = imap_getmailboxes($mbox_stream, $serverString, "user".$this->email_server['imapDelimiter'].$this->username."*"); 
    35493553 
    35503554                /*if (count($add_share)) 
     
    36043608                $return = array(); 
    36053609                $mbox_stream = $this->open_mbox(); 
    3606                 //Alterado, antes era 'imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
     3610                //Alterado, antes era 'imap_getacl($mbox_stream, 'user'.$this->email_server['imapDelimiter'].$user); 
    36073611                //Afim de tratar as pastas compartilhadas, verificandos as permissoes de operacao sobre as mesmas 
    36083612                //No caso de se tratar da caixa do proprio usuario logado, utiliza a sintaxe abaixo 
    36093613                if(substr($user,0,4) != 'user') 
    3610                 $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
     3614                $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->email_server['imapDelimiter'].$user); 
    36113615                else 
    36123616                  $mbox_acl = imap_getacl($mbox_stream, $user); 
     
    36223626                $mbox_stream = $this->open_mbox(); 
    36233627 
    3624                 $serverString = "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}"; 
    3625                 $mailboxes_list = imap_getmailboxes($mbox_stream, $serverString, "user".$this->imap_delimiter.$this->username."*"); 
     3628                $serverString = "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}"; 
     3629                $mailboxes_list = imap_getmailboxes($mbox_stream, $serverString, "user".$this->email_server['imapDelimiter'].$this->username."*"); 
    36263630 
    36273631                if (is_array($mailboxes_list)) 
     
    36803684                        $body = imap_body($mbox_stream, $imap_msg_number); 
    36813685                        $msg = $header . $body; 
    3682                         $email = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
     3686                        $email = $this->email; 
    36833687                        $username = $this->username; 
    36843688                        strtok($email, '@'); 
     
    36993703                        // Seleciona qual comando a ser executado 
    37003704                        switch($is_spam){ 
    3701                                 case 'true':  $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam']; break; 
    3702                                 case 'false': $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham']; break; 
     3705                                case 'true':  $cmd = $this->command_for_spam; break; 
     3706                                case 'false': $cmd = $this->command_for_ham; break; 
    37033707                        } 
    37043708 
     
    37193723                $header->udate +=  $pdate['zone']*(-60); 
    37203724 
    3721                 if($header->Flagged != "F" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
     3725                if($header->Flagged != "F" && $this->preferences->use_important_flag) { 
    37223726                        $flag = preg_match('/importance *: *(.*)\r/i', 
    37233727                                                imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
     
    37333737 
    37343738    function insert_email($source,$folder,$timestamp){ 
    3735         $username = $_SESSION['phpgw_info']['expressomail']['user']['userid']; 
    3736         $password = $_SESSION['phpgw_info']['expressomail']['user']['passwd']; 
    3737         $imap_server = $_SESSION['phpgw_info']['expressomail']['email_server']['imapServer']; 
    3738         $imap_port      = $_SESSION['phpgw_info']['expressomail']['email_server']['imapPort']; 
     3739        $username = $this->username; 
     3740        $password = $this->password; 
     3741        $imap_server = $this->email_server['imapServer']; 
     3742        $imap_port      = $this->email_server['imapPort']; 
    37393743        $imap_options = '/notls/novalidate-cert'; 
    37403744        $mbox_stream = imap_open("{".$imap_server.":".$imap_port.$imap_options."}".$folder, $username, $password); 
     
    37453749        if($timestamp){ 
    37463750            $tempDir = ini_get("session.save_path"); 
    3747             $file = $tempDir."imap_".$_SESSION[ 'phpgw_session' ][ 'session_id' ]; 
     3751            $file = $tempDir."imap_".$this->session_id; 
    37483752                $f = fopen($file,"w"); 
    37493753                fputs($f,base64_encode($source)); 
     
    37543758            $return['append'] = imap_append($mbox_stream, "{".$imap_server.":".$imap_port."}".$folder, $source, "\\Seen"); 
    37553759        } 
    3756         $status = imap_status($mbox_stream, "{".$this->imap_server.":".$this->imap_port."}".$folder, SA_UIDNEXT); 
     3760        $status = imap_status($mbox_stream, "{".$this->email_server['imapServer'].":".$this->email_server['imapPort']."}".$folder, SA_UIDNEXT); 
    37573761        $return['msg_no'] = $status->uidnext - 1; 
    37583762                $return['error'] = imap_last_error(); 
     
    37783782        } 
    37793783 
    3780         $insert = $this->insert_email($source,'INBOX'.$this->imap_delimiter.'decifradas'); 
     3784        $insert = $this->insert_email($source,'INBOX'.$this->email_server['imapDelimiter'].'decifradas'); 
    37813785 
    37823786                $get['msg_number'] = $insert['msg_no']; 
    3783                 $get['msg_folder'] = 'INBOX'.$this->imap_delimiter.'decifradas'; 
     3787                $get['msg_folder'] = 'INBOX'.$this->email_server['imapDelimiter'].'decifradas'; 
    37843788                $return = $this->get_info_msg($get); 
    37853789                $get['msg_number'] = $params['ID']; 
     
    38573861        $source = $params['source']; 
    38583862        $source = $this->treat_base64_from_post($source); 
    3859         $insert = $this->insert_email($source,'INBOX'.$this->imap_delimiter.'decifradas'); 
     3863        $insert = $this->insert_email($source,'INBOX'.$this->email_server['imapDelimiter'].'decifradas'); 
    38603864        $exporteml = new ExportEml(); 
    38613865        $params['num_msg']=$insert['msg_no']; 
    3862         $params['folder']='INBOX'.$this->imap_delimiter.'decifradas'; 
     3866        $params['folder']='INBOX'.$this->email_server['imapDelimiter'].'decifradas'; 
    38633867        return $exporteml->download_all_attachments($params); 
    38643868    } 
     
    38703874                $imapfp = new imapfp(); 
    38713875                 
    3872             if(!$imapfp->open($this->imap_server,$this->imap_port)) 
     3876            if(!$imapfp->open($this->email_server['imapServer'],$this->email_server['imapPort'])) 
    38733877                return $imapfp->get_error();             
    38743878                if (!$imapfp->login( $this->username,$this->password )) 
     
    38963900                                $quota_used = $size." b"; 
    38973901                        $folder = mb_convert_encoding($folder, "ISO_8859-1", "UTF7-IMAP"); 
    3898                         if(!preg_match('/user\\'.$this->imap_delimiter.$this->username.'\\'.$this->imap_delimiter.'/i',$folder)){ 
     3902                        if(!preg_match('/user\\'.$this->email_server['imapDelimiter'].$this->username.'\\'.$this->email_server['imapDelimiter'].'/i',$folder)){ 
    38993903                                $folder = $this->functions->getLang("Inbox"); 
    39003904                        } 
    39013905                        else 
    3902                                 $folder = preg_replace('/user\\'.$this->imap_delimiter.$this->username.'\\'.$this->imap_delimiter.'/i','', $folder); 
     3906                                $folder = preg_replace('/user\\'.$this->email_server['imapDelimiter'].$this->username.'\\'.$this->email_server['imapDelimiter'].'/i','', $folder); 
    39033907                         
    39043908                        $data[$folder] = array("quota_percent" => sprintf("%.1f",round($quotaPercent,1)), "quota_used" => $quota_used); 
Note: See TracChangeset for help on using the changeset viewer.