Changeset 205


Ignore:
Timestamp:
03/10/08 09:18:37 (16 years ago)
Author:
niltonneto
Message:

ver Ticket #154 e #155;
Otimizar verificação do Fora de Escritório;
Otimizar código que salva as preferências;

Location:
trunk/expressoMail1_2
Files:
5 edited

Legend:

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

    r163 r205  
    158158                return $stringDropDownContacts;  
    159159        } 
    160          
     160        /* 
    161161        function update_preferences($params){ 
    162162                 
     
    212212                else 
    213213                        return "OK!"; 
     214        } 
     215        */ 
     216        function update_preferences($params){ 
     217                $string_serial = urldecode($params['prefe_string']);                             
     218                $string_serial = get_magic_quotes_gpc() ? $string_serial : addslashes($string_serial); 
     219                $query = "update phpgw_preferences set preference_value = '".$string_serial."' where preference_app = 'expressoMail'". 
     220                                 " and preference_owner = '".$this->user_id."'"; 
     221                 
     222                if (!$this->db->query($query)) 
     223                return $this->db->error; 
     224                else 
     225                        return array("success" => true); 
    214226        } 
    215227        function getUserByEmail($params){        
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r197 r205  
    150150                $return = array(); 
    151151                $msg_number = $params['msg_number']; 
    152                 $msg_folder = $params['msg_folder'];                             
     152                $msg_folder = $params['msg_folder']; 
     153                 
    153154                if(!$this->mbox) 
    154155                        $this->mbox = $this->open_mbox($msg_folder);             
    155                 $header = imap_headerinfo($this->mbox, imap_msgno($this->mbox, $msg_number), 80, 255); 
     156                 
     157                $header = @imap_headerinfo($this->mbox, imap_msgno($this->mbox, $msg_number), 80, 255); 
     158                if (!$header) { 
     159                        $return['status_get_msg_info'] = "false"; 
     160                        return $return; 
     161                } 
    156162                $all_header = explode("\n", imap_fetchheader($this->mbox, $msg_number, FT_UID)); 
    157163                $return_get_body = $this->get_body_msg($msg_number, $msg_folder); 
     
    461467                $params = array('folder' => $msg_folder, "msgs_to_set" => $msg_number, "flag" => "seen");                                
    462468                $this->set_messages_flag($params); 
    463                 $content = $this->process_embedded_images($msg,$msg_number,$content); 
     469                $content = $this->process_embedded_images($msg,$msg_number,$content, $msg_folder); 
    464470                $content = $this->replace_special_characters($content); 
    465471                $return['body'] = $content; 
     
    625631        } 
    626632         
    627         function process_embedded_images($msg, $msgno,$body) 
    628         { 
    629                  
     633        function process_embedded_images($msg, $msgno, $body, $msg_folder) 
     634        { 
    630635                if (count($msg->inline_id[$msgno]) > 0) 
    631636                { 
  • trunk/expressoMail1_2/inc/class.ldap_functions.inc.php

    r176 r205  
    2727                @ldap_bind($this->ds, $_SESSION['phpgw_info']['expressomail']['ldap_server']['acc'],$_SESSION['phpgw_info']['expressomail']['ldap_server']['pw']);                               
    2828        } 
     29 
     30        //Teste jakjr retornando o DS 
     31        function ldapConnect2($refer = false){ 
     32                $ds = ldap_connect($_SESSION['phpgw_info']['expressomail']['ldap_server']['host']); 
     33                 
     34                if (!$ds) 
     35                        return false; 
     36                 
     37                ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); 
     38                ldap_set_option($ds, LDAP_OPT_REFERRALS, $refer); 
     39                if ($refer) 
     40                        ldap_set_rebind_proc($ds, ldapRebind); 
     41                @ldap_bind($ds, $_SESSION['phpgw_info']['expressomail']['ldap_server']['acc'],$_SESSION['phpgw_info']['expressomail']['ldap_server']['pw']); 
     42                 
     43                return $ds;                              
     44        } 
     45 
    2946 
    3047        // usa o host e context do setup. 
     
    439456        } 
    440457 
    441         function getUserByEmail($params){        
     458        function getUserByEmail($params) 
     459        { 
     460                $filter="(&(phpgwAccountType=u)(mail=" . $params['email'] . "))"; 
     461                $ldap_context = $_SESSION['phpgw_info']['expressomail']['ldap_server']['dn']; 
     462                $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile"); 
     463 
    442464                // Follow the referral 
    443                 $email = $params['email']; 
    444                 $this->ldapConnect(true); 
    445                 if ($this->ds) 
    446                 { 
    447                         $filter="(&(phpgwAccountType=u)(mail=$email))";          
    448                         $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile"); 
    449                         $sr=ldap_search($this->ds, $this->ldap_context, $filter, $justthese); 
    450                         $entry = ldap_first_entry($this->ds, $sr);                       
     465                $ds = $this->ldapConnect2(true); 
     466                if ($ds) 
     467                {                        
     468                        $sr=ldap_search($ds, $ldap_context, $filter, $justthese); 
     469                         
     470                        if (!$sr) 
     471                                return null; 
     472                         
     473                        $entry = ldap_first_entry($ds, $sr); 
     474                         
    451475                        if($entry) {                                             
    452                                 $obj =  array("cn" => @ldap_get_values($this->ds, $entry, "cn"), 
    453                                                   "email" => $email, 
    454                                                   "uid" => @ldap_get_values($this->ds, $entry, "uid"), 
     476                                $obj =  array("cn" => ldap_get_values($ds, $entry, "cn"), 
     477                                                  "email" => $params['email'], 
     478                                                  "uid" => ldap_get_values($ds, $entry, "uid"), 
    455479                                                  "type" => "global", 
    456                                                   "mobile" =>  @ldap_get_values($this->ds, $entry, "mobile"), 
    457                                                   "telefone" =>  @ldap_get_values($this->ds, $entry, "telephonenumber")); 
    458  
    459                                 $_SESSION['phpgw_info']['expressomail']['contact_photo'] = @ldap_get_values_len($this->ds, $entry, "jpegphoto"); 
    460                                 ldap_close($this->ds);                           
     480                                                  "mobile" =>  @ldap_get_values($ds, $entry, "mobile"), 
     481                                                  "telefone" =>  @ldap_get_values($ds, $entry, "telephonenumber") 
     482                                        ); 
     483 
     484                                $_SESSION['phpgw_info']['expressomail']['contact_photo'] = ldap_get_values_len($ds, $entry, "jpegphoto"); 
     485                                ldap_close($ds); 
    461486                                return $obj; 
    462                         }                
     487                        } 
    463488                } 
    464489                return null; 
  • trunk/expressoMail1_2/inc/show_embedded_attach.php

    r27 r205  
    55        $imap_port      = $_SESSION['phpgw_info']['expressomail']['email_server']['imapPort']; 
    66        $msg_folder = $_GET['msg_folder']; 
     7        $msg_folder = mb_convert_encoding($msg_folder,"UTF7-IMAP", mb_detect_encoding($msg_folder, "UTF-8, ISO-8859-1", true)); 
    78        if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 
    89        { 
     
    1314                $imap_options = '/notls/novalidate-cert'; 
    1415        } 
    15         $mb = imap_open("{".$imap_server.":".$imap_port.$imap_options."}".$msg_folder, $username, $password); 
    16  
    17         $msgno = $_GET['msg_num']; 
    18         $embedded_part = $_GET['msg_part']; 
    1916         
    20         $embedded_body = imap_fetchbody($mb, $msgno, $embedded_part, FT_UID); 
     17        if (is_array($_SESSION['phpgw_info']['expressomail']['email_server'])) 
     18        { 
     19                $mb = imap_open("{".$imap_server.":".$imap_port.$imap_options."}".$msg_folder, $username, $password); 
    2120         
    22         header("Content-Type: image/jpeg"); 
    23         header("Content-Disposition: inline"); 
    24         echo imap_base64($embedded_body); 
     21                if ($mb) 
     22                { 
     23                        $msgno = $_GET['msg_num']; 
     24                        $embedded_part = $_GET['msg_part']; 
     25         
     26                        $embedded_body = imap_fetchbody($mb, $msgno, $embedded_part, FT_UID); 
     27         
     28                        header("Content-Type: image/jpeg"); 
     29                        header("Content-Disposition: inline"); 
     30                        echo imap_base64($embedded_body); 
     31                } 
     32        } 
    2533?> 
  • trunk/expressoMail1_2/index.php

    r197 r205  
    2929        $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 
    3030                        'voip_enabled'                                          => $voip_enabled, 
     31                        'outoffice'                                                     => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['outoffice'], 
    3132                        'telephone_number'                                      => $GLOBALS['phpgw_info']['user']['telephonenumber'], 
    3233                        'max_email_per_page'                            => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'], 
Note: See TracChangeset for help on using the changeset viewer.