Changeset 925 for trunk/expressoMail1_2/inc/class.ldap_functions.inc.php
- Timestamp:
- 05/27/09 17:45:59 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.ldap_functions.inc.php
r881 r925 402 402 return $organizations; 403 403 } 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 } 404 464 405 465 function catalogsearch($params)
Note: See TracChangeset
for help on using the changeset viewer.