/**
  * 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;
 }
Beispiel #2
0
 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') . '!');
 }