Changeset 1419


Ignore:
Timestamp:
09/17/09 17:39:22 (15 years ago)
Author:
eduardoalex
Message:

Ticket #421 - Ajuste no tratamento do referral para catalogo externo

Location:
trunk/contactcenter/inc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/contactcenter/inc/class.bo_global_ldap_catalog.inc.php

    r884 r1419  
    539539                         
    540540                */ 
    541                 function get_single_entry ( $id_contact, $fields ) 
     541                function get_single_entry ( $id_contact, $fields, $external=false ) 
    542542                { 
    543543                        if (!is_array($fields))  
     
    564564                                return false; 
    565565                        } 
    566                         $id_contact = preg_replace("/dc=(.*)/i",$this->src_info['dn'],$id_contact); 
     566                        if(!$external) 
     567                                $id_contact = preg_replace("/dc=(.*)/i",$this->src_info['dn'],$id_contact); 
     568                         
    567569                        $resource = @ldap_read($ldap, $id_contact, 'objectClass='.$this->src_info['obj']); 
    568570                        $n_entries = @ldap_count_entries($ldap, $resource); 
     
    578580                        } 
    579581 
    580 //                      print_r($contact); 
     582                         
    581583                         
    582584                //      $contact_data = $this->fields; 
     
    11641166                } 
    11651167                 
    1166                 function get_multiple_entries ( $id_contacts, $fields, $other_data = false ) 
     1168                function get_multiple_entries ( $id_contacts, $fields, $other_data = false, $external=false ) 
    11671169                { 
    11681170                        if (!is_array($id_contacts) or !is_array($fields) or ($other_data != false and !is_array($other_data))) 
     
    11841186                        foreach ($id_contacts as $id) 
    11851187                        { 
    1186                                 $contacts[$id] = $this->get_single_entry($id,$fields); 
     1188                                $contacts[$id] = $this->get_single_entry($id,$fields,$external); 
    11871189                        } 
    11881190                         
  • trunk/contactcenter/inc/class.bo_ldap_manager.inc.php

    r880 r1419  
    285285                        include(PHPGW_INCLUDE_ROOT . '/contactcenter/setup/external_catalogs.inc.php' ); 
    286286                        //include('external_catalogs.inc.php' ); 
    287  
     287                         
    288288                        if (!$external_srcs[$id_source]) 
    289289                        { 
    290290                                return null; 
    291291                        } 
    292  
     292                         
    293293                        // calls test_connection first. If succeeded continue, return error message otherwise. 
    294294                        if (!($response = $this->test_connection($external_srcs[$id_source]['host'], $external_srcs[$id_source]['acc'], $external_srcs[$id_source]['pw'], 10))) 
     
    468468                                // and whose attribute phpgwAccountVisible value is different from -1 
    469469                                $filter = '(&(!(objectClass='.$objectClass.')) (!(phpgwAccountVisible=-1)))'; 
    470                         } 
    471                         $context = preg_replace("/dc=(.*)/i",$this->srcs[$id_source]['dn'],$context); 
     470                                $context = preg_replace("/dc=(.*)/i",$this->srcs[$id_source]['dn'],$context);    
     471                        } 
     472                         
    472473                        $result_res = @ldap_list($resource,  $context, $filter, array(), 0, 0); 
    473474                        if (!$result_res) 
  • trunk/contactcenter/inc/class.ui_data.inc.php

    r1413 r1419  
    484484                                $parent = substr($level, 0, $last_dot); 
    485485                                $child = substr($level, $last_dot+1, strlen($level)); 
    486                          
    487486                                if (!($tree[$child] = $this->bo->get_catalog_tree($level))) 
    488487                                { 
     
    11861185                                $fields['connections'] = 'default'; 
    11871186                                // ?aqui alterar a chamada desse método para receber o base dn? 
    1188                                 $contacts = &$this->bo->catalog->get_multiple_entries($ids,$fields); 
     1187                                if($external) 
     1188                                        $contacts = &$this->bo->catalog->get_multiple_entries($ids,$fields,false,true); 
     1189                                else 
     1190                                        $contacts = &$this->bo->catalog->get_multiple_entries($ids,$fields); 
    11891191                                 
    11901192                                 
     
    12061208                                        if ($index !== 'error'){ 
    12071209                                                $final[3][$i][0] = $contact['companies']['company1']['company_name']?$contact['companies']['company1']['company_name']:'none'; 
    1208                                                 $final[3][$i][1] = $contact['names_ordered'] ? urldecode( $contact['names_ordered'] ) : 'none'; 
     1210                                                if($this->page_info['actual_catalog']['class']!='bo_global_ldap_catalog'){ 
     1211                                                        $final[3][$i][1] = $contact['names_ordered'] ? urldecode($contact['names_ordered'])  : 'none'; 
     1212                                                } 
     1213                                                else { 
     1214                                                        $contact['names_ordered'][0] = urldecode($contact['names_ordered'][0]); 
     1215                                                        $final[3][$i][1] = $contact['names_ordered'] ? $contact['names_ordered']  : 'none'; 
     1216                                                } 
    12091217                                                $final[3][$i][2] = $contact['companies']['company1']['title']? urldecode( $contact['companies']['company1']['title'] ) :'none'; 
    12101218 
     
    12681276 
    12691277                                                $final[4][$i] = $contact['photo'] ? 1  : 0; 
     1278                                        //      print_r($final[3][$i]); 
     1279                                        //      exit; 
    12701280                                                $i++; 
    12711281                                        } 
     
    12741284                                                // coloca mensagem de erro no vetor que retorna para o browser 
    12751285                                        } 
     1286                                         
    12761287                                } 
    12771288                                $lnk_compose = "location.href=('../expressoMail1_2/index.php?to="; 
Note: See TracChangeset for help on using the changeset viewer.