Changeset 32 for trunk/instant_messenger/inc/class.contacts_im.inc.php
- Timestamp:
- 06/08/07 15:18:19 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/instant_messenger/inc/class.contacts_im.inc.php
r27 r32 14 14 $this->db_user = new db_im(); 15 15 } 16 17 function set_session_ldap_users() 18 { 19 if(!isset($_SESSION['instant_messenger']['users_ldap'])) 20 $this->users_auth_im(); 21 22 } 23 24 function users_auth_im() 25 { 26 $db_acls = $this->db_user->get_accounts_acl(); 27 28 // UidNumbers db; 29 foreach($db_acls as $tmp) 30 $uid_users .= "(uidNumber=".$tmp['acl_account'].")"; 31 32 foreach($db_acls as $tmp) 33 $uid_groups .= "(gidNumber=".$tmp['acl_account'].")"; 34 35 // usuários; 36 $result_users = $this->ldap_users->list_users_ldap($uid_users); 37 38 // grupos; 39 $result_groups = $this->ldap_users->list_groups_ldap($uid_groups); 40 41 foreach($result_groups as $group_tmp){ 42 $tmp = $group_tmp['members']; 43 foreach($tmp as $value) 44 $uid_members_group .= "(uid=".$value.")"; 45 } 46 47 $uid_members = $this->ldap_users->list_users_ldap($uid_members_group); 48 $count = count($result_users); 49 50 for($i = 0; $i < count($uid_members); $i++){ 51 $result_users[$count] = $uid_members[$i]; 52 $count++; 53 } 54 55 foreach($result_users as $rs){ 56 $uid[] = $rs['cn'].";".$rs['mail'].";".$rs['ou']; 57 } 58 59 natsort($uid); 60 $uid_un = @array_values(@array_unique($uid)); 61 62 $t = 0; 63 foreach($uid_un as $utmp){ 64 $array = explode(";",$utmp); 65 $list_ldap[$t]['cn'] = $array[0]; 66 $list_ldap[$t]['mail'] = $array[1]; 67 $list_ldap[$t]['ou'] = $array[2]; 68 $t++; 69 } 70 71 $_SESSION['instant_messenger']['users_ldap'] = $list_ldap; 72 73 } 16 74 17 75 function list_contacts($param) 18 76 { 77 $result_users = array(); 19 78 $org_ldap = $param['ou']; 20 $array_db = $this->db_user->get_accounts_acl(); 21 $array_groups_ldap = array(); 22 $j = 0; 23 24 for($i=0 ; $i < count($array_db); $i++) 25 $array_1[] = $this->ldap_users->list_users_ldap($org_ldap,"uidNumber", $array_db[$i]['acl_account']); 26 27 for($i=0; $i < count($array_1); $i++){ 28 if(array_key_exists("count",$array_1[$i])){ 29 $array_groups_ldap[] = $array_1[$i]['uidnumber']; 30 } 31 } 79 $i = 0; 80 $this->set_session_ldap_users(); 32 81 33 for($i=0; $i < count($array_groups_ldap); $i++) 34 $array_2[]['members'] = $this->ldap_users->list_groups_ldap($org_ldap,$array_groups_ldap[$i]); 35 36 foreach($array_2 as $tmp){ 37 if($tmp['members'] > 0){ 38 foreach($tmp['members'] as $tmp1) 39 $array_3[] = $tmp1; 40 } 41 } 42 43 for($i=0; $i < count($array_1); $i++) 44 if($array_1[$i]['uid'] != "") 45 $array_3[] = $array_1[$i]['uid']; 46 47 @natsort($array_3); 48 49 $array_4 = @array_values(@array_unique($array_3)); 50 51 for($i=0; $i < count($array_4); $i++) 52 $array_5[] = $this->ldap_users->list_users_ldap($org_ldap,"uid", $array_4[$i]); 53 54 for($i=0 ; $i < count($array_5); $i++){ 55 if($array_5[$i]['phpgwAccountVisible'] != "-1"){ 56 $array_6[] = $array_5[$i]['cn'] . ";" . $array_5[$i]['mail']; 82 foreach($_SESSION['instant_messenger']['users_ldap'] as $users){ 83 if($users['ou'] == ("OU=".$org_ldap)){ 84 $result_users[$i]['cn'] = $users['cn']; 85 $result_users[$i]['mail'] = $users['mail']; 86 $i++; 57 87 } 58 88 } 59 89 60 sort($array_6); 61 62 for($i=0; $i < count($array_6); $i++){ 63 $aux = explode(";", $array_6[$i]); 64 $array_7[$j]['cn'] = $aux[0]; 65 $array_7[$j]['mail'] = $aux[1]; 66 $j++; 67 } 68 69 if(count($array_7) > 0) 70 return $array_7; 90 if(count($result_users) > 0) 91 return $result_users; 71 92 else 72 93 return 0;
Note: See TracChangeset
for help on using the changeset viewer.