Changeset 23 for trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
- Timestamp:
- 05/07/07 15:06:04 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r16 r23 26 26 27 27 $result['status'] = true; 28 29 if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 30 { 31 $result['status'] = false; 32 $result['msg'] = 'Este LOGIN não pode ser usado pois é uma conta de sistema.'; 33 return $result; 34 } 28 35 29 36 if (($type == 'create_user') || ($type == 'rename_user')) … … 130 137 $result['status'] = true; 131 138 139 if ($_SESSION['phpgw_info']['expresso']['global_denied_groups'][$cn]) 140 { 141 $result['status'] = false; 142 $result['msg'] = 'Este nome de grupo não pode ser usado pois é um grupo de sistema.'; 143 return $result; 144 } 145 132 146 // CN 133 147 $filter = "(&(phpgwAccountType=g)(cn=$cn))"; … … 163 177 $mail = $params['mail']; 164 178 $result['status'] = true; 179 180 if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 181 { 182 $result['status'] = false; 183 $result['msg'] = 'Este LOGIN não pode ser usado pois é uma conta de sistema.'; 184 return $result; 185 } 165 186 166 187 // UID … … 230 251 231 252 //Busca usuários de um contexto e já retorna as options do select; 253 /* 232 254 function get_available_users_and_maillist($params) 233 255 { … … 264 286 265 287 return $options; 288 } 289 */ 290 291 //Busca usuários e listas de um contexto e já retorna as options do select; 292 function get_available_users_and_maillist($params) 293 { 294 $context = $params['context']; 295 $recursive = $params['recursive']; 296 297 //Usado para retirar a própria lista das possibilidades de inclusão. 298 $denied_uidnumber = $params['denied_uidnumber']; 299 300 $justthese = array("cn", "uidNumber"); 301 $users_filter="(&(phpgwAccountType=u)(!(phpgwAccountVisible=-1)))"; 302 $lists_filter = $denied_uidnumber == '' ? "(phpgwAccountType=l)" : "(&(phpgwAccountType=l)(!(uidnumber=$denied_uidnumber)))"; 303 304 $users = Array(); 305 $lists = Array(); 306 307 if ($recursive == 'true') 308 { 309 $lists_search = ldap_search($this->ldap, $context, $lists_filter, $justthese); 310 $users_search = ldap_search($this->ldap, $context, $users_filter, $justthese); 311 } 312 else 313 { 314 $lists_search = ldap_list($this->ldap, $context, $lists_filter, $justthese); 315 $users_search = ldap_list($this->ldap, $context, $users_filter, $justthese); 316 } 317 318 $lists_entries = ldap_get_entries($this->ldap, $lists_search); 319 for ($i=0; $i<$lists_entries["count"]; $i++) 320 { 321 $l_tmp[$lists_entries[$i]["uidnumber"][0]] = $lists_entries[$i]["cn"][0]; 322 } 323 324 if (count($l_tmp)) 325 natcasesort($l_tmp); 326 327 $i = 0; 328 $lists = array(); 329 330 $options .= '<option value="-1" disabled>------------------------------ Listas ------------------------------ </option>'."\n"; 331 if (count($l_tmp)) 332 { 333 foreach ($l_tmp as $uidnumber => $cn) 334 { 335 $options .= "<option value=$uidnumber>$cn</option>"; 336 } 337 unset($l_tmp); 338 } 339 340 $users_entries = ldap_get_entries($this->ldap, $users_search); 341 for ($i=0; $i<$users_entries["count"]; $i++) 342 { 343 $u_tmp[$users_entries[$i]["uidnumber"][0]] = $users_entries[$i]["cn"][0]; 344 } 345 346 if (count($u_tmp)) 347 natcasesort($u_tmp); 348 349 $i = 0; 350 $users = array(); 351 352 $options .= '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 353 if (count($u_tmp)) 354 { 355 foreach ($u_tmp as $uidnumber => $cn) 356 { 357 $options .= "<option value=$uidnumber class='line-above'>$cn</option>"; 358 } 359 unset($u_tmp); 360 } 361 362 return $options; 266 363 } 267 364 … … 322 419 { 323 420 $result['status'] = false; 324 $result['msg'] = "Erro na funcao ldap_functions->ldap_save_photo ($dn).\ \nRetorno do servidor:" . ldap_error($this->ldap);421 $result['msg'] = "Erro na funcao ldap_functions->ldap_save_photo ($dn).\nRetorno do servidor:" . ldap_error($this->ldap); 325 422 } 326 423 … … 340 437 { 341 438 $result['status'] = false; 342 $result['msg'] = "Erro na funcao ldap_functions->ldap_remove_photo ($dn).\ \nRetorno do servidor:" . ldap_error($this->ldap);439 $result['msg'] = "Erro na funcao ldap_functions->ldap_remove_photo ($dn).\nRetorno do servidor:" . ldap_error($this->ldap); 343 440 } 344 441 … … 365 462 { 366 463 $result['status'] = false; 367 $result['msg'] = "Erro na funcao ldap_functions->add_user2group ($memberUid).\ \nRetorno do servidor:" . ldap_error($this->ldap);464 $result['msg'] = "Erro na funcao ldap_functions->add_user2group ($memberUid).\nRetorno do servidor:" . ldap_error($this->ldap); 368 465 } 369 466 return $result; … … 391 488 { 392 489 $result['status'] = false; 393 $result['msg'] = "Erro na funcao ldap_functions->remove_user2group ($memberUid).\ \nRetorno do servidor:" . ldap_error($this->ldap);490 $result['msg'] = "Erro na funcao ldap_functions->remove_user2group ($memberUid).\nRetorno do servidor:" . ldap_error($this->ldap); 394 491 } 395 492 return $result; … … 413 510 { 414 511 $result['status'] = false; 415 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\\nRetorno do servidor:" . ldap_error($this->ldap); 416 } 417 return $result; 418 } 512 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\nRetorno do servidor:" . ldap_error($this->ldap); 513 } 514 return $result; 515 } 516 517 function add_user2maillist_scl($dn, $array_emails) 518 { 519 $attrs['mailSenderAddress'] = $array_emails; 520 $res = @ldap_mod_add($this->ldap, $dn, $attrs); 521 522 if ($res) 523 { 524 $result['status'] = true; 525 } 526 else 527 { 528 $result['status'] = false; 529 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist_scp ($dn).\n\nRetorno do servidor:" . ldap_error($this->ldap); 530 } 531 return $result; 532 } 533 419 534 function remove_user2maillist($uidNumber, $mail) 420 535 { … … 434 549 { 435 550 $result['status'] = false; 436 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\\nRetorno do servidor:" . ldap_error($this->ldap); 437 } 438 return $result; 439 } 551 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\n\nRetorno do servidor:" . ldap_error($this->ldap); 552 } 553 return $result; 554 } 555 556 function remove_user2maillist_scl($dn, $array_emails) 557 { 558 $attrs['mailSenderAddress'] = $array_emails; 559 $res = @ldap_mod_del($this->ldap, $dn, $attrs); 560 561 if ($res) 562 { 563 $result['status'] = true; 564 } 565 else 566 { 567 $result['status'] = false; 568 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist_scp ($dn).\n\nRetorno do servidor:" . ldap_error($this->ldap); 569 } 570 return $result; 571 } 572 440 573 function replace_user2maillists($new_mail, $old_mail) 441 574 { … … 455 588 { 456 589 $result['status'] = false; 457 $result['msg'] = "Erro na funcao ldap_functions->replace_user2maillists ($old_mail).\ \nRetorno do servidor:" . ldap_error($this->ldap);590 $result['msg'] = "Erro na funcao ldap_functions->replace_user2maillists ($old_mail).\nRetorno do servidor:" . ldap_error($this->ldap); 458 591 } 459 592 } … … 555 688 $result['description'] = $entry[0]['description'][0]; 556 689 $result['gidnumber'] = $entry[0]['gidnumber'][0]; 690 $result['phpgwaccountvisible'] = $entry[0]['phpgwaccountvisible'][0]; 557 691 558 692 //MemberUid … … 606 740 $result['cn'] = $entry[0]['cn'][0]; 607 741 $result['mail'] = $entry[0]['mail'][0]; 608 $result['mail'] = $entry[0]['mail'][0];609 742 $result['accountStatus'] = $entry[0]['accountstatus'][0]; 610 743 $result['phpgwAccountVisible'] = $entry[0]['phpgwaccountvisible'][0]; … … 613 746 for ($i=0; $i<$entry[0]['mailforwardingaddress']['count']; $i++) 614 747 { 615 $justthese = array("cn", "uidnumber", "uid" );748 $justthese = array("cn", "uidnumber", "uid", "phpgwaccounttype"); 616 749 $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(mail=".$entry[0]['mailforwardingaddress'][$i]."))"; 617 750 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); … … 622 755 $result['members_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 623 756 $result['members_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 757 $result['members_info'][$user_entry[0]['uidnumber'][0]]['type'] = $user_entry[0]['phpgwaccounttype'][0]; 624 758 $result['members_info'][$user_entry[0]['uidnumber'][0]]['mailforwardingaddress'] = $entry[0]['mailforwardingaddress'][$i]; 625 759 $result['members'][] = $user_entry[0]['uidnumber'][0]; … … 634 768 } 635 769 770 return $result; 771 } 772 773 function get_maillist_scl_info($uidnumber, $context) 774 { 775 $filter="(&(phpgwAccountType=l)(uidNumber=".$uidnumber."))"; 776 $search = ldap_search($this->ldap, $context, $filter); 777 $entry = ldap_get_entries($this->ldap, $search); 778 779 //Pega o dn do setor do usuario. 780 $entry[0]['dn'] = strtolower($entry[0]['dn']); 781 $sector_dn_array = explode(",", $entry[0]['dn']); 782 for($i=1; $i<count($sector_dn_array); $i++) 783 $sector_dn .= $sector_dn_array[$i] . ','; 784 //Retira ultimo pipe. 785 $sector_dn = substr($sector_dn,0,(strlen($sector_dn) - 1)); 786 787 $result['dn'] = $entry[0]['dn']; 788 $result['context'] = $sector_dn; 789 $result['uidnumber'] = $entry[0]['uidnumber'][0]; 790 $result['uid'] = $entry[0]['uid'][0]; 791 $result['cn'] = $entry[0]['cn'][0]; 792 $result['mail'] = $entry[0]['mail'][0]; 793 $result['accountStatus'] = $entry[0]['accountstatus'][0]; 794 $result['phpgwAccountVisible'] = $entry[0]['phpgwaccountvisible'][0]; 795 $result['accountRestrictive'] = $entry[0]['accountrestrictive'][0]; 796 $result['participantCanSendMail'] = $entry[0]['participantcansendmail'][0]; 797 798 //Senders 799 for ($i=0; $i<$entry[0]['mailsenderaddress']['count']; $i++) 800 { 801 $justthese = array("cn", "uidnumber", "uid", "mail"); 802 $filter="(&(phpgwAccountType=u)(mail=".$entry[0]['mailsenderaddress'][$i]."))"; 803 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 804 $user_entry = ldap_get_entries($this->ldap, $search); 805 806 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 807 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 808 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['mail'] = $user_entry[0]['mail'][0]; 809 $result['members'][] = $user_entry[0]['uidnumber'][0]; 810 } 811 636 812 return $result; 637 813 }
Note: See TracChangeset
for help on using the changeset viewer.