jabber = new Jabber(); $organization = explode(",", $_SESSION['phpgw_info']['jabberit_messenger']['attributes_org_ldap_jabberit']); $organization_user = $_SESSION['phpgw_info']['jabberit_messenger']['account_dn']; $organization_user = substr($organization_user, strpos($organization_user,"ou=") + 3 , strlen($organization_user)); $organization_user = substr($organization_user, 0, strpos($organization_user, ",")); // Default para autenticação é o UID; $uid = $_SESSION['phpgw_info']['jabberit_messenger']['user']; if(is_array($organization)) { foreach($organization as $attr) { $tmp = explode(";",$attr); if( strtolower(trim($tmp[0])) == strtolower(trim($organization_user))) { switch(strtolower(trim($tmp[1]))) { case "mail" : $uid = $_SESSION['phpgw_info']['jabberit_messenger']['mail']; $uid = substr($uid,0,strpos($uid,"@")); break; case "description" : // SERPRO // parte antes do arroba; // Informe aqui a parte da sessão correspondente; $uid = "description"; break; } } } } $this->jabber->username = $uid; $this->jabber->password = $_SESSION['phpgw_info']['jabberit_messenger']['passwd']; $this->jabber->server = $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']; $this->jabber->resource = "JABADD"; } private final function connect() { if(!$this->jabber->Connect()) { $this->error = "No Connect"; return false; } if(!$this->jabber->SendAuth()) { $this->error = "No Auth"; return false; } return true; } private final function disconnect() { $this->jabber->Disconnect(); } public final function AddNewContact($pNewUser) { $this->connect(); $jid = $pNewUser['uid']."@". $this->jabber->server; $id = 'add_user'.time(); $name = $pNewUser['name']; $group = $pNewUser['group']; if($this->jabber->RosterAddUser($jid,$id,$name,$group)) { $_SESSION['phpgw_info']['jabberit_messenger']['groups_user'][] = $group; $_SESSION['phpgw_info']['jabberit_messenger']['groups_user'] = array_unique($_SESSION['phpgw_info']['jabberit_messenger']['groups_user']); if($this->jabber->Subscribe($jid)) { $this->disconnect(); return true; } } else { $this->disconnect(); return false; } } public final function getGroupsJabber() { $groups = array(); $return = ''; if(!isset($_SESSION['phpgw_info']['jabberit_messenger']['groups_user'])) { $this->connect(); $groups = $this->jabber->RosterGroups(); $this->disconnect(); $groups = array_unique($groups); $_SESSION['phpgw_info']['jabberit_messenger']['groups_user'] = $groups; }else $groups = $_SESSION['phpgw_info']['jabberit_messenger']['groups_user']; natcasesort($groups); foreach($groups as $tmp) $return .= $tmp . ";"; if( trim($return) != '' ) $return = substr( $return, 0, strlen($return)-1 ); return $return; } } ?>