Ignore:
Timestamp:
03/26/12 16:24:32 (12 years ago)
Author:
niltonneto
Message:

Ticket #2029 - Adicionada configuração para edição rápida de telefone.

File:
1 edited

Legend:

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

    r5513 r5821  
    8787                $this->ldap_host        = $_SESSION['phpgw_info']['expressomail']['server']['ldap_host']; 
    8888                $this->ldap_context = $_SESSION['phpgw_info']['expressomail']['server']['ldap_context']; 
    89                 $this->ds                       = ldap_connect($this->ldap_host); 
    90                 ldap_set_option($this->ds, LDAP_OPT_PROTOCOL_VERSION, 3); 
    91                 ldap_set_option($this->ds, LDAP_OPT_REFERRALS, $refer); 
    92                 ldap_bind($this->ds, $_SESSION['phpgw_info']['expressomail']['server']['ldap_root_dn'],$_SESSION['phpgw_info']['expressomail']['server']['ldap_root_pw']); 
    93  
     89 
     90                if($_SESSION['phpgw_info']['expressomail']['server']['ldap_master_host'] && 
     91                        $_SESSION['phpgw_info']['expressomail']['server']['ldap_master_root_dn'] && 
     92                        $_SESSION['phpgw_info']['expressomail']['server']['ldap_master_root_pw']) { 
     93                        $this->ds = ldap_connect($_SESSION['phpgw_info']['expressomail']['server']['ldap_master_host']); 
     94                        ldap_set_option($this->ds, LDAP_OPT_PROTOCOL_VERSION, 3); 
     95                        ldap_set_option($this->ds, LDAP_OPT_REFERRALS,0); 
     96                        ldap_bind($this->ds, $_SESSION['phpgw_info']['expressomail']['server']['ldap_master_root_dn'], $_SESSION['phpgw_info']['expressomail']['server']['ldap_master_root_pw']); 
     97                }else{ 
     98                        $this->ds = ldap_connect($this->ldap_host); 
     99                        ldap_set_option($this->ds, LDAP_OPT_PROTOCOL_VERSION, 3); 
     100                        ldap_set_option($this->ds, LDAP_OPT_REFERRALS, $refer); 
     101                        ldap_bind($this->ds, $_SESSION['phpgw_info']['expressomail']['server']['ldap_root_dn'],$_SESSION['phpgw_info']['expressomail']['server']['ldap_root_pw']); 
     102                } 
    94103        } 
    95104 
     
    11561165            return $return; 
    11571166        } 
     1167 
     1168        function save_telephoneNumber($params){ 
     1169                $return = array(); 
     1170                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['blockpersonaldata']){ 
     1171                        $return['error'] = $this->functions->getLang("You can't modify your Commercial Telephone."); 
     1172                        return $return; 
     1173                } 
     1174                $old_telephone = 0; 
     1175                $pattern = '/\([0-9]{2,3}\)[0-9]{4}-[0-9]{4}$/'; 
     1176                if ((strlen($params['number']) != 0) && (!preg_match($pattern, $params['number']))) 
     1177                        { 
     1178                        $return['error'] = $this->functions->getLang('The format of telephone number is invalid'); 
     1179                        return $return; 
     1180                } 
     1181                if($params['number'] != $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['telephone_number']) { 
     1182                        $old_telephone = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['telephone_number']; 
     1183                        $this->ldapRootConnect(false); 
     1184                        if(strlen($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['telephone_number']) == 0) { 
     1185                                $info['telephonenumber'] = $params['number']; 
     1186                                $result = @ldap_mod_add($this->ds, $_SESSION['phpgw_info']['expressomail']['user']['account_dn'], $info); 
     1187                        } 
     1188                        else { 
     1189                                $info['telephonenumber'] = $params['number']; 
     1190                                $result = @ldap_mod_replace($this->ds, $_SESSION['phpgw_info']['expressomail']['user']['account_dn'], $info); 
     1191                        } 
     1192                        $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['telephone_number'] = $info['telephonenumber']; 
     1193                                //      Log updated telephone number by user action 
     1194                                include_once('class.db_functions.inc.php'); 
     1195                                $db_functions = new db_functions(); 
     1196                        $db_functions->write_log('modified user telephone',"User changed its own telephone number in preferences $old_telephone => ".$info['telephonenumber']); 
     1197                        unset($info['telephonenumber']); 
     1198                } 
     1199                return $return['ok'] = true; 
     1200        }         
    11581201} 
    11591202?> 
Note: See TracChangeset for help on using the changeset viewer.