Ignore:
Timestamp:
05/11/11 09:50:40 (13 years ago)
Author:
rafaelraymundo
Message:

Ticket #1726 - Modificado implementação que lista Referrals, sem ldap_next_reference(). r4313

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.0.1/contactcenter/inc/class.bo_ldap_manager.inc.php

    r4293 r4326  
    269269                        } 
    270270                         
    271                         $ldap = $GLOBALS['phpgw']->common->ldapConnect($this->srcs[$id_source]['host'], $this->srcs[$id_source]['acc'],$this->srcs[$id_source]['pw'], false); 
     271                        $ldap = $GLOBALS['phpgw']->common->ldapConnect($this->srcs[$id_source]['host'], $this->srcs[$id_source]['acc'],$this->srcs[$id_source]['pw'], true); 
    272272                        if (!$ldap) 
    273273                        { 
     
    466466 
    467467                function get_ldap_tree_level($id_source, $resource, $context, $objectClass, $branch_dn, $external = 0) 
    468                 { 
    469                         if(strstr($context, "ldap://")){ 
    470                                 $refer_context = str_replace("??base","",preg_replace('!^(ldap://[^/]+)/(.*$)!', '\\2', $context)); 
    471                                 $host   = preg_replace('!^(ldap://[^/]+)/.*$!', '\\1', $context); 
    472                                 $resource = ldap_connect($host); 
    473                                 ldap_bind($resource); 
    474                         } 
    475  
     468                {                        
    476469                        /* 
    477470                         * TODO: Search timeouts 
     
    491484                                // and whose attribute phpgwAccountVisible value is different from -1 
    492485                                $filter = '(&(!(objectClass='.$objectClass.')) (!(phpgwAccountVisible=-1)))'; 
    493                         } 
    494                         $result_res = @ldap_list($resource,  ($refer_context ? $refer_context : $context), $filter, array(), 0, 0); 
     486                                $context = preg_replace("/dc=(.*)/i",$this->srcs[$id_source]['dn'],$context); 
     487                        } 
     488                        $result_res = @ldap_list($resource,  $context, $filter, array(), 0, 0); 
    495489                        @ldap_sort($resource, $result_res, 'ou'); 
    496490 
     
    509503                                $filter = '(objectClass='.$objectClass.')'; 
    510504                                // Get only one attribute of the source's objectClass 
    511                                 $result_res2 = @ldap_list($resource, ($refer_context ? $refer_context : $context), $filter, Array('cn'), 0, 1); 
     505                                $result_res2 = @ldap_list($resource, $context, $filter, Array('cn'), 0, 1); 
    512506                                $entries_count = ldap_count_entries($resource, $result_res2); 
    513507 
     
    551545                                                'name'  => $this->translate_accentuation($dn_parts_1[0]), 
    552546                                                'type'  => 'unknown', 
    553                                                 'value' =>  ($refer_context ? $host."/" : "").$dn, 
     547                                                'value' =>  $dn, 
    554548                                                'sub_branch' => false 
    555549                                        ); 
     
    558552                                $i++; 
    559553                        } 
    560  
    561                         if(! $refer_context) { 
    562                                 $array_referral = $this -> get_ldap_sub_branches_referrals($resource, $context,'(objectClass=organizationalUnit)'); 
    563                                 for($z = 0; $z < count($array_referral); $z++) { 
    564                                         $tree['sub_branch'][$i++] = $array_referral[$z]; 
    565                                 } 
    566                         } 
    567  
     554                         
    568555                        $filter = 'objectClass='.$objectClass; 
    569                         $result_res2 = @ldap_list($resource, ($refer_context ? $refer_context : $context), $filter, Array('cn'), 0, 1); 
     556                        $result_res2 = @ldap_list($resource, $context, $filter, Array('cn'), 0, 1); 
    570557                        $entries_count = ldap_count_entries($resource, $result_res2); 
    571558 
Note: See TracChangeset for help on using the changeset viewer.