Changeset 540 for trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
- Timestamp:
- 10/24/08 14:52:37 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r509 r540 369 369 } 370 370 371 function gera_login($params) { 372 $params = unserialize($params['attributes']); 373 $context = $GLOBALS['phpgw_info']['server']['ldap_context']; 374 $justthese = array("uid"); 375 $i=1; 376 $login = array("status" => False,"msg" => "Gerador de logins desabilitado"); 377 378 if( (isset($this->current_config['expressoAdmin_loginGenScript'])) && 379 ($this->current_config['expressoAdmin_loginGenScript']!="nenhum")) { 380 381 include_once "if.login.inc.php"; 382 include_once "class.".$this->current_config['expressoAdmin_loginGenScript']. 383 ".inc.php"; 384 385 $classe = new ReflectionClass($this->current_config['expressoAdmin_loginGenScript']); 386 387 if(!$classe->implementsInterface('login')) { 388 return array("status" => False, "msg" => "A classe geradora de logins não implementa a interface login (Se você for um usuário, contacte o suporte)"); 389 } 390 391 $gerador = $classe->newInstance(); 392 393 $login = $gerador->gera_login($params["first_name"],$params["second_name"],$this->ldap); 394 395 /* 396 Se o algoritmo gerar um login que já existe, colocamos um número no final do 397 login gerado, resultando em um login não existente 398 */ 399 while(true) { 400 $filter = "(uid=$login)"; 401 $search = ldap_search($this->ldap, $context, $filter, $justthese); 402 $entries = ldap_count_entries($this->ldap,$search); 403 if($entries==0) 404 break; 405 else { 406 $login.=$i; 407 $i++; 408 } 409 } 410 } 411 412 return array('status'=>true,'msg' => $login); 413 } 371 414 function validate_fields_group($params) 372 415 {
Note: See TracChangeset
for help on using the changeset viewer.