/** * @return mixed */ public function getGalleryUsers() { $this->pluginObj = ilPlugin::getPluginObject('Services', 'Repository', 'robj', 'AdobeConnect'); $this->pluginObj->includeClass('class.ilAdobeConnectRoles.php'); $xavcRoles = new ilAdobeConnectRoles($_GET['ref_id']); $members = $xavcRoles->getUsers(); // MEMBERS if (count($members)) { foreach ($members as $member_id) { if (!($usr_obj = ilObjectFactory::getInstanceByObjId($member_id, false))) { continue; } if (!$usr_obj->getActive()) { continue; } $user_data[$usr_obj->getId()] = array('id' => $usr_obj->getId(), 'user' => $usr_obj); } } return $user_data; }
public function join() { /** * @var $ilCtrl ilCtrl */ global $ilCtrl; $user_id = $this->user->getId(); $this->pluginObj->includeClass('class.ilAdobeConnectRoles.php'); $this->pluginObj->includeClass('class.ilXAVCMembers.php'); $this->pluginObj->includeClass('class.ilAdobeConnectUserUtil.php'); $this->pluginObj->includeClass('class.ilAdobeConnectServer.php'); $xavcRoles = new ilAdobeConnectRoles($this->object->getRefId()); $current_users = $xavcRoles->getUsers(); if (in_array($user_id, $current_users)) { ilUtil::sendInfo($this->txt('already_member')); } if (!$user_id) { ilUtil::sendFailure($this->txt('user_not_known')); return $this->editParticipants(); } $xavcRoles->addMemberRole($user_id); //check if there is an adobe connect account at the ac-server $ilAdobeConnectUser = new ilAdobeConnectUserUtil($user_id); $ilAdobeConnectUser->ensureAccountExistance(); $role_map = ilAdobeConnectServer::getRoleMap(); $status = false; $oParticipants = null; $type = ''; $owner = 0; if (count($this->object->getParticipantsObject()->getParticipants()) > 0) { $user_is_admin = $this->object->getParticipantsObject()->isAdmin($user_id); $user_is_tutor = $this->object->getParticipantsObject()->isTutor($user_id); $owner = ilObject::_lookupOwner($this->object->getParticipantsObject()->getObjId()); if ($owner == $this->user->getId()) { $status = $role_map[$this->object->getParticipantsObject()->getType() . '_owner']; } else { if ($user_is_admin) { $status = $role_map[$this->object->getParticipantsObject()->getType() . '_admin']; } else { if ($user_is_tutor) { $status = $role_map[$this->object->getParticipantsObject()->getType() . '_tutor']; } else { $status = $role_map[$this->object->getParticipantsObject()->getType() . '_member']; } } } } if (!$status) { if ($owner == $this->user->getId()) { $status = 'host'; } else { $status = 'view'; } } $is_member = ilXAVCMembers::_isMember($user_id, $this->object->getRefId()); // local member table $xavcMemberObj = new ilXAVCMembers($this->object->getRefId(), $user_id); $xavcMemberObj->setStatus($status); $xavcMemberObj->setScoId($this->object->getScoId()); if ($is_member) { $xavcMemberObj->updateXAVCMember(); } else { $xavcMemberObj->insertXAVCMember(); } $this->object->updateParticipant(ilXAVCMembers::_lookupXAVCLogin($user_id), $status); if (ilAdobeConnectServer::getSetting('add_to_desktop') == 1) { ilObjUser::_addDesktopItem($user_id, $this->object->getRefId(), 'xavc'); } $ilCtrl->setParameter($this, 'cmd', 'showContent'); $ilCtrl->redirect($this, "showContent"); }