/** * Add user to the Adobe Connect server * @param integer $a_user_id */ public function addParticipant($a_user_id) { $this->pluginObj->includeClass('class.ilAdobeConnectUserUtil.php'); $this->pluginObj->includeClass('class.ilXAVCMembers.php'); $this->tabs->activateTab("participants"); //check if there is an adobe connect account at the ac-server $ilAdobeConnectUser = new ilAdobeConnectUserUtil($a_user_id); $ilAdobeConnectUser->ensureAccountExistance(); // add to desktop if (ilAdobeConnectServer::getSetting('add_to_desktop') == 1) { ilObjUser::_addDesktopItem($a_user_id, $this->object->getRefId(), 'xavc'); } $is_member = ilXAVCMembers::_isMember($a_user_id, $this->object->getRefId()); // local member table if (!$is_member) { $xavcMemberObj = new ilXAVCMembers($this->object->getRefId(), $a_user_id); $xavcMemberObj->setParticipantStatus(); $xavcMemberObj->setScoId($this->object->getScoId()); $xavcMemberObj->insertXAVCMember(); $this->object->updateParticipant(ilXAVCMembers::_lookupXAVCLogin($a_user_id), $xavcMemberObj->getStatus()); ilUtil::sendInfo($this->txt('participant_added_successfully')); } else { if ($is_member) { //only update at adobe connect server $this->object->updateParticipant(ilXAVCMembers::_lookupXAVCLogin($a_user_id), ilXAVCMembers::_lookupStatus($a_user_id, $this->object->getRefId())); ilUtil::sendInfo($this->pluginObj->txt('is_already_participant')); } } }
public function deleteCrsGrpMembers($sco_id, $delete_user_ids) { $this->pluginObj->includeClass('class.ilAdobeConnectRoles.php'); $this->pluginObj->includeClass('class.ilXAVCMembers.php'); $xavcRoles = new ilAdobeConnectRoles($this->getRefId()); if (is_array($delete_user_ids) && count($delete_user_ids) > 0) { foreach ($delete_user_ids as $usr_id) { $xavcRoles->detachMemberRole($usr_id); ilXAVCMembers::deleteXAVCMember($usr_id, $this->getRefId()); $xavc_login = ilXAVCMembers::_lookupXAVCLogin($usr_id); $session = $this->xmlApi->getBreezeSession(); if ($session != NULL && $this->xmlApi->login($this->adminLogin, $this->adminPass, $session)) { $this->xmlApi->deleteMeetingParticipant($sco_id, $xavc_login, $session); } //remove from pd ilObjUser::_dropDesktopItem($usr_id, $this->getRefId(), 'xavc'); } } }
/** * Update switch participant at login if needed * @param String $login * @return String access-rights of user * */ public function updateSwitchParticipant($adobe_login_name) { global $ilUser; $this->pluginObj->includeClass('class.ilXAVCMembers.php'); $user_id = $ilUser->getId(); $ref_id = $this->getRefId(); $status = ilXAVCMembers::_lookupStatus($user_id, $ref_id); if (ilXAVCMembers::_lookupXAVCLogin($user_id) != $adobe_login_name) { $member = new ilXAVCMember($ref_id, $user_id); $member->updateXAVCMember(); } $session = $this->xmlApi->getBreezeSession(); if ($status != $this->xmlApi->getMeetingPermission($adobe_login_name, $this->sco_id, $session)) { if (empty($status)) { $status = 'remove'; } $this->xmlApi->updateMeetingParticipantByTechnicalUser($this->getScoId(), $adobe_login_name, $session, $status); } return $this->xmlApi->getMeetingPermission($adobe_login_name, $this->sco_id, $session); }