Ignore:
Timestamp:
05/27/09 17:45:59 (15 years ago)
Author:
rafaelraymundo
Message:

Ticket #525 - Alteracoes para a busca Ajax. Adicionada a funcao search_users em class.ldap_functions.inc.php
do ExpressoMail? para realizar as buscas na adicao de participantes.

File:
1 edited

Legend:

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

    r881 r925  
    402402                return $organizations; 
    403403        } 
     404         
     405        //Busca usuarios de um contexto e ja retorna as options do select - usado por template serpro; 
     406        function search_users($params) 
     407        { 
     408                $this->ldapConnect(false,0); 
     409                //Monta lista de Grupos e Usuarios 
     410                $users = Array(); 
     411                $groups = Array(); 
     412                $user_context= $this->ldap_context; 
     413                $owner = $_SESSION['phpgw_info']['expressomail']['user']['owner']; 
     414                $filtro =utf8_encode($params['filter']); 
     415                $context =utf8_encode($params['context']);//adicionado 
     416 
     417                if ($this->ds) 
     418                { 
     419                    $justthese = array("gidNumber","cn"); 
     420                    if ($params['type'] == 'search') 
     421                        //$sr=ldap_search($this->ds, $user_context, ("(&(phpgwaccounttype=g)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(cn=*$filtro*))"),$justthese); 
     422                        $sr=ldap_search($this->ds, $context, ("(&(phpgwaccounttype=g)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(cn=*$filtro*))"),$justthese); 
     423                    else 
     424                        $sr=ldap_list($this->ds, $user_context, ("(&(phpgwaccounttype=g)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(cn=*".$filtro."*))"),$justthese); 
     425                    $info = ldap_get_entries($this->ds, $sr); 
     426                    for ($i=0; $i<$info["count"]; $i++) 
     427                        $groups[$uids=$info[$i]["gidnumber"][0]] = Array('name'    =>    $uids=$info[$i]["cn"][0], 'type'    =>    g); 
     428                    $justthese = array("phpgwaccountvisible","uidNumber","cn"); 
     429                    if ($params['type'] == 'search') 
     430                       // $sr=ldap_search($this->ds, $user_context, ("(&(phpgwaccounttype=u)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(|(cn=*$filtro*)(mail=$filtro*)))"),$justthese); 
     431                       $sr=ldap_search($this->ds, $context, ("(&(phpgwaccounttype=u)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(|(cn=*$filtro*)(mail=$filtro*)))"),$justthese); 
     432                    else 
     433                        $sr=ldap_list($this->ds, $user_context, ("(&(phpgwaccounttype=u)(!(phpgwaccountvisible=-1))(phpgwaccountstatus=A)(|(cn=*$filtro*)(mail=$filtro*)))"),$justthese); 
     434 
     435                    $info = ldap_get_entries($this->ds, $sr); 
     436                    for ($i=0; $i<$info["count"]; $i++) 
     437                    { 
     438                        if ($info[$i]["phpgwaccountvisible"][0] == '-1') 
     439                      continue; 
     440                        $users[$uids=$info[$i]["uidnumber"][0]] = Array('name'    =>    $uids=$info[$i]["cn"][0], 'type'    =>    u); 
     441                    } 
     442                } 
     443                ldap_close($this->ds); 
     444         
     445                @asort($users); 
     446                @reset($users); 
     447                @asort($groups); 
     448                @reset($groups); 
     449                $user_options =''; 
     450                $group_options =''; 
     451 
     452                foreach($groups as $id => $user_array) { 
     453                        $newId = $id.'U'; 
     454                        $group_options .= '<option  value="'.$newId.'">'.utf8_decode($user_array['name']).'</option>'."\n"; 
     455                } 
     456                foreach($users as $id => $user_array) { 
     457                    if($owner != $id){ 
     458                        $newId = $id.'U'; 
     459                        $user_options .= '<option  value="'.$newId.'">'.utf8_decode($user_array['name']).'</option>'."\n"; 
     460                    } 
     461                } 
     462                return array("users" => $user_options, "groups" => $group_options); 
     463        } 
    404464 
    405465        function catalogsearch($params) 
Note: See TracChangeset for help on using the changeset viewer.