/** * Get/Create Calendar for external organizer * * @param Addressbook_Model_Contact $organizer organizer id * @param string $emailAddress * @return Tinebase_Model_Container container id */ public function getInvitationContainer($organizer, $emailAddress = null) { if (null !== $organizer) { $containerName = $organizer->getPreferedEmailAddress(); } else { $containerName = $emailAddress; } try { $container = Tinebase_Container::getInstance()->getContainerByName('Calendar', $containerName, Tinebase_Model_Container::TYPE_SHARED); } catch (Tinebase_Exception_NotFound $tenf) { if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' No invitation container found. Creating a new one for organizer ' . $containerName); } $container = Tinebase_Container::getInstance()->addContainer(new Tinebase_Model_Container(array('name' => $containerName, 'color' => '#333399', 'type' => Tinebase_Model_Container::TYPE_SHARED, 'backend' => Tinebase_User::SQL, 'application_id' => Tinebase_Application::getInstance()->getApplicationByName('Calendar')->getId(), 'model' => 'Calendar_Model_Event')), NULL, TRUE); $grants = new Tinebase_Record_RecordSet('Tinebase_Model_Grants', array(array('account_id' => '0', 'account_type' => Tinebase_Acl_Rights::ACCOUNT_TYPE_ANYONE, Tinebase_Model_Grants::GRANT_ADD => true, Tinebase_Model_Grants::GRANT_EDIT => true, Tinebase_Model_Grants::GRANT_DELETE => true))); Tinebase_Container::getInstance()->setGrants($container->getId(), $grants, true, false); } return $container; }
public function inviteUsersToJoin($roomId, $users, $moderator) { $translate = Tinebase_Translation::getTranslation('Webconference'); $fullUser = Tinebase_Core::getUser(); $recipients = array(); foreach ($users as $user) { //$userName = $user[n_fn]; $addressbook = new Addressbook_Model_Contact($user); $userEmail = $addressbook->getPreferedEmailAddress(); $userName = $addressbook->n_fn; $url = Webconference_Controller_BigBlueButton::getInstance()->joinRoom($roomId, $moderator, $userName, $userEmail)->bbbUrl->bbbUrl; $subject = $translate->_("Invite User To Join Webconference"); $messagePlain = null; $_messageHtml = sprintf($translate->_("The user %s is inviting you to a Webconference"), Tinebase_Core::getUser()->accountFullName); $_messageHtml .= "<br/><br/>"; $_messageHtml .= "<div>"; $_messageHtml .= "<span class=\"{$url}\" />"; $_messageHtml .= "<span class=\"tinebase-webconference-link\">"; $_messageHtml .= $translate->_("Log in to Webconference"); $_messageHtml .= "</span>"; $_messageHtml .= "</div>"; $recipient = array($addressbook); Tinebase_Notification::getInstance()->send($fullUser, $recipient, $subject, $messagePlain, $_messageHtml); array_push($recipients, $user); } return array('message' => $translate->_('Users invited successfully') . '!'); }