ldap = new ldap_im(); $this->db_user = new db_im(); } private function users_auth_im() { $db_acls = $this->db_user->get_accounts_acl(); $search_uids = "|"; if(count($db_acls) > 0) foreach($db_acls as $tmp) $search_uids .= "(uidNumber=".$tmp['acl_account'].")"; // Busca Usuarios $uids = $this->ldap->list_users_ldap($search_uids); $search_groups = "|"; if(count($db_acls) > 0) foreach($db_acls as $tmp) $search_groups .= "(gidNumber=".$tmp['acl_account'].")"; // Busca Grupos $groups = $this->ldap->list_groups_ldap($search_groups); $search_uids = "|"; if($groups) { foreach($groups as $tmp) { $members = $tmp['members']; foreach($members as $mb) $search_uids .= "(uid=".$mb.")"; } } if($uids) { foreach($uids as $tmp) $search_uids .= "(uid=".$tmp['uid'].")"; } $uids_members = $this->ldap->list_users_ldap($search_uids); if(count($uids_members) > 0) return $uids_members; else return 0; } function list_contacts($param) { $users = $this->users_auth_im(); $order = array(); $return = ""; foreach($users as $tmp) $order[] = $tmp['cn'].";".$tmp['mail'].";".$tmp['uid'].";".$tmp['dn']; natsort($order); $uid_unique = @array_values(@array_unique($order)); foreach($uid_unique as $tmp) { $result = explode(";",$tmp); if(strtolower($result[3]) == strtolower($param['ou'])) { $return .= ""; $return .= "" . $result[0] . ""; $return .= "" . $result[1] . ""; $return .= "" . $result[2] . ""; $return .= ""; } unset($result); } $return .= ""; return $return; } function UserPermission($param) { $db_acls = $this->db_user->get_accounts_acl(); $members = array(); $search_uid = ""; $search_groups = "|"; $search_uid = $this->ldap->list_users_ldap("uid=".$param['uid']); foreach($db_acls as $tmp) if($tmp['acl_account'] == $search_uid[0]['uidnumber']) return 1; else $search_groups .= "(gidNumber=".$tmp['acl_account'].")"; $groups = $this->ldap->list_groups_ldap($search_groups); if($groups) foreach($groups as $tmp){ $members = $tmp['members']; foreach($members as $mb){ if(trim($mb) == trim($search_uid[0]['uid'])) return 1; } } return 0; } } ?>